• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua Firestorm Event Small Error:-

Ns Sparkz

Just a Normal Ns King
Joined
Mar 6, 2011
Messages
466
Reaction score
25
Location
Egypt
am using Firestorm Event | Tfs 1.2 (https://otland.net/threads/firestorm-event-tfs-1-2.237061/)
everything working fine, as soon as you enter there is fire, and then it stops and error pops outs:
Lua:
Lua script error : [Main Interface]
in a timer event called from:
<Unkown scriptfile>
data/firestorm_event.lua:40: attempt to call global 'dostartfirestorm' <a nil value>
stack traceback:
[c]: in function 'dostartfirestorm'
data/firestorm.lua:40: in function <data/firestorm.lua:20>
here is my script
Code:
-- firestorm Variables
fsJoinedCountGlobalStorage = 18900 --Player joined event count / recuento de players.
fsJoinStorage = 18901 --player join storage / storage del jugador a unirse.
fsMinPlayers = 1 --min players needed when time runout / minimo de players necesarios para comenzar el evento.
fsMaxPlayers = 2 --max players to join / maximo de players.
fsTrophy = 7369 --trophy itemid / itemid del premio(que no sea stackable).
fsEventCountGlobalStorage = 18902 --firestorm Count (no move/no moverle).
fsWaitMinutes = 2 --when event has opened, how long until it starts? / cuantos minutos tarde el evento en empezar.
fsWaitingRoomPos = Position(559, 1234, 7) --middle of waiting room / punto medio de el cuarto de espera.
fsArena = Position(551, 1256, 7) --when even start where should player be teleported in the arena? / punto donde seran transportados los players.
fsArenaFromPosition = Position(544, 1248, 7) --pos of top left corner / posicion de esquina superior izquierda.
fsArenaToPosition = Position(559, 1261, 7) --pos of bottom right corner /posicion de esquina inferior derecha.
fsMiddleEventArena = Position(551, 1256, 7) --Middle pos of the arena / punto medio de la arena
fsWaitingRoomRadiusX = 5 --depends how big the waiting room is 20sqm to x / depende de lo grande la sala de espera en x
fsWaitingRoomRadiusY = 5 --depends how big the waiting room is 20sqm to y / depende de lo grande la sala de espera en y
fsEventArenaRadiusX = 12 --Depends how big the firestorm arena is 50sqm to x / depende de lo grande de la arena en x
fsEventArenaRadiusY = 12 --Depends how big the firestorm arena is 50sqm to y / depende de lo grande de la arena en y
fsStartedGlobalStorage = 18903 -- Value: 0 == false, 1 == true, 2 == started --State of the event
fsCreateTeleportPosition = Position(626, 1099, 7) --Where should the teleport be created? / posicion donde sera creado el teleport?
function startfirestorm()
    local specs = Game.getSpectators(fsWaitingRoomPos, false, true, 0, fsWaitingRoomRadiusX, 0, fsWaitingRoomRadiusY)
    if Game.getStorageValue(fsJoinedCountGlobalStorage) <= fsMinPlayers then
        for i = 1, #specs do
            specs[i]:teleportTo(specs[i]:getTown():getTemplePosition(), false)
            specs[i]:setStorageValue(fsJoinStorage, 0)
        end
        resetfsVariables()
        Game.broadcastMessage('firestorm Event failed to start, because of to little players joined the event!', MESSAGE_STATUS_WARNING)
        return true
    end
    for i = 1, #specs do
        local rX, rY, rZ
        rX = math.random(fsArenaFromPosition.x, fsArenaToPosition.x)
        rY = math.random(fsArenaFromPosition.y, fsArenaToPosition.y)
        rZ = math.random(fsArenaFromPosition.z, fsArenaToPosition.z)
        specs[i]:teleportTo(Position(rX, rY, rZ))
    end
    Game.broadcastMessage("firestorm Event has started, good luck to all participant.", MESSAGE_STATUS_WARNING)
    Game.setStorageValue(fsStartedGlobalStorage, 2)
    dostartfirestorm()
end
function doStartfirestorm()
        if  Game.getStorageValue(fsJoinedCountGlobalStorage) > fsMaxPlayers then return false end
                if Game.getStorageValue(fsStartedGlobalStorage) == 2 then
                local specs = Game.getSpectators(fsArena, false, true, 0, 10, 0, 10)
                 for i = 1, #specs do
        local randX, randY, randZ
        randX = math.random(fsArenaFromPosition.x, fsArenaToPosition.x)
        randY = math.random(fsArenaFromPosition.y, fsArenaToPosition.y)
        randZ = math.random(fsArenaFromPosition.z, fsArenaToPosition.z)
                local randfire = Position(randX, randY, randZ)
                 local randX1, randY1, randZ1
        randX1 = math.random(fsArenaFromPosition.x, fsArenaToPosition.x)
        randY1 = math.random(fsArenaFromPosition.y, fsArenaToPosition.y)
        randZ1 = math.random(fsArenaFromPosition.z, fsArenaToPosition.z)
                local randfire1 = Position(randX1, randY1, randZ1)
            local creature, players = nil, Game.getPlayers()
                                                 for i = 1, #players do
                                                 creature = players[i]
                doSendDistanceShoot(fsArenaFromPosition, randfire, 4)
                doSendDistanceShoot(fsArenaToPosition, randfire, 4)
                doSendDistanceShoot(Position(544, 1248, 7), randfire, 4)
                doSendDistanceShoot(Position(560, 1265, 7), randfire, 4)
                doSendMagicEffect(randfire, 7)
           local target = Tile(randfire):getBottomCreature()
           local MaxHealth = target:getMaxHealth()
             if target then
                Creature(target):addHealth(-MaxHealth)
             end
                end
                                end
            addEvent(doStartfirestorm, 500)
        end
end
function resetfsVariables()
        Game.setStorageValue(fsEventCountGlobalStorage, 0)
        Game.setStorageValue(fsJoinedCountGlobalStorage, 0)
        Game.setStorageValue(fsStartedGlobalStorage, 0)
end
 
Back
Top