Post: [1.14] Bots
04-05-2014, 06:31 AM #1
makeabce
I defeated!
(adsbygoogle = window.adsbygoogle || []).push({}); Hi,just found way to spawn bots in mw2!
But the problem is, they automaticly go to spectator, any ideas?

Here is the RPC Needed: You must login or register to view this content. ( Add to your project)
Here is how to spawn bot: (Add this to your RTM Too/Menu)
    
public void Sv_AddTestClient(int numberOfTestClients)
{
RPC.CallFunc(0x002189D8, numberOfTestClients);
}
(adsbygoogle = window.adsbygoogle || []).push({});

The following 8 users say thank you to makeabce for this useful post:

Glitchy_Modz, KRYPTHON, Leo, Mango_Knife, John, ThePaaqoHD, xAJM

The following 5 users groaned at makeabce for this awful post:

ErasedDev, milky4444, primetime43, VezahMoDz, ViolentFelon
04-06-2014, 05:00 PM #11
SC58
Former Staff
You must login or register to view this content.

this is why no one help ppl like yall cause you cant google the stuff

The following 5 users say thank you to SC58 for this useful post:

Hammy, bandphan, Turk_Warrior, xSpliffy
04-10-2014, 02:37 PM #12
Turk_Warrior
League Champion
Not Sure If Works for bots to spawn Smile

    
typedef gentity_s * (__cdecl * SV_AddTestClient_t)();
SV_AddTestClient_t SV_AddTestClient = (SV_AddTestClient_t)0x822546F8;
typedef void (__cdecl * SV_ExecuteClientCommand_t)(void *cl, const char *s, int clientOK, int);
SV_ExecuteClientCommand_t SV_ExecuteClientCommand = (SV_ExecuteClientCommand_t)0x822531C8;

struct Bots
{
int clientNum;
};

void AddBotClient()
{
typedef Bots * (__cdecl * SV_AddTestClient_t)();
SV_AddTestClient_t SV_AddTestClient = (SV_AddTestClient_t)0x822546F8;
char charBuffer[0x100];
Bots * addedTestClient = SV_AddTestClient();
Sleep(150);
sprintf(charBuffer, "mr %i 3 autoassign", *(int *)0x8360922C);
SV_ExecuteClientCommand((void *)(*(int *)0x83623B98 + (addedTestClient->clientNum * 0x97F80)), charBuffer, 1, 0);
Sleep(150);
sprintf(charBuffer, "mr %i 10 class1", *(int *)0x8360922C);
SV_ExecuteClientCommand((void *)(*(int *)0x83623B98 + (addedTestClient->clientNum * 0x97F80)), charBuffer, 1, 0);
}

//ADD THIS TO A NEW HEADER FILE AND USE #include ""
typedef enum {
TEAM_FREE,
TEAM_AXIS,
EAM_ALLIES,
TEAM_SPECTATOR,
TEAM_NUM_TEAMS
} team_t;
struct usercmd_s
{
int ServerTime;
int Buttons;
char Weapon;
char OffHandIndex;
char Padding[2];
int Angle[3];
char Unknown_data[0x10];
};
typedef enum
{
SESS_STATE_PLAYING, SESS_STATE_DEAD, SESS_STATE_SPECTATOR, SESS_STATE_INTERMISSION
} sessionState_t;
typedef enum
{
CON_DISCONNECTED, CON_CONNECTING, CON_CONNECTED
} clientConnected_t;
struct clientState_s
{
int unknown;team_t team;
char unknown_data[0x84];
};
struct clientSession_t
{
sessionState_t sessionState;
int ClientNum;
int Score;
int Deaths;
int Kills;
int Assists;
short ActiveScripts;
char Padding[2];
clientConnected_t Connect;
usercmd_s cmd;
usercmd_s oldcmd;
int IsLocalClient;
int UnknownInt;
char Name[32];
int MaxHealth;
int EnterTime;
char Unknown_Data[0xC];
float moveSpeedScaleMultiplier;
int ViewModelIndex;
char unknown_data[0x10];
clientState_s _cs;
char unknown_data5[0x14C];
};
struct playerState_s
{
int commandTime;
int Notsure;
int Weird;
int WeirdView;
int eFlags;
int NotSure2;
char UnknownData2[4];
float Origin[3];
float Velocity[3];
char unknown_data3[0x315C];
};
struct gclient_s
{
playerState_s ps;
clientSession_t sess;
char UnKnowData[0x10];
int buttons;
};
struct gentity_s
{
char unknown_data[0x158];
gclient_s *clientData;
};
gentity_s * getEntity(unsigned int ClientIndex)
{
return (gentity_s *)(0x82F03600 + (ClientIndex * 0x280));
}
gentity_s *Entity;
[/QUOTE]

