.:: Bots United ::.  
filebase forums discord server github wiki web
cubebot epodbot fritzbot gravebot grogbot hpbbot ivpbot jkbotti joebot
meanmod podbotmm racc rcbot realbot sandbot shrikebot soulfathermaps yapb

Go Back   .:: Bots United ::. > Cyborg Factory > RealBot > Help request
Help request Need help? Ask around here! (for questions about the source code, go to the RealBot 'Source')

Reply
 
Thread Tools
Going to load IAD file ...
Old
  (#1)
Krillin
Member
 
Krillin's Avatar
 
Status: Offline
Posts: 38
Join Date: Aug 2007
Location: In a home
Warning Going to load IAD file ... - 28-06-2008

Being as documentation is non-existing, we see the following message in our consoles for our server(s)
Code:
Going to load IAD file : realbot/data/cstrike/ini/{map_name}.ini
There aren't any examples to go by, so we have to ask:
1) What is the purpose of these files for every map?
2) What can go into these files?
3) What does IAD stand for?

Examples of this file type would be helpful.

Thanks, in advance,
Krillin


Serving Players Since 1997


www.KRILLINSWORLD.com
  
Reply With Quote
Re: Going to load IAD file ...
Old
  (#2)
stefanhendriks
RealBot Author
 
stefanhendriks's Avatar
 
Status: Offline
Posts: 3,088
Join Date: Nov 2003
Location: Netherlands
Default Re: Going to load IAD file ... - 29-06-2008

I have some time to spare, so i will digg into this. I'll get back to you asap.


Author of RealBot, "Arrakis" and "Dune 2 - The Maker" | co-Founder of Bots-United | Fundynamic | Blog | E-Mail me
  
Reply With Quote
Re: Going to load IAD file ...
Old
  (#3)
stefanhendriks
RealBot Author
 
stefanhendriks's Avatar
 
Status: Offline
Posts: 3,088
Join Date: Nov 2003
Location: Netherlands
Default Re: Going to load IAD file ... - 29-06-2008

I had to browse the source of RealBot to get you the answer, but here goes.

All your questions can be answered with the following:

IAD stands for Important Area Definition. (See Iniparser.cpp)

The IAD's are 'important goals' in the map. The documentation is limited, shame on myself; I think they are for assigning 'important areas' so bots will chose these areas as places to go besides the obvious goals such as hostages or bomb spots.

By doing this you can sort of influence their behaviour about moving around the map. Once bots are running around for some time, they tend to get satisfied with some experience and never seem to take alternative routes; by adding important goals / area definitions you can still 'force' the bots to go there.

After looking a bit further, looks like i commented on Important Goals the following:
Code:
// "important goals" should not always be chosen, somehow
               // i am not really confident how this works. This seems
               // to overrule everything or something. Yikes.
               // using ugly RANDOM_LONG to bypass most checks, but still
               // keep them in the game
The path_think method will decide where to go, and from all goals (objectives and game goals) the highest score is best candidate to go to.

The IAD code seems to be bugged; so if you add them, chance is that bots will not plant bombs as often (or not at all).

In short, if you don't add them, you're fine ;-)

Dang, i should compile this thing and clean it up...


Author of RealBot, "Arrakis" and "Dune 2 - The Maker" | co-Founder of Bots-United | Fundynamic | Blog | E-Mail me
  
Reply With Quote
Re: Going to load IAD file ...
Old
  (#4)
Krillin
Member
 
Krillin's Avatar
 
Status: Offline
Posts: 38
Join Date: Aug 2007
Location: In a home
Question Re: Going to load IAD file ... - 29-06-2008

Yeah, I have been reading the souce code myself trying to figure out what needs to be configured for these bots.

The appear to act 'dumb' when no one is playing in the server but the player is spectating. But a total 180 when a play joins a team.

The configuration of realbot is very confusing until you read the 'dll.cpp' souce file.

So, my next question is do these files need to exist for the bots, or are they logging this information in the /exp/ folder of files?

I have also noted there seems to be a problem with a grenade model, but I am not sure exactly why. There is just a repeated error in the reallog.txt
Code:
UTIL_GetGrenadeType unknown grenade model
Sources show util.cpp that the models match up for grenades on the ground! Not sure why this would be important but here are what the different model prefixes mean:

p_ prefix == First person model, what the player sees.
v_ prefix == Third Person Modle, for what another player would see if you were holding this item
w_ prefix == Is model of item when on the ground.

Hope this helps clear the 3 different model types.

Krillin


Serving Players Since 1997


www.KRILLINSWORLD.com
  
Reply With Quote
Re: Going to load IAD file ...
Old
  (#5)
stefanhendriks
RealBot Author
 
stefanhendriks's Avatar
 
Status: Offline
Posts: 3,088
Join Date: Nov 2003
Location: Netherlands
Default Re: Going to load IAD file ... - 29-06-2008

In short, IAD files can be ignored.

You probably already knows this, but:

Code:
realbot help
can give you some insight in some commands. But yeah, there needs to be documentation about the commands. Since it became a metamod plugin, things got unclear.

As for the grenade types; there are 2 places where the bot checks if a 'grenade type' is the bomb (which is planted).

This is:
1. Where a game loop checks when the bomb is planted
2. Where bot defusing code runs

When looking for a C4 timer it does:
Code:
while ((pent = UTIL_FindEntityByClassname(pent, "grenade")) != NULL) {
      if (UTIL_GetGrenadeType(pent) == 4)       // It is a C4
   ...
which basically means, get all entities , and there could be a possibility that the UTIL_GetGrenadeType is not identifying the model correctly. However, the function tells me that whenever it spits out "UTIL_GetGrenadeType unknown grenade model", it should also print the model name in the second line. Can you tell me what model name it gives? If you don't see a thing, then it means somehow there was a model there with no model name..(v.model)

I have seen many things in code there what i'd like to improve. I have been away for like 2, 3 years and gained a lot of experience in programming for real (hence not only for hobby), and seeing RealBot now makes me feel i can A LOT better.

If you like, you can give me some more pointers where you'd like to see improvements. Then i can work on them more efficiently.

Also; when players are spectating, is this also for maps where players are for the first time? Or do bots always act dumb, even when they have played well before? Because realbot needs to learn a map first. But then again, if you run a server, i suppose that you had real players before who spawned a lot of waypoints already.


Author of RealBot, "Arrakis" and "Dune 2 - The Maker" | co-Founder of Bots-United | Fundynamic | Blog | E-Mail me

Last edited by stefanhendriks; 29-06-2008 at 23:55.. Reason: addition about bots acting dumb when players spectating
  
Reply With Quote
Re: Going to load IAD file ...
Old
  (#6)
Krillin
Member
 
Krillin's Avatar
 
Status: Offline
Posts: 38
Join Date: Aug 2007
Location: In a home
Embarrassed Re: Going to load IAD file ... - 30-06-2008

So that explains the w_c4.mdl being as that is the model which is on the ground. However, if the other models (flash and smoke) are harmless and really don't do any damage, that is ok. However the w_hegrenade is an entirely different story. The bots do not react or even attempt to run from this. It is like they are not aware these are dangerous and do not react to them.

I do not want to post the anire reallog.txt (too big, a lot of text almost 750KB). Only because what I could is what is there. Just the same line, no other lines but. Every now and then there is an order of a bot commanding another bot to go to #.

Sample
Code:
UTIL_GetGrenadeType unknown grenade model
UTIL_GetGrenadeType unknown grenade model
UTIL_GetGrenadeType unknown grenade model
UTIL_GetGrenadeType unknown grenade model
UTIL_GetGrenadeType unknown grenade model
UTIL_GetGrenadeType unknown grenade model
UTIL_GetGrenadeType unknown grenade model
UTIL_GetGrenadeType unknown grenade model
UTIL_GetGrenadeType unknown grenade model
UTIL_GetGrenadeType unknown grenade model
UTIL_GetGrenadeType unknown grenade model
UTIL_GetGrenadeType unknown grenade model
UTIL_GetGrenadeType unknown grenade model
UTIL_GetGrenadeType unknown grenade model
RBPRINT->[FUNCTION 'CreateSwatTeams()']-[Team NONE] : Creating teams
Assigned '[DD]Dragon' to leader 'SadBloke'
RBPRINT->[FUNCTION 'CreateSwatTeams()']-[Team NONE] : Finished
'SadBloke' ordered '[DD]Dragon' to go to 790
RBPRINT->[FUNCTION 'CreateSwatTeams()']-[Team NONE] : Creating teams
Assigned '[DD]Dragon' to leader 'SadBloke'
RBPRINT->[FUNCTION 'CreateSwatTeams()']-[Team NONE] : Finished
'SadBloke' ordered '[DD]Dragon' to go to 3179
'SadBloke' ordered '[DD]Dragon' to go to 3179
So it is safe to assume your statement of: "If you don't see a thing, then it means somehow there was a model there with no model name..(v.model)" But it is verified these models are there. However, what about the v_thighpack.mdl. CT's drop this model (defuse kit) when they are killed on DE_MAPS. Maybe this is what it is having trouble with? I believe they can be picked up by other CT players (Note: Not T Players [why would they want or need a defusal kit?]).

Krillin


Serving Players Since 1997


www.KRILLINSWORLD.com
  
Reply With Quote
Re: Going to load IAD file ...
Old
  (#7)
stefanhendriks
RealBot Author
 
stefanhendriks's Avatar
 
Status: Offline
Posts: 3,088
Join Date: Nov 2003
Location: Netherlands
Default Re: Going to load IAD file ... - 30-06-2008

Quote:
The bots do not react or even attempt to run from this. It is like they are not aware these are dangerous and do not react to them.
That is correct, there is no such code that tries to avoid grenades using the UTIL_GetGrenadeType method.

Perhaps there is some other way implemented, but not that i know of my hearth.

I am puzzled what this could be, do you know if this happens only in DE maps, or does it also happen in CS maps?

Looks like the create swat teams method is still doing stuff what is not supposed to do. The entire 'swat thing' was removed because it did not really work out.


Author of RealBot, "Arrakis" and "Dune 2 - The Maker" | co-Founder of Bots-United | Fundynamic | Blog | E-Mail me
  
Reply With Quote
Reply

Tags
iad, realbot/ini, {mapname}.ini


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
vBulletin Skin developed by: vBStyles.com