IPB

Welcome Guest ( Log In | Register )

16 Pages V « < 11 12 13 14 > »   
Reply to this topicStart new topic
> RCBot 1.4 BETA, For NS 3.0 + other stuff (GET IT :P)
zodiac
post Sep 9 2006, 08:30 AM
Post #231


Advanced Member
***

Group: Members
Posts: 60
Joined: 23-March 04
From: California
Member No.: 276



I followed the directions on your website and got this:
QUOTE

01:19:15 [META] WARNING: ini: Plugin '<rcbot_mm_i486.so>' has newer file, but unexpected status (badfile)
01:19:15 [META] ini: Read plugin config for: <rcbot_mm_i486.so>
01:19:15 [META] ini: Finished reading plugins list: /opt/HlServer1/hlds_l/ns/addons/metamod/plugins.ini; Found 4 plugins
01:19:15 [META] dll: Updating plugins...
01:19:15 [META] WARNING: dll: Skipping plugin '<rcbot_mm_i486.so>'; couldn't query
01:19:15 [META] dll: Finished updating 9 plugins; kept 3, loaded 0, unloaded 0, reloaded 0, delayed 0
01:19:15 Log file closed
01:19:15 Log file started (file "logs/L0909027.log") (game "ns") (version "47/1.1.2.0/Stdio/3421")
01:19:15 Loading map "co_mvm_hallway_b3"
01:19:16 [META] WARNING: dll: Failed query plugin '<rcbot_mm_i486.so>'; Couldn't open file '/opt/HlServer1/hlds_l/rcbot/dlls/rcbot_mm_i486.so': libstdc++.so.5: cannot open shared object file: No such file or directory
01:19:16 Server logging data to file logs/L0909027.log


Any recommendations?

Z
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
LordSkitch
post Sep 9 2006, 08:55 AM
Post #232


I cuddle with my bots.
*****

Group: Moderator
Posts: 980
Joined: 16-April 04
From: Alvin, Texas
Member No.: 291



Gonna have to take guurk's compile (http://resonus.net/images/rcbot_mm_i486.so) and go from there.

Cheeseh hasn't compiled a linux binary, and the rest of us use windows cause linux sucks.. laugh.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Cheeseh
post Sep 9 2006, 07:53 PM
Post #233


Admin
*****

Group: Admin
Posts: 3,066
Joined: 11-September 03
From: uk
Member No.: 1



never knew you could understand my code skitch smile.gif

btw this could cause mem leaks tongue.gif

theSquad = NULL;
return theSquad;

free theSquad if it isnt null I think theres a RemoveSquad( <bot squad type>) function.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
LordSkitch
post Sep 9 2006, 09:01 PM
Post #234


I cuddle with my bots.
*****

Group: Moderator
Posts: 980
Joined: 16-April 04
From: Alvin, Texas
Member No.: 291



I looked for memory leaks during gameplay and I haven't seen any yet, and I woulda figured out a better way to do it, but good lord there's just soooo muuuuch coooode! lol

What would you replace the "don't make a squad" part of the code with?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
LordSkitch
post Sep 12 2006, 12:38 AM
Post #235


I cuddle with my bots.
*****

Group: Moderator
Posts: 980
Joined: 16-April 04
From: Alvin, Texas
Member No.: 291



...i just realized, im using the old source code! upload your new stuff, so i can re-add the no squad thing, cause my bots aint upgrading, god knows what theyre sposda be doing!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Cheeseh
post Sep 12 2006, 05:45 PM
Post #236


Admin
*****

Group: Admin
Posts: 3,066
Joined: 11-September 03
From: uk
Member No.: 1



ohmy.gif of course!!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
LordSkitch
post Sep 13 2006, 01:47 AM
Post #237


I cuddle with my bots.
*****

Group: Moderator
Posts: 980
Joined: 16-April 04
From: Alvin, Texas
Member No.: 291



soooooooooooo, when ya gonna upload it? lol biggrin.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Cheeseh
post Sep 13 2006, 02:30 PM
Post #238


