Eu criei esse sistema de look at attack porquê eu acho ridículo quando o character fica atacando o oponente sem estar "olhando" para ele.
O que ele faz? Ele volta o character que esteja atacando um oponente para o oponente. Ele não impede de andar ou de mudar de direção, porém ele vai ficar mantendo a direção voltada ao oponente.
Vamos adicionar o sistema.
Em: creaturescript/creaturescript.xml, adicione essa tag:
Citar<event type="attack" name="newattack" script="attack.lua"/>
Agora em: creaturescript/scripts, crie um arquivo lua e adicione isso:
Citar--[[Marcryzius D'evil]]--
function onAttack(cid, target)
local posCid,posTid = creatureGetPosition(cid),creatureGetPosition(target)
local lookx = posCid.x < posTid.x and 1 or 3
local looky = posCid.y < posTid.y and 2 or 0
local look = (posCid.x - posTid.x < 0 and posTid.x - posCid.x or posCid.x - posTid.x) < (posCid.y - posTid.y < 0 and posTid.y - posCid.y or posCid.y - posTid.y) and looky or lookx
doCreatureSetLookDir(cid,look)
return true
end
Dentro do mesmo diretório, abra o arquivo login.lua e adicione isso a ele onde existe outros semelhantes.
CitarregisterCreatureEvent(cid, "newattack")
Pronto. Instalado o seus sistema de look at attack.
Agora quando o player atacar algum oponente, ele ficará "olhando" para ele.