• 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!

Solved Arena Svargrond Teleport Problem - 8.60

pedromaluko

New Member
Joined
Apr 14, 2009
Messages
21
Reaction score
2
Hi!
I need your help, Arena teleport are not working, the player talks to the NPC, enter, but to step on teleport, nothing happens.

Problem on step on teleport:
Code:
data/movements/scripts/arena/arenaroom.lua:onStepIn
data/movements/scripts/arena/arenaroom.lua:25 in function <data/movements/scripts/arena/arenaroom.lua:1>
data/movements/scripts/arena/arenaroom.lua:25 attempt to index global 'arena_monsters' a nil value

Line 25:
Code:
local monster = doCreateMonster(arena_monsters[arena_room+getPlayerStorageValue(cid, 42355)*10], {x=spawn_pos.x-1,y=spawn_pos.y-1,z=spawn_pos.z})

Arenaroom.lua:
Code:
function onStepIn(cid, item, position, fromPosition)

local leave = {x=32312, y=31134, z=6}

 if InitArenaScript == 0 then
 InitArenaScript = 1
 -- make arena rooms free
 for i = 0,9 do
 setGlobalStorageValue(42300+i, 0)
 setGlobalStorageValue(42400+i, 0)
 end
 checkArenaRooms({})
 end
 local arena_room = item.actionid
 local player_arena = getPlayerStorageValue(cid, 42355)
 if getPlayerStorageValue(cid, arena_room+getPlayerStorageValue(cid, 42355)*10-1) == 1 or arena_room+getPlayerStorageValue(cid, 42355)*10-1 == 42299 then
 if getGlobalStorageValue(cid, arena_room) == 0 then
 local monster_uid = getGlobalStorageValue(arena_room+100)
 if monster_uid > 0 then
 if isCreature(monster_uid) == TRUE then
 doRemoveCreature(monster_uid)
 end
 end
 local spawn_pos = getThingPos(arena_room)
 local monster = doCreateMonster(arena_monsters[arena_room+getPlayerStorageValue(cid, 42355)*10], {x=spawn_pos.x-1,y=spawn_pos.y-1,z=spawn_pos.z})
 setGlobalStorageValue(arena_room+100, monster)
 doTeleportThing(cid, spawn_pos, TRUE)
 setGlobalStorageValue(arena_room, cid)
 setGlobalStorageValue(arena_room-1, 0)
 setPlayerStorageValue(cid, 42350, os.time()+arena_room_max_time)
 else
 doTeleportThing(cid, fromPosition, TRUE)
 doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,getCreatureName(getGlobalStorageValue(cid, arena_room))..' is now in next room. Wait a moment and try again.')
 end
 else
 doTeleportThing(cid, fromPosition, TRUE)
 doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,'First kill monster!')
 end
 if arena_room == 42300 then
 setPlayerStorageValue(cid, 42351, 0)
 setPlayerStorageValue(cid, 42352, 1)
 end
 return TRUE
end

function checkArenaRooms(param)
 addEvent(checkArenaRooms, 1000, {})
 for i = 42300, 42309 do
 local player = getGlobalStorageValue(i)
 if isPlayer(player) == TRUE then
 local player_storage = getPlayerStorageValue(player, 42350)
 if player_storage <= os.time() then
 doTeleportThing(player, leave, TRUE)
 setPlayerStorageValue(player, 42350, 0)
 setGlobalStorageValue(i, 0)
 doPlayerSendTextMessage(player,MESSAGE_STATUS_CONSOLE_ORANGE,'You have been kicked from arena! You have only ' .. arena_room_max_time .. ' seconds for one room.')
 elseif player_storage - 10 <= os.time() then
 doPlayerSendTextMessage(player,MESSAGE_EVENT_DEFAULT,'Masz ' .. player_storage - os.time() .. ' sekund, zeby przejsc do kolejnego pokoju!')
 end
 else
 setGlobalStorageValue(i, 0)
 end
 end
end

I have a problem on Arenakill.lua creaturescripts too, same error.

arenakill.lua:
Code:
function onKill(cid, target)
    local room = getArenaMonsterIdByName(getCreatureName(target))
    if room > 0 then
        setPlayerStorageValue(cid, room, 1)
        doPlayerSendTextMessage(cid,22,"You can enter next room!")
    end
    return TRUE
end

Hope someone help me. Thanks
 
Thanks for replies, I will try here!

The script cames with the Data Pack.

You have included functions with this script? Make sure you have functions in compat.lua

I don't see these functions on compat.lua :(
 
Last edited by a moderator:
Global.lua is the name of the lib file of an other server.
You can add Lua made functions in data/lib/050-function.lua.
 
Go to the script that should do the thing with teleport that it is not doing (you don't explain more so I don't know what's wrong :p).
Then you can add textmessages or print where it's supposed to do something with teleport and see if it's loading that part.
 
Go to the script that should do the thing with teleport that it is not doing (you don't explain more so I don't know what's wrong :p).
Then you can add textmessages or print where it's supposed to do something with teleport and see if it's loading that part.

The script of teleport stepIn is the arenaroom.lua, I posted it on first post :)
 
Back
Top