Admin
*****

Group: Admin
Posts: 3,066
Joined: 11-September 03
From: uk
Member No.: 1



already done it tongue.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
LordSkitch
post Sep 13 2006, 07:07 PM
Post #239


I cuddle with my bots.
*****

Group: Moderator
Posts: 980
Joined: 16-April 04
From: Alvin, Texas
Member No.: 291



it was probably freakin firefox caching the old one not letting me download the new one... opened it in IE and BAM! right there.

[edit!]

to make it easier, as even I just got confused updating the newer source, this is

CBotSquad *CBotSquads :: AddSquadMember ( edict_t *pLeader, edict_t *pMember )
CODE
CBotSquad *CBotSquads :: AddSquadMember ( edict_t *pLeader, edict_t *pMember )
{

dataStack<CBotSquad*> tempStack = m_theSquads;
CBotSquad *theSquad;

if (!gBotGlobals.IsConfigSettingOn(BOT_CONFIG_DISABLE_ALL_SQUADS))
{

 CBot *pBot;;

 char msg[120];

 if ( !pLeader )
  return NULL;

 if ( UTIL_GetTeam(pLeader) != UTIL_GetTeam(pMember) )
  return NULL;

 CClient *pClient = gBotGlobals.m_Clients.GetClientByEdict(pLeader);

 if ( pClient )
 {
  pClient->AddNewToolTip(BOT_TOOL_TIP_SQUAD_HELP);
 }

 sprintf(msg,"%s %s has joined your squad",BOT_DBG_MSG_TAG,STRING(pMember->v.netname));
 ClientPrint(pLeader,HUD_PRINTTALK,msg);
 
 while ( !tempStack.IsEmpty() )
 {
  theSquad = tempStack.ChooseFromStack();
 
  if ( theSquad->IsLeader(pLeader) )
  {
   theSquad->AddMember(pMember);
   tempStack.Init();
   return theSquad;
  }
  else if ( theSquad->IsMember(pLeader) )
  {
   theSquad->AddMember(pMember);
   tempStack.Init();
   return theSquad;
  }
 }
 
 // no squad with leader, make one
 
 theSquad = new CBotSquad(pLeader,pMember);
 
 if ( theSquad != NULL )
 {
  m_theSquads.Push(theSquad);
 
  if ( (pBot = UTIL_GetBotPointer(pLeader)) != NULL )
   pBot->SetSquad(theSquad);
 }
}

else
{
 return NULL;
}
 
return theSquad;
}


[edit again!]

im now looking for the impulses for the bots, so the chuckle when they kill stuff, and say "enemy spotted" instead of "need healing" cause the NS devs are retards and changed the impulses.. but
CODE

impulse            alien / marine

impulse 7      follow me / follow me
impulse 8   covering you / covering you
impulse 9        chuckle / taunt
impulse 10  need healing / need medpack
impulse 11     dont know / need ammo (and some old school 'god dammit where the hell is that ammunition request!')
impulse 12     dont know / in position
impulse 13       nothing / enemy spotted (and something that sounds like judeo hieugasha! ...i dunno wtf that is.)
impulse 14  need healing / follow me (and welding noise)


[edit once more]

so theres no enemy spotted for aliens anymore. they've got

follow
defend
taunt
heal

and then 2 noises i dont know what they are.

i actually made the bots say the impulses one at a time and watched to see what it did, and i still dont know what those two are, 11 is like "im bored" and 12 is the noise you make when you get done gestating or whatever. so... i dunno wtf to make the bots say when they see an enemy, i guess the "im bored" one, cause they dont normally say that.




CODE
(for enemy spotted)
case MOD_NS:
     if ( IsMarine() && EntityIsAlien(pEnemy) )
   Impulse(SAYING_7);
  else if ( IsAlien() && EntityIsMarine(pEnemy) )
   Impulse(SAYING_4);
  break;


so, Impulse(SAYING_4); should be Impulse(SAYING_2);


