IPB

Welcome Guest ( Log In | Register )

> 2007-04-30 Yeah, ladders and more ..., one problem, need tips
Salvax
post Apr 30 2007, 04:50 PM
Post #1


Advanced Member
***

Group: Members
Posts: 75
Joined: 14-February 07
Member No.: 1,034



___2007.04.30___

Fixed: BOTs don't always duck while attacking (this game is not counter-strike blink.gif , LOL )

Added:
Ladders can be used (need improvement)
Randomly switch weapon while attacking (not only switch weapon while looping on waypoints)
Randomly change firing speed
Randomly fire @ wall while BOTs feel boring (no enemy in sight)

a video about bot on ladder (not always working like this)
File Name: Finally, BOTs USE Ladder_Salvax.wmv
Size: 536KB
Download Link: http://www.sendspace.com/file/tu8m04

latest .dll
File Name: rcbot2_test_only_April30.rar
Size: 320KB
Download Link: http://www.sendspace.com/file/slk50z

latest modified codes
File Name: modified_rcbot2src_base_April30.rar
Size: 107KB
Download Link: http://www.sendspace.com/file/6jxv92
_________________________________________________________________________

the problem is how to let bot focus on one action , for example:

in bot_waypoint.cpp

CODE
void CWaypointNavigator :: updatePosition ()
...
..
.
m_pBot->speed();
m_pBot->Ladder();
m_pBot->Randomjump();
m_pBot->campwalk();



so if bot is running on a ladder, the bot also jumps even i set the jump action as a random action , then bot drops from the ladder.

so it's with the campwalk action and sprint action, bot executes the 2 actions @ the same time even both are random actions ,

as i defined in bot.cpp :

CODE
void CBot :: campwalk ()
{
    float fHoldTimeCamp = RandomFloat(0.5,0.8);
    if ( RandomInt(300,400) > 389 && m_pButtons->canPressButton(IN_SPEED) && m_pButtons->canPressButton(IN_DUCK) && !m_pButtons->holdingButton(IN_SPEED) )
        m_pButtons->holdButton(IN_DUCK,0.1/* time to press*/,fHoldTimeCamp/* hold time*/,0/*let go time*/);
}

void CBot :: speed ()
{
    float fHoldTimeSprint = RandomFloat(0.3,0.5);
    if ( RandomInt(1,10) < 5 && m_pButtons->canPressButton(IN_SPEED) && m_pButtons->canPressButton(IN_DUCK) && !m_pButtons->holdingButton(IN_DUCK) )
        
        m_pButtons->holdButton(IN_SPEED,0/* time to press*/,fHoldTimeSprint/* hold time*/,0/*let go time*/);        
}


it seems ( ! m_pButtons->holdingButton(IN_?????) ) is not working ? Thx Captain, and long to see ur reply !
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Replies
Cheeseh
post Apr 30 2007, 06:06 PM
Post #2


Admin
*****

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



you are putting things in the wrong place.

leave the WAypoint Navigator/Navigator stuff as it is, it is complete because it is just a class built on an abstract class and if you ad any specific code there they will not work if another sub-class object of the same super class calls the updatePosition function (e.g. CNavMesh::updatePosition()) which isn't implemented yet however, you can see that there will be code redundancy if you have to add this exact code in two different places.

QUOTE
the problem is how to let bot focus on one action


That is the main purpose of CBotTasks and CBotSchedules.

You should put the move speed stuff in CBot::doMove() makes sense huh? tongue.gif !!

However you do not need to use IN_SPEED buttons you can just specify the movement speed you want the bot to run at e.g.

m_fIdealMoveSpeed = 160; // (walk speed)

in doMove you will find m_fIdealMoveSpeed, this is the move speed the bot wants to run at. You can either set that in the doMove function (with appropraite if statements) or set m_fIdealMoveSpeed in the appropriate BotTask that is currently being executed
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Posts in this topic


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 August 2025 - 01:23 PM