Postado Abril 2, 2022 3 anos Boa noite/dia/tarde, gostaria que alguém pudesse me ajudar fazendo uma spell que creio que vai ser util não so para mim mas para várias pessoas, não encontrei em nenhum lugar da internet essa spell por isso venho aqui fazer esse pedido. Basicamente a spell consiste no seguinte: O player vai escolher um lado que ele irá soltar a spell olhando para ele, quando ele ativar ela, ele vai dar um dash(não teleport) para a direção que ele está olhando e irá percorrer uma distancia ajustável em uma velocidade ajustável com também uma largura ajustável. Durante o percurso aonde ele passar vai sair um effect com a posição da sprite ajustável tbm e não irá atravessar paredes nem entrar em zonas safes. Irá atravessar apenas monstros e players e quando fizer isso sairá um outro effect no player/monstro que foi atingido que tbm seja ajustável a sprite, e irá também dar um dano no alvo atravessado que esse dano como tudo antes também seja ajustável. Bom essa é a spell normal, a partir de agora não é necessário mas se puder ser feito tbm eu agradeceria muito. Quando o player usar essa spell, ele vai poder reconjurar ela um numero definido no script antes de entrar em cooldown. Como disse antes essa parte não é necessária para o funcionamento da spell mas se por acaso quiser fazer vai ajudar muito. Por enquanto é isso, obrigado a quem tentar me ajudar. VÍDEO DA SPELL COMO ESTÁ ATUALMENTE E O CÓDIGO PARA CASO ALGUEM QUEIRA TENTAR EDITAR ELE. TFS 0.4 8.60 - LINK DO VIDEO ARRUMADO local 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 end local n = not proj and 2 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 local area = { {1,1,1}, {1,3,1}, {1,1,1}, } local function onCastSpell1(parameters) return isCreature(parameters.cid) and doCombat(parameters.cid, combat, parameters.var) end local function onDash(cid) local poslook = getCreatureLookPosition(cid) poslook.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE if isWalkable(poslook) then if not isCreature(getThingfromPos(poslook).uid) then doMoveCreature(cid, getPlayerLookDirection(cid)) doSendMagicEffect({x=getThingPos(cid).x+1, y=getThingPos(cid).y+1, z=getThingPos(cid).z}, 94) return true else doMoveCreature(cid, getPlayerLookDirection(cid)) doSetItemOutfit(getThingfromPos(poslook).uid, 0, 1000*1000) doSendMagicEffect({x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y+1, z=getCreaturePosition(cid).z}, 96) return true end end return true end function onCastSpell(cid, var) local distance = 5 for i = 0, distance do addEvent(onDash,100*i,cid) end return true end Link do vídeo mostrando a Spell: https://www.youtube.com/watch?v=ILG5qjKaXVU Editado Abril 9, 2022 3 anos por Nother Mudei o pedido (veja o histórico de edições)
Postado Abril 2, 2022 3 anos 4 horas atrás, Nother disse: local 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 end local n = not proj and 2 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 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) --setCombatParam(combat, COMBAT_PARAM_HITCOLOR, COLOR_LIGHTBLUE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -120, 1, -150, 1) local area = { {1,1,1}, {1,3,1}, {1,1,1}, } local area = createCombatArea(arr) setCombatArea(combat, area) local function onCastSpell1(parameters) return isCreature(parameters.cid) and doCombat(parameters.cid, combat, parameters.var) end local function onDash(cid) local poslook = getCreatureLookPosition(cid) poslook.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE if isWalkable(poslook) then if not isCreature(getThingfromPos(poslook).uid) then doMoveCreature(cid, getPlayerLookDirection(cid)) doSendMagicEffect({x=getThingPos(cid).x+1, y=getThingPos(cid).y+1, z=getThingPos(cid).z}, 94) return true else doMoveCreature(cid, getPlayerLookDirection(cid)) doSetItemOutfit(getThingfromPos(poslook).uid, 0, 1000*1000) doSendMagicEffect({x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y+1, z=getCreaturePosition(cid).z}, 96) return true end end return true end function onCastSpell(cid, var) local distance = 5 for i = 0, distance do addEvent(onDash,100*i,cid) end return true end TESTA AI
Postado Abril 2, 2022 3 anos Autor 1 hora atrás, Fabi Marzan disse: Opa, mal a demora, então amigo, testei aqui e não deu não, ta tudo normal no tfs, só continua como tava antes.
Postado Abril 14, 2022 3 anos Autor 12 horas atrás, KevinLuzetti disse: Opa boa noite, vocês conseguiram fazer essa magia para pokémon? Então amigo, essa eu to tentando fazer para tíbia normal mesmo, para Pokémon eu não sei como funciona as spells. Ainda não foi criada não.
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.