The following user thanked Turk_Warrior for this useful post:

04-10-2014, 03:09 PM #13
Originally posted by Warrior View Post
Not Sure If Works for bots to spawn Smile

    
typedef gentity_s * (__cdecl * SV_AddTestClient_t)();
SV_AddTestClient_t SV_AddTestClient = (SV_AddTestClient_t)0x822546F8;
typedef void (__cdecl * SV_ExecuteClientCommand_t)(void *cl, const char *s, int clientOK, int);
SV_ExecuteClientCommand_t SV_ExecuteClientCommand = (SV_ExecuteClientCommand_t)0x822531C8;

struct Bots
{
int clientNum;
};

void AddBotClient()
{
typedef Bots * (__cdecl * SV_AddTestClient_t)();
SV_AddTestClient_t SV_AddTestClient = (SV_AddTestClient_t)0x822546F8;
char charBuffer[0x100];
Bots * addedTestClient = SV_AddTestClient();
Sleep(150);
sprintf(charBuffer, "mr %i 3 autoassign", *(int *)0x8360922C);
SV_ExecuteClientCommand((void *)(*(int *)0x83623B98 + (addedTestClient->clientNum * 0x97F80)), charBuffer, 1, 0);
Sleep(150);
sprintf(charBuffer, "mr %i 10 class1", *(int *)0x8360922C);
SV_ExecuteClientCommand((void *)(*(int *)0x83623B98 + (addedTestClient->clientNum * 0x97F80)), charBuffer, 1, 0);
}

//ADD THIS TO A NEW HEADER FILE AND USE #include ""
typedef enum {
TEAM_FREE,
TEAM_AXIS,
EAM_ALLIES,
TEAM_SPECTATOR,
TEAM_NUM_TEAMS
} team_t;
struct usercmd_s
{
int ServerTime;
int Buttons;
char Weapon;
char OffHandIndex;
char Padding[2];
int Angle[3];
char Unknown_data[0x10];
};
typedef enum
{
SESS_STATE_PLAYING, SESS_STATE_DEAD, SESS_STATE_SPECTATOR, SESS_STATE_INTERMISSION
} sessionState_t;
typedef enum
{
CON_DISCONNECTED, CON_CONNECTING, CON_CONNECTED
} clientConnected_t;
struct clientState_s
{
int unknown;team_t team;
char unknown_data[0x84];
};
struct clientSession_t
{
sessionState_t sessionState;
int ClientNum;
int Score;
int Deaths;
int Kills;
int Assists;
short ActiveScripts;
char Padding[2];
clientConnected_t Connect;
usercmd_s cmd;
usercmd_s oldcmd;
int IsLocalClient;
int UnknownInt;
char Name[32];
int MaxHealth;
int EnterTime;
char Unknown_Data[0xC];
float moveSpeedScaleMultiplier;
int ViewModelIndex;
char unknown_data[0x10];
clientState_s _cs;
char unknown_data5[0x14C];
};
struct playerState_s
{
int commandTime;
int Notsure;
int Weird;
int WeirdView;
int eFlags;
int NotSure2;
char UnknownData2[4];
float Origin[3];
float Velocity[3];
char unknown_data3[0x315C];
};
struct gclient_s
{
playerState_s ps;
clientSession_t sess;
char UnKnowData[0x10];
int buttons;
};
struct gentity_s
{
char unknown_data[0x158];
gclient_s *clientData;
};
gentity_s * getEntity(unsigned int ClientIndex)
{
return (gentity_s *)(0x82F03600 + (ClientIndex * 0x280));
}
gentity_s *Entity;



That's C++, not many people here make modding tools with C++ :p
04-10-2014, 03:19 PM #14
Turk_Warrior
League Champion
Originally posted by zMRTY View Post
That's C++, not many people here make modding tools with C++ :p


well i known a guy who knows C++
04-10-2014, 04:19 PM #15
Originally posted by Warrior View Post
well i known a guy who knows C++


"Not many" Did I say no one?
04-11-2014, 07:48 AM #16
Nice Man
04-11-2014, 06:46 PM #17
Originally posted by Warrior View Post
well i known a guy who knows C++


Plus that's just a copy of a 7S thread for Tu8...
04-12-2014, 01:39 PM #18
Turk_Warrior
League Champion
Originally posted by AlmightySo View Post
Plus that's just a copy of a 7S thread for Tu8...


and your superman dude...
04-12-2014, 08:03 PM #19
primetime43
Knowledge is power Tiphat
This will not work, it is much more complicated than this. stare
Which is why the only person I know that has got them to actually spawn is Enstone.

Copyright © 2026, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo