-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathsamp.h
75 lines (65 loc) · 1.83 KB
/
samp.h
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
#ifndef __SAMP_H
#define __SAMP_H
#include <stdint.h>
#include <string.h>
#include <stdio.h>
#include <sampnet/sampnet.h>
#include <sampnet/samp_netencr.h>
#include <sampnet/samprpc.h>
#include <linux/input.h>
#define SAMP_VERSION "0.3.7"
// SAMP LIMITS
#define MAX_PLAYERS 1004
#define MAX_VEHICLES 2000
#define MAX_OBJECTS 1000
#define MAX_MAPICONS 100
#define MAX_PICKUPS 4096
#define MAX_PLAYER_NAME 24
#define ATOMIC_MODELS_INFO 20000
#define ATOMIC_PEDMODELS_INFO 315
#define MAX_VEHICLES_IN_POOL 300
#define RAKSAMP_CLIENT
#define NETCODE_CONNCOOKIELULZ 0x6969
#define NETGAME_VERSION 4057
#define AUTH_BS "39FB2DEEDB49ACFB8D4EECE6953D2507988CCCF4410"
extern uintptr_t pGTASA;
extern void* hGTASA;
void Redirect(uintptr_t addr, uintptr_t to);
void PatchTheGame();
void HookFunctions();
void HookFunctionsLate();
void DoPoolsPatches();
void WorkWithPools();
void InitializeSAMP();
void InitializePadHooks();
// Just because it uses less instructions ¯\_(ツ)_/¯
inline size_t __strlen(const char *str)
{
const char* s = str;
while(*s) ++s;
return (s - str);
}
#pragma pack(push, 1)
struct VehicleData
{
unsigned short VehicleID;
int iVehicleType;
CVector vecPos;
float fRotation;
uint8_t aColor1;
uint8_t aColor2;
float fHealth;
uint8_t byteInterior;
uint32_t dwDoorDamageStatus;
uint32_t dwPanelDamageStatus;
uint8_t byteLightDamageStatus;
uint8_t byteTireDamageStatus;
uint8_t byteAddSiren;
uint8_t byteModSlots[14];
uint8_t bytePaintjob;
uint32_t cColor1;
uint32_t cColor2;
uint8_t byteUnk;
};
#pragma pack(pop)
#endif // __SAMP_H