Ir para conteúdo

Zombie Events Onthink/onattack


TendoTensei

Posts Recomendados

esta funcionando normal mas da esse erro no console

 

 

 

[04/03/2012 18:30:28] [Error - CreatureScript Interface]

[04/03/2012 18:30:28] data/creaturescripts/scripts/onattack.lua nStatsChange

[04/03/2012 18:30:28] Description:

[04/03/2012 18:30:28] data/creaturescripts/scripts/onattack.lua:25: bad argument #1 to 'pairs' (table expected, got nil)

[04/03/2012 18:30:29] stack traceback:

[04/03/2012 18:30:29] [C]: in function 'pairs'

[04/03/2012 18:30:29] data/creaturescripts/scripts/onattack.lua:25: in function 'loseOnZombieArena'

[04/03/2012 18:30:29] data/creaturescripts/scripts/onattack.lua:37: in function <data/creaturescripts/scripts/onattack.lua:34>

[04/03/2012 18:30:30] [Error - CreatureScript Interface]

[04/03/2012 18:30:30] data/creaturescripts/scripts/onthink.lua onThink

[04/03/2012 18:30:30] Description:

[04/03/2012 18:30:30] (luaGetCreatureTarget) Creature not found

 

 

Onattack

 

 

 

function loseOnZombieArena(cid)

kickPlayerFromZombiesArea(cid)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "BOOM! You are dead.")

local players = getZombiesEventPlayers()

if(#players <= 1) then

local winner = players[1]

if(winner) then

doPlayerAddItem(winner, 2157, 5, true)

doPlayerAddItem(winner, 6119, 1, true)

doPlayerSendTextMessage(winner, MESSAGE_STATUS_CONSOLE_BLUE, "You won zombies arena event.")

doBroadcastMessage("After " .. os.time() - getPlayerZombiesEventStatus(winner) .. " seconds of fight " .. getCreatureName(winner) .. " won Zombie Arena Event in game versus " .. getStorage(ZE_ZOMBIES_SPAWNED) .. " zombies!")

kickPlayerFromZombiesArea(winner)

else

doBroadcastMessage("Zombie arena event finished! No one win?!?!?! WTF!")

end

doSetStorage(ZE_STATUS, 0)

doSetStorage(ZE_PLAYERS_NUMBER, ZE_DEFAULT_NUMBER_OF_PLAYERS)

doSetStorage(ZE_ZOMBIES_TO_SPAWN, 0)

doSetStorage(ZE_ZOMBIES_SPAWNED, 0)

local width = (math.max(ZE_spawnFromPosition.x, ZE_spawnToPosition.x) - math.min(ZE_spawnFromPosition.x, ZE_spawnToPosition.x)) / 2 + 1

local height = (math.max(ZE_spawnFromPosition.y, ZE_spawnToPosition.y) - math.min(ZE_spawnFromPosition.y, ZE_spawnToPosition.y)) / 2 + 1

local centerPos = {x=math.min(ZE_spawnFromPosition.x, ZE_spawnToPosition.x)+width,y=math.min(ZE_spawnFromPosition.y, ZE_spawnToPosition.y)+height,z=ZE_spawnFromPosition.z}

for z = math.min(ZE_spawnFromPosition.z, ZE_spawnToPosition.z), math.max(ZE_spawnFromPosition.z, ZE_spawnToPosition.z) do

centerPos.z = z

for i, uid in pairs(getSpectators(centerPos, width, height, false)) do

if(isMonster(uid)) then

doRemoveCreature(uid)

end

end

end

end

end

function onStatsChange(target, cid, changetype, combat, value)

if((cid and isMonster(cid) and getCreatureName(cid) == "Zombie Event") or (isInRange(getThingPosition(target), ZE_spawnFromPosition, ZE_spawnToPosition) and changetype == STATSCHANGE_HEALTHLOSS and math.abs(value) >= getCreatureHealth(target))) then

doCreatureAddHealth(target, getCreatureMaxHealth(target))

loseOnZombieArena(target)

return false

end

return true

end

 

 

 

 

onthink

 

 

 

function onThink(cid)

local target = getCreatureTarget(cid)

if(target ~= 0 and not isPlayer(target)) then

doRemoveCreature(target)

end

return true

end

 

 

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

mano nao te digo certeza

mais pelo erro talves as criaturas que vc pois no evento devem estar com problema na hora de aparecerem

 

as veses isso pode ser resolvido pegando essa criatura de um outro ot mais só pegue oq fais a criatura aparecer que seria o xml da criatura

 

 

 

te ajudei ? da +rep ae tio nao custa cash mdr.gif

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...