mirror of
https://github.com/dashr9230/SA-MP.git
synced 2026-10-10 03:33:04 +08:00
[server] Implement/match n_IsPlayerInVehicle(...)
This commit is contained in:
+16
-2
@@ -2,6 +2,17 @@
|
||||
#ifndef SAMPSRV_PLAYER_H
|
||||
#define SAMPSRV_PLAYER_H
|
||||
|
||||
#define PLAYER_STATE_NONE 0
|
||||
#define PLAYER_STATE_ONFOOT 1
|
||||
#define PLAYER_STATE_DRIVER 2
|
||||
#define PLAYER_STATE_PASSENGER 3
|
||||
#define PLAYER_STATE_EXIT_VEHICLE 4
|
||||
#define PLAYER_STATE_ENTER_VEHICLE_DRIVER 5
|
||||
#define PLAYER_STATE_ENTER_VEHICLE_PASSENGER 6
|
||||
#define PLAYER_STATE_WASTED 7
|
||||
#define PLAYER_STATE_SPAWNED 8
|
||||
#define PLAYER_STATE_SPECTATING 9
|
||||
|
||||
#pragma pack(1)
|
||||
typedef struct _PLAYER_SPAWN_INFO
|
||||
{
|
||||
@@ -147,7 +158,7 @@ public:
|
||||
|
||||
char _pad2BA5[4];
|
||||
|
||||
char field_2BA9;
|
||||
BYTE m_byteState;
|
||||
|
||||
VECTOR m_vecCheckpoint;
|
||||
float m_fCheckpointSize;
|
||||
@@ -167,7 +178,7 @@ public:
|
||||
char field_2C2F;
|
||||
char field_2C30;
|
||||
char field_2C31;
|
||||
short field_2C32;
|
||||
VEHICLEID m_VehicleID;
|
||||
int field_2C34;
|
||||
BOOL m_bCheckpointEnabled;
|
||||
BOOL m_bRaceCheckpointEnabled;
|
||||
@@ -199,6 +210,9 @@ public:
|
||||
|
||||
int field_2CDA;
|
||||
|
||||
|
||||
BYTE GetState() { return m_byteState; };
|
||||
|
||||
void Say(unsigned char * szText, BYTE byteTextLength);
|
||||
|
||||
void SetSpawnInfo(PLAYER_SPAWN_INFO *pSpawn);
|
||||
|
||||
+12
-1
@@ -977,9 +977,20 @@ static cell AMX_NATIVE_CALL n_RemovePlayerFromVehicle(AMX *amx, cell *params)
|
||||
return 0;
|
||||
}
|
||||
|
||||
// native IsPlayerInVehicle(playerid, vehicleid)
|
||||
static cell AMX_NATIVE_CALL n_IsPlayerInVehicle(AMX *amx, cell *params)
|
||||
{
|
||||
// TODO: IsPlayerInVehicle
|
||||
CPlayer* pPlayer = pNetGame->GetPlayerPool()->GetAt((PLAYERID)params[1]);
|
||||
if (!pPlayer) return 0;
|
||||
BYTE byteState = pPlayer->GetState();
|
||||
if ((byteState == PLAYER_STATE_DRIVER) || (byteState == PLAYER_STATE_PASSENGER))
|
||||
{
|
||||
if (pPlayer->m_VehicleID == params[2])
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user