Ir para conteúdo

jhonysavio

Campones
  • Total de itens

    20
  • Registro em

  • Última visita

Sobre jhonysavio

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    Não Informado

Últimos Visitantes

1202 visualizações

jhonysavio's Achievements

  1. opa desculpe a demora, facul tava ossos essas semanas, claro, com M e mancebos? ou outra coisa
  2. boa mesmo! rep + deixa eu perguntar, poderia me ajudar em duas spells? talves simples, uma de sumon com duração ( sumona 3 monstros por x seg) e uma que aumente a velocidade de ataque
  3. se ainda precisar, posso fazer uma exatamente como a do history, mas a do miupinho esta bem legal
  4. ola! vi que fez um topico ajudando o pessoal nas spells... e cara, to eprdido nesse site, posto s coisas e ngm responde, nao sei se estou fazendo certo, gostaria de ajuda em 2 spells... uma que aumente a velocidade de ataque, e outra, que sumona bixos por tempo, tipo sumona 3 bixos por 15 seg.... se puder me ajudar agradeço muito,  tento lhe ajduar de alguma forma, rep++ ou qualquer outra coisa q consiga lhe ajudar

  5. Ola, sou novo aqui no forum, gostaria de saber se alguem sabe fazer algum scrip, lib (ou algo do tipo) de um monstro, que não se mova (uma torre no caso) que ataque somente certos players... pode ser somente players que usem tal outfit, ou cor de bota... algo do tipo... agradeço desde ja!
  6. agradeço muito a atenção! e admiro seus scripts e trabalho! mas sim, quando estou longe da criatura ele usa no chão, no sqm da frente ( no caso se eu estiver na diagonal da criatura ele usa no chao na diagonal, resumindo rsrs ele usa na direçao do alvo, so q no chao) tenho q chegar perto pra acertar
  7. não da msg nenhuma, tipo ele usa a magia na direção do monstro mas sem range, somente no primeiro sqm tipo, se nao tiver nenhuma criatura selecionada ele diz "please choose a target" mas quando vc seleciona o alvo ele so usa no sqm da frente a magia esta sem range... existe alguma tag ou script pra colocar q adicione um range? sou leigo neste assunto
  8. pois então, se eu retiro o range, e o casttargetordirection da tagg, ele fico tipo oe xori mort do 7.6 ... usando somente na frente dele, memso que tenha um alvo selecionado... mesma coisa acontece com o grab vis poxa, nao funcionou mesmo, queria mto esse script, ajuda ae pf
  9. magia exori mort local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) local range = 5 function onCastSpell(cid, var) if getCreatureTarget(cid) == 0 then doPlayerSendCancel(cid, "Please choose a target.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end if getDistanceBetween(getPlayerPosition(cid), getCreaturePosition(getCreatureTarget(cid))) > range then doPlayerSendCancel(cid, "Target is not reachable.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end return doCombat(cid, combat, setSpellTarget(cid, var)) end a tag do XML <instant name="Death Strike" words="exori mort" lvl="16" mana="20" prem="1" range="5" casterTargetOrDirection="1" blockwalls="1" exhaustion="2000" groups="1,2000" icon="87" needlearn="0" event="script" value="attack/death strike.lua"> <vocation id="1"/> <vocation id="5"/> </instant>
  10. exatamente, so da pra usar a magia caso esteja colado no monstro/player...
  11. sim uso! yorots 9.81 global console vou postar aqui o que fiz na lib function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function getPositionsAround(pos) return { [1] = {x = pos.x, y = pos.y - 1, z = pos.z, stackpos = 0}, [2] = {x = pos.x + 1, y = pos.y - 1, z = pos.z, stackpos = 0}, [3] = {x = pos.x + 1, y = pos.y, z = pos.z, stackpos = 0}, [4] = {x = pos.x + 1, y = pos.y + 1, z = pos.z, stackpos = 0}, [5] = {x = pos.x, y = pos.y + 1, z = pos.z, stackpos = 0}, [6] = {x = pos.x - 1, y = pos.y + 1, z = pos.z, stackpos = 0}, [7] = {x = pos.x - 1, y = pos.y, z = pos.z, stackpos = 0}, [8] = {x = pos.x - 1, y = pos.y - 1, z = pos.z, stackpos = 0} } end function checkInterceptions(cid, pos, toPos, creature) local p = pos local dir = getDirectionTo(pos, toPos) local d = getDistanceBetween(pos, toPos) if dir < SOUTHWEST then while d > 0 do dir = getDirectionTo(p, toPos) p = getPosByDir(p, dir, 1) d = getDistanceBetween(p, toPos) if not isWalkable(p, creature, true, true) then return p end end else local nextPositions = {pos} local tam = 1 while d > 0 do local i = tam if tam > 2 then tam = 2 end local positions = getPositionsAround(nextPositions[tam]) if (dir == SOUTHWEST and (nextPositions[tam].x < toPos.x or nextPositions[tam].y > toPos.y)) or (dir == NORTHEAST and (nextPositions[tam].x > toPos.x or nextPositions[tam].y < toPos.y)) then positions = getPositionsAround(nextPositions[tam+1]) end if dir == SOUTHEAST and (nextPositions[tam].x > toPos.x or nextPositions[tam].y > toPos.y) or (dir == NORTHWEST and (nextPositions[tam].x < toPos.x or nextPositions[tam].y < toPos.y)) then positions = getPositionsAround(nextPositions[tam-1]) end d = getDistanceBetween(nextPositions[tam], toPos) tam = 0 if d == 0 then break end local sum = 0 if dir == SOUTHWEST then sum = 4 elseif dir == SOUTHEAST then sum = 2 elseif dir == NORTHWEST then sum = 6 elseif dir == SOUTHEAST then sum = 0 end for j=1, 3 do local index = j+sum local check = 0 if index > #positions then index = 1 end if dir == SOUTHWEST and (positions[index].x < toPos.x or positions[index].y > toPos.y) or (dir == SOUTHEAST and (positions[index].x > toPos.x or positions[index].y > toPos.y)) or (dir == NORTHWEST and (positions[index].x < toPos.x or positions[index].y < toPos.y)) or (dir == NORTHEAST and (positions[index].x > toPos.x or positions[index].y < toPos.y)) then check = 1 end local dx, dy = math.abs(positions[index].x - toPos.x) , math.abs(positions[index].y - toPos.y) if dx == dy and (positions[index].x == pos.x or positions[index].y == pos.y) and ((getDistanceBetween(positions[index], pos) > 1 and getDistanceBetween(positions[index], toPos) > 1) or getDistanceBetween(positions[index], pos) > 5 and getDistanceBetween(positions[index], toPos) > 0)then check = 1 end if getDistanceBetween(positions[index], toPos) == 0 then return toPos end if getDistanceBetween(positions[index], toPos) < d and check == 0 then if not isWalkable(positions[index], creature, true, true) then return positions[index] end tam = tam + 1 nextPositions[tam] = positions[index] end end end end return toPos end function setSpellTarget(cid, var) local target = getCreatureTarget(cid) var.pos = checkInterceptions(cid, getPlayerPosition(cid), getCreaturePosition(target), true) if isCreature(getThingFromPos(var.pos).uid) then var.number = getThingFromPos(var.pos).uid else var.number = false end return var end no xml local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) local range = 5 function onCastSpell(cid, var) if getCreatureTarget(cid) == 0 then doPlayerSendCancel(cid, "Please choose a target.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end if getDistanceBetween(getPlayerPosition(cid), getCreaturePosition(getCreatureTarget(cid))) > range then doPlayerSendCancel(cid, "Target is not reachable.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end return doCombat(cid, combat, setSpellTarget(cid, var)) end
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...