CODE
(for taunt)
  case MOD_NS:
   if ( IsAlien() )
    pev->impulse = SAYING_1;
   else if ( IsMarine() )
    pev->impulse = SAYING_3;
   break;


the alien/marine check should be able to be taken out, and just

pev->impulse = SAYING_3;
break;

should be left




[EDIT AGAIN! holy crap.]

on second thought, im thinkin



CODE
(for enemy spotted)
case MOD_NS:
     if ( IsMarine() && EntityIsAlien(pEnemy) )
   Impulse(SAYING_7);
  else if ( IsAlien() && EntityIsMarine(pEnemy) )
   Impulse(SAYING_4);
  break;


should be changed to



CODE
(for enemy spotted)
case MOD_NS:
     if ( IsMarine() && EntityIsAlien(pEnemy) )
   Impulse(SAYING_7);
  //else if ( IsAlien() && EntityIsMarine(pEnemy) )
  // Impulse(SAYING_4);
  break;


cause the hissing noise the aliens make isnt very cool, and serves no tactical purpose. AND due to the new code that makes it so you cant spam those impulses, they're not likely to chuckle after they kill someone... and the chuckle when they kill someone is so much cooler anyhow.

now that im looking at it more,

m_fNextUseSayMessage = gpGlobals->time + RANDOM_FLOAT(4.0,8.0);

is declared regardless of whether they actually talk or not, so there'd need to be more code like


CODE
m_fNextUseSayMessage = gpGlobals->time + RANDOM_FLOAT(4.0,8.0);

// do something when an enemy is found
switch ( gBotGlobals.m_iCurrentMod )
{

case MOD_BUMPERCARS:
 // beep the horn!
  Impulse(109);
  break;
case MOD_NS:
     if ( IsMarine() && EntityIsAlien(pEnemy) )
   Impulse(SAYING_7);
  //else if ( IsAlien() && EntityIsMarine(pEnemy) )
  // Impulse(SAYING_5);
  break;
case MOD_TS:
 FakeClientCommand(m_pEdict,"usepowerup");

 // more chance of using special if good skilled
 if ( (m_pCurrentWeapon) && (m_pCurrentWeapon->GetID() != 36) && (DistanceFrom(pEnemy->v.origin) > 200) && (RANDOM_LONG(0,100) < m_Profile.m_iSkill) )
 {
  // this won't work anyway.. why was it put in;P
  pev->button |= IN_ALT1;
 }

 break;
}


would change to something better than
CODE
int botHasTalked = 0;

// do something when an enemy is found
switch ( gBotGlobals.m_iCurrentMod )
{

case MOD_BUMPERCARS:
 // beep the horn!
  Impulse(109);
  botHasTalked = 1;
  break;
case MOD_NS:
     if ( IsMarine() && EntityIsAlien(pEnemy) )
  {
   Impulse(SAYING_7);
   botHasTalked = 1;
  }

  //else if ( IsAlien() && EntityIsMarine(pEnemy) )
  // Impulse(SAYING_5);
  break;
case MOD_TS:
 botHasTalked = 1;
 FakeClientCommand(m_pEdict,"usepowerup");

 // more chance of using special if good skilled
 if ( (m_pCurrentWeapon) && (m_pCurrentWeapon->GetID() != 36) && (DistanceFrom(pEnemy->v.origin) > 200) && (RANDOM_LONG(0,100) < m_Profile.m_iSkill) )
 {
  // this won't work anyway.. why was it put in;P
  pev->button |= IN_ALT1;
 }

 break;
}

if( botHasTalked )
 m_fNextUseSayMessage = gpGlobals->time + RANDOM_FLOAT(4.0,8.0);



it works, but its probably not the best way to do it tongue.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Cheeseh
post Sep 14 2006, 06:53 PM
Post #240


Admin
*****

Group: Admin
Posts: 3,066
Joined: 11-September 03
From: uk
Member No.: 1



ah thats alright actually.

what else are you going to do with the code then? biggrin.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
LordSkitch
post Sep 14 2006, 07:59 PM
Post #241


