Server Help Forum Index Server Help
Community forums for Subgame, ASSS, and bots
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   StatisticsStatistics   RegisterRegister 
 ProfileProfile   Login to check your private messagesLogin to check your private messages   LoginLogin (SSL) 

Server Help | ASSS Wiki (0) | Shanky.com
Help with a bot
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic Printable version
 View previous topic  public bot commands Post :: Post Makin a .dll  View next topic  
Author Message
xsp0rtsfanx
Seasoned Helper


Age:36
Gender:Gender:Male
Joined: Dec 27 2004
Posts: 168
Location: California
Offline

PostPosted: Mon Aug 08, 2005 2:35 pm    Post subject: Help with a bot Reply to topic Reply with quote

I'm probably going to use MERVBot or something like that I just need a plugin that i'm not sure how to make. It's kind of like what Mystic Kingdom does when you type .monster it says the coordinates of the monster but I want it so when people do a certain command it tells them where people are around them (since the zone has everyone cloaked). If anyone could tell me what the code is I would use I would appreciate it.
Back to top
View users profile Send private message Add User to Ignore List MSN Messenger
Maverick
broken record


Age:40
Gender:Gender:Male
Joined: Feb 26 2005
Posts: 1521
Location: The Netherlands
Offline

PostPosted: Mon Aug 08, 2005 2:41 pm    Post subject: Reply to topic Reply with quote

Try making it on your own first, then people will be helping you into achieving your goal.
Not alot of people around here make bots by request for free.
_________________
Nickname: Maverick (I changed my name!)
TWCore developer | Subspace statistics
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
xsp0rtsfanx
Seasoned Helper


Age:36
Gender:Gender:Male
Joined: Dec 27 2004
Posts: 168
Location: California
Offline

PostPosted: Mon Aug 08, 2005 2:48 pm    Post subject: Reply to topic Reply with quote

I've been trying to figure out how to make it on my own but I'm not exactly sure how I would do a locate on a person. I cant find a sysop command to make it easier so is it a custom code that would try finding the coords of the person (such as 512,512) and then putting them into the A1 or J5 form or would it come back in that form.
Back to top
View users profile Send private message Add User to Ignore List MSN Messenger
Bak
?ls -s
0 in


Age:26
Gender:Gender:Male
Joined: Jun 11 2004
Posts: 1826
Location: USA
Offline

PostPosted: Mon Aug 08, 2005 3:03 pm    Post subject: Reply to topic Reply with quote

it's like 128 or 256 tiles per letter / number. Just take the largest Letter / number combo (bottom right), and divide that into 1024 and then it's a simple forumula. Math.
_________________
SubSpace Discretion: A Third Generation SubSpace Client
Back to top
View users profile Send private message Add User to Ignore List AIM Address
Maverick
broken record


Age:40
Gender:Gender:Male
Joined: Feb 26 2005
Posts: 1521
Location: The Netherlands
Offline

PostPosted: Mon Aug 08, 2005 3:40 pm    Post subject: Reply to topic Reply with quote

The command is *where (PM to player), it will return the coordinates like:
xsp0rtsfanx: O11

in a type of an arena message. So you can have the bot filter that message, chop the first part (before the ': ') off and return the rest to the user.
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
xsp0rtsfanx
Seasoned Helper


Age:36
Gender:Gender:Male
Joined: Dec 27 2004
Posts: 168
Location: California
Offline

PostPosted: Mon Aug 08, 2005 3:51 pm    Post subject: Reply to topic Reply with quote

Ok thanks. I didn't know about the *where command.. I'll try figuring out the code myself from there then. Thanks for the help.
Back to top
View users profile Send private message Add User to Ignore List MSN Messenger
Maverick
broken record


Age:40
Gender:Gender:Male
Joined: Feb 26 2005
Posts: 1521
Location: The Netherlands
Offline

PostPosted: Mon Aug 08, 2005 5:48 pm    Post subject: Reply to topic Reply with quote

no problem, good luck icon_smile.gif
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Bak
?ls -s
0 in


Age:26
Gender:Gender:Male
Joined: Jun 11 2004
Posts: 1826
Location: USA
Offline

