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

World Board

Ghelty

New Member
Joined
Aug 19, 2016
Messages
5
Reaction score
0
The Adventures Store world board is not working and does not have a look function. Can someone help?

You see the world board.

This board will notify you of currently active mini world changes all over Tibia.

World_Board.gif
 
Not sure if there is existing code for that floating around.
If you want to make it yourself:
in events\scripts\player.lua you have the onLook function:

Lua:
function Player:onLook(thing, position, distance)
    local description = "You see " .. thing:getDescription(distance)
    if self:getGroup():getAccess() then
        if thing:isItem() then
            description = string.format("%s\nItem ID: %d", description, thing:getId())

            local actionId = thing:getActionId()
            if actionId ~= 0 then
                description = string.format("%s, Action ID: %d", description, actionId)
            end

            local uniqueId = thing:getAttribute(ITEM_ATTRIBUTE_UNIQUEID)
            if uniqueId > 0 and uniqueId < 65536 then
                description = string.format("%s, Unique ID: %d", description, uniqueId)
            end

            local itemType = thing:getType()

            local transformEquipId = itemType:getTransformEquipId()
            local transformDeEquipId = itemType:getTransformDeEquipId()
            if transformEquipId ~= 0 then
                description = string.format("%s\nTransforms to: %d (onEquip)", description, transformEquipId)
            elseif transformDeEquipId ~= 0 then
                description = string.format("%s\nTransforms to: %d (onDeEquip)", description, transformDeEquipId)
            end

            local decayId = itemType:getDecayId()
            if decayId ~= -1 then
                description = string.format("%s\nDecays to: %d", description, decayId)
            end
        elseif thing:isCreature() then
            local str = "%s\nHealth: %d / %d"
            if thing:getMaxMana() > 0 then
                str = string.format("%s, Mana: %d / %d", str, thing:getMana(), thing:getMaxMana())
            end
            description = string.format(str, description, thing:getHealth(), thing:getMaxHealth()) .. "."
        end

        local position = thing:getPosition()
        description = string.format(
            "%s\nPosition: %d, %d, %d",
            description, position.x, position.y, position.z
        )

        if thing:isCreature() then
            if thing:isPlayer() then
                description = string.format("%s\nIP: %s.", description, Game.convertIpToString(thing:getIp()))
            end
        end
    end
    self:sendTextMessage(MESSAGE_INFO_DESCR, description)
end

You can insert a block in there for that itemid:

Lua:
function Player:onLook(thing, position, distance)
    local description = "You see " .. thing:getDescription(distance)
    -- Example
    if thing:isItem() then
        if ItemType(thing):getId() == XXXX then -- put World Board ID here
            local events = false
            if Game.getStorageValue(XXXX) == 1 then
                description = description .. "\n" .. "The 'Blah Blah Blah' event is in effect."
                events = true
            end
            if Game.getStorageValue(XXXX) == 1 then
                description = description .. "\n" .. "The 'Super Blah Blah' event is in effect."
                events = true
            end
            if events == false then
                description = description .. "\n" .. "No events are currently underway."
            end
        end
    end
    -- /Example
    self:sendTextMessage(MESSAGE_INFO_DESCR, description)
end
 
Back
Top