I cuddle with my bots.
*****

Group: Moderator
Posts: 980
Joined: 16-April 04
From: Alvin, Texas
Member No.: 291



what else thats simple and cosmetic and just.. too aggrivatingly simple for you to worry about? ill throw my hat over the wall but i may not be able to do it.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
zodiac
post Sep 23 2006, 09:07 AM
Post #242


Advanced Member
***

Group: Members
Posts: 60
Joined: 23-March 04
From: California
Member No.: 276



No dice...I think I am missing a libset maybe.

laugh.gif LordSkitch, Windows users only say that when they either dont understand Linux or fear its capabilities over what they are used to. laugh.gif

Z
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
LordSkitch
post Sep 23 2006, 10:38 AM
Post #243


I cuddle with my bots.
*****

Group: Moderator
Posts: 980
Joined: 16-April 04
From: Alvin, Texas
Member No.: 291



oh i dont fear linux at all, in fact i use gentoo, thats some hard assed bitch-making linux... but i think the uses for linux are where people get screwed over

linux is great for servers.. just shell.. no kde, no gnome.. just shell. a command line. gui's are secondary and totally uneeded, and even then, you need to know how to secure a linux server. most people cant and wont do it. especially for webservers. i dont know why zone-h took their daily defacement counter thing off, but almost every day, linux took not just a plurality, but a majority of the defacements, and windows server 2000/2003 was usually < 5%

they have the archives up still, but it's not as clean and easy to tell the numbers ( http://www.zone-h.org/component/option,com...temid,43/page,1 )

linux is pretty assed out for a normal persons desktop though. not only do you have to know ahead of time what software you want, a lot of times it doesnt do what you need it to do. and the whole "well you can just recode it!" is pretty bullshit, i mean you CAN, but like.. if you need to recode open office to do something, its like 3500 source files... good luck finding the line you need to edit in that crap.

but most definately, as servers... double most definately internal servers, where it's running software YOU write, theyre the badassed heavyweights of serverdom.

(i had to come to terms with linux, while building and writing software for a router to do what this can do, and more)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
LordSkitch
post Oct 7 2006, 08:30 AM
Post #244


I cuddle with my bots.
*****

Group: Moderator
Posts: 980
Joined: 16-April 04
From: Alvin, Texas
Member No.: 291



i put in a..

FakeClientCommand(m_pEdict,"say_team \"i want to heal something\"")

line after

