Justin123456
New Member
- Joined
- Mar 24, 2011
- Messages
- 177
- Reaction score
- 4
I'm having a problem with my Zombie Event. When the event starts and the TP opens, it says this:
However, it seems like it works... but it doesn't. It keeps going on to say this:
After that, the zombies don't spawn and the teleport doesn't close.
Here is my Globalevents script:
And here's in my Globalevents.xml:
Thanks to anyone who helps! I'll give you REP! And again I'm using TFS 0.3.6 Thanks!
Code:
[23/07/2012 09:57:31] > Broadcasted message: "Zombie event starting in 2 minutes! The teleport will be closed when the event starts! Need atleast 1 players for the event to start!".
[23/07/2012 09:57:31] 0
[23/07/2012 09:57:31] [Error - GlobalEvents::think] Couldn't execute event: zombieevent
However, it seems like it works... but it doesn't. It keeps going on to say this:
Code:
[23/07/2012 09:58:56] > Broadcasted message: "Tester entered the Zombie event! Currently 1 players have joined!".
[23/07/2012 09:58:56] 1 Players in the zombie event.
[23/07/2012 09:59:31] > Broadcasted message: "Good luck in the zombie event people! The teleport has closed!".
After that, the zombies don't spawn and the teleport doesn't close.
Here is my Globalevents script:
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 = 962, y = 1299, z = 6, stackpos = 1}, -- Where the teleport will be created
teleportToPosition = {x = 972, y = 1296, z = 7}, -- Where the teleport will take you
teleportId = 1387, -- Id of the teleport
timeToStartEvent = 2, -- 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 = 1, -- 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 = 965, y = 1291, z = 7}, -- top left cornor of the playground
toPosition = {x = 979, y = 1301, z = 7}, -- bottom right cornor of the playground
}
function onThink(cid, interval, lastExecution)
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 starts! Need atleast 3 players for the event to 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
And here's in my Globalevents.xml:
Lua:
<globalevent name="zombieevent" interval="300" event="script" value="zombieevent/zombieevent.lua"/>
Thanks to anyone who helps! I'll give you REP! And again I'm using TFS 0.3.6 Thanks!