quarta-feira, 8 de fevereiro de 2012

Dash(ande rapido no OT)


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:

Código PHP:
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:

Código PHP:
<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.




Nenhum comentário:

Postar um comentário