![]() |
![]() ![]() |
![]() |
BadLife |
![]()
Post
#1
|
RCBot Fan ![]() ![]() ![]() ![]() Group: Waypointers Posts: 144 Joined: 15-November 03 Member No.: 111 ![]() |
![]() ![]() |
Cheeseh |
![]()
Post
#2
|
![]() Admin ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 3,066 Joined: 11-September 03 From: uk Member No.: 1 ![]() |
![]() ![]() I'd use skitchy's source: http://skitch.dwmh.net/rcbot/source.rar |
Poka |
![]()
Post
#3
|
Member ![]() ![]() Group: Members Posts: 25 Joined: 28-February 08 Member No.: 1,314 ![]() |
This is an old topic but I'd be really interested in the current source of RCBot for Half-Life. I've been playing around with bots of my own for Sven Co-op using HPB Bot and RCBot's 1.31 version and I'm having some problems. Thanks.
|
Cheeseh |
![]()
Post
#4
|
![]() Admin ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 3,066 Joined: 11-September 03 From: uk Member No.: 1 ![]() |
This is an old topic but I'd be really interested in the current source of RCBot for Half-Life. I've been playing around with bots of my own for Sven Co-op using HPB Bot and RCBot's 1.31 version and I'm having some problems. Thanks. sorry for the wait there's a source for SC 4.5 here http://rcbot.bots-united.com/downloads/rcb...coop_45_src.zip |
madmax2 |
![]()
Post
#5
|
RCBot Guru ![]() ![]() ![]() ![]() ![]() Group: Waypointers Posts: 957 Joined: 2-March 12 From: USA, WA state Member No.: 2,162 ![]() |
Hey Cheeseh,
Yuraj, over at the svencoop site has offered to try & fix the friendly breakables issue w00tguy123 outlines in first post, third paragraph, here: http://rcbot.bots-united.com/forums/index....p;hl=breakables. I'm not a coder, but I assume he would need the sources for rcbot_mm_SC46_debug.zip, that works with sc4.7/4.6? Or would the rcbot source for sc4.5 above work for him ![]() The new map quarter that was released with sc4.7 has this problem with rcbot, They shoot the friendly defend signs when they see them, instead of the enemies nearby. Apparently, there are other maps with the problem too, but I don't know which ones? Could you possibly make the rcbot sc4.6/4.7 debug sources available to him? Here is the SC thread link he offered in... http://forums.svencoop.com/showthread.php?t=39937&page=3 [edit] w00tguy123, as well as Yaruj has offered to help with this too ![]() What I have seen in a couple other maps that is slightly different, is bots shooting objects that can't be broken with weapons fire, but only broken with melee such as crowbar. Examples would be the box at the end of the first vent in royals1 and the vent covers in the library in infested1. If bots get in the vents first they block the player from reaching the breakables with a crowbar ![]() ![]() BTW, awesome news on dod:s support in rcbot2. Genmac is going to have all the maps waypointed before I get it installed, great job guys ![]() ![]() Later, madmax2 |
Cheeseh |
![]()
Post
#6
|
![]() Admin ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 3,066 Joined: 11-September 03 From: uk Member No.: 1 ![]() |
Finally I've had the time to have a look at this, I've edited the code in my source (I finally found it) and am going to download SC4.7 to try it out
the edit should be simple like this, CODE BOOL BotFunc_BreakableIsEnemy ( edict_t *pBreakable, edict_t *pEdict ) { entvars_t *pEnemypev = &pBreakable->v; // i. explosives required to blow breakable // ii. OR is not a world brush (non breakable) and can be broken by shooting if ( !(pEnemypev->flags & FL_WORLDBRUSH) && !(pEnemypev->spawnflags & SF_BREAK_TRIGGER_ONLY) ) { //return ( !(pEnemypev->effects & EF_NODRAW) || (pEnemypev->target && *STRING(pEnemypev->target)) ); CBaseEntity *pEnt = CBaseEntity::Instance(pEnemypev);// (CBaseEntity*)GET_PRIVATE(pEntity); int iClass = pEnt->Classify(); // w00tguy if ( (iClass == -1) || (iClass == 1) || (iClass == 2) || (iClass == 3) || (iClass == 10) ) return FALSE; // not an enemy |
Cheeseh |
![]()
Post
#7
|
![]() Admin ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 3,066 Joined: 11-September 03 From: uk Member No.: 1 ![]() |
Finally I've had the time to have a look at this, I've edited the code in my source (I finally found it) and am going to download SC4.7 to try it out the edit should be simple like this, CODE BOOL BotFunc_BreakableIsEnemy ( edict_t *pBreakable, edict_t *pEdict ) { entvars_t *pEnemypev = &pBreakable->v; // i. explosives required to blow breakable // ii. OR is not a world brush (non breakable) and can be broken by shooting if ( !(pEnemypev->flags & FL_WORLDBRUSH) && !(pEnemypev->spawnflags & SF_BREAK_TRIGGER_ONLY) ) { //return ( !(pEnemypev->effects & EF_NODRAW) || (pEnemypev->target && *STRING(pEnemypev->target)) ); CBaseEntity *pEnt = CBaseEntity::Instance(pEnemypev);// (CBaseEntity*)GET_PRIVATE(pEntity); int iClass = pEnt->Classify(); // w00tguy if ( (iClass == -1) || (iClass == 1) || (iClass == 2) || (iClass == 3) || (iClass == 10) ) return FALSE; // not an enemy updated: please try, http://rcbot.bots-united.com/downloads/RCB...release_dll.zip this is a release dll compiled under MSVS 2005 seems to work fine in SC 4.7 and bots don't shoot their own breakables |
madmax2 |
![]()
Post
#8
|
RCBot Guru ![]() ![]() ![]() ![]() ![]() Group: Waypointers Posts: 957 Joined: 2-March 12 From: USA, WA state Member No.: 2,162 ![]() |
Wow
![]() ![]() I'll test it out tonight and see how it does... I'll give some feedback soon..... ![]() If it's working I'll tweak the quarter rcw, to many one way paths in it now... [edit 2-14-13] I ran about 10 games tonight on quarter, updated the waypoint, the defend sign problem is fixed, the bots kick butt now.... ![]() ![]() |
w00tguy123 |
![]()
Post
#9
|
Advanced Member ![]() ![]() ![]() Group: Members Posts: 69 Joined: 9-March 07 Member No.: 1,069 ![]() |
Cheeseh comes to the rescue! I just started the new map, Quarter, and they didn't attack the friendly breakables.
![]() -1 = None 0 = Object Default 1 = Machine 2 = Player 3 = Human Passive 4 = Human Military 5 = Alien Military 6 = Alien Passive 7 = Alien Monster 8 = Alien Prey 9 = Alien Predator 10 = Insect 11 = Player Ally 12 = Player Hornet/Snark 13 = Alien Hornet/Snark 14 = X-Race Looking back on that, I think I screwed up a bit. Sven Co-op shows the following classes as friendlies through the HUD display: -1 = None 0 = Object Default 1 = Machine 2 = Player 3 = Human Passive 4 = Human Military 5 = Alien Military 6 = Alien Passive 7 = Alien Monster 8 = Alien Prey 9 = Alien Predator 10 = Insect 11 = Player Ally 12 = Player Hornet/Snark 13 = Alien Hornet/Snark 14 = X-Race This should be a trivial fix, thankfully. It makes the most sense if bots attack all breakables that show up red in-game. If you get a chance, could you upload the latest source for this? If classification rules ever change, then I'm sure anyone can make the adjustment fairly quick. Also, the code for the 4.5 version had crash problems that you've fixed long ago. |
madmax2 |
![]()
Post
#10
|
RCBot Guru ![]() ![]() ![]() ![]() ![]() Group: Waypointers Posts: 957 Joined: 2-March 12 From: USA, WA state Member No.: 2,162 ![]() |
Man, that was a late night waypoint session in quarter, 3am
![]() I also want to check on another issue i've seen the bots doing around doors in some maps. They are doing it in quarter in the last 2 spawn rooms, but I don't think it is as bad now with the new release? It's kinda hard & time consuming to observe the last 2 spawn rooms in this map on one PC. I was nocliping thru the walls trying to observe the spawn rooms and fending off attacking enemies with the RCbot massive explosion (gibs everywhere ![]() Cheeseh, I also posted a few questions about defend zone waypoints, here... http://rcbot.bots-united.com/forums/index....ost&p=11307 |
madmax2 |
![]()
Post
#11
|
RCBot Guru ![]() ![]() ![]() ![]() ![]() Group: Waypointers Posts: 957 Joined: 2-March 12 From: USA, WA state Member No.: 2,162 ![]() |
Just some feedback on the new release....
I need to correct what I said about sc_royals1, it wasn't the same as the infested1 vent covers. What I have seen in a couple other maps that is slightly different, is bots shooting objects that can't be broken with weapons fire, but only broken with melee such as crowbar. Examples would be the box at the end of the first vent in royals1 and the vent covers in the library in infested1. If bots get in the vents first they block the player from reaching the breakables with a crowbar ![]() ![]() At end of first vent (royals1) the bots will not shoot/break the boxes there, or crowbar it, players must do this, this has not changed. Players can shoot past the bots & break the box, so its not a big problem. I'm not a mapper, but I assume it may not have some property set on it the bots use to identify it as breakable. [edit] I checked this with debug, the box is a pushable, not a breakable, so thats why bots don't break it, duhh.... ![]() I setup a new dedi game server yesterday for the weekend and so far, I've played these maps with 2 & 3 bots, with the new RCbot sc4.7 release... RCbots worked good and seem stable, no obvious change (except on quarter): quarter - defend breakables issue is fixed, no problems observed. BlackMesaEPF - no change, bots still see thru wall near tram area (shooting at boxes) sc_persia - bots work the same at the tower up jumps, no obvious change. sc_royals1 - bots won't shoot the breakable, shootable box, at end of vent, or crowbar it? They must not see it as breakable? [edit] Debugged... It's a pushable, not a breakable... [edit] sc_royals3 infested1 - same as before, bots shoot vent covers that won't break that way. melee only. infested2 richard_boderman osprey From what I could see, every thing else worked the same as before, bots shoot the breakable boxes & glass, etc. No other door problems found so far. I'll test more maps this weekend.... ![]() |
w00tguy123 |
![]() ![]()
Post
#12
|
Advanced Member ![]() ![]() ![]() Group: Members Posts: 69 Joined: 9-March 07 Member No.: 1,069 ![]() |
Hi Cheeseh,
I've been trying to get the latest sources (the ones you posted in this thread) working with SC 4.7. The problem I'm having atm is something you've already fixed, which is getting bots to recognize enemies. The source of the problem is in this snippet here from the IsEnemy function: CODE CBaseEntity *pEnt = CBaseEntity::Instance(pEnemypev); // (CBaseEntity*)GET_PRIVATE(pEntity); if ( !pEnt->m_fPlayerAlly ) { int iClass = pEnt->Classify(); ...... m_fPlayerAlly is always true, so IsEnemy never returns true. Even if I force my way into that if-statement the game crashes on calling Classify(). Do you remember what was changed to get this working? Or better yet, do you have the current source for RCBot 4.7? |
Cheeseh |
![]()
Post
#13
|
![]() Admin ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 3,066 Joined: 11-September 03 From: uk Member No.: 1 ![]() |
The basemonster/baseentity classes were changed by svencoop, they gave me the version they were using at about version 4.0 or 4.5 (i forgot). But any way I'm using their classify now, but it's still using the !playher_ally thing, so I'll remove that and try it out
|
Cheeseh |
![]()
Post
#14
|
![]() Admin ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 3,066 Joined: 11-September 03 From: uk Member No.: 1 ![]() |
The basemonster/baseentity classes were changed by svencoop, they gave me the version they were using at about version 4.0 or 4.5 (i forgot). But any way I'm using their classify now, but it's still using the !playher_ally thing, so I'll remove that and try it out I made the suggestion above by removing that line and tested it, it doesn't crash but not sure if any of the problems you mentioned have been fixed. Best thing to do if give you the dll and any others to test! http://rcbot.bots-united.com/downloads/rcbot_mm_sc47.7z (needs 7zip) |
madmax2 |
![]()
Post
#15
|
RCBot Guru ![]() ![]() ![]() ![]() ![]() Group: Waypointers Posts: 957 Joined: 2-March 12 From: USA, WA state Member No.: 2,162 ![]() |
Thanks Cheeseh, Just had a late breakfast, turned on my PC, and got a nice surprize...
![]() ![]() max |
madmax2 |
![]()
Post
#16
|
RCBot Guru ![]() ![]() ![]() ![]() ![]() Group: Waypointers Posts: 957 Joined: 2-March 12 From: USA, WA state Member No.: 2,162 ![]() |
Ok, I tested the dll on crystal/steampipeHL. The fix did not work
![]() But what did change is bots also won't shoot breakables now ![]() I don't know how much time you have to work on this right now, the turrets are the highest priority for me. But perhaps in some future update, would it be difficult for you to add a barnacle/grapple wpt? Something where if they see the grapple wpt + have the barnacle gun, they will shoot towards the grapple wpt, holding primary fire, once they touch it they let go, then that wpt becomes unavailable to them until they die/respawn once. So it's a one time thing per life... Crystal2 has a big puzzle area using lots of grapple points, but I have them getting thru most of it but two parts. One where the player will either have to noclip/cheat, or do the grappling and then teleport bots to a button, then suicide & go to the other button, etc... The other the player has to open a forward spawn for the bots, so its sorta playable... Anyways, this is a lower priority request. It would be funny seeing bots swinging around like tarzans tho, heh heh.... ![]() max |
w00tguy123 |
![]()
Post
#17
|
Advanced Member ![]() ![]() ![]() Group: Members Posts: 69 Joined: 9-March 07 Member No.: 1,069 ![]() |
I made the suggestion above by removing that line and tested it, it doesn't crash but not sure if any of the problems you mentioned have been fixed. Best thing to do if give you the dll and any others to test! http://rcbot.bots-united.com/downloads/rcbot_mm_sc47.7z (needs 7zip) Ack, I should have been a bit more clear about what I was doing. You've already released a working .dll for SC 4.7, so there's nothing that needs to be fixed since your latest .dll works fine. I'm working with outdated sources (meant for SC 4.5, not 4.7) and trying to make them work with SC 4.7. That way I can make small changes to RCBot without having to bother you. I was hoping that you had the latest sources so I could avoid fixing bugs that have already been fixed. Sorry for the confusion! Also, thanks for the letting me know that the CBaseEntity changes with svencoop. That's probably why the old code isn't working now. I guess I'll need to ask the SC devs for help if the sources for the latest RCBot were lost. |
madmax2 |
![]()
Post
#18
|
RCBot Guru ![]() ![]() ![]() ![]() ![]() Group: Waypointers Posts: 957 Joined: 2-March 12 From: USA, WA state Member No.: 2,162 ![]() |
QUOTE You've already released a working .dll for SC 4.7, so there's nothing that needs to be fixed since your latest .dll works fine. Just had to jump in and clarify this, sorry... Yes the original rcbot 4.7 dll worked fine, except the shooting inactive turrets problem. Slightly off topic: But I may of encountered another minor problem on crystal2. I found one teleport pad, where bots want to run thru the teleport wpt to the destination wpt, before the teleport has activated. I just mention this in case its related, somehow. Most teleport pads are behind opens later doors, this one is not. But it's in an optional area, so it's not a big problem..... As I recall, bots should not goto teleport wpts, until the teleport activates? I haven't found another teleport like this yet, to test and see if this is a teleport wpt problem, or just a problem with that one teleport pad??? |
Cheeseh |
![]()
Post
#19
|
![]() Admin ![]() ![]() ![]() ![]() ![]() Group: Admin Posts: 3,066 Joined: 11-September 03 From: uk Member No.: 1 ![]() |
QUOTE But what did change is bots also won't shoot breakables now . I had to help them thru the breakable grates to get to the turrets. I didn't see them shoot at any breakables. oops I forgot to say that the dll version I posted has a CVAR to set up bot breakable ally classes sc_breakable_classes_ally e,g, sc_breakable_classes_ally 1,2,3 will set classes 1 2 and 3 as allies the default is "-1,1,2,3,10,11" but maybe some more need to removed so bots shoot the breakables on that map. This means you can make map specific configs Just had to jump in and clarify this, sorry... Yes the original rcbot 4.7 dll worked fine, except the shooting inactive turrets problem. Slightly off topic: But I may of encountered another minor problem on crystal2. I found one teleport pad, where bots want to run thru the teleport wpt to the destination wpt, before the teleport has activated. I just mention this in case its related, somehow. Most teleport pads are behind opens later doors, this one is not. But it's in an optional area, so it's not a big problem..... As I recall, bots should not goto teleport wpts, until the teleport activates? I haven't found another teleport like this yet, to test and see if this is a teleport wpt problem, or just a problem with that one teleport pad??? if the teleport waypoint is reachable then bots will try to use the teleport even if it is active or not. I will make the miniturret change p.s. I will try to post the full source soon |
madmax2 |
![]()
Post
#20
|
RCBot Guru ![]() ![]() ![]() ![]() ![]() Group: Waypointers Posts: 957 Joined: 2-March 12 From: USA, WA state Member No.: 2,162 ![]() |
@cheeseh
Ok, will try this out today, thanks... ![]() @w00tguy123 Yeah, I think we were saying the same thing over at the SC forums, just in a different way, heh heh... ![]() |
![]() ![]() |
![]() |
Lo-Fi Version | Time is now: 13th June 2025 - 03:51 PM |