IPB

Welcome Guest ( Log In | Register )

> Crash: m_Bots[slotOfEdict(pEdict)] is a bad pointer
JRob
post May 2 2011, 06:20 AM
Post #1


Advanced Member
***

Group: Members
Posts: 52
Joined: 30-April 11
Member No.: 1,970



I just compiled rcbots2 and tried it out. After a compile of minutes, it crashes at the same place.

I pinpointed it to bot.cpp line 2156.

CBot *pBot = m_Bots[slotOfEdict(pEdict)];

if ( pBot->inUse() )

pBot was 83 which is obviously a bad value. I did a quick hack to return NULL if pBot is less than 1000. It hasn't crashed in over an hour yet.

Here is the stack trace.

CBots::getBotPointer
CFlagEvent::execute
CBotGlobals::playerByUserId
CBotEvents::executeEvent
KeyValues::GetName
CRCBotPlugin::FireGameEvent
... some other stuff

http://crash.limetech.org/stack.php?pubid=1811
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Replies
JRob
post May 3 2011, 08:55 AM
Post #2


Advanced Member
***

Group: Members
Posts: 52
Joined: 30-April 11
Member No.: 1,970



I edited out this code in bool CBot :: checkStuck (). It stops the bots from jumping like mad and look more natural. They still jitter around.

m_pButtons->jump();
m_pButtons->duck(0.25f,randomFloat(0.2f,0.4f));

Do you have any ideas on how to fix it? Maybe engine->Time() is in milliseconds because they act way too fast. I don't even see them crouch.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Cheeseh
post May 3 2011, 03:13 PM
Post #3


Admin
*****

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



QUOTE(JRob @ May 3 2011, 08:55 AM) *

I edited out this code in bool CBot :: checkStuck (). It stops the bots from jumping like mad and look more natural. They still jitter around.

m_pButtons->jump();
m_pButtons->duck(0.25f,randomFloat(0.2f,0.4f));

Do you have any ideas on how to fix it? Maybe engine->Time() is in milliseconds because they act way too fast. I don't even see them crouch.

the stuck code just needs a bit more tweaking

to get bots to crouch u need to use 'bot_crouch 1' command

because the bots use engine bots as puppets , so there are limitations and bugs like that

as fopr the sniper aiming , u might need to check the aiming code , check out getLookAtVector() / LOOK_SNIPE
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: 16th June 2025 - 08:55 PM