case BOT_TASK_HEAL_PLAYER:
{

among several other places in there to try and debug why the bots wont heal the hive, and from what i can tell, they never get the task bot_task_heal_player

i would fix it, but im having trouble figuring out the flow of the task edict whatnot doodad.

there are

addtask(cbottask(bot_task_heal_player...

things, but i havent seen them say theyre gonna heal anything as of yet...

im gonna put some more traces or whatever you wanna call em in there and see if they ever get the task...


[edit]

i put a team say thing after every spot i could find where the addtask bot task heal player thing was, and it never came up... i dunno wtf is goin on.

[edit again]

oh yeah, i also added in the stuff to let the marine bots get scan in combat, cause with cloaked aliens they need it tongue.gif

[way later edit]

the bots will say theyve spotted the hive when the hive is currently being built and is hurt, but not once its completed building... maybe its name changes from like.. BUILDING_HIVE to BUILDING_HIVE_COMPLETE or something like that, i dunno, and i dunno how to check tongue.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Venom
post Dec 9 2006, 09:45 PM
Post #245


Advanced Member
***

Group: Members
Posts: 82
Joined: 24-July 06
Member No.: 807



Good job Lordskitch, keep up the good work.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Venom
post Dec 10 2006, 10:13 AM
Post #246


Advanced Member
***

Group: Members
Posts: 82
Joined: 24-July 06
Member No.: 807



Hello i have been doing some coding myself as well but its not working as it should and testing it is very difficult. What i wanted to do is based on certain maps, certain skills will be active and certain skills will be disabled, here is what i got already.

The code will look messey in IPB due to the indentation but will look correct in Visual Studio.

The problem am having is that certain skills seem to work and certain ones dont, im sure its something to do with my coding but like Lordskitch, sometimes i have trouble reading what Cheeseh is coded smile.gif

If you can fix it, i would be very greatful as its annoying the hell out of me and its extremely difficult to test

CODE

                if ( IsMarine() )
                {
                    if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_RESUPPLY) )
                    {
                        if ( BotWantsCombatItem(BOT_COMBAT_WANT_RESUPPLY) /*&& m_pCurrentWeapon && m_pCurrentWeapon->LowOnAmmo()*/ )
                        {
                            m_iPossibleUpgrades.Add(RESEARCH_RESUPPLY);
                        }
                    }
                    // WEAPONS
                    if ( !HasUser4Mask(MASK_UPGRADE_1) )
                    {
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_DAMAGE1) )
                        {
                            m_iPossibleUpgrades.Add(RESEARCH_WEAPONS_ONE);
                        }
                    }
                    else
                    {

                        // make sure we only get one of these weapons, the one we want
                        if ( !HasWeapon(NS_WEAPON_SONIC) && !HasWeapon(NS_WEAPON_GRENADE_GUN) && !HasWeapon(NS_WEAPON_HMG) )
                        {
                            if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_SHOTGUN) )
                            {
                                m_iPossibleUpgrades.Add(BUILD_SHOTGUN);
                            }
                        }
                        else
                        {                            
                            if ( BotWantsCombatItem(BOT_COMBAT_WANT_GRENADE_GUN) && !HasWeapon(NS_WEAPON_GRENADE_GUN) )
                            {
                                if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_GRENADE_GUN) )
                                {
                                    m_iPossibleUpgrades.Add(BUILD_GRENADE_GUN);
                                }
                            }
                            if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_HMG) )
                            {
                                if ( BotWantsCombatItem(BOT_COMBAT_WANT_HMG) && !HasWeapon(NS_WEAPON_HMG) )
                                {
                                    m_iPossibleUpgrades.Add(BUILD_HMG);
                                }
                            }
                        }
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_WELDER) )
                        {
                            if ( BotWantsCombatItem(BOT_COMBAT_WANT_WELDER) && !HasWeapon(NS_WEAPON_WELDER) )
                            {
                                m_iPossibleUpgrades.Add(BUILD_WELDER);
                            }
                        }
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_MINES) )
                        {
                            if ( BotWantsCombatItem(BOT_COMBAT_WANT_MINES) && !HasWeapon(NS_WEAPON_MINE) )
                            {
                            m_iPossibleUpgrades.Add(BUILD_MINES);
                            }
                        }
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_DAMAGE2) )
                        {
                            if ( !HasUser4Mask(MASK_UPGRADE_2) )
                            {
                                m_iPossibleUpgrades.Add(RESEARCH_WEAPONS_TWO);                            
                            }
                        }
                        else
                        {
                            if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_DAMAGE3) )
                            {
                                if ( !HasUser4Mask(MASK_UPGRADE_3) )
                                {
                                    m_iPossibleUpgrades.Add(RESEARCH_WEAPONS_THREE);                            
                                }
                            }
                        }
                    }
                    // ARMOR

                    // first armor
                    if ( !HasUser4Mask(MASK_UPGRADE_4) )
                    {
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_ARMOR1) )
                        {
                            m_iPossibleUpgrades.Add(RESEARCH_ARMOR_ONE);
                        }
                    }
                    else
                    {
                        // second
                        if ( !HasUser4Mask(MASK_UPGRADE_5) )
                        {
                            if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_ARMOR2) )
                            {
                                m_iPossibleUpgrades.Add(RESEARCH_ARMOR_TWO);
                            }
                        }
                        else
                        {
                            // want a jetpack
                            if ( BotWantsCombatItem(BOT_COMBAT_WANT_JETPACK) && !HasJetPack() )
                            {
                                if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_JETPACK) )
                                {
                                    m_iPossibleUpgrades.Add(BUILD_JETPACK);
                                }
                            }
                            // want heavy armor
                            else if ( BotWantsCombatItem(BOT_COMBAT_WANT_ARMOR) && !HasUser4Mask(MASK_UPGRADE_13) )
                            {
                                if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_HEAVY_ARMOR) )
                                {
                                    m_iPossibleUpgrades.Add(BUILD_HEAVY);
                                }
                            }
                            // third armor research
                            else if ( !HasUser4Mask(MASK_UPGRADE_6) )
                            {
                                if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_ARMOR3) )
                                {
                                    m_iPossibleUpgrades.Add(RESEARCH_ARMOR_THREE);
                                }
                            }
                        }
                    }                                        
                }
                else if ( IsAlien() )
                {
                    if ( IsSkulk() )
                    {
                        // want to go onos
                        if ( BotWantsCombatItem(BOT_COMBAT_WANT_ONOS) )
                        {
                            if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_ONOS) )
                            {
                                m_iPossibleUpgrades.Add(ALIEN_LIFEFORM_FIVE); // onos
                            }
                        }
                        else if ( BotWantsCombatItem(BOT_COMBAT_WANT_FADE) )
                        {
                            if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_FADE) )
                            {
                                m_iPossibleUpgrades.Add(ALIEN_LIFEFORM_FOUR); // fade
                            }
                        }
                        else  //( BotWantsCombatItem(BOT_COMBAT_WANT_LERK) )
                        {
                            if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_LERK) )
                            {
                                m_iPossibleUpgrades.Add(ALIEN_LIFEFORM_THREE); // lerk
                            }
                            if ( (UTIL_SpeciesOnTeam(AVH_USER3_ALIEN_PLAYER2) == 0) || (UTIL_SpeciesOnTeam(AVH_USER3_ALIEN_PLAYER2) < (int)(UTIL_PlayersOnTeam(TEAM_ALIEN)*gBotGlobals.m_fGorgeAmount/2)) )
                                m_iPossibleUpgrades.Add(ALIEN_LIFEFORM_TWO); //gorge
                        }
                    }
                    else if ( IsFade() )
                    {
                        // want to go onos
                        if ( BotWantsCombatItem(BOT_COMBAT_WANT_ONOS) )
                        {
                            if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_ONOS) )
                            {
                                m_iPossibleUpgrades.Add(ALIEN_LIFEFORM_FIVE); //onos
                                m_iPossibleUpgrades.Add(ALIEN_LIFEFORM_FIVE); // more chance!
                            }
                        }
                    }
                    else if ( IsGorge() )
                    {
                        if ( BotWantsCombatItem(BOT_COMBAT_WANT_LERK) )
                        {
                            if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_LERK) )
                            {
                                m_iPossibleUpgrades.Add(ALIEN_LIFEFORM_THREE); //lerk
                            }
                        }
                        else
                        {
                            if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_FADE) )
                            {
                                m_iPossibleUpgrades.Add(ALIEN_LIFEFORM_FOUR); // fade
                                m_iPossibleUpgrades.Add(ALIEN_LIFEFORM_FOUR); // more chance of going fade
                            }
                        }
                    }
                    
                    if ( !IsSkulk() )
                    {
                        // How do we find out we already have the ability???
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_ABILITY1) )
                        {
                            m_iPossibleUpgrades.Add(118); //ability 1
                        }
                        // leave some room for onos resources
                        if ( !BotWantsCombatItem(BOT_COMBAT_WANT_ONOS) )
                        {
                            if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_ABILITY2) )
                            {
                            m_iPossibleUpgrades.Add(126); //ability 2
                            }
                        }
                    }

                    if ( !HasUser4Mask(MASK_UPGRADE_1) && BotWantsCombatItem(BOT_COMBAT_WANT_DEFUP1) )
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_DEFUP1) )
                        {
                            m_iPossibleUpgrades.Add(ALIEN_EVOLUTION_ONE);// Carapace
                        }    
                    if ( !HasUser4Mask(MASK_UPGRADE_2) && BotWantsCombatItem(BOT_COMBAT_WANT_DEFUP2) )
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_DEFUP2) )
                        {
                            m_iPossibleUpgrades.Add(ALIEN_EVOLUTION_TWO);// Regeneration
                        }
                    if ( !HasUser4Mask(MASK_UPGRADE_3) && BotWantsCombatItem(BOT_COMBAT_WANT_DEFUP3) )
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_DEFUP3) )
                        {
                            m_iPossibleUpgrades.Add(ALIEN_EVOLUTION_THREE);// Redemption
                        }
                    if ( !HasUser4Mask(MASK_UPGRADE_4) && BotWantsCombatItem(BOT_COMBAT_WANT_MOVUP1) )
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_MOVUP1) )
                        {
                            m_iPossibleUpgrades.Add(ALIEN_EVOLUTION_SEVEN);// Celerity
                        }                        
                    if ( !HasUser4Mask(MASK_UPGRADE_5) && BotWantsCombatItem(BOT_COMBAT_WANT_MOVUP2) )
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_MOVUP2) )
                        {
                            m_iPossibleUpgrades.Add(ALIEN_EVOLUTION_EIGHT);// Adrenaline
                        }                    
                    if ( !HasUser4Mask(MASK_UPGRADE_6) && BotWantsCombatItem(BOT_COMBAT_WANT_MOVUP3) )
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_MOVUP3) )
                        {
                            m_iPossibleUpgrades.Add(ALIEN_EVOLUTION_NINE);// Silence
                        }
                    if ( !HasUser4Mask(MASK_UPGRADE_7) && BotWantsCombatItem(BOT_COMBAT_WANT_SENUP1) )

                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_SENUP1) )
                        {
                            m_iPossibleUpgrades.Add(ALIEN_EVOLUTION_TEN);// Cloaking
                        }    
                    if ( !HasUser4Mask(MASK_UPGRADE_8) && BotWantsCombatItem(BOT_COMBAT_WANT_SENUP2) )
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_SENUP2) )
                        {
                            m_iPossibleUpgrades.Add(ALIEN_EVOLUTION_ELEVEN);// Pheromones
                        }
                        
                    if ( !HasUser4Mask(MASK_UPGRADE_9) && BotWantsCombatItem(BOT_COMBAT_WANT_SENUP3) )
                        if ( gBotGlobals.IsConfigSettingOn(BOT_CONFIG_WANT_SENUP1) )
                        {
                            m_iPossibleUpgrades.Add(ALIEN_EVOLUTION_TWELVE);// Scent of fear
                        }
                }