PostPosted: Mon Aug 08, 2005 8:23 pm    Post subject: Reply to topic Reply with quote

or you the player position and divide it, rather that a hack.
Back to top
View users profile Send private message Add User to Ignore List AIM Address
Cerium
Server Help Squatter


Age:42
Gender:Gender:Male
Joined: Mar 05 2005
Posts: 807
Location: I will stab you.
Offline

PostPosted: Tue Aug 09, 2005 1:33 am    Post subject: Reply to topic Reply with quote

Assuming the bot is close enough to get the position packets.
_________________
There are 7 user(s) ignoring me right now.
Back to top
View users profile Send private message Add User to Ignore List AIM Address
Bak
?ls -s
0 in


Age:26
Gender:Gender:Male
Joined: Jun 11 2004
Posts: 1826
Location: USA
Offline

PostPosted: Tue Aug 09, 2005 7:35 am    Post subject: Reply to topic Reply with quote

In Mervbot.ini:

Misc:NoisySpectator=1
Back to top
View users profile Send private message Add User to Ignore List AIM Address
Maverick
broken record


Age:40
Gender:Gender:Male
Joined: Feb 26 2005
Posts: 1521
Location: The Netherlands
Offline

PostPosted: Tue Aug 09, 2005 10:20 am    Post subject: Reply to topic Reply with quote

What are the downsides of that feature of mervbot anyway?
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
liito-orava
Novice


Gender:Gender:Male
Joined: Sep 24 2003
Posts: 41
Offline

PostPosted: Tue Aug 09, 2005 11:00 am    Post subject: Reply to topic Reply with quote

Takes more bandwidth at least. It likely increases CPU usage a little too but even if so it'd be very minor.
_________________
"Do you hear that? That is the sound of nobody giving a fuck!"
Wolfix> Lesbian transvestites trapped in man's bodies spanking their monkeys to freq 395
Back to top
View users profile Send private message Add User to Ignore List
Bak
?ls -s
0 in


Age:26
Gender:Gender:Male
Joined: Jun 11 2004
Posts: 1826
Location: USA
Offline

PostPosted: Tue Aug 09, 2005 12:31 pm    Post subject: Reply to topic Reply with quote

nah, it doesn't seem like it would take more bandwidth
Back to top
View users profile Send private message Add User to Ignore List AIM Address
Cerium
Server Help Squatter


Age:42
Gender:Gender:Male
Joined: Mar 05 2005
Posts: 807
Location: I will stab you.
Offline

PostPosted: Tue Aug 09, 2005 10:12 pm    Post subject: Reply to topic Reply with quote

How quickly does merv jump around from player to player? Not that it would have much of an effect on bandwidth or performance, but it would effect accuracy.

If its 1 player/sec, with 30 people, theres a chance youll only get a reliable update every 30 seconds. For something like this, itd be better if he set NoisySpectator to 0, and code the bot to spec the current monster or whatever.
Back to top
View users profile Send private message Add User to Ignore List AIM Address
xsp0rtsfanx
Seasoned Helper


Age:36
Gender:Gender:Male
Joined: Dec 27 2004
Posts: 168
Location: California
Offline

PostPosted: Tue Aug 09, 2005 10:29 pm    Post subject: Reply to topic Reply with quote

I'd have it so everytime a player wanted to check where a player is (max of 5 times per 30 seconds i can try) then it just says the coordinates of the people who are in the arena playing (not the spectators)
Back to top
View users profile Send private message Add User to Ignore List MSN Messenger
Bak
?ls -s
0 in


Age:26
Gender:Gender:Male
Joined: Jun 11 2004
Posts: 1826
Location: USA
Offline

PostPosted: Tue Aug 09, 2005 10:32 pm    Post subject: Reply to topic Reply with quote

it doesn't do it like that cerium. It keeps tabs on the last position packet it got from a player... and when it gets too old it specs the player. So the position is guarenteed to be accurate within 1 second(by default). But don't take my word for it, look in host.cpp:

Code: Show/Hide

if (pp->ship != SHIP_Spectator && botInfo.db->noisySpectator)
{
   if (time - pp->lastPositionUpdate > 100)
   if (time - lastSpec > 20)
   {   // Request position if we've lost him
      pp->lastPositionUpdate = time;

      spectate(pp);
   }
}
Back to top
View users profile Send private message Add User to Ignore List AIM Address
50% Packetloss
Server Help Squatter


Age:40
Gender:Gender:Male
Joined: Sep 09 2003
Posts: 561
Location: Santa Clarita, California
Offline

PostPosted: Wed Aug 10, 2005 1:26 am    Post subject: Reply to topic Reply with quote

It depends on your settings, [misc]SendPositionDelay which is by default set to 10 (hundreths of a second).

Code: Show/Hide
      
else if (Me->ship == SHIP_Spectator)
         {   // Spectating
            Uint32 limit = settings.SendPositionDelay;

            if (time - lastPosition > limit)
            {
               // Cycle player spectated
               if (Me->ship == SHIP_Spectator)
                  spectateNext();

               sendPosition(false);
            }
         }

That is the code in which mervbot switches between players that it spectates. It doesn't request-extra-position data (aka pressing ctrl on a player while in spec) but just moves to thier last know coords, switching players every 100ms. Sometimes the bot misses things, but it is rare. ASSS allows the bot to get position packets from the entire arena (without switching it's position) if it wishes, so it is more reliable.

The reason for the switching positions is that you normally only get position packets from the players a little out of radar range (a setting aswell). Imagine if you got position packets for every player in an arena, modem users would be lagged to shit, thus this system is pretty smart from a client standpoint (a bot is a client). The bot also recieves position packets for other things other than moving, such as entering a safe-zone which is sent arena-wide (it has to because mines have to be deleted).

Noisy Spectator is a bad idea, it will lag your zone once the population reaches a certain point.
_________________
Current Terror Alert Level
Back to top
View users profile Send private message Add User to Ignore List Send email AIM Address
Maverick
broken record


Age:40
Gender:Gender:Male
Joined: Feb 26 2005
Posts: 1521
Location: The Netherlands
Offline

PostPosted: Wed Aug 10, 2005 7:32 am    Post subject: Reply to topic Reply with quote

50% Packetloss wrote:
it will lag your zone once the population reaches a certain point.

Lag the entire zone when one client (the bot in this case) is only switching between players to get positions on them??
I can understand that the bot can't handle the load at one point if it has to get all the positions of around 100 people... but lag the entire zone?
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Bak
?ls -s
0 in


Age:26
Gender:Gender:Male
Joined: Jun 11 2004
Posts: 1826
Location: USA
Offline

PostPosted: Wed Aug 10, 2005 7:48 am    Post subject: Reply to topic Reply with quote

Hmm, after loooking further you're right in that it doesn't cycle only to player it's lost the position from, just to the next player on the playerlist (after the one it's following) and only if it's lost his position. So if you have a small map it won't need to cycle at all, but you'll have to cycle everyone in the arena to know this. This is a poor way of doing it in my opinion.

I'm going to have to agree with Maverick in that you won't lag the entire zone. I don't think you'll even lag the bot any more than normal by using noisyspectator, becase it's always recveiving packets for the area around the bot, even though that area is changing, you're never going to receive more than that area. The misc:sendpositiondelay has nothing to do with incoming packets, only with how often outgoing packets are sent (so indirectly how often you can switch players, but since noisySpectator won't switch more than every 20 ms anyway, lowering it won't make much of a difference).
Back to top
View users profile Send private message Add User to Ignore List AIM Address
50% Packetloss
Server Help Squatter


Age:40
Gender:Gender:Male
Joined: Sep 09 2003
Posts: 561
Location: Santa Clarita, California
Offline

PostPosted: Wed Aug 10, 2005 12:05 pm    Post subject: Reply to topic Reply with quote

Ok, who has been doing this longer?

Noisy spectator sends a C2S_SPECREQUEST to the server. The server in return sends a S2C_SPECDATA request to the client, which turns on extra position data (allowing the bot to see items and such). Then when the bot wants to switch to the next player, it sends out a packet and then the server has to tell one client to turn off thier SPECDATA and tell the next client to turn thier's on. Bots are fast and they will do this very quickly, spamming clients and the server with extra packets. EG tried it out once and it lagged the place to shit.
Back to top
View users profile Send private message Add User to Ignore List Send email AIM Address
Smong
Server Help Squatter


Joined: 1043048991
Posts: 0x91E
Offline

PostPosted: Wed Aug 10, 2005 1:59 pm    Post subject: Reply to topic Reply with quote

What about the Misc:ExtraPositionData setting and making the bot non-sysop? Surely subgame would not request the extra player data and not send such a request packet to the client.
Back to top
View users profile Send private message Add User to Ignore List Visit posters website MSN Messenger
50% Packetloss
Server Help Squatter


Age:40
Gender:Gender:Male
Joined: Sep 09 2003
Posts: 561
Location: Santa Clarita, California
Offline

PostPosted: Wed Aug 10, 2005 7:01 pm    Post subject: Reply to topic Reply with quote

Nah, I think it still does. Just that setting keeps the client from displaying the results on the screen. But I've never tested it, check out ASSS's code.
Back to top
View users profile Send private message Add User to Ignore List Send email AIM Address
D1st0rt
Miss Directed Wannabe


Age:37
Gender:Gender:Male
Joined: Aug 31 2003
Posts: 2247
Location: Blacksburg, VA
Offline

PostPosted: Wed Aug 10, 2005 7:58 pm    Post subject: Reply to topic Reply with quote

I talked to Ekted about this a while ago and I'll pull up the log when I get a chance in a few days.
_________________

Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Maverick
broken record


Age:40
Gender:Gender:Male
Joined: Feb 26 2005
Posts: 1521
Location: The Netherlands
Offline

PostPosted: Tue Aug 16, 2005 5:41 pm    Post subject: Reply to topic Reply with quote

So whats the solution to this (apart from residing to as3) ?
I'm making a bot that is now speccing certain areas over and over to see if people entered the areas, but its not giving the right results. (Sometimes the bot doesn't see players at all) This to avoid the NoisySpectator settings, which does give good results - but I fear of the consequences when running the bot with alot of players.

Maybe I should try to use EVENT_PositionHook instead of EVENT_Tick for a quicker cycle.
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
D1st0rt
Miss Directed Wannabe


Age:37
Gender:Gender:Male
Joined: Aug 31 2003
Posts: 2247
Location: Blacksburg, VA
Offline

PostPosted: Tue Aug 16, 2005 6:37 pm    Post subject: Reply to topic Reply with quote

Here be what he said, my best date estimate is around late nov 04
Code: Show/Hide
(Mr. Ekted)>shouldn't really be doing it at all, but if you have to
(Mr. Ekted)>as slowly as possible
(Mr. Ekted)>you know how much extra b/w it adds when you do that?
(Mr. Ekted)>bot sends spec, server acks, server tells client it's being specced, client acks, client sends large version of pos packet
(Mr. Ekted)>bot sends spec to another client, server acks, server tells old client to stop being specced, client acks, server tells client it's being specced, client acks, client sends large version of pos packet
:Mr. Ekted:but it is possible to get all of the weapons in an area if it sits still
:Mr. Ekted:not in spec?
(Mr. Ekted)>only if the entire map fits in bot's radar
:Mr. Ekted:do you have an idea on a minimum jump limit to have a decent refresh rate of pos?
(Mr. Ekted)>pos only gets sent every 100ms, so no faster than that, but that means with 40 players, you get updates every 4 seconds minimim
(Mr. Ekted)>junky was able to bring EG to its knees trying to spec really fast
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Display posts from previous:   
Post new topic   Reply to topic    Server Help Forum Index -> Bot Questions All times are GMT - 5 Hours
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum
View online users | View Statistics | View Ignored List


Software by php BB © php BB Group
Server Load: 35 page(s) served in previous 5 minutes.

phpBB Created this page in 0.562519 seconds : 49 queries executed (78.4%): GZIP compression disabled