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

How to use uint64_t?

vexler222

Member
Joined
Apr 22, 2012
Messages
524
Solutions
8
Reaction score
15
Hi, i try implemented this NPC working with balance. (https://otland.net/threads/npc-working-with-balance.245690/)
To TFS 1.3 8.6 downgraded by nekiro, and it work if i use

Code:
msg.add<uint32_t>(player->getMoney() + player->getBankBalance());

When i try use it with uint64, still working when i buying something by say message ( hi > buy mana potion), but when i try use "trade" i got crash client
I need uint64 cuz when i got to much money i have blanace in minus in npc
 
Solution
The easiest way without editing cipsoft client is to edit trade window packet. If amount is higher than max unit32_t, divide it. You may also patch cipsoft client, edit incoming packets parser to read uint64_t and check gui structure if there is a free space after current uint32_t variable. When there will be no free space (eg. next variable may be window height etc) you will also change GUI structure to fit new size
OP
OP
vexler222

vexler222

Member
Joined
Apr 22, 2012
Messages
524
Solutions
8
Reaction score
15
You have to edit client to read uint64 instead of default uint32.

Do you know how? I try find something about it in google, but i didn't found anything
Post automatically merged:

If it's not possible or to hard for me i will must make new economy, little bit lower gold on server
 
Last edited:

LordCompi

Well-Known Member
Joined
May 2, 2013
Messages
164
Solutions
3
Reaction score
98
The easiest way without editing cipsoft client is to edit trade window packet. If amount is higher than max unit32_t, divide it. You may also patch cipsoft client, edit incoming packets parser to read uint64_t and check gui structure if there is a free space after current uint32_t variable. When there will be no free space (eg. next variable may be window height etc) you will also change GUI structure to fit new size
 
Solution

Nekiro

Legendary OT User
TFS Developer
Joined
Sep 7, 2015
Messages
2,557
Solutions
119
Reaction score
1,863
The easiest way without editing cipsoft client is to edit trade window packet. If amount is higher than max unit32_t, divide it. You may also patch cipsoft client, edit incoming packets parser to read uint64_t and check gui structure if there is a free space after current uint32_t variable. When there will be no free space (eg. next variable may be window height etc) you will also change GUI structure to fit new size
Aff, he wants copy paste man;/
 
OP
OP
vexler222

vexler222

Member
Joined
Apr 22, 2012
Messages
524
Solutions
8
Reaction score
15
The easiest way without editing cipsoft client is to edit trade window packet. If amount is higher than max unit32_t, divide it. You may also patch cipsoft client, edit incoming packets parser to read uint64_t and check gui structure if there is a free space after current uint32_t variable. When there will be no free space (eg. next variable may be window height etc) you will also change GUI structure to fit new size

Ok, thanks. I think editing cipsoft client is to hard for me, so added one "if" to this, and bank money working with npc only if player has lower than 2kkk
Btw @Nekiro you don't have to be an asshole, just don't comment on topics that don't interest you
 

LordCompi

Well-Known Member
Joined
May 2, 2013
Messages
164
Solutions
3
Reaction score
98
Ok, thanks. I think editing cipsoft client is to hard for me, so added one "if" to this, and bank money working with npc only if player has lower than 2kkk
Btw @Nekiro you don't have to be an asshole, just don't comment on topics that don't interest you
Good to hear, I propose to you to send players with big black bag an /10000 of their cash, so you can still be able to pump money on without crashes on trade window
 
Top