• 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!
  • New resources must be posted under Resources tab. A discussion thread will be created automatically, you can't open threads manually anymore.

Svargrond Arena Quest for TFS 0.3.5

Many are certain that it is not 100% working. I did a test, Greenhorn arena when he was at last killed the boss arena and instead of going to reward room was in the area of "losers."
And when I went to talk to npc he offered me the second arena, Scrapper to do, got to try it again but when you kill the Boss Kreebosh the Exile and try to go through the portal it says I need to kill the boss.

Well, the arena is much better even than the old versions, easy to configure. If someone managed to get to and how he could post ... CYA =)!
 
When i have killed the monster in first room i cant open the door. Any idea?
 
fabianobn login.lua

PHP:
local config = {
	loginMessage = getConfigValue('loginMessage')
}

function onLogin(cid)
	local loss = getConfigValue('deathLostPercent')
	if(loss ~= nil) then
		doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
	end

	local accountManager = getPlayerAccountManager(cid)
	if(accountManager == MANAGER_NONE) then
		local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
		if(lastLogin > 0) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
			str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
		else
			str = str .. " Please choose your outfit."
			doPlayerSendOutfitWindow(cid)
		end

		doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
	elseif(accountManager == MANAGER_NAMELOCK) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
	elseif(accountManager == MANAGER_ACCOUNT) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
	else
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
	end

	if(not isPlayerGhost(cid)) then
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
	end

	registerCreatureEvent(cid, "Mail")
	registerCreatureEvent(cid, "GuildMotd")
	registerCreatureEvent(cid, "Idle")
	registerCreatureEvent(cid, "SkullCheck")
	registerCreatureEvent(cid, "ReportBug")



registerCreatureEvent(cid, "ArenaKill")
    -- if he did not make full arena 1 he must start from zero
    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
    if getPlayerStorageValue(cid, 42355) == -1 then
        setPlayerStorageValue(cid, 42355, 0) -- did not arena level
    end
    setPlayerStorageValue(cid, 42350, 0) -- time to kick 0
    setPlayerStorageValue(cid, 42352, 0) -- is not in arena 


	return true
end
 
fix:
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

thanks for Cykotitan!
 
Dunno how it works like on real tibia but for me it works like that

Code:
09:18 You see a bronze goblet.
It weighs 15.00 oz.
It is given to the courageous victor of the barbarian arena greenhorn difficulty.
Awarded to Secret.
ItemID: [5807].
Position: [X: 32365] [Y: 32264] [Z: 7].

Isn't it like real tibia?
 
Dunno how it works like on real tibia but for me it works like that

Code:
09:18 You see a bronze goblet.
It weighs 15.00 oz.
It is given to the courageous victor of the barbarian arena greenhorn difficulty.
Awarded to Secret.
ItemID: [5807].
Position: [X: 32365] [Y: 32264] [Z: 7].

Isn't it like real tibia?
'Awarded to NAME' should be readable from any distance, and 'It is given ..' should only be readable when you're standing next to the goblet.

126103844377.png


126103846594.png
 
Back
Top