Here is the list of commands:
# Skill Settings
# 1 = Enables / 0 = Disable
config want_damage1 1
config want_damage2 1
config want_damage3 1
config want_shotgun 1
config want_hmg 0
config want_grenade_gun 1
config want_armor1 1
config want_armor2 1
config want_armor3 1
config want_jetpack 1
config want_heavy_armor 1
config want_welder 1
config want_resupply 1
config want_mines 1
config want_catalyst 1
config want_move_dection 1
config want_lerk 1
config want_fade 1
config want_onos 1
config want_defup1 1
config want_defup2 1
config want_defup3 1
config want_movup1 1
config want_movup2 1
config want_movup3 1
config want_senup1 1
config want_senup2 1
config want_senup3 1
config want_ability1 1
config want_ability2 1
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Cheeseh
post Dec 10 2006, 01:41 PM
Post #247


Admin
*****

Group: Admin
Posts: 3,066
Joined: 11-September 03
From: uk
Member No.: 1



Why would you want to do that though? Their selections are based on a genetic algorithm anyway so sometimes they may never select an upgrade or they may select all or no upgrades. They are learning their upgrade choices for the best choice on combat maps, and Their choices change each time they start a new combat game. tongue.gif

If you want to do something like that you will need to remove the GA connection to the upgrades, near the top of the code on start-up. And will need to add a config command with a bitmask of all the combat attrib's i.e (want_damage1 = 1, want_damage2 = 2, want_damage3 = 4, etc) into a global "CombatWants" variable or something. And alter "BotWantsCombatItem" to read "CombatWants"

