Author |
Message |
videege Guest
Offline
|
Posted: Tue Jul 22, 2003 4:44 pm Post subject: Flag stuff |
 |
|
|
|
hm. I dunno if this forum is rather dead or not, but since ssforum is down, I have a question:
I have a bot that moves one flag around the center of the map every 2 seconds no matter what. This works fine and all, it's really fast, but when the bot nuets the flag it takes like 3 mins for the flag to show up again. I've looked through the settings but I can't find one that fixes the problem. Please help!
Also, this bot keeps track of soccer goals etc. However MERV-Bots Goal events don't seem to be registering well. Thanks for help! |
|
Back to top |
|
 |
Mine GO BOOM Hunch Hunch What What

Age:41 Gender: Joined: Aug 01 2002 Posts: 3615 Location: Las Vegas Offline
|
Posted: Tue Jul 22, 2003 5:18 pm Post subject: |
 |
|
|
|
This forum seems pretty active to me, as is shown in the Statistics section, but as for the nuetral problem, thats subgame's "bug". When it was first designed, nuetral flags will appear at a random interval after you drop them, as to prevent instantly picking them back up. This would help prevent people from nuetrally a flag, and then going back to the spot to get it picked back up as fast as possible. |
|
Back to top |
|
 |
videege Guest
Offline
|
Posted: Wed Jul 23, 2003 1:13 pm Post subject: |
 |
|
|
|
well that sucks. My bot as we know it is essentially ruined. Fear not, I'll find a way around it somehow. But btw, the Player_Score events are not triggering for some reason, yet my bot is keeping track of the score because it announces it at the end of the game. And sometimes the Player_Score event is triggered, but waaaaay after I score. I think it's somewhat of a speed issue. Is there anyway to improve the speed of mervbot? |
|
Back to top |
|
 |
Smong Server Help Squatter

Joined: 1043048991 Posts: 0x91E Offline
|
Posted: Wed Jul 23, 2003 2:18 pm Post subject: |
 |
|
|
|
videege wrote: | the Player_Score events are not triggering for some reason |
When do you expect to get this event? Kills/jackpots/goals? (I don't think you get a score update on kills, the info is all in the death packet). |
|
Back to top |
|
 |
Guest
Offline
|
Posted: Wed Jul 23, 2003 2:40 pm Post subject: |
 |
|
|
|
Sorry, it's the EVENT_PlayerScore. It says it's supposed to trigger when a player scores a goal. Well, I found a way around my flag problem, but now I have a new problem:
Bot Ext: :Bot:*warpto 560 607
Bot Ext: :Bot:*warpto 560 607
Bot Ext: :Bot:*warpto 560 607
Bot Ext: :Bot:*warpto 560 607
Bot Ext: :Bot:*warpto 560 607
Bot Ext: :Bot:*warpto 560 607
Bot Ext: :Bot:*warpto 560 607
It's trying to warp itself to the flag (which is the first in a series of code) but it can't! It just keeps repeating the warpto command -- I know it can do the warpto command, because it has sysop access...ideas? |
|
Back to top |
|
 |
nintendo64 Seasoned Helper

Age:39 Gender: Joined: Dec 01 2002 Posts: 104 Location: Dominican Republic Offline
|
Posted: Wed Jul 23, 2003 5:11 pm Post subject: |
 |
|
|
|
Does MERVBot can warpto?, i don't know but if i recall warpto was designed for CTM and MERVBot is a VIE Client, so if it doesn't have the support it could not work, try making the bot send position packets to the Flags coordinate and a flag got packet (i think the has flag is in the Position packets).
-nintendo64 |
|
Back to top |
|
 |
Mine GO BOOM Hunch Hunch What What

Age:41 Gender: Joined: Aug 01 2002 Posts: 3615 Location: Las Vegas Offline
|
Posted: Wed Jul 23, 2003 11:09 pm Post subject: |
 |
|
|
|
Continuum only packets still get set to VIE clients, they just ignore them. The warpto its is own simple packet, so the mervbot would have to accept it. Also, to get a flag, you don't have to be anywhere around it. Have the bot's position stay around where you want to drop it, get into a ship, and send the pickup flag packet. Go back to spec and the flag will come back later. |
|
Back to top |
|
 |
videege Guest
Offline
|
Posted: Thu Jul 24, 2003 1:07 pm Post subject: ? |
 |
|
|
|
????
How exactly would I do that? and this is the process i want it to follow: the bot gets on it's own freq (8003 to be exact) picks up the flag, warps to a random location within boundaries, and drops the flag, rinse and repeat sorta thing. This way I don't have to wait for the nueted flag delay (which just ruins the whole thing), but both teams (0000 and 0001) can still get the flag. This function repeats every few seconds or so. How would I go about doing this? |
|
Back to top |
|
 |
videege Guest
Offline
|
Posted: Mon Jul 28, 2003 10:01 am Post subject: |
 |
|
|
|
Hello? |
|
Back to top |
|
 |
nintendo64 Seasoned Helper

Age:39 Gender: Joined: Dec 01 2002 Posts: 104 Location: Dominican Republic Offline
|
Posted: Mon Jul 28, 2003 1:33 pm Post subject: |
 |
|
|
|
C2S
0x0F Frequency Change
Offset Length Description
0 1 TypeByte 0x0F
1 2 New Frequency
IE: 03 TotalSends 0F[Length 1] Frequency[Length 2]
03 Totalsends = ReliableHeader.
C2S
0x13 Flag request
Offset Length Description
0 1 Type Byte 0x13
1 2 Flag ID
Again with the reliable header, You can get FlagIDs by looking at the Flag Position Data.
It's an S2C
0x12 Flag Position
Offset Length Description
0 1 Type Byte 0x12
1 2 Flag ID
3 2 X Tiles
5 2 Y Tiles
7 2 Owner [Team ID]
Sending a Position Packet to the location and the Drop Flags Packet.
C2S
0x15 Drop Flags
Offset Length Description
0 1 Type Byte 0x15
Again both with Reliable Headers
C2S
0x03 Position packet
Offset Length Description
0 1 Type Byte 0x03
1 1 Direction (0 ... 360) [I thni this is wrong, it's up to 40]
2 4 Timestamp
6 2 X Velocity
8 2 Y Pixels (0 ... 16384)
10 1 Checksum [You need to Calculate This]
11 1 Togglables [Just Put 0]
12 2 X Pixels (0 ... 16384)
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)
You can Calculate the Checksum by using this.
[Coded By Coconut Emulator]
function Poke03ChecksumAt0A(const Packet03:String): String;
var
n: LongWord;
c, Tot: Byte;
begin
Tot := 0;
for n := 1 to $16
do begin
c := Str2Int(PChar(Copy(Packet03,n,1)));
if n = 11 then c := 0;
Tot := Tot xor c;
end;
Result := Copy(Packet03,1,10) + Int2Str(Tot) + Copy(Packet03,12,Length(Packet03)-11)
end;
PChar is just used to convert a Pascal String to the String Type C/C++ uses.
:= means assignment, like P:=2; the value of P is two.
Copy it's a function that returns a string or parts of it of a string given.
function Copy(S; Index, Count: Integer): string;
S it's the string to work with.
Index where copy starts
Count it's the amount of characters to copy.
-nintendo64 |
|
Back to top |
|
 |
Smong (on holiday) Guest
Offline
|
Posted: Fri Aug 01, 2003 4:27 pm Post subject: |
 |
|
|
|
The reliable header has an 0x00 prefix, just incase some people noticed it looked the same as the postion packet. |
|
Back to top |
|
 |
|