Ir para conteúdo

Oque Há De Errado Nesse Script?


othereality

Posts Recomendados

É um script de um npc que mata pks, mas foi editado para atacar wolfs.

Créditos do Ruda, ele que editou.

Mas eu testei e não funcionou, mas não mostrou nenhum erro, simplesmente e como se eu não tivesse posto scrpt="x.lua" lá no xml do npc.

Se alguem souber arrumar agradeço. =)

 

local target = 0

local prevTarget = 0

local maxChaseDistance = 20

local origPos = 0

local lastAttack = 0

local followTimeout = 10

 

local function goToOrigPos()

target = 0

lastAttack = 0

selfFollow(0)

doTeleportThing(getNpcCid(), origPos)

end

 

local function updateTarget()

if(target == 0) then

local list = getSpectators(getNpcPos(), 9, 9, false)

for i = 1, table.getn(list) do

local _target = list

if(_target ~= 0) then

if(getCreatureName(_target):lower() == "wolf") then

if(not getTilePzInfo(getCreaturePosition(_target))) then

if(selfFollow(_target)) then

target = _target

if(target ~= prevTarget) then

selfSay("Cuidado com os Lobos!")

end

 

prevTarget = target

break

end

end

end

end

end

end

end

 

function onCreatureAppear(cid)

if(cid == getNpcCid()) then

origPos = getNpcPos()

end

end

 

function onCreatureDisappear(cid)

if(cid == target) then

goToOrigPos()

end

end

 

function onCreatureMove(creature, oldPos, newPos)

--

end

 

function onThink()

updateTarget()

 

if(target == 0) then

return

end

 

local playerPos = getCreaturePosition(target)

local myPos = getNpcPos()

 

if(myPos.z ~= playerPos.z) then

goToOrigPos()

return

end

 

if(math.abs(myPos.x - origPos.x) > maxChaseDistance or math.abs(myPos.y - origPos.y) > maxChaseDistance) then

selfSay("I'll catch you next time.")

goToOrigPos()

return

end

 

if(lastAttack == 0) then

lastAttack = os.clock()

end

 

if(os.clock() - lastAttack > followTimeout) then

selfSay("You got me this time, but just wait.")

goToOrigPos()

return

end

 

if((math.abs(playerPos.x - myPos.x) <= 1) and (math.abs(playerPos.y - myPos.y) <= 1)) then

doTargetCombatHealth(getNpcCid(), target, COMBAT_LIFEDRAIN, -200, -300, CONST_ME_BLOCKHIT)

lastAttack = os.clock()

end

end

Editado por OtheReality
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...