about range pickup

12/01/2021 23:04 badforce788#1
Hello guys! I know these functions are used for range pickup. Do you have any tips on how to use? thx!

GetCloseItem & GetGroundItemPosition
12/02/2021 13:56 ETF!!!?!#2
First you should teleport to the item position and then pick it up
12/02/2021 17:33 badforce788#3
Quote:
Originally Posted by ETF!!!?! View Post
First you should teleport to the item position and then pick it up
Yes i do this. Im trying to make it perfect.
12/02/2021 20:33 cypher#4
#moved
12/03/2021 02:23 trashepvp#5
1. Teleport to item position (via server, not via client, using SendCharacterStatePacket)
2. Check if there are more than 1 item to pick near to your *new* server position (so you make it more efficient)
3. Back to the position you was before teleport to the item using SendCharacterStatePacket again

To get ground items information: get a pointer to m_GroundItemInstanceMap objects. Inside it you have infos (all infos of TGroundItemInstance struct) to check the owner, x, y, x, vnum and more...

This is the very basic logic. To make it perfect you need to do some tricks (because you need to take care of DCs and desynchronization, and depending on the server, you even need to make it in way you dont trigger serverside protections).

Don't try to make it in serverside protected servers since you're starting and you can get desync/DC and you will think you coded something wrong.
12/03/2021 04:01 xTryx#6
Quote:
Originally Posted by trashepvp View Post
1. Teleport to item position (via server, not via client, using SendCharacterStatePacket)
2. Check if there are more than 1 item to pick near to your *new* server position (so you make it more efficient)
3. Back to the position you was before teleport to the item using SendCharacterStatePacket again

To get ground items information: get a pointer to m_GroundItemInstanceMap objects. Inside it you have infos (all infos of TGroundItemInstance struct) to check the owner, x, y, x, vnum and more...

This is the very basic logic. To make it perfect you need to do some tricks (because you need to take care of DCs and desynchronization, and depending on the server, you even need to make it in way you dont trigger serverside protections).

Don't try to make it in serverside protected servers since you're starting and you can get desync/DC and you will think you coded something wrong.
you can talk to the server from the client this easy? lol
12/03/2021 17:43 badforce788#7
Quote:
Originally Posted by trashepvp View Post
1. Teleport to item position (via server, not via client, using SendCharacterStatePacket)
2. Check if there are more than 1 item to pick near to your *new* server position (so you make it more efficient)
3. Back to the position you was before teleport to the item using SendCharacterStatePacket again

To get ground items information: get a pointer to m_GroundItemInstanceMap objects. Inside it you have infos (all infos of TGroundItemInstance struct) to check the owner, x, y, x, vnum and more...

This is the very basic logic. To make it perfect you need to do some tricks (because you need to take care of DCs and desynchronization, and depending on the server, you even need to make it in way you dont trigger serverside protections).

Don't try to make it in serverside protected servers since you're starting and you can get desync/DC and you will think you coded something wrong.
thx sir! i will try.
12/03/2021 23:10 br4ve-trave1er.asf#8
Quote:
Originally Posted by xTryx View Post
you can talk to the server from the client this easy? lol
mit ein paar Einschränkungen, man darf z.B pro "move packet" nur 40 metin units weit vom ursprung entfernt sein - man wird aber nicht davon abgehalten einfach 10 stück pro sekunde zu schicken, was wieder 400 units pro sekunde wären - mit solchen tricks darf man so ziemlich alles machen :feelsgoodman:
12/04/2021 05:35 xTryx#9
Quote:
Originally Posted by br4ve-trave1er.asf View Post
mit ein paar Einschränkungen, man darf z.B pro "move packet" nur 40 metin units weit vom ursprung entfernt sein - man wird aber nicht davon abgehalten einfach 10 stück pro sekunde zu schicken, was wieder 400 units pro sekunde wären - mit solchen tricks darf man so ziemlich alles machen :feelsgoodman:
du sprichst über DeltaTime damit kannst du die units ausgleichen
Ich glaube ich bin im falschen Thread aber meine frage war wenn man z.b. einen cheat entwickelt ist das so einfach das man vom client die package die der server ausführt einfach so manipulieren kann? Ich frage weil ich mich davor schützen will.
12/04/2021 05:54 br4ve-trave1er.asf#10
Quote:
Originally Posted by xTryx View Post
du sprichst über DeltaTime damit kannst du die units ausgleichen
nein, wortwörtlich das was ich gesagt habe
00ms 00,00 zu 00,40 move packet
01ms 00,40 zu 40,40 move packet
...

genauso funktioniert auch der typische range hidden - man portet sich einfach zu zwischen steps statt direkt zum ziel

Quote:
Originally Posted by xTryx View Post
Ich glaube ich bin im falschen Thread aber meine frage war wenn man z.b. einen cheat entwickelt ist das so einfach das man vom client die package die der server ausführt einfach so manipulieren kann? Ich frage weil ich mich davor schützen will.
ja, dadurch das der source public ist kann soziemlich jeder mit minimalen reversing Kenntnissen einen sehr umfangreichen bot/hack schreiben - wirklichen schutz bieten eigentlich nur zusätzliche serverside checks, anticheats wie hawkeye oder cshield können aber gegen die 0815 ottos helfen
12/04/2021 05:55 xTryx#11
Quote:
Originally Posted by br4ve-trave1er.asf View Post
nein, wortwörtlich das was ich gesagt habe
00ms 00,00 zu 00,40 move packet
01ms 00,40 zu 40,40 move packet
...

genauso funktioniert auch der typische range hidden - man portet sich einfach zu zwischen steps statt direkt zum ziel



ja, dadurch das der source public ist kann soziemlich jeder mit minimalen reversing Kenntnissen einen sehr umfangreichen bot/hack schreiben - wirklichen schutz bieten eigentlich nur zusätzliche serverside checks, anticheats wie hawkeye oder cshield können aber gegen die 0815 ottos helfen
ok danke
12/05/2021 02:36 trashepvp#12
Quote:
Originally Posted by xTryx View Post
you can talk to the server from the client this easy? lol
Yes
12/05/2021 06:56 xTryx#13
Quote:
Originally Posted by trashepvp View Post
Yes
why do people create farm hacks instead of creating items? if you can talk to the server you can do everything
12/05/2021 17:24 SpankTeam#14
Quote:
Originally Posted by xTryx View Post
why do people create farm hacks instead of creating items? if you can talk to the server you can do everything
Exactly, you can only talk with server, but not modifying serversided packets, unless you have database access.