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

OTClient Tibia Client 8.50

beliar34

Member
Joined
Feb 28, 2012
Messages
307
Solutions
7
Reaction score
11
I am looking for tutorial that would show me how to unlock 255 + animations in Tibia client (uint_8 to uint_16) if you got something for 8.50 post it i am looking for hex values etc :)

there was Table with those hexes in tibia.net.pl few years ago but that forum died and with it tables ...

Best regards ! :cool:

@Gesior.pl < ? something?
 
Here are hexes for 8.5 client:
Magic Effects:
on 0x100F5 offset(ctrl+g)
change: 17 44 0E 00 0F B6
to: B7 45 0E 00 0F B7

Distance Effects:
on 0x10537 offset(ctrl+g)
change: D5 3F 0E 00 0F B6
to: 75 41 0E 00 0F B7
 
Here are hexes for 8.5 client:
Magic Effects:
on 0x100F5 offset(ctrl+g)
change: 17 44 0E 00 0F B6
to: B7 45 0E 00 0F B7

Distance Effects:
on 0x10537 offset(ctrl+g)
change: D5 3F 0E 00 0F B6
to: 75 41 0E 00 0F B7


My client debug when login-in

in sources i changed everything with uint_8 to uint16 (send magic effect /distance)

but i am strugling with this one :

Code:
void ProtocolGame::sendMagicEffect(const Position& pos, uint16_t type)
{
    if(type > NM_ME_NONE || !canSee(pos))
        return;

    NetworkMessage_ptr msg = getOutputBuffer();
    if(msg)
    {
        TRACK_MESSAGE(msg);
        AddMagicEffect(msg, pos, type);
    }
}


edit : missed some uint_8 type in sources, compiling and will post result


Compiled now edited client work without debug but i cannot use more than 255 animation still, when i use ./z 255 and more i just dont get any effect


Edit : change :
if(type > NM_ME_NONE || !canSee(pos))
return;

to
if(!canSee(pos))
return;



Everything works great, when i use ./z 255 + animations show up but when i put something in spells instead of showing 255 ++ animation it goes aroung and for example for 256 it show animation nr 1 and for 257 animation nr 2 any ideas ? const.h ?
 
Last edited:
@fabian766 When i use doSendMagicEffect(getCreaturePosition(cid), +255) i got every effect i want to see but when i put higher number in spells setCombatParam(combat, COMBAT_PARAM_EFFECT, +255) it get looped and 256=1 257=2 etc.

I went trought every source file and couldnt find anything ...

/data/lib/constant.lua
Code:
CONST_ME_OSTATNIODBLOK = 4095
CONST_ME_LAST = CONST_ME_OSTATNIODBLOK

const.h
Code:
    MAGIC_EFFECT_INSECTS    = 0x44, //68
    NM_ME_OSTATNIODBLOK    = 0xFFF, //69


    NM_ME_LAST        = NM_ME_OSTATNIODBLOK,

    //for internal use, dont send to client
    NM_ME_NONE        = 0xFFFF,
    NM_ME_UNK        = 0xFFFFFFFF
};

tools.cpp
Code:
    MAGIC_EFFECT_INSECTS    = 0x44, //68
    NM_ME_OSTATNIODBLOK    = 0xFFF, //69


    NM_ME_LAST        = NM_ME_OSTATNIODBLOK,

    //for internal use, dont send to client
    NM_ME_NONE        = 0xFFFF,
    NM_ME_UNK        = 0xFFFFFFFF
};

Any ideas?

Solution change in combat.h and combat.cpp uint8_t related to cast spells :)
 
Last edited:
If you're using 1.x TFS version(it is hard to help without knowing what server you're using) then inside combat.h you should have uint8_t impactEffect under struct CombatParams so you need to change it to uint16_t impactEffect
if it is older server like 0.4, 0.3 it should using MagicEffect_t as underlying type and it should be int32_t by default unless there are declaration that it needs to be uint8_t like(const.h): enum MagicEffect_t : uint8_t
also it should be casted to the datatype you have declared inside game.h/game.cpp to function addMagicEffect but since doSendMagicEffect working we can assume that you get it changed correctly. If it isn't anything from these then tell me what server version you're using and I'll look into it.
 
Back
Top