Queria pedir se alguem tem o mapa heroserv com zombie event
Ou tem uma versão zombie event pra ele TFS 0.3.6
Pode ser tb o mapa heroserv em tfs 0.4
REP+ por 2 semanas quem conseguir
Queria pedir se alguem tem o mapa heroserv com zombie event
Ou tem uma versão zombie event pra ele TFS 0.3.6
Pode ser tb o mapa heroserv em tfs 0.4
REP+ por 2 semanas quem conseguir
Zombie events
Testado em TFS 0.3.6.
Se alguem quiser testar em 0.4, e funcionar, avise!!
Vamos lá:
Globalevents/scripts/zombieevent.lua:
local config = {
playerCount = 2001, -- Global storage for counting the players left/entered in the event
zombieCount = 2002, -- Global storage for counting the zombies in the event
teleportActionId = 2000, -- Action id of the teleport needed for the movement script
teleportPosition = {x = 1135, y = 1077, z = 3, stackpos = 1}, -- Where the teleport will be created
teleportToPosition = {x = 1190, y = 1076, z = 7}, -- Where the teleport will take you
teleportId = 1387, -- Id of the teleport
timeToStartEvent = 5, -- Minutes, after these minutes the teleport will be removed and the event will be declared started
timeBetweenSpawns = 20, -- Seconds between each spawn of zombie
zombieName = "event zombie", -- Name of the zombie that should be summoned
playersNeededToStartEvent = 5, -- Players needed before the zombies can spawn.
-- Should be the same as in the creaturescript!
-- The zombies will spawn randomly inside this area
fromPosition = {x = 1186, y = 1072, z = 7}, -- top left cornor of the playground
toPosition = {x = 1195, y = 1081, z = 7}, -- bottom right cornor of the playground
}
function onTimer()
local tp = doCreateTeleport(config.teleportId, config.teleportToPosition, config.teleportPosition)
doItemSetAttribute(tp, "aid", config.teleportActionId)
doBroadcastMessage("Zombie event starting in " .. config.timeToStartEvent .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING)
setGlobalStorageValue(config.playerCount, 0)
setGlobalStorageValue(config.zombieCount, 0)
addEvent(startEvent, config.timeToStartEvent * 1000 * 60)
print(getGlobalStorageValue(2001))
end
function startEvent()
local get = getThingfromPos(config.teleportPosition)
if get.itemid == config.teleportId then
doRemoveItem(get.uid, 1)
end
local fromp, top = config.fromPosition, config.toPosition
if getGlobalStorageValue(config.playerCount) >= config.playersNeededToStartEvent then
addEvent(spawnZombie, config.timeBetweenSpawns * 1000)
doBroadcastMessage("Good luck in the zombie event people! The teleport has closed!", MESSAGE_STATUS_WARNING)
for x = fromp.x, top.x do
for y = fromp.y, top.y do
for z = fromp.z, top.z do
areapos = {x = x, y = y, z = z, stackpos = 253}
getPlayers = getThingfromPos(areapos)
if isPlayer(getPlayers.uid) then
doPlayerSendTextMessage(getPlayers.uid, MESSAGE_EVENT_ADVANCE, "The first zombie will spawn in " .. config.timeBetweenSpawns .. " seconds! Good luck!")
end
end
end
end
else
doBroadcastMessage("The Zombie event could not start because of to few players participating.\n At least " .. config.playersNeededToStartEvent .. " players is needed!", MESSAGE_STATUS_WARNING)
for x = fromp.x, top.x do
for y = fromp.y, top.y do
for z = fromp.z, top.z do
areapos = {x = x, y = y, z = z, stackpos = 253}
getPlayers = getThingfromPos(areapos)
if isPlayer(getPlayers.uid) then
doTeleportThing(getPlayers.uid, getTownTemplePosition(getPlayerTown(getPlayers.uid)), false)
doSendMagicEffect(getPlayerPosition(getPlayers.uid), CONST_ME_TELEPORT)
end
end
end
end
end
end
function spawnZombie()
if getGlobalStorageValue(config.playerCount) >= 2 then
pos = {x = math.random(config.fromPosition.x, config.toPosition.x), y = math.random(config.fromPosition.y, config.toPosition.y), z = math.random(config.fromPosition.z, config.toPosition.z)}
doSummonCreature(config.zombieName, pos)
doSendMagicEffect(pos, CONST_ME_MORTAREA)
setGlobalStorageValue(config.zombieCount, getGlobalStorageValue(config.zombieCount)+1)
doBroadcastMessage("A zombie has spawned! There is currently " .. getGlobalStorageValue(config.zombieCount) .. " zombies in the zombie event!", MESSAGE_STATUS_CONSOLE_RED)
addEvent(spawnZombie, config.timeBetweenSpawns * 1000)
end
end
Movements/scripts/zombieevent.lua:
local config = {
playerCount = 2001, -- Global storage for counting the players in the event maxPlayers = 15, -- Max players who can participate } function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getGlobalStorageValue(config.playerCount) < config.maxPlayers then setGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)+1) if getGlobalStorageValue(config.playerCount) == config.maxPlayers then doBroadcastMessage("The Zombie event is now full [" .. getGlobalStorageValue(config.playerCount) .. " players]! The event will soon start.") else doBroadcastMessage(getPlayerName(cid) .. " entered the Zombie event! Currently " .. getGlobalStorageValue(config.playerCount) .. " players have joined!", MESSAGE_STATUS_CONSOLE_RED) end else addEvent(tpBack, 1000, cid, fromPosition) doPlayerSendCancel(cid, "The event is full. There is already " .. config.maxPlayers .. " players participating in the quest.") return false end print(getStorage(config.playerCount) .. " Players in the zombie event.") return trueend function tpBack(cid, fromPosition) doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
end
Creaturescripts/scripts/zombieevent.lua
local config = {
playerCount = 2001, -- Global storage for counting the players left/entered in the event goblet = 5805, -- id of the gold goblet you'll get when finishing the event. rewards = {2195, 2152, 2160}, -- You will get this + a gold goblet with your name on. -- {moneyId, count, using? 1 for using moneyReward, 0 for not using.} moneyReward = {2160, 10, 1}, -- Should be same as in the globalevent! -- The zombies will spawn randomly inside this area fromPosition = {x = 1186, y = 1072, z = 7}, -- top left cornor of the playground toPosition = {x = 1195, y = 1081, z = 7}, -- bottom right cornor of the playground } function onStatsChange(cid, attacker, type, combat, value) if isPlayer(cid) and isMonster(attacker) then if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then if getGlobalStorageValue(config.playerCount) >= 2 then doBroadcastMessage(getPlayerName(cid) .. " have been eated by Zombies!", MESSAGE_STATUS_CONSOLE_RED) 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")..".") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) setGlobalStorageValue(config.playerCount, getGlobalStorageValue(config.playerCount)-1) elseif getGlobalStorageValue(config.playerCount) == 1 then if isInArea(getPlayerPosition(cid), config.fromPosition, config.toPosition) then doBroadcastMessage(getPlayerName(cid) .. " won the Zombie event! Congratulations!", MESSAGE_STATUS_WARNING) local goblet = doPlayerAddItem(cid, config.goblet, 1) doItemSetAttribute(goblet, "description", "Awarded to " .. getPlayerName(cid) .. " for winning the Zombie event.") 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")..".") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) for _,items in ipairs(config.rewards) do doPlayerAddItem(cid, items, 1) end if config.moneyReward[3] == 1 then doPlayerAddItem(cid, config.moneyReward[1], config.moneyReward[2]) end end for x = config.fromPosition.x, config.toPosition.x do for y = config.fromPosition.y, config.toPosition.y do for z = config.fromPosition.z, config.toPosition.z do areapos = {x = x, y = y, z = z, stackpos = 253} getMonsters = getThingfromPos(areapos) if isMonster(getMonsters.uid) then doRemoveCreature(getMonsters.uid) end end end end end return false end endreturn true
end
Login.lua (creaturescripts:
registerCreatureEvent(cid, "zombieevent")
Globalevents.xml:
<globalevent name="zombieevent" time="15:00" event="script" value="zombie event/globalevent.lua"/>
<movevent type="StepIn" actionid="2000" event="script" value="zombie event/movement.lua"/>
<event type="statschange" name="zombieevent" event="script" value="zombie event/creaturescript.lua"/>
Caso voce n tenha o monstro zombie, vai aki:
event zombie.xml
<monster name="Zombie Event" nameDescription="an event zombie" race="undead" experience="480" speed="170" manacost="0">
<health now="200000000" max="200000000"/>
<look type="311" corpse="9875"/>
<targetchange interval="5000" chance="50"/>
<strategy attack="100" defense="0"/>
<flags>
<flag summonable="0"/>
<flag attackable="1"/>
<flag hostile="1"/>
<flag illusionable="0"/>
<flag convinceable="0"/>
<flag pushable="0"/>
<flag canpushitems="1"/>
<flag canpushcreatures="1"/>
<flag targetdistance="1"/>
<flag staticattack="90"/>
<flag runonhealth="0"/>
</flags>
<attacks>
<attack name="melee" interval="1000" min="-1500" max="-2350"/>
</attacks>
<defenses armor="0" defense="0"/>
<immunities>
<immunity paralyze="1"/>
<immunity invisible="1"/>
<immunity fire="1"/>
<immunity energy="1"/>
<immunity poison="1"/>
</immunities>
<voices interval="5000" chance="10">
<voice sentence="You wont last long!"/>
<voice sentence="Mmmmh.. braains!"/>
</voices>
<script>
<event name="ZombieThink"/>
<event name="ZombieDeath"/>
</script>
<loot>
</loot>
</monster>
monsters.xml:
<monster name="Event zombie" file="event zombie.xml"/>
++REP (Ajudei)?
- REP (Não Ajudei)?
Tutoriais de ElfBot: http://www.xtibia.co...__fromsearch__1
Fórum Oficial: http://www.mreonline.com.br
Seção errada.
Reportado para moverem.
GuizitoG
Vou ver aki se funcionar dou REP+
Desculpe pela zona que está dentro dos spoilers ;// não sei porque n ficou bunitinho linha por linha...
E não se esqueça de arrumar os files, (nas tags que vao nos xml tipo
<event type="statschange" name="zombieevent" event="script" value="zombie event/creaturescript.lua"/>
Coloquei todos em negrito pra facilitar!
++REP (Ajudei)?
- REP (Não Ajudei)?
Tutoriais de ElfBot: http://www.xtibia.co...__fromsearch__1
Fórum Oficial: http://www.mreonline.com.br
Cara não deu -- Eu tenho esse script que peguei do Baiak Extreme
Os tipos de erro são:
- O zombie fica hitando até matar
- Erro Function Ontimer
- Quando inicia o evento -- fuction notfound (zombievent)
Tem como testar ai e passar por msn?? nathan-300@hotmail.com
Versão = Heroserv 0.0.6
Bom, pra qm n sabe n consegui resolver pelo msn, mas para os que também teem a duvida e pra ele também (é pk ele ta off no msn) encontrei um zombie event para all tfs, nao testei, achei no ot land, vai aí:
http://otland.net/f163/zombie-event-without-bugs-work-all-forgotten-server-144357/
++REP (Ajudei)?
- REP (Não Ajudei)?
Tutoriais de ElfBot: http://www.xtibia.co...__fromsearch__1
Fórum Oficial: http://www.mreonline.com.br
Caso vc solucionou problema fala, porque tenho esse mesmo problema ;s
Eu mesmo consegui
Por favor fexem o tópico
Nathan eu ja te add msn, me arruma veio, tbm preciso ! plz ... sou o Eliton_cnb
mas vc nem ta online ;/
Dúvida sanada, tópico movido.
Atenciosamente, Critical.
"Educai as crianças para não precisar punir os homens."
Nathan me adc SKYPE
Lukinhasthunder / MSN
william-_-honorio@hotmail.com , se puder me passa o mapa me ajudaria d+
,agradeço