mirror of
https://github.com/dashr9230/SA-MP.git
synced 2024-12-22 14:37:29 +08:00
[bot] Implement/match n_GetPlayerHealth(...)
* Implement/match `CNetGame::GetPlayerHealth(...)`
This commit is contained in:
parent
61f5b2ffc4
commit
94ab5b9437
33
README.md
33
README.md
@ -1,33 +0,0 @@
|
||||
# San Andreas Multiplayer
|
||||
This is an ongoing matching decompilation of the 0.3.7 version of San Andreas Multiplayer.
|
||||
## Status
|
||||
- [ ] **samp.exe** - Mostly decompiled. Not matching due to issues with PACKAGEINFO.
|
||||
- [ ] **samp.dll** - Incomplete.
|
||||
- [x] **rcon.exe** - Fully decompiled.
|
||||
- [x] **samp_debug.exe** - Fully decompiled.
|
||||
- [ ] **samp-server.exe** - Incomplete.
|
||||
- [ ] **samp03svr** - Incomplete.
|
||||
- [x] **announce.exe** - Fully decompiled.
|
||||
- [ ] **announce** - System and the GCC version not have been determined.
|
||||
- [ ] **samp-npc.exe** - Incomplete.
|
||||
- [ ] **samp-npc** - Incomplete.
|
||||
|
||||
## Building
|
||||
### Requirements
|
||||
- A clean virtual machine with Windows XP installed
|
||||
- Microsoft Visual C++ 6.0
|
||||
- Microsoft Visual C++ 6.0 (Service Pack 6)
|
||||
- Microsoft Visual Studio .NET 2003
|
||||
- Borland Delphi 7
|
||||
|
||||
Note(s):
|
||||
- Make a backup of your Microsoft Visual C++ 6.0 installation before you install Service Pack 6 update. This update will overwrite your compiler binaries and alter your building results. You can find your Visual C++ 6.0 installation at `C:\Program Files\Microsoft Visual Studio`.
|
||||
|
||||
### Compiling
|
||||
#### Windows
|
||||
TODO
|
||||
#### Linux
|
||||
TODO
|
||||
|
||||
## Contributing
|
||||
If you are interested in this decompilation project, feel free to create a pull request.
|
@ -142,6 +142,29 @@ BYTE CNetGame::GetPlayerArmedWeapon(PLAYERID playerId)
|
||||
}
|
||||
}
|
||||
|
||||
BYTE CNetGame::GetPlayerHealth(PLAYERID playerId)
|
||||
{
|
||||
if(playerId >= MAX_PLAYERS) return 0;
|
||||
if(bPlayerSlotState[playerId] == FALSE) return 0;
|
||||
|
||||
if(bytePlayerState[playerId] == PLAYER_STATE_ONFOOT)
|
||||
{
|
||||
return unnamed_3[playerId].byteHealth;
|
||||
}
|
||||
else if(bytePlayerState[playerId] == PLAYER_STATE_DRIVER)
|
||||
{
|
||||
return unnamed_4[playerId].bytePlayerHealth;
|
||||
}
|
||||
else if(bytePlayerState[playerId] == PLAYER_STATE_PASSENGER)
|
||||
{
|
||||
return unnamed_5[playerId].bytePlayerHealth;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------
|
||||
// MATCH
|
||||
BOOL CNetGame::IsPlayerAdded(PLAYERID playerId)
|
||||
|
@ -111,6 +111,7 @@ public:
|
||||
BOOL GetPlayerPos(PLAYERID playerId, PVECTOR Vector);
|
||||
VEHICLEID GetPlayerVehicleID(PLAYERID playerId);
|
||||
BYTE GetPlayerArmedWeapon(PLAYERID playerId);
|
||||
BYTE GetPlayerHealth(PLAYERID playerId);
|
||||
|
||||
void StopRecordingPlayback();
|
||||
void PauseRecordingPlayback();
|
||||
|
@ -186,7 +186,10 @@ static cell AMX_NATIVE_CALL n_GetPlayerArmedWeapon(AMX *amx, cell *params)
|
||||
// native GetPlayerHealth(playerid)
|
||||
static cell AMX_NATIVE_CALL n_GetPlayerHealth(AMX *amx, cell *params)
|
||||
{
|
||||
// TODO: n_GetPlayerHealth
|
||||
if(pNetGame->GetPlayerPool()->GetSlotState((PLAYERID)params[1]))
|
||||
{
|
||||
return (cell)pNetGame->GetPlayerHealth((PLAYERID)params[1]);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user