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

Svargrond arena help

blixt22

New Member
Joined
Jul 16, 2008
Messages
40
Reaction score
1
Hello,
I just downloaded a script for arena and it doesnt work ofcourse.

I don't seem to find any x,y,z to change for it to fit my server.
How do I change that, do I have to post ALL of the scripts?
 
Arenadoors.lua/action
Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)
    local cidPosition = getCreaturePosition(cid)
    if item.actionid ~= 42357 then
        if (item.actionid == 42366 and getPlayerStorageValue(cid,42355) >= 1) or (item.actionid == 42376 and getPlayerStorageValue(cid,42355) >= 2) or (item.actionid == 42386 and getPlayerStorageValue(cid,42355) == 3) then
            if cidPosition.x < toPosition.x then
                doTeleportThing(cid, {x=toPosition.x+1,y=toPosition.y,z=toPosition.z}, TRUE)
            else
                doTeleportThing(cid, {x=toPosition.x-1,y=toPosition.y,z=toPosition.z}, TRUE)
            end
            return TRUE
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You can not enter room.")
            return TRUE
        end
    elseif (item.actionid == 42357 and getPlayerStorageValue(cid,42351) == 1) then
        if cidPosition.x < toPosition.x then
            doTeleportThing(cid, {x=toPosition.x+1,y=toPosition.y,z=toPosition.z}, TRUE)
        else
            doTeleportThing(cid, {x=toPosition.x-1,y=toPosition.y,z=toPosition.z}, TRUE)
        end
        return TRUE
    else
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You must pay first.")
        return TRUE
    end
    return FALSE
end

arenareward.lua/action

Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if item.actionid >= 42361 and item.actionid <= 42365 and getPlayerStorageValue(cid, 42361) ~= 1 then
        local reward = 0
        if item.actionid == 42361 then
            reward = doCreateItemEx(1990,1)
            doAddContainerItem(reward, 7372, 1)
            doAddContainerItem(reward, 6569, 10)
            doAddContainerItem(reward, 6574, 1)
            doAddContainerItem(reward, 2114, 1)
        elseif item.actionid == 42362 then
            reward = doCreateItemEx(7406,1)
        elseif item.actionid == 42363 then
            reward = doCreateItemEx(7380,1)
        elseif item.actionid == 42364 then
            reward = doCreateItemEx(7392,1)
        elseif item.actionid == 42365 then
            reward = doCreateItemEx(7342,1)
            doAddContainerItem(reward, 7365, 100)
            doAddContainerItem(reward, 7364, 100)
        end
        if doPlayerAddItemEx(cid, reward, 0) == RETURNVALUE_NOERROR then
            doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You found ' .. getItemName(getThing(reward).uid) .. '.')
            setPlayerStorageValue(cid, 42361, 1)
        else
            doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You do not have enought capacity or place in backpack.')
        end
    elseif item.actionid >= 42371 and item.actionid <= 42375 and getPlayerStorageValue(cid, 42371) ~= 1 then
        local reward = 0
        if item.actionid == 42371 then
            reward = doCreateItemEx(1990,1)
            doAddContainerItem(reward, 7372, 1)
            doAddContainerItem(reward, 6569, 10)
            doAddContainerItem(reward, 6574, 1)
            doAddContainerItem(reward, 7183, 1)
        elseif item.actionid == 42372 then
            reward = doCreateItemEx(7384,1)
        elseif item.actionid == 42373 then
            reward = doCreateItemEx(7389,1)
        elseif item.actionid == 42374 then
            reward = doCreateItemEx(7415,1)
        elseif item.actionid == 42375 then
            reward = doCreateItemEx(7342,1)
            doAddContainerItem(reward, 7365, 100)
            doAddContainerItem(reward, 2547, 100)
            doAddContainerItem(reward, 2547, 100)
            doAddContainerItem(reward, 2311, 50)
            doAddContainerItem(reward, 2304, 50)
        end
        if doPlayerAddItemEx(cid, reward, 0) == RETURNVALUE_NOERROR then
            doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You found ' .. getItemName(getThing(reward).uid) .. '.')
            setPlayerStorageValue(cid, 42371, 1)
        else
            doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You do not have enought capacity or place in backpack.')
        end
    elseif item.actionid >= 42381 and item.actionid <= 42385 and getPlayerStorageValue(cid, 42381) ~= 1 then
        local reward = 0
        if item.actionid == 42381 then
            reward = doCreateItemEx(1990,1)
            doAddContainerItem(reward, 7372, 1)
            doAddContainerItem(reward, 6569, 10)
            doAddContainerItem(reward, 6574, 1)
            doAddContainerItem(reward, 5080, 1)
        elseif item.actionid == 42382 then
            reward = doCreateItemEx(7390,1)
        elseif item.actionid == 42383 then
            reward = doCreateItemEx(7434,1)
        elseif item.actionid == 42384 then
            reward = doCreateItemEx(7429,1)
        elseif item.actionid == 42385 then
            reward = doCreateItemEx(7342,1)
            doAddContainerItem(reward, 2273, 50)
            doAddContainerItem(reward, 2268, 50)
            doAddContainerItem(reward, 7443, 1)
            doAddContainerItem(reward, 7440, 1)
            doAddContainerItem(reward, 6529, 100)
        end
        if doPlayerAddItemEx(cid, reward, 0) == RETURNVALUE_NOERROR then
            doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You found ' .. getItemName(getThing(reward).uid) .. '.')
            setPlayerStorageValue(cid, 42381, 1)
        else
            doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,'You do not have enought capacity or place in backpack.')
        end
    end
    return TRUE
