Hello guys! I know these functions are used for range pickup. Do you have any tips on how to use? thx!
GetCloseItem & GetGroundItemPosition
GetCloseItem & GetGroundItemPosition
you can talk to the server from the client this easy? lolQuote:
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.Quote:
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.
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:Quote:
you can talk to the server from the client this easy? lol
du sprichst über DeltaTime damit kannst du die units ausgleichenQuote:
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:
nein, wortwörtlich das was ich gesagt habeQuote:
du sprichst über DeltaTime damit kannst du die units ausgleichen
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 helfenQuote:
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.
ok dankeQuote:
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