User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Venom
post Dec 10 2006, 01:58 PM
Post #248


Advanced Member
***

Group: Members
Posts: 82
Joined: 24-July 06
Member No.: 807



QUOTE(Cheeseh @ Dec 10 2006, 01:41 PM) *

Why would you want to do that though? Their selections are based on a genetic algorithm anyway so sometimes they may never select an upgrade or they may select all or no upgrades. They are learning their upgrade choices for the best choice on combat maps, and Their choices change each time they start a new combat game. tongue.gif

If you want to do something like that you will need to remove the GA connection to the upgrades, near the top of the code on start-up. And will need to add a config command with a bitmask of all the combat attrib's i.e (want_damage1 = 1, want_damage2 = 2, want_damage3 = 4, etc) into a global "CombatWants" variable or something. And alter "BotWantsCombatItem" to read "CombatWants"


Thanks

You would want to block certain stuff like jetpacks or gls, so i thought you might as well be able to customise all skills based on per a map, so on certain maps you may wish to disable jetpacks and on others you may wish to have HMG and heavy armor only. It just gives the server admins the choice of what to block and what not to block, of course, a human blocking plugin will be needed as well for this.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
LordSkitch
post Jan 15 2007, 09:28 AM
Post #249


I cuddle with my bots.
*****

Group: Moderator
Posts: 980
Joined: 16-April 04
From: Alvin, Texas
Member No.: 291



