Server Help

Bot Questions - Position Packets (Spectating)

2dragons - Fri Aug 13, 2004 1:41 am
Post subject: Position Packets (Spectating)
What's the proper method to receive position packets while in spectator mode and moving around?

(I'm unable to actually move around the map and get packets from within the area I'm supposedly spectating.)

I made the assumption to send a spectate player packet when entering an arena with a player id of 0xFFFF and from there simply send position packets from the desired area I wanted to spectate. However no luck beyond receiving from outside the 8192,8192 area.

(No time on the dialup to download the 5-6 megs of SS to figure it out myself.) icon_wink.gif
50% Packetloss - Fri Aug 13, 2004 3:44 am
Post subject:
Best way to recieve position packets is to just move over the location of the player. Actually spectating them (ctrl key in continuum) requests extra position data. If you are making a bot that has to know where everyone is at all times, then requesting extra position data would lag the server beyond belief. Unknow to many mervbot coders, while mervbot is in spec it will automatically change it's location over every player in the arena, changing positions every position delay. The position delay is a setting in the cfg file and you can ?get it from the server. So inorder to simulate the same process youll have to devise a system that change's the bot's position in spec every position delay (i think position delay is in 1/100 of a second and the max value is 20). Then you will recieve position packets from everyone, hopefully.
Mr Ekted - Fri Aug 13, 2004 11:27 am
Post subject:
There's no way to get position packets from everyone without jumping all over the map.
2dragons - Fri Aug 13, 2004 12:28 pm
Post subject:
Read my post better. I simply want position packets from the location I'm at. Much like moving around without spectating a specific person (I've had no problem spectating player by player.)
CypherJF - Fri Aug 13, 2004 2:07 pm
Post subject:
I wonder if 2dragons is wondering how Continuum does it (able to scroll across the map) and still receive packets for it's location, for a possible client ? icon_wink.gif
Mr Ekted - Fri Aug 13, 2004 2:08 pm
Post subject:
Do you know for sure that the MERV core isn't continuing to send position packets for elsewhere? I'm unfamiliar with the interface. In pbot, you just say SetPosition(x, y) and the core handles the packets.
50% Packetloss - Fri Aug 13, 2004 5:01 pm
Post subject:
yah, mervbot change's its own location while in spec and keeps track of who it is spectating. Dlls can turn off this feature by doing tell(makeFlying(true)); and you will take control of the core's position packets. Youll have to place tell(makeSendPosition(false)); in event_positionhook so that the bot continues to send position packets.

I may be wrong but i believe that continuum does it the same way, if you spectate someone that is in limbo (downloading the map, waiting to attach to a dead player, ect) youll notice that players start to dissapear. You can only recieve position packets from players in your radar range.
50% Packetloss - Fri Aug 13, 2004 5:04 pm
Post subject:
What core are you using 2dragons? I could direct you to some merv code, but im not sure if you know C++?
2dragons - Fri Aug 13, 2004 11:09 pm
Post subject:
I'm using no core. I'm actually just trying to understand the means to retreive position packets without spectating a specific person. +) Basically yes to Cypher as in scrolling and receiving. I'd appreciate any direction from any language to help me solve the problem.

Like I said I'm currently sending a position packet about every .250 seconds for the position I wish to view, but it certainly isn't working.

Thanks for the continued help.
CypherJF - Fri Aug 13, 2004 11:11 pm
Post subject:
Well, wouldn't it be like sending your normal ship coords; just your ship to be w/e the spectator ship number is, ie 8? With the XY (tiles) of your speccing location...
2dragons - Fri Aug 13, 2004 11:25 pm
Post subject:
Spectator is 0, and I'm using the XY (in pixel coordinates) and that's what is NOT working. heheh
2dragons - Sat Aug 14, 2004 12:17 am
Post subject:
Excuse me you are correct heh, 8 is spectator 0 is warbird =p
Mr Ekted - Sat Aug 14, 2004 12:38 am
Post subject:
2dragons wrote:
I'm using no core.


You wrote your own bot system?
CypherJF - Sat Aug 14, 2004 12:40 am
Post subject:
Code: Show/Hide
0x03   Game   0x409BA9   Position

-      0   1   Type
-      1   1   Direction
-      2   4   Timestamp
-      6   2   X velocity
-      8   2   Y pixels
-      10   1   Checksum
-      11   1   Togglables
-      12   2   X pixels
-      14   2   Y velocity
-      16   2   Bounty
-      18   2   Energy
-      20   2   Weapon info
-      22   2   Energy         (Optional)
-      24   2   S2C latency      (Optional)
-      26   2   Timer         (Optional)
-      28   4   Item info      (Optional)

hmm .shrug. I don't know anything about packets :/ but that should work by sending just the bare min.



http://explody.ssihosting.com/misc/fpl/fpl.txt
2dragons - Sat Aug 14, 2004 12:50 am
Post subject:
Mr Ekted: Hrm kinda =p.

And I'm fairly familiar with most the packets and how they work, but thanks.
Anonymous - Sun Aug 29, 2004 10:07 am
Post subject:
Send the spec request packet with your own id, not -1. No need to send on entering the arena either.
Mr Ekted - Sun Aug 29, 2004 2:51 pm
Post subject:
AFAIK, you spectate pid 0xffff to not spec a player, not your own pid. That's what I do, and what I've seen in packet captures. This is used to move around freely or spectate a ball.
Mine GO BOOM - Sun Aug 29, 2004 3:16 pm
Post subject:
I concur with Ekted. How I hopped my warp-bot around to different areas to better pickup position packets for warping players with, such as in the case of the 'hidden' warps that didn't use the safe-zone method.
Anonymous - Mon Aug 30, 2004 8:32 am
Post subject:
Well, 2dragons said sending -1 didn't work for him. So I thought that if the server only sends you player positions near the player you are speccing, then you could sort of spec yourself since you are still sending position packets even while still in spec. You guys have more experience so you are probably right though.
All times are -5 GMT
View topic
Powered by phpBB 2.0 .0.11 © 2001 phpBB Group