esau 0 #1 Postado 1 Julho, 2011 (editado) Nome: Dash Nome do Autor: esau Versão Testada: 8.54 (cryingdamson6pl1-console) Descrição: Spell que faz o player se mover rapidamente pelo mapa. Primeiramente você precisara instalar a OTAL, clicando aqui! Após ter instalado a LIB crie um arquivo em data\spells\scripts\support chamado dash.lua com o seguinte código: local area = { {0,0,0}, {0,3,0}, {0,0,0}, } function onDash(cid) local poslook = getCreatureLookPosition(cid) poslook.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE if isWalkable(poslook, false, false, false) then if not isCreature(getThingfromPos(poslook).uid) then doMoveCreature(cid, getPlayerLookDirection(cid)) doSendMagicEffect(getPlayerPosition(cid), 2) return TRUE else doMoveCreature(cid, getPlayerLookDirection(cid)) doAreaCombatHealth(0, 1, poslook, area, -getCreatureSpeed(cid)*2/(getCreatureHealth(cid)/300), -getCreatureSpeed(cid)*3/(getCreatureHealth(cid)/30), 9) doCreatureSay(getThingfromPos(poslook).uid, 'Auch', TALKTYPE_MONSTER) doSetItemOutfit(getThingfromPos(poslook).uid, 2317, 1*1000) doSendMagicEffect(getCreaturePosition(getThingfromPos(poslook).uid), 31) return TRUE end end end function onCastSpell(cid, var) local distance = 8 for i = 0, distance do addEvent(onDash,90*i,cid) end return TRUE end 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 Você podera configurar algumas coisas no script como o numero de passos que o jogador irá correr, basta editar a variável distance que está na linha 28 no código. para Usuário com um nivel maior de conhecimento sera possivel mudar a fórmula de dano em caso de batidas que está na linha 17. Salve e feche o arquivo. volta para a pasta Spells e abra o arquivo spells.xml, colocando a seguinte tag: <instant name="Dash" words="Dash" lvl="50" mana="250" prem="0" exhaustion="2000" needlearn="0" event="script" value="support/dash.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> </instant> Podem mudar os valores de level, mana e vocations à vontade. agora para finalizar apenas salve o arquivo e feche o mesmo, de preferência reinicie o servidor, mas você também poderá usar o comando /reload spells. é isso pessoal, o script pode conter algum bug, pois o script é velho e como não usava decidi postar aqui. Obrigado. :hehe: Editado 21 Julho, 2011 por iuniX Compartilhar este post Link para o post
iuniX 4 #2 Postado 3 Julho, 2011 Muito legal o script, parabéns. Tomei a liberdade de adicionar a função isWalkable pois nem todo mundo usa Otal. Avaliação: B Código: 70Utilidade: 60 Criatividade: 70 Média: 67.5 Pontos MIS: 25 Compartilhar este post Link para o post
tigerx2 1 #3 Postado 6 Julho, 2011 (editado) Legal, mas tem uma coisa que eu mudaria: return TRUE por return true @iuniX, coloque a função isWalkable lá nas últimas linhas do script, pois está atrapalhando algumas explicações que ele deu, como: Você podera configurar algumas coisas no script como o numero de passos que o jogador irá correr, basta editar a variável distance que está na linha 28 no código. Bem, é só isso, eu gosto muito desta spell por tê-la visto em vários jogos. Parabéns Editado 6 Julho, 2011 por tigerx2 Compartilhar este post Link para o post
iuniX 4 #4 Postado 6 Julho, 2011 É, não tinha prestado a atenção nisso. Obrigado tigerx2, vou concertar. Compartilhar este post Link para o post
ADM MaX DE 0 #5 Postado 7 Julho, 2011 Ótima spell, muito boa mesma! A construção do script tbm está muito boa e de facil intendimento! Parabens, esau! Compartilhar este post Link para o post
tigerx2 1 #6 Postado 19 Julho, 2011 E ate hoje, nada de moderador ou dono do topico arrumar o script. Lembrando que o iuniX viu o erro. Compartilhar este post Link para o post
iuniX 4 #7 Postado 19 Julho, 2011 E ate hoje, nada de moderador ou dono do topico arrumar o script.Lembrando que o iuniX viu o erro. Qual erro? Compartilhar este post Link para o post
tigerx2 1 #8 Postado 21 Julho, 2011 Mudar o lugar da funcao isWalkable para baixo, para nao afetar na explicacao do topico. Compartilhar este post Link para o post
nari14 0 #9 Postado 24 Janeiro, 2012 Descupa estar revivendo o topico, mas como faço para andar mais rapido? Compartilhar este post Link para o post
Etoyoc 0 #10 Postado 14 Abril, 2013 Queria saber como faço pro char nao tomar hit quando usa, mudei o dano pra 0. Até apaguei a linha e continua tomando dano. Compartilhar este post Link para o post