You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tibia 7.6 use int32 for experience (actually the protocol use uint32 but the client use int32), which can only show exp up to level 507.. back in those days, the highest level player on all of Tibia was Setzer Gambler at like lvl 200, iirc.. someone reaching 500+ was unthinkable back then.
lvl <507: show real exp
lvl <5052: show exp/1000
lvl <23445: show exp/100_000
lvl <50510: show exp in millions
lvl < 2000000000: show level as exp
lvl >=2000000000: give up, just show 0 exp 0 lvl (i dont' think the YurOTS engine is capable of reaching lvl 2000000000 anyway...)
in void Protocol76::AddPlayerStats(NetworkMessage &msg,const Player *player)
constauto level = (player->getPlayerInfo(PLAYERINFO_LEVEL));
if(level < 507){
// show real exp
msg.AddU32(uint32_t(player->getExperience()));
msg.AddU16(uint16_t(level));
} elseif(level < 5052){
// show in exp in 1000
msg.AddU32(uint32_t(player->getExperience()/1000));
msg.AddU16(uint16_t(level));
}elseif(level < 23445){
// show in exp in 100_000
msg.AddU32(uint32_t(player->getExperience()/100000));
msg.AddU16(uint16_t(level));
}elseif (level < 50510){
// show exp in millions
msg.AddU32(uint32_t(player->getExperience()/1000000));
msg.AddU16(uint16_t(level));
}elseif(level < 2000000000){
// show level as exp
msg.AddU32(uint32_t(level));
msg.AddU16(0);
}else{
// above lvl 2000000000 ... give up, just show 0 lvl 0 exp
msg.AddU32(0);
msg.addU16(0);
}
The text was updated successfully, but these errors were encountered:
divinity76
changed the title
yurots high exp patch
yurots high exp stats patch
Feb 1, 2022
Tibia 7.6 use int32 for experience (actually the protocol use uint32 but the client use int32), which can only show exp up to level 507.. back in those days, the highest level player on all of Tibia was Setzer Gambler at like lvl 200, iirc.. someone reaching 500+ was unthinkable back then.
lvl <507: show real exp
lvl <5052: show exp/1000
lvl <23445: show exp/100_000
lvl <50510: show exp in millions
lvl < 2000000000: show level as exp
lvl >=2000000000: give up, just show 0 exp 0 lvl (i dont' think the YurOTS engine is capable of reaching lvl 2000000000 anyway...)
in
void Protocol76::AddPlayerStats(NetworkMessage &msg,const Player *player)
The text was updated successfully, but these errors were encountered: