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

[8.0] - TFS 1.2

Hello, @celohere.
I used to work in ElfenSoft's Elfen Server, 13 years later I'm going to try to ressuscitate it with your TFS.
Thank you for that! Also, you should put your name in the .exe already haha.

- GM Adenyu
 
@celohere when you pull an item with "quantity", it does not appear on the screen to separate the value
 
Last edited:
@celohere Is it normal in this version of the effects to go through walls like that?

otland.png
 
@celohere Do you know which codes would have to be changed to change the source to "Uint16"?
 
I did not understand your question , could you explain better?
I am wanting to add more MagicEffect and DistanceEffect and I was in doubt if I need to change the source codes or everything is fine.
 
I am wanting to add more MagicEffect and DistanceEffect and I was in doubt if I need to change the source codes or everything is fine.
game.cpp
change this:
C++:
void Game::addMagicEffect(const Position& pos, uint8_t effect)
to:
C++:
void Game::addMagicEffect(const Position& pos, uint16_t effect)
and this:
C++:
void Game::addMagicEffect(const SpectatorHashSet& spectators, const Position& pos, uint8_t effect)
to:
C++:
void Game::addMagicEffect(const SpectatorHashSet& spectators, const Position& pos, uint16_t effect)
game.h
change this:
C++:
void addMagicEffect(const Position& pos, uint8_t effect);
to:
C++:
void addMagicEffect(const Position& pos, uint16_t effect);
and this:
C++:
static void addMagicEffect(const SpectatorHashSet& spectators, const Position& pos, uint8_t effect);
to:
C++:
static void addMagicEffect(const SpectatorHashSet& spectators, const Position& pos, uint16_t effect);
player.h
change this:
C++:
void sendMagicEffect(const Position& pos, uint8_t type)
to:
C++:
void sendMagicEffect(const Position& pos, uint16_t type)
protocolgame.cpp
change this:
C++:
void ProtocolGame::sendMagicEffect(const Position& pos, uint8_t type)
{
    if (!canSee(pos)) {
        return;
    }

    NetworkMessage msg;
    msg.addByte(0x83);
    msg.addPosition(pos);
    msg.addByte(type);
    writeToOutputBuffer(msg);
}
to:
C++:
void ProtocolGame::sendMagicEffect(const Position& pos, uint16_t type)
{
    if (!canSee(pos)) {
        return;
    }

    NetworkMessage msg;
    msg.addByte(0x83);
    msg.addPosition(pos);
    msg.add<uint16_t>(type);
    writeToOutputBuffer(msg);
}
protocolgame.h
change this:
C++:
void sendMagicEffect(const Position& pos, uint8_t type);
to:
C++:
void sendMagicEffect(const Position& pos, uint16_t type);

And you will also need to edit some stuff on your tibia client, but i can't help you in this part.
Post automatically merged:

The client part (not tested).
address: 0xF915
change: 27 48 0D 00 0F B6 C0
to: C7 49 0D 00 0F B7 C0
 
Last edited:
@celohere Hello bro,
I'm using the "transform" money script and I'm having problems with "coin".

otland.png

Lua:
local ITEM_GOLDEN_BAR = 7503

local config = {
    [ITEM_GOLD_COIN] = {changeTo = ITEM_PLATINUM_COIN},
    [ITEM_PLATINUM_COIN] = {changeBack = ITEM_GOLD_COIN, changeTo = ITEM_CRYSTAL_COIN},
    [ITEM_CRYSTAL_COIN] = {changeBack = ITEM_PLATINUM_COIN, changeTo = ITEM_GOLDEN_BAR},
    [ITEM_GOLDEN_BAR] = {changeBack = ITEM_CRYSTAL_COIN}
}

function onUse(player, item, fromPosition, target, toPosition, isHotkey)
    local coin = config[item:getId()]
    if coin.changeTo and item.type == 100 then
        item:remove()
        player:addItem(coin.changeTo, 1)
    elseif coin.changeBack then
        item:remove(1)
        player:addItem(coin.changeBack, 100)
    else
        return false
    end
    return true
end
 
Hi,
I'm looking for help -I'm using this distro with Realera datapack, I was wondering how can i quickly make monsters to drop bags, like in old rl tibia.
Also I would like to know how can I turn cap system off.

Cheers!
 
Back
Top