mirror of
https://github.com/dashr9230/SA-MP.git
synced 2024-12-23 06:57:31 +08:00
[bot] Implement/match n_GetPlayerKeys(...)
* Implement/match `CNetGame::GetPlayerKeys(...)`
This commit is contained in:
parent
71204c1c49
commit
148efc2fa6
@ -188,6 +188,38 @@ BYTE CNetGame::GetPlayerArmour(PLAYERID playerId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL CNetGame::GetPlayerKeys(PLAYERID playerId, WORD *udAnalog, WORD *lrAnalog, WORD *wKeys)
|
||||||
|
{
|
||||||
|
if(playerId >= MAX_PLAYERS) return FALSE;
|
||||||
|
if(bPlayerSlotState[playerId] == FALSE) return FALSE;
|
||||||
|
|
||||||
|
if(bytePlayerState[playerId] == PLAYER_STATE_ONFOOT)
|
||||||
|
{
|
||||||
|
*udAnalog = unnamed_3[playerId].udAnalog;
|
||||||
|
*lrAnalog = unnamed_3[playerId].lrAnalog;
|
||||||
|
*wKeys = unnamed_3[playerId].wKeys;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else if(bytePlayerState[playerId] == PLAYER_STATE_DRIVER)
|
||||||
|
{
|
||||||
|
*udAnalog = unnamed_4[playerId].udAnalog;
|
||||||
|
*lrAnalog = unnamed_4[playerId].lrAnalog;
|
||||||
|
*wKeys = unnamed_4[playerId].wKeys;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else if(bytePlayerState[playerId] == PLAYER_STATE_PASSENGER)
|
||||||
|
{
|
||||||
|
*udAnalog = unnamed_5[playerId].udAnalog;
|
||||||
|
*lrAnalog = unnamed_5[playerId].lrAnalog;
|
||||||
|
*wKeys = unnamed_5[playerId].wKeys;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------
|
//----------------------------------------------------
|
||||||
// MATCH
|
// MATCH
|
||||||
BOOL CNetGame::IsPlayerAdded(PLAYERID playerId)
|
BOOL CNetGame::IsPlayerAdded(PLAYERID playerId)
|
||||||
|
@ -113,6 +113,7 @@ public:
|
|||||||
BYTE GetPlayerArmedWeapon(PLAYERID playerId);
|
BYTE GetPlayerArmedWeapon(PLAYERID playerId);
|
||||||
BYTE GetPlayerHealth(PLAYERID playerId);
|
BYTE GetPlayerHealth(PLAYERID playerId);
|
||||||
BYTE GetPlayerArmour(PLAYERID playerId);
|
BYTE GetPlayerArmour(PLAYERID playerId);
|
||||||
|
BOOL GetPlayerKeys(PLAYERID playerId, WORD *udAnalog, WORD *lrAnalog, WORD *wKeys);
|
||||||
BOOL IsVehicleAdded(VEHICLEID VehicleID);
|
BOOL IsVehicleAdded(VEHICLEID VehicleID);
|
||||||
|
|
||||||
void StopRecordingPlayback();
|
void StopRecordingPlayback();
|
||||||
|
@ -231,7 +231,21 @@ static cell AMX_NATIVE_CALL n_IsVehicleStreamedIn(AMX *amx, cell *params)
|
|||||||
// native GetPlayerKeys(playerid, &keys, &updown, &leftright)
|
// native GetPlayerKeys(playerid, &keys, &updown, &leftright)
|
||||||
static cell AMX_NATIVE_CALL n_GetPlayerKeys(AMX *amx, cell *params)
|
static cell AMX_NATIVE_CALL n_GetPlayerKeys(AMX *amx, cell *params)
|
||||||
{
|
{
|
||||||
// TODO: n_GetPlayerKeys
|
CPlayerPool *pPlayerPool = pNetGame->GetPlayerPool();
|
||||||
|
WORD wKeys=0, udAnalog=0, lrAnalog=0;
|
||||||
|
|
||||||
|
if(pPlayerPool->GetSlotState((PLAYERID)params[1]) &&
|
||||||
|
pNetGame->GetPlayerKeys((PLAYERID)params[1], &udAnalog, &lrAnalog, &wKeys))
|
||||||
|
{
|
||||||
|
cell* cptr;
|
||||||
|
amx_GetAddr(amx, params[2], &cptr);
|
||||||
|
*cptr = (cell)wKeys;
|
||||||
|
amx_GetAddr(amx, params[3], &cptr);
|
||||||
|
*cptr = (short)udAnalog;
|
||||||
|
amx_GetAddr(amx, params[4], &cptr);
|
||||||
|
*cptr = (short)lrAnalog;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user