whats the word on getting the gorges to heal things? ive tried everything i can think of, and i still cant get the little bastards to do it.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
LordSkitch
post Feb 20 2007, 02:43 PM
Post #250


I cuddle with my bots.
*****

Group: Moderator
Posts: 980
Joined: 16-April 04
From: Alvin, Texas
Member No.: 291



i spent like an hour and a half yesterday trying to sort through the code to fix some issues people keep yellin at me about,

1 - the fades going up to wallstick waypoints and not blinking, but just standing there looking at the wallstick waypoint. i removed them from CanUseFlyWaypoints or whatever and solved that.

2 - the gorges healing. i have absolutely no clue why they wont heal. well i have seen them heal, but theyll heal like unfinished hives. after that they wont heal any players/structures/whatever. i cant figure out why they do it. or dont do it rather.

3 - the aliens getting upgrades on NS maps. i found two identical sections of code and so i changed the top one...

CODE
    if ( gBotGlobals.IsNS() && bCanUpgrade && (m_fUpgradeTime < gpGlobals->time) && IsAlien())
    {
        AddPriorityTask(CBotTask(BOT_TASK_ALIEN_UPGRADE,0));
        m_fUpgradeTime = gpGlobals->time + RANDOM_FLOAT(5.0,10.0);
    }

    
    if ( gBotGlobals.IsNS() && bCanUpgrade && gBotGlobals.IsCombatMap() && (m_fUpgradeTime < gpGlobals->time) )
    {
        AddPriorityTask(CBotTask(BOT_TASK_COMBAT_UPGRADE,0));
        m_fUpgradeTime = gpGlobals->time + RANDOM_FLOAT(5.0,10.0);
    }



and the wierd thing is they get the task bot_task_alien_upgrade but then the little bastards dont do it! so im thinkin i need to do it in the sense of

CBotTask(BOT_TASK_ALIEN_UPGRADE,0,NULL,BOT_UPGRADE_DEF)

kind of thing, so i'll edit that function after i get home from school and see if it works.

4 - lerks/fades flying/blinking over normal waypoints. i cant even find the code where a normal waypoint is defined. i can find all the other waypoint types but not the freakin normal ones.

5 - i think theres a crashy part of the code somewhere in it, but all of a sudden i cant freakin debug the thing to find it. so i dunno whats up with that.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

16 Pages V « < 11 12 13 14 > » 
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



- Lo-Fi Version Time is now: 21st June 2025 - 12:37 AM