end

didarenalevel/action
Code:
function onStepIn(cid, item, pos, fromPosition)
    if getPlayerStorageValue(cid, item.actionid+getPlayerStorageValue(cid, 42355)*10-1) == 1 then
        doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,'You did arena at level '.. getPlayerStorageValue(cid, 42355)+1 ..'! Now you can take your reward.')
        setPlayerStorageValue(cid, 42355, getPlayerStorageValue(cid, 42355)+1) --did arena level X
        setPlayerStorageValue(cid, item.actionid+getPlayerStorageValue(cid, 42355)*10, 1) --did arena level X
        setGlobalStorageValue(item.actionid-1, 0) -- room free
        setPlayerStorageValue(cid, 42350, os.time()+5) -- time to kick 0
        setPlayerStorageValue(cid, 42352, 0) -- is not in arena
        doTeleportThing(cid, arenaKickPosition, TRUE)
    else
        doTeleportThing(cid, fromPosition, TRUE)
        doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,'First kill monster!')
    end
    return TRUE
end
 
Last edited by a moderator:
arenaroom.lua/movements

Code:
function onStepIn(cid, item, position, fromPosition)
    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 = type(getStorage(arena_room+100)) == 'string' and 0 or getStorage(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, arenaKickPosition, 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,'You have ' .. player_storage - os.time() .. ' seconds to go to the next room!')
            end
        else
            setGlobalStorageValue(i, 0)
        end
    end
end

didarenalevel.lua/movements
Code:
function onStepIn(cid, item, pos, fromPosition)
    if getPlayerStorageValue(cid, item.actionid+getPlayerStorageValue(cid, 42355)*10-1) == 1 then
        doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_BLUE,'You did arena at level '.. getPlayerStorageValue(cid, 42355)+1 ..'! Now you can take your reward.')
        setPlayerStorageValue(cid, 42355, getPlayerStorageValue(cid, 42355)+1) --did arena level X
        setPlayerStorageValue(cid, item.actionid+getPlayerStorageValue(cid, 42355)*10, 1) --did arena level X
        setGlobalStorageValue(item.actionid-1, 0) -- room free
        setPlayerStorageValue(cid, 42350, os.time()+5) -- time to kick 0
        setPlayerStorageValue(cid, 42352, 0) -- is not in arena
        doTeleportThing(cid, arenaKickPosition, TRUE)
    else
        doTeleportThing(cid, fromPosition, TRUE)
        doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,'First kill monster!')
    end
    return TRUE
end

arenagoblet.lua/movements
Code:
function onStepIn(cid, item, position, fromPosition)
    local gobletPos = getThingPos(item.uid)
    if item.actionid == 42360 then
        if getPlayerStorageValue(cid, 42360) ~= 1 then
            setPlayerStorageValue(cid, 42360, 1)
            local goblet = doCreateItemEx(5807, 1)
            doItemSetAttribute(goblet, "description", "It is given to the courageous victor of the barbarian arena greenhorn difficulty.\nAwarded to " .. getCreatureName(cid) .. ".")
            doTileAddItemEx({x=gobletPos.x,y=gobletPos.y-1,z=gobletPos.z}, goblet)
        end
    elseif item.actionid == 42370 then
        if getPlayerStorageValue(cid, 42370) ~= 1 then
            setPlayerStorageValue(cid, 42370, 1)
            local goblet = doCreateItemEx(5806, 1)
            doItemSetAttribute(goblet, "description", "It is given to the courageous victor of the barbarian arena scrapper difficulty.\nAwarded to " .. getCreatureName(cid) .. ".")
            doTileAddItemEx({x=gobletPos.x,y=gobletPos.y-1,z=gobletPos.z}, goblet)
        end
    elseif item.actionid == 42380 then
        if getPlayerStorageValue(cid, 42380) ~= 1 then
            setPlayerStorageValue(cid, 42380, 1)
            local goblet = doCreateItemEx(5805, 1)
            doItemSetAttribute(goblet, "description", "It is given to the courageous victor of the barbarian arena warlord difficulty.\nAwarded to " .. getCreatureName(cid) .. ".")
            doTileAddItemEx({x=gobletPos.x,y=gobletPos.y-1,z=gobletPos.z}, goblet)
        end
    end
    doTransformItem(item.uid, item.itemid - 1)
    return TRUE
end

function onStepOut(cid, item, pos)
    doTransformItem(item.uid, item.itemid + 1)
    return TRUE
end

leavearena.lua/movements

Code:
function onStepIn(cid, item, pos, fromPosition)
    if getPlayerStorageValue(cid, 42309) < 1 then
        for i = 42300, 42309 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 2 he must start from zero
    if getPlayerStorageValue(cid, 42319) < 1 then
        for i = 42310, 42319 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    -- if he did not make full arena 3 he must start from zero
    if getPlayerStorageValue(cid, 42329) < 1 then
        for i = 42320, 42329 do
            setPlayerStorageValue(cid, i, 0)
        end
    end
    doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_ORANGE,'You left arena!')
    doTeleportThing(cid, arenaKickPosition, TRUE)
    setGlobalStorageValue(item.actionid-21, 0) -- free room
    setPlayerStorageValue(cid, 42350, os.time()+5) -- time to kick 0
    setPlayerStorageValue(cid, 42352, 0) -- is not in arena
    return TRUE
end
 
Last edited by a moderator:
Back
Top