Eu cansei de procurar um Zombie Event que funcionasse sem problema e resolvi fazer um do zero. Eu fiz, e ficou tudo certo, funcionando exatamente como eu queria.
A minha dúvida é na parte do Creaturescritps... Meu zombie da somente um hit no player e o player já sofre ação do script. Eu queria fazer de um jeito que o player tivesse que levar uns 3 hits pelo menos, mas não estou conseguindo pensar em como fazer isso...
Se alguém puder me dar uma luz eu agradeceria.
Meu script:
function onStatsChange(cid, attacker, type, combat, value)
local artigo = getPlayerSex(cid) == 0 and "comida" or "comido"
if getCreatureName(attacker) == "Event Zombie" and isInArea(getCreaturePosition(cid), amoebaZombie.fromPosition, amoebaZombie.toPosition) then
if getGlobalStorageValue(amoebaZombie.playerStorage) > 2 then
setGlobalStorageValue(amoebaZombie.playerStorage, getGlobalStorageValue(amoebaZombie.playerStorage)-1)
local corpse = doCreateItem(3058, 1, getPlayerPosition(cid))
doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".")
doBroadcastMessage(getPlayerName(cid) .." foi " .. artigo .. " pelos zombies!")
doPlayerAddItem(cid, amoebaZombie.consolo[1], amoebaZombie.consolo[2])
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
elseif getGlobalStorageValue(amoebaZombie.playerStorage) == 2 then
setGlobalStorageValue(amoebaZombie.playerStorage, getGlobalStorageValue(amoebaZombie.playerStorage)-1)
local corpse = doCreateItem(3058, 1, getPlayerPosition(cid))
doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".")
doBroadcastMessage(getPlayerName(cid) .." foi " .. artigo .. " pelos zombies!")
doPlayerAddItem(cid, amoebaZombie.consolo[1], amoebaZombie.consolo[2])
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
addEvent(winZombieEvent, 1000)
addEvent(removeZombies, 1000)
end
end
return true
end
Pergunta
Killua 389
Eu cansei de procurar um Zombie Event que funcionasse sem problema e resolvi fazer um do zero. Eu fiz, e ficou tudo certo, funcionando exatamente como eu queria.
A minha dúvida é na parte do Creaturescritps... Meu zombie da somente um hit no player e o player já sofre ação do script. Eu queria fazer de um jeito que o player tivesse que levar uns 3 hits pelo menos, mas não estou conseguindo pensar em como fazer isso...
Se alguém puder me dar uma luz eu agradeceria.
Meu script:
function onStatsChange(cid, attacker, type, combat, value) local artigo = getPlayerSex(cid) == 0 and "comida" or "comido" if getCreatureName(attacker) == "Event Zombie" and isInArea(getCreaturePosition(cid), amoebaZombie.fromPosition, amoebaZombie.toPosition) then if getGlobalStorageValue(amoebaZombie.playerStorage) > 2 then setGlobalStorageValue(amoebaZombie.playerStorage, getGlobalStorageValue(amoebaZombie.playerStorage)-1) local corpse = doCreateItem(3058, 1, getPlayerPosition(cid)) doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".") doBroadcastMessage(getPlayerName(cid) .." foi " .. artigo .. " pelos zombies!") doPlayerAddItem(cid, amoebaZombie.consolo[1], amoebaZombie.consolo[2]) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) elseif getGlobalStorageValue(amoebaZombie.playerStorage) == 2 then setGlobalStorageValue(amoebaZombie.playerStorage, getGlobalStorageValue(amoebaZombie.playerStorage)-1) local corpse = doCreateItem(3058, 1, getPlayerPosition(cid)) doItemSetAttribute(corpse, "description", "You recognize " .. getCreatureName(cid) .. ". He was killed by "..(isMonster(attacker) and "a "..string.lower(getCreatureName(attacker)) or isCreature(attacker) and getCreatureName(attacker) or "a field item")..".") doBroadcastMessage(getPlayerName(cid) .." foi " .. artigo .. " pelos zombies!") doPlayerAddItem(cid, amoebaZombie.consolo[1], amoebaZombie.consolo[2]) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) addEvent(winZombieEvent, 1000) addEvent(removeZombies, 1000) end end return true end
Editado por amoeba13Link para o comentário
https://xtibia.com/forum/topic/225980-zombie-creaturescripts/Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados