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
Asss Bots

 
Post new topic   Reply to topic Printable version
 View previous topic  bdb Post :: Post Unable to find component error  View next topic  
Author Message
Guest



Offline

PostPosted: Fri May 21, 2004 8:13 am    Post subject: Asss Bots Reply to topic Reply with quote

Is it possible to have bots on ASSS, and i am confused about this "module" thing, as a plugin for asss instead of bots, and how do you make modules/is it easy?
Back to top
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Fri May 21, 2004 10:01 am    Post subject: Reply to topic Reply with quote

Yes, you can use MERV in asss. Some of the plugins wont work, but it's easy to fix them up if you have the source. It's mostly a matter of changing *arena to *aa.

Yes, modules are basicly the same thing as bot plugins, with much more powerful options.

Making modules is easy once you learn how. Unfortunatly, there isn't much documentation to go by. It comes down to trial and error, and then practice.
_________________
Hyperspace Owner

Smong> so long as 99% deaths feel lame it will always be hyperspace to me
Back to top
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Fri May 21, 2004 7:48 pm    Post subject: Reply to topic Reply with quote

The fact that ASSS does not support all Subgame commands as-is will seriously delay its adoption.
_________________
4,691 irradiated haggis!
Back to top
View users profile Send private message Add User to Ignore List
D1st0rt
Miss Directed Wannabe


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

PostPosted: Fri May 21, 2004 8:12 pm    Post subject: Reply to topic Reply with quote

but there are many work-arounds. For example if you were making an elim module, you can't scorereset. However, you CAN edit player stats so that they have 0 kills and 0 deaths. If this works the way I think it should, it would preserve points, which I think is better
_________________

Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Mine GO BOOM
Hunch Hunch
What What
Hunch Hunch<br>What What


Age:42
Gender:Gender:Male
Joined: Aug 01 2002
Posts: 3615
Location: Las Vegas
Offline

PostPosted: Fri May 21, 2004 9:31 pm    Post subject: Reply to topic Reply with quote

D1st0rt wrote:
you can't scorereset

It may have been a while since I looked at the ASSS source, but I know for a fact that there is a scorereset packet, and if there is not a function yet that will use this, it should be very simple to add.
Back to top
View users profile Send private message Add User to Ignore List Send email
D1st0rt
Miss Directed Wannabe


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

PostPosted: Mon May 24, 2004 9:52 pm    Post subject: Reply to topic Reply with quote

It hasn't been fully implemented yet, I had to add the above function when I was writing an elim module.
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Grelminar
Creator of Asss


Joined: Feb 26 2003
Posts: 378
Offline

PostPosted: Mon May 24, 2004 10:24 pm    Post subject: Reply to topic Reply with quote

You pretty much shouldn't ever be using stats->SetStat (which is what it sounds like you're using). If you want to reset everyone's score after an elim round, you should be doing something like persist->EndInterval(NULL, arena, INTERVAL_RESET) instead. Note that using INTERVAL_RESET is a hack: it really should be INTERVAL_GAME, but Cont doesn't currently support multiple stat intervals.
Back to top
View users profile Send private message Add User to Ignore List Send email Visit posters website
Grelminar
Creator of Asss


Joined: Feb 26 2003
Posts: 378
Offline

PostPosted: Mon May 24, 2004 10:35 pm    Post subject: Reply to topic Reply with quote

I disagree that not supporting all subgame commands will have any affect on asss adoption. It's easy for human mods to learn the differences, so it could only affect bots. It seems to me that if a zone wants to switch, modifying their bots to use a few new commands would be one of the easier things to worry about. And using bots with asss is only a short-term solution anyway, while they work on integrating whatever their bots did into asss with modules.

Btw, I know the state of documentation is kind of pitiful. I'm working on it, slowly, so it might be a few weeks before I have anything to present.
Back to top
View users profile Send private message Add User to Ignore List Send email Visit posters website
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Tue May 25, 2004 10:58 am    Post subject: Reply to topic Reply with quote

