I noticed that the commented part didn't seem to work, and tried having the bot just output players' coords when they moved, and it appears to output really strange numbers. Does anyone have an idea of what's going wrong here?
EDIT:
Update-- I think the coords are a little lagged somehow. If the player sits there, it will initially output coords that are 50-100 lower than the actual, but if he hovers there it will slowly catch up and stabilize at the actual coords. Any ideas?
Mr Ekted - Mon Nov 08, 2004 5:08 pm
Post subject:
Player position packets are only send every 100ms. The client extrapolates each player's "actual" position using the time synchornization, the x/y, and the dx,dy. The raw position you get in each packet will always be player->server + server->bot milliseconds behind the actual position.
Cyan~Fire - Mon Nov 08, 2004 7:08 pm
Post subject:
Try using a char array as a string and sprintf(). Look it up in the MSDN library.
Also, as a recommendation, just compare the player pointers instead of their names. Player pointers remain the same as long as the play stays in the arena.
50% Packetloss - Mon Nov 08, 2004 8:01 pm
Post subject:
Inorder to recieve position packets from all the players, the bot spectates them 1 by 1 according to the last position that it recorded them at. You can reproduce the same thing with continuum by pressing the arrow keys and following a person, any person outside your radar range you will not receive position packets from. So the bot must move every position-delay (its in the settings .cfg) to hover over the player to get thier new coords. If you want the bot to just look at 1 positon then the best method is to tell(makeFlying(true)); i believe, id have to check the source code, then you can change me->pos to set the bot in a new position. If you look at the mervbot source code you can see how catid keeps track of the player the bot is spectating over and records the last time the bot recieved position packets from that player.
And yah, because data is stored in a linklist which's address is passed to the DLL, you can just store data with a pointer. But remember to set that pointer to NULL when the player leaves the arena or youll be pointing to deleted memory.
I strongly frown upon the use of the String class. It works but its slow compared to just doing it by hand or using sprintf().
BTW, did any of you see Tara Reid's breast-slip? The doctor that works on those things needs to die, just awful. Huge pancake nipples
. I can link you if you want.
D1st0rt - Tue Nov 09, 2004 4:40 pm
Post subject:
From what I've heard, the scars will go away in around 6 months