-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathOverLight_Bot_System.h
More file actions
149 lines (119 loc) · 3 KB
/
OverLight_Bot_System.h
File metadata and controls
149 lines (119 loc) · 3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#pragma once
extern class CBotFuncs *g_BotFuncs;
struct stBot
{
RakClientInterface *pRakClient;
char NickName[SAMP_MAX_PLAYER_NAME + 1];
bool bConnected;
bool bJoined;
bool bSpawned;
bool bIsInVehicle;
uint16_t last_vehicleID;
uint16_t playerID;
unsigned int uiChallenge;
float fLastOnFootPos[3];
float fLastOnFootQuat[4];
short sCurrentAnimationID;
uint8_t byteSpecialAction;
DWORD dwSendBulletTick;
float fHealth;
float fArmour;
stBot()
{
fHealth = 100.0f;
}
};
struct stBotSettings
{
//int ClientCount;
int ClientCount;
DWORD UpdateSendRate;
//int CurrentClientID;
uint8_t CurrentClientID;
uint8_t ClientJoined;
uint8_t NicknameStyle;
bool bReceiveRPC;
bool FakePing;
int incrasePing;
bool UseFakeBot;
int ClassID;
bool bFollow;
float fDistanceFollow;
float fDistanceFollowBetweenBots;
bool bShooter;
short sTargetID;
bool bUseNearestTarget;
bool bBotAttacker;
uint8_t uiAttackWeaponID;
bool bBotElevator;
bool bBotJetpackElevator;
bool bBotPick;
bool bBotSlapper;
bool bBotFuck;
bool bBotFollowAnim;
short sBotFollowAnimID;
bool bUIF_DM_Farmer;
bool bBotSun;
//advanced
bool bCopyHealth;
bool bCopyArmor;
bool bCopyWeapon;
bool bCopyChat;
bool bCopyRPC;
//temp
bool bBotSilent;
float fMultiplierSilent;
float fSelfPos[3];
float fSelfSpeed[3];
bool bStorm;
};
class CBotFuncs
{
public:
CBotFuncs();
~CBotFuncs();
uint16_t Client_in_Queue;
uint16_t N_Client_to_Add_In_Queue;
uint16_t uiIsBot[SAMP_MAX_PLAYERS][2];
stBotSettings BotSettings;
/*uhmm maybe is better
to use the vector*/
stBot BotClient[256];
void OL_Add_Bot_Queue();
bool OL_Add_Bot();
bool OL_Add_Bot_Nick(char *nick);
void OL_Delete_Bot();
void OL_Spawn_Bot(uint8_t ClientID);
void OL_Random_Spawn_Bot(uint8_t ClientID);
void OL_Bot_Die();
void OL_Bot_Process();
//RPC
bool OL_Bot_SendRPC(uint8_t ClientID, int iRPCID, BitStream Params, PacketPriority Priority, PacketReliability Reliability, char OrderingChannel, bool ShiftTimestamp);
void OL_Bot_ReceiveRPC(RakClientInterface ** pRakClient);
private:
//RPC
void OL_Packet_ConnectionAccepted(Packet *packet, uint8_t ClientID);
void OL_Packet_Auth_Key(Packet *packet, uint8_t ClientID);
void OL_Packet_AimSync(Packet *packet, uint8_t ClientID);
void OL_Packet_BulletSync(Packet *packet, uint8_t ClientID);
void OL_Packet_PlayerSync(Packet *packet, uint8_t ClientID);
void OL_Bot_Follow();
void OL_Bot_Follow_OnFoot(bool bFake);
void OL_Bot_Follow_Passenger(bool bFake);
void OL_Bot_Silent();
void OL_Bot_Shooter();
void OL_Bot_Attacker();
void OL_Bot_Elevator();
void OL_Bot_Slapper();
void OL_Bot_Fuck();
void OL_Bot_Pick();
void OL_Bot_Follow_Anim();
void OL_Bot_Sun();
void OL_Bot_Door_Storm();
void OL_Bot_Storm();
void OL_UIF_DM_Farmer();
void OL_Bot_Send_OnFoot(const float *fPos, const float *fSpeed, bool bFake, uint16_t sSurfingVehicleID = 0, float *fSurfPos = nullptr);
void OL_Bot_Send_Passenger(bool bFake);
};
void OL_Bot_SetHealth(RPCParameters *params);
void OL_Bot_SetArmour(RPCParameters *params);