Code: Show/Hide
persist->EndInterval(NULL, arena, INTERVAL_RESET)


Is this a typical example of how "intuitive" the ASSS API is? Why not:

Code: Show/Hide
ResetScores(...)
Back to top
View users profile Send private message Add User to Ignore List
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Tue May 25, 2004 11:04 am    Post subject: Reply to topic Reply with quote

Grelminar wrote:
I disagree that not supporting all subgame commands will have any affect on asss adoption. It's easy for human mods to learn the differences, so it could only affect bots. It seems to me that if a zone wants to switch, modifying their bots to use a few new commands would be one of the easier things to worry about. And using bots with asss is only a short-term solution anyway, while they work on integrating whatever their bots did into asss with modules.

Btw, I know the state of documentation is kind of pitiful. I'm working on it, slowly, so it might be a few weeks before I have anything to present.


I don't see anyone ever recoding from scratch all PB bot functionality into ASSS modules. Therefore, we will be using external bots. Since ASSS uses ? for command prefixes, all existing PB bots are broken until we change one or the other. Hence, ASSS faces a long uphill struggle for adoption in PB.

How many people are actually going to be good enough to make changes to ASSS? Certainly not most of the MERV tweak-until-it-compiles losers who post here. And whose binaries are we going to trust?

EDIT: Sorry, I meant ! for command prefix. Grel told me once that ASSS traps all text starting with ! as internal commands, effectively killing all bot commands.


Last edited by Mr Ekted on Tue May 25, 2004 12:55 pm, edited 1 time in total
Back to top
View users profile Send private message Add User to Ignore List
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Tue May 25, 2004 12:18 pm    Post subject: Reply to topic Reply with quote

The persist module stores data between intervals. After the interval, the data is reset. This comes in really handy for all kinds of things. Like the jackpot isn't lost on a recycle/crash.

ASSS also accepts * command prefixes. Just sysops/mods get used to ? because it's easier to remember.

*somecommand will do exactly the same thing as ?somecommand. Of course that doesn't apply to client commands like *go, *sound, *music, etc.

Why trust anyone's binary? Compile it yourself.

PB sounds like it doesn't have an abstraction layer in it. The TWCore has one, so only a quick 5 miniute core change is required to make 99% of all bots work without change. The other 1% use commands that aren't part of ASSS.

And you'll want to port your bots to ASSS some day, anyhow. Assuming of course that you ever use ASSS.
Back to top
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Tue May 25, 2004 12:49 pm    Post subject: Reply to topic Reply with quote

I don't want to change my bots or the bot core to make it work with ASSS. I want ASSS to change so the bots stay the same. I want all my bot ! commands to work as is. That is the point.
Back to top
View users profile Send private message Add User to Ignore List
Cyan~Fire
I'll count you!
I'll count you!


Age:37
Gender:Gender:Male
Joined: Jul 14 2003
Posts: 4608
Location: A Dream
Offline

PostPosted: Tue May 25, 2004 1:45 pm    Post subject: Reply to topic Reply with quote

I personally think the using '?' for server commands makes no sense. There should be a difference between server and client commands.
_________________
This help is informational only. No representation is made or warranty given as to its content. User assumes all risk of use. Cyan~Fire assumes no responsibility for any loss or delay resulting from such use.
Wise men STILL seek Him.
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Tue May 25, 2004 3:05 pm    Post subject: Reply to topic Reply with quote

*sheep
*usage
*find
*password

etc?


Ekted: If you aren't looking to change your bots, ASSS isn't for you anyway.
Back to top
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
Grelminar
Creator of Asss


Joined: Feb 26 2003
Posts: 378
Offline

PostPosted: Tue May 25, 2004 3:47 pm    Post subject: Reply to topic Reply with quote

Come on Ek, now you're just being difficult. I removed ! as a command prefix months ago, because of suggestions from you and others.

Nobody claimed the api is "intuitive." Some parts (like persist) are complicated because they do complicated things. That particular function has three parameters because, amazingly enough, you can use it to do slightly different things based on the parameters you pass it. I hope you'd agree that making one EndInterval function with a parameter is better than making several ResetGameScores, ResetResetScores, etc. functions.

Any decent host will end up compiling it themself anyway, so I don't understand your point about trust. Even people running on subgame have to trust their host.

Regarding making changes to (the core of) asss, I hope very few people will ever have to do that. The point is that they should write modules that just add on and not have to touch the core. So who's going to do that? Well, once I finish the api documentation, hopefully some more than are doing it now. But eventually I hope lots of people will, except they'll write modules in python instead of C, so that they're easier to write and safer to run.
Back to top
View users profile Send private message Add User to Ignore List Send email Visit posters website
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Tue May 25, 2004 4:09 pm    Post subject: Reply to topic Reply with quote

Yes, but using a function because you want to invoke its side effects is just as bad as the current server. Ending something should not be linked in any way to scores at the API level. If you want to reset scores, you shouldn't have to end anything. You should be be able to reset a player's score, a team's score, all scores, etc. without any other side effects.

I would hope that you will be hosting the current binaries somewhere for each OS. It's silly to make every zone go through that BS. Is there a Windows build for ASSS that is Catid/MGB-untouched?
Back to top
View users profile Send private message Add User to Ignore List
CypherJF
I gargle nitroglycerin


Gender:Gender:Male
Joined: Aug 14 2003
Posts: 2582
Location: USA
Offline

PostPosted: Tue May 25, 2004 4:39 pm    Post subject: Reply to topic Reply with quote

I don't understand why ASSS doesnt follow subgame commands:

*arena should be simply that, *arena
?arena should be the client command for arena attrevial; etc. etc.

My 2 cents, although it's not worth anything..
_________________
Performance is often the art of cheating carefully. - James Gosling
Back to top
View users profile Send private message Add User to Ignore List
D1st0rt
Miss Directed Wannabe


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

PostPosted: Tue May 25, 2004 4:44 pm    Post subject: Reply to topic Reply with quote

Is that stuff in pymod.c?

Also, are there any existing python modules available to examine?
Back to top
View users profile Send private message Add User to Ignore List Visit posters website
Dr Brain
Flip-flopping like a wind surfer


Age:39
Gender:Gender:Male
Joined: Dec 01 2002
Posts: 3502
Location: Hyperspace
Offline

PostPosted: Tue May 25, 2004 5:33 pm    Post subject: Reply to topic Reply with quote

Mr Ekted wrote:
I would hope that you will be hosting the current binaries somewhere for each OS. It's silly to make every zone go through that BS. Is there a Windows build for ASSS that is Catid/MGB-untouched?


Yes, but I compiled it, so it's probably worse icon_wink.gif

Not to mention 4 versions out of date.

At the moment, anyone who can't compile ASSS shouldn't even be looking at using it.
Back to top
View users profile Send private message Add User to Ignore List AIM Address Yahoo Messenger MSN Messenger
Grelminar
Creator of Asss


Joined: Feb 26 2003
Posts: 378
Offline

PostPosted: Tue May 25, 2004 6:07 pm    Post subject: Reply to topic Reply with quote

Mr Ekted wrote:
Ending something should not be linked in any way to scores at the API level.


Oh, now I see where you're getting confused. You're implying EndInterval does something other than reset people's scores. That's partly true, it does. But you're missing the point that everything it does is solely for the purpose of resetting people's scores in a better way. I don't really want to explain the whole persistent data system in this post, but I'll point out that EndInterval does exactly what you want in the situation that was mentioned before, and gives you a lot of benefits for free that would have taken a lot of work with bots (e.g. full per-game historical scores). Would it be less confusing if I called it StartInterval instead?

Cyan~Fire wrote:
There should be a difference between server and client commands.


There clearly is a difference. Maybe you mean there should be a difference in interface? I disagree: there's no reason that most players should care whether a particular command is implemented on the client, the server, or the billing server. Having them use different prefix characters for each one only creates confusion, and wastes valuable keys on the keyboard. Although, if you really want it to work that way, feel free to always use ? for client commands and * for server commands.

CypherJF wrote:
I don't understand why ASSS doesnt follow subgame commands


It doesn't follow subgame commands because subgame commands are dumb and confusing. Can you think of a really good reason why ?arena and *arena should be different things, besides historical precedent? I even made the equivalent command shorter and easier to type, so I really don't understand what there is to complain about.

D1st0rt wrote:
Is that stuff in pymod.c?


pymod.c is the module that implements support for python modules. There are no significant python modules to examine. I have a few little scraps that I've written as examples, though. Here's one.
Back to top
View users profile Send private message Add User to Ignore List Send email Visit posters website
-Smong-
Guest


Offline

PostPosted: Wed May 26, 2004 12:46 pm    Post subject: Reply to topic Reply with quote

Mr Ekted wrote:
Is there a Windows build for ASSS that is Catid/MGB-untouched?
I've seen servers running recent windows binaries, people are either too lazy or too paranoid to share them new_let_it_all_out.gif .

Also, last time I checked Dev-C++ (the free compiler) can compile some modules, but not the core.
Back to top
Mr Ekted
Movie Geek


Gender:Gender:Male
Joined: Feb 09 2004
Posts: 1379
Offline

PostPosted: Wed May 26, 2004 12:52 pm    Post subject: Reply to topic Reply with quote

Grelminar wrote:
[..]Would it be less confusing if I called it StartInterval instead?


I don't see how intervals are related to scores. If you want scores reset after each "inning" or game or day or week, you should be calling the ResetScore() function at that time. What am I missing?
Back to top
View users profile Send private message Add User to Ignore List
-Smong-
Guest


Offline

PostPosted: Wed May 26, 2004 1:26 pm    Post subject: Reply to topic Reply with quote

@Mr. Ekted
Do you mean reseting scores for specific players in a specific arena (fx: everyone currently in arena elim not in spec)? I don't think per player resetting is implemented yet (it would be used in ?scorereset if it was).

@Grelminar
With this interval thing, when you end 'interval reset' can you then retrieve total kills ever and total kills since last reset (or a specific reset)? I would imagine to save harddisk space the player's entry is deleted from the DB instead of setting some values to 0 making this impossible.
Back to top
Grelminar
Creator of Asss


Joined: Feb 26 2003
Posts: 378
Offline

PostPosted: Wed May 26, 2004 4:15 pm    Post subject: Reply to topic Reply with quote

Mr Ekted wrote:
What am I missing?

You're missing the design of the score system. There's no such thing as "player A's score". There's only "player A's score in game x", and "player A's score in reset y". Those pieces of data never get erased. The only thing that happens is that x and y get incremented, and that effectively makes everyone start at 0 (because a missing stat is equivalent to 0). That's what EndInterval does.

Smong wrote:
can you then retrieve total kills ever and total kills since last reset (or a specific reset)?

By default nothing is deleted from the DB. All historical stats are available. If you want to clean stuff out to save disk space, you can run "dbtool erasehist", which removes everything except the current data.
Back to top
View users profile Send private message Add User to Ignore List Send email Visit posters website
Explody
Guest


Offline

PostPosted: Wed May 26, 2004 4:57 pm    Post subject: Reply to topic Reply with quote

There is a pure 1.1.2 on my website. It was compiled by Dr Brain, not this tweak-it-untill-it-compiles merv guy.
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Server Help Forum Index -> ASSS Questions All times are GMT - 5 Hours
Page 1 of 1

 
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: 45 page(s) served in previous 5 minutes.

phpBB Created this page in 0.686888 seconds : 47 queries executed (94.5%): GZIP compression disabled