Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SA-MP Standard Library Item List #3

Closed
ghost opened this issue Jun 29, 2021 · 18 comments
Closed

SA-MP Standard Library Item List #3

ghost opened this issue Jun 29, 2021 · 18 comments

Comments

@ghost
Copy link

ghost commented Jun 29, 2021

SA-MP Standard Library Tracking List

List of natives and publics (callbacks) specified on samp-stdlib.

Each entry can have one of the following status:

  • U: unassigned
  • A: assigned w/ link to issue (not worked on yet)
  • IP: in progress (assigned, currently worked on)
  • C: complete ("production ready")

Feel free to update as you work along them, and tag in the respective issue to notify of status changes and any other important stuff relevant to that item.

Natives

Generated by grep -Eoh '^\s*native ?([^\(]*)\(.*\);' *.inc | tr 'Float:[X-Z]' 'Float:[x-z]' | sed -E 's/\t*native ([a-zA-Z0-9]+:)?//' | sort | uniq | cut -d"(" -f1 | xargs -n 1 sh -c 'echo "| $0 | U | N/A |"' on samp-stdlib on this commit.
If you want the data only, then run the command without xargs.

name status issue/assignee
AddCharModel U N/A
AddMenuItem U N/A
AddPlayerClass U N/A
AddPlayerClassEx U N/A
AddSimpleModel U N/A
AddSimpleModelTimed U N/A
AddStaticPickup U N/A
AddStaticVehicle U N/A
AddStaticVehicleEx U N/A
AddVehicleComponent U N/A
AllowAdminTeleport U N/A
AllowInteriorWeapons U N/A
AllowPlayerTeleport U N/A
ApplyActorAnimation U N/A
ApplyAnimation U N/A
Attach3DTextLabelToPlayer U N/A
Attach3DTextLabelToVehicle U N/A
AttachCameraToObject U N/A
AttachCameraToPlayerObject U N/A
AttachObjectToObject U N/A
AttachObjectToPlayer U N/A
AttachObjectToVehicle U N/A
AttachPlayerObjectToPlayer U N/A
AttachPlayerObjectToVehicle U N/A
AttachTrailerToVehicle U N/A
Ban U N/A
BanEx U N/A
BlockIpAddress U N/A
CallLocalFunction U N/A
CallRemoteFunction U N/A
CancelEdit U N/A
CancelSelectTextDraw U N/A
ChangeVehicleColor U N/A
ChangeVehiclePaintjob U N/A
ClearActorAnimations U N/A
ClearAnimations U N/A
ConnectNPC U N/A
Create3DTextLabel U N/A
CreateActor U N/A
CreateExplosion C N/A
CreateExplosionForPlayer U N/A
CreateMenu U N/A
CreateObject U N/A
CreatePickup U N/A
CreatePlayer3DTextLabel U N/A
CreatePlayerObject U N/A
CreatePlayerTextDraw U N/A
CreateVehicle U N/A
Delete3DTextLabel U N/A
DeletePVar U N/A
DeletePlayer3DTextLabel U N/A
DeleteSVar U N/A
DestroyActor U N/A
DestroyMenu U N/A
DestroyObject U N/A
DestroyPickup U N/A
DestroyPlayerObject U N/A
DestroyVehicle U N/A
DetachTrailerFromVehicle U N/A
DisableInteriorEnterExits U N/A
DisableMenu U N/A
DisableMenuRow U N/A
DisableNameTagLOS U N/A
DisablePlayerCheckpoint U N/A
DisablePlayerRaceCheckpoint U N/A
DisableRemoteVehicleCollisions U N/A
EditAttachedObject U N/A
EditObject U N/A
EditPlayerObject U N/A
EnablePlayerCameraTarget U N/A
EnableStuntBonusForAll U N/A
EnableStuntBonusForPlayer U N/A
EnableTirePopping U N/A
EnableVehicleFriendlyFire U N/A
EnablezoneNames U N/A
FindModelFileNameFromCRC U N/A
FindTextureFileNameFromCRC U N/A
ForceClassSelection U N/A
GameModeExit U N/A
GameTextForAll U N/A
GameTextForPlayer U N/A
GangzoneCreate U N/A
GangzoneDestroy U N/A
GangzoneFlashForAll U N/A
GangzoneFlashForPlayer U N/A
GangzoneHideForAll U N/A
GangzoneHideForPlayer U N/A
GangzoneShowForAll U N/A
GangzoneShowForPlayer U N/A
GangzoneStopFlashForAll U N/A
GangzoneStopFlashForPlayer U N/A
GetActorFacingAngle U N/A
GetActorHealth U N/A
GetActorPoolSize U N/A
GetActorPos U N/A
GetActorVirtualWorld U N/A
GetAnimationName U N/A
GetConsoleVarAsBool U N/A
GetConsoleVarAsInt U N/A
GetConsoleVarAsString U N/A
GetDistanceFromMeToPoint U N/A
GetGravity U N/A
GetMaxPlayers U N/A
GetMyFacingAngle U N/A
GetMyPos U N/A
GetNetworkStats U N/A
GetObjectModel U N/A
GetObjectPos U N/A
GetObjectRot U N/A
GetPVarFloat U N/A
GetPVarInt U N/A
GetPVarNameAtIndex U N/A
GetPVarString U N/A
GetPVarType U N/A
GetPVarsUpperIndex U N/A
GetPlayerAmmo U N/A
GetPlayerAnimationIndex U N/A
GetPlayerArmedWeapon U N/A
GetPlayerArmour(playerid) U N/A
GetPlayerArmour(playerid, &Float:armour) U N/A
GetPlayerCameraAspectRatio U N/A
GetPlayerCameraFrontVector U N/A
GetPlayerCameraMode U N/A
GetPlayerCameraPos U N/A
GetPlayerCameraTargetActor U N/A
GetPlayerCameraTargetObject U N/A
GetPlayerCameraTargetPlayer U N/A
GetPlayerCameraTargetVehicle U N/A
GetPlayerCamerazoom U N/A
GetPlayerColor U N/A
GetPlayerCustomSkin U N/A
GetPlayerDistanceFromPoint U N/A
GetPlayerDrunkLevel U N/A
GetPlayerFacingAngle U N/A
GetPlayerFightingStyle U N/A
GetPlayerHealth(playerid) U N/A
GetPlayerHealth(playerid, &Float:health) U N/A
GetPlayerInterior U N/A
GetPlayerIp U N/A
GetPlayerKeys U N/A
GetPlayerLastShotVectors U N/A
GetPlayerMenu U N/A
GetPlayerMoney U N/A
GetPlayerName U N/A
GetPlayerNetworkStats U N/A
GetPlayerObjectModel U N/A
GetPlayerObjectPos U N/A
GetPlayerObjectRot U N/A
GetPlayerPing U N/A
GetPlayerPoolSize U N/A
GetPlayerPos U N/A
GetPlayerScore U N/A
GetPlayerSkin U N/A
GetPlayerSpecialAction U N/A
GetPlayerState U N/A
GetPlayerSurfingObjectID U N/A
GetPlayerSurfingVehicleID U N/A
GetPlayerTargetActor U N/A
GetPlayerTargetPlayer U N/A
GetPlayerTeam U N/A
GetPlayerTime U N/A
GetPlayerVehicleID U N/A
GetPlayerVehicleSeat U N/A
GetPlayerVelocity U N/A
GetPlayerVersion U N/A
GetPlayerVirtualWorld U N/A
GetPlayerWantedLevel U N/A
GetPlayerWeapon U N/A
GetPlayerWeaponData U N/A
GetPlayerWeaponState U N/A
GetSVarFloat U N/A
GetSVarInt U N/A
GetSVarNameAtIndex U N/A
GetSVarString U N/A
GetSVarType U N/A
GetSVarsUpperIndex U N/A
GetServerTickRate U N/A
GetServerVarAsBool U N/A
GetServerVarAsInt U N/A
GetServerVarAsString U N/A
GetTickCount U N/A
GetVehicleComponentInSlot U N/A
GetVehicleComponentType U N/A
GetVehicleDamageStatus U N/A
GetVehicleDistanceFromPoint U N/A
GetVehicleHealth U N/A
GetVehicleModel U N/A
GetVehicleModelInfo U N/A
GetVehicleParamsCarDoors U N/A
GetVehicleParamsCarWindows U N/A
GetVehicleParamsEx U N/A
GetVehicleParamsSirenState U N/A
GetVehiclePoolSize U N/A
GetVehiclePos U N/A
GetVehicleRotationQuat U N/A
GetVehicleTrailer U N/A
GetVehicleVelocity U N/A
GetVehicleVirtualWorld U N/A
GetVehiclezAngle U N/A
GetWeaponName U N/A
GivePlayerMoney U N/A
GivePlayerWeapon U N/A
HTTP U N/A
HideMenuForPlayer U N/A
InterpolateCameraLookAt U N/A
InterpolateCameraPos U N/A
IsActorInvulnerable U N/A
IsActorStreamedIn U N/A
IsObjectMoving U N/A
IsPlayerAdmin U N/A
IsPlayerAttachedObjectSlotUsed U N/A
IsPlayerConnected U N/A
IsPlayerInAnyVehicle U N/A
IsPlayerInCheckpoint U N/A
IsPlayerInRaceCheckpoint U N/A
IsPlayerInRangeOfPoint U N/A
IsPlayerInVehicle U N/A
IsPlayerNPC U N/A
IsPlayerObjectMoving U N/A
IsPlayerStreamedIn(playerid) U N/A
IsPlayerStreamedIn(playerid, forplayerid) U N/A
IsTrailerAttachedToVehicle U N/A
IsValidActor U N/A
IsValidMenu U N/A
IsValidObject U N/A
IsValidPlayerObject U N/A
IsValidVehicle U N/A
IsVehicleStreamedIn(vehicleid) U N/A
IsVehicleStreamedIn(vehicleid, forplayerid) U N/A
Kick U N/A
KillTimer U N/A
LimitGlobalChatRadius U N/A
LimitPlayerMarkerRadius U N/A
LinkVehicleToInterior U N/A
ManualVehicleEngineAndLights U N/A
MoveObject U N/A
MovePlayerObject U N/A
NetStats_BytesReceived U N/A
NetStats_BytesSent U N/A
NetStats_ConnectionStatus U N/A
NetStats_GetConnectedTime U N/A
NetStats_GetIpPort U N/A
NetStats_MessagesReceived U N/A
NetStats_MessagesRecvPerSecond U N/A
NetStats_MessagesSent U N/A
NetStats_PacketLossPercent U N/A
PauseRecordingPlayback U N/A
PlayAudioStreamForPlayer C N/A
PlayCrimeReportForPlayer U N/A
PlayerPlaySound U N/A
PlayerSpectatePlayer U N/A
PlayerSpectateVehicle U N/A
PlayerTextDrawAlignment U N/A
PlayerTextDrawBackgroundColor U N/A
PlayerTextDrawBoxColor U N/A
PlayerTextDrawColor U N/A
PlayerTextDrawDestroy U N/A
PlayerTextDrawFont U N/A
PlayerTextDrawHide U N/A
PlayerTextDrawLetterSize U N/A
PlayerTextDrawSetOutline U N/A
PlayerTextDrawSetPreviewModel U N/A
PlayerTextDrawSetPreviewRot U N/A
PlayerTextDrawSetPreviewVehCol U N/A
PlayerTextDrawSetProportional U N/A
PlayerTextDrawSetSelectable U N/A
PlayerTextDrawSetShadow U N/A
PlayerTextDrawSetString U N/A
PlayerTextDrawShow U N/A
PlayerTextDrawTextSize U N/A
PlayerTextDrawUseBox U N/A
PutPlayerInVehicle U N/A
RedirectDownload U N/A
RemoveBuildingForPlayer U N/A
RemovePlayerAttachedObject U N/A
RemovePlayerFromVehicle U N/A
RemovePlayerMapIcon U N/A
RemoveVehicleComponent U N/A
RepairVehicle U N/A
ResetPlayerMoney U N/A
ResetPlayerWeapons U N/A
ResumeRecordingPlayback U N/A
SHA256_PassHash U N/A
SelectObject U N/A
SelectTextDraw U N/A
SendChat U N/A
SendClientCheck U N/A
SendClientMessage U N/A
SendClientMessageToAll U N/A
SendCommand C N/A
SendDeathMessage U N/A
SendDeathMessageToPlayer U N/A
SendPlayerMessageToAll U N/A
SendPlayerMessageToPlayer U N/A
SendRconCommand U N/A
SetActorFacingAngle U N/A
SetActorHealth U N/A
SetActorInvulnerable U N/A
SetActorPos U N/A
SetActorVirtualWorld U N/A
SetCameraBehindPlayer C N/A
SetDeathDropAmount U N/A
SetGameModeText U N/A
SetGravity U N/A
SetMenuColumnHeader U N/A
SetMyFacingAngle U N/A
SetMyPos U N/A
SetNameTagDrawDistance U N/A
SetObjectMaterial U N/A
SetObjectMaterialText U N/A
SetObjectNoCameraCol U N/A
SetObjectPos U N/A
SetObjectRot U N/A
SetObjectsDefaultCameraCol U N/A
SetPVarFloat U N/A
SetPVarInt U N/A
SetPVarString U N/A
SetPlayerAmmo U N/A
SetPlayerArmedWeapon U N/A
SetPlayerArmour U N/A
SetPlayerAttachedObject U N/A
SetPlayerCameraLookAt C N/A
SetPlayerCameraPos C N/A
SetPlayerChatBubble U N/A
SetPlayerCheckpoint U N/A
SetPlayerColor U N/A
SetPlayerDrunkLevel U N/A
SetPlayerFacingAngle U N/A
SetPlayerFightingStyle U N/A
SetPlayerHealth U N/A
SetPlayerInterior U N/A
SetPlayerMapIcon U N/A
SetPlayerMarkerForPlayer U N/A
SetPlayerName U N/A
SetPlayerObjectMaterial U N/A
SetPlayerObjectMaterialText U N/A
SetPlayerObjectNoCameraCol U N/A
SetPlayerObjectPos U N/A
SetPlayerObjectRot U N/A
SetPlayerPos U N/A
SetPlayerPosFindz U N/A
SetPlayerRaceCheckpoint U N/A
SetPlayerScore U N/A
SetPlayerShopName U N/A
SetPlayerSkillLevel U N/A
SetPlayerSkin U N/A
SetPlayerSpecialAction U N/A
SetPlayerTeam U N/A
SetPlayerTime U N/A
SetPlayerVelocity U N/A
SetPlayerVirtualWorld U N/A
SetPlayerWantedLevel U N/A
SetPlayerWeather U N/A
SetPlayerWorldBounds U N/A
SetSVarFloat U N/A
SetSVarInt U N/A
SetSVarString U N/A
SetSpawnInfo U N/A
SetTeamCount U N/A
SetTimer U N/A
SetTimerEx U N/A
SetVehicleAngularVelocity U N/A
SetVehicleHealth U N/A
SetVehicleNumberPlate U N/A
SetVehicleParamsCarDoors U N/A
SetVehicleParamsCarWindows U N/A
SetVehicleParamsEx U N/A
SetVehicleParamsForPlayer U N/A
SetVehiclePos U N/A
SetVehicleToRespawn U N/A
SetVehicleVelocity U N/A
SetVehicleVirtualWorld U N/A
SetVehiclezAngle U N/A
SetWeather C N/A
SetWorldTime U N/A
ShowMenuForPlayer U N/A
ShowNameTags U N/A
ShowPlayerDialog U N/A
ShowPlayerMarkers U N/A
ShowPlayerNameTagForPlayer U N/A
SpawnPlayer U N/A
StartRecordingPlayback U N/A
StartRecordingPlayerData U N/A
StopAudioStreamForPlayer C N/A
StopObject U N/A
StopPlayerObject U N/A
StopRecordingPlayback U N/A
StopRecordingPlayerData U N/A
TextDrawAlignment U N/A
TextDrawBackgroundColor U N/A
TextDrawBoxColor U N/A
TextDrawColor U N/A
TextDrawCreate U N/A
TextDrawDestroy U N/A
TextDrawFont U N/A
TextDrawHideForAll U N/A
TextDrawHideForPlayer U N/A
TextDrawLetterSize U N/A
TextDrawSetOutline U N/A
TextDrawSetPreviewModel U N/A
TextDrawSetPreviewRot U N/A
TextDrawSetPreviewVehCol U N/A
TextDrawSetProportional U N/A
TextDrawSetSelectable U N/A
TextDrawSetShadow U N/A
TextDrawSetString U N/A
TextDrawShowForAll U N/A
TextDrawShowForPlayer U N/A
TextDrawTextSize U N/A
TextDrawUseBox U N/A
TogglePlayerClock U N/A
TogglePlayerControllable U N/A
TogglePlayerSpectating U N/A
UnBlockIpAddress U N/A
Update3DTextLabelText U N/A
UpdatePlayer3DTextLabelText U N/A
UpdateVehicleDamageStatus U N/A
UsePlayerPedAnims U N/A
VectorSize U N/A
acos C N/A
asin C N/A
atan C N/A
atan2 C N/A
db_close C BigETI
db_debug_openfiles C BigETI
db_debug_openresults C BigETI
db_field_name C BigETI
db_free_result C BigETI
db_get_field C BigETI
db_get_field_assoc C BigETI
db_get_field_assoc_float C BigETI
db_get_field_assoc_int C BigETI
db_get_field_float C BigETI
db_get_field_int C BigETI
db_get_mem_handle C BigETI
db_get_result_mem_handle C BigETI
db_next_row C BigETI
db_num_fields C BigETI
db_num_rows C BigETI
db_open C BigETI
db_query C BigETI
format U N/A
gpci U N/A
print C N/A
printf C N/A

Callbacks

Generated by grep -Eoh 'forward ?([^\(]*)\(.*' *.inc | sort | uniq | cut -d" " -f2 | cut -d"(" -f1 | xargs -n 1 sh -c 'echo "| $0 | U | N/A |"' on samp-stdlib on this commit.
If you want the data only, then run the command without xargs.

name status issue/assignee
OnActorStreamIn U N/A
OnActorStreamOut U N/A
OnClientCheckResponse U N/A
OnClientMessage U N/A
OnDialogResponse U N/A
OnEnterExitModShop U N/A
OnFilterScriptExit U N/A
OnFilterScriptInit U N/A
OnGameModeExit U N/A
OnGameModeInit U N/A
OnIncomingConnection U N/A
OnNPCConnect U N/A
OnNPCDisconnect U N/A
OnNPCEnterVehicle U N/A
OnNPCExitVehicle U N/A
OnNPCModeExit U N/A
OnNPCModeInit U N/A
OnNPCSpawn U N/A
OnObjectMoved U N/A
OnPlayerClickMap U N/A
OnPlayerClickPlayer U N/A
OnPlayerClickPlayerTextDraw U N/A
OnPlayerClickTextDraw U N/A
OnPlayerCommandText C N/A
OnPlayerConnect U N/A
OnPlayerDeath(playerid) U N/A
OnPlayerDeath(playerid, killerid, reason) U N/A
OnPlayerDisconnect U N/A
OnPlayerEditAttachedObject U N/A
OnPlayerEditObject U N/A
OnPlayerEnterCheckpoint U N/A
OnPlayerEnterRaceCheckpoint U N/A
OnPlayerEnterVehicle U N/A
OnPlayerExitVehicle U N/A
OnPlayerExitedMenu U N/A
OnPlayerFinishedDownloading U N/A
OnPlayerGiveDamage U N/A
OnPlayerGiveDamageActor U N/A
OnPlayerInteriorChange U N/A
OnPlayerKeyStateChange U N/A
OnPlayerLeaveCheckpoint U N/A
OnPlayerLeaveRaceCheckpoint U N/A
OnPlayerObjectMoved U N/A
OnPlayerPickUpPickup U N/A
OnPlayerRequestClass U N/A
OnPlayerRequestDownload U N/A
OnPlayerRequestSpawn U N/A
OnPlayerSelectObject U N/A
OnPlayerSelectedMenuRow U N/A
OnPlayerSpawn U N/A
OnPlayerStateChange U N/A
OnPlayerStreamIn(playerid) U N/A
OnPlayerStreamIn(playerid, forplayerid) U N/A
OnPlayerStreamOut(playerid) U N/A
OnPlayerStreamOut(playerid, forplayerid) U N/A
OnPlayerTakeDamage U N/A
OnPlayerText U N/A
OnPlayerUpdate U N/A
OnPlayerWeaponShot U N/A
OnRconCommand U N/A
OnRconLoginAttempt U N/A
OnRecordingPlaybackEnd U N/A
OnScriptCash U N/A
OnTrailerUpdate U N/A
OnUnoccupiedVehicleUpdate U N/A
OnVehicleDamageStatusUpdate U N/A
OnVehicleDeath U N/A
OnVehicleMod U N/A
OnVehiclePaintjob U N/A
OnVehicleRespray U N/A
OnVehicleSirenStateChange U N/A
OnVehicleSpawn U N/A
OnVehicleStreamIn(vehicleid) U N/A
OnVehicleStreamIn(vehicleid, forplayerid) U N/A
OnVehicleStreamOut(vehicleid) U N/A
OnVehicleStreamOut(vehicleid, forplayerid) U N/A
@Cheaterman
Copy link
Contributor

Tested (with one client) and working on (currently) pawn_natives_and_events branch:

Natives:

  • SendClientMessage
  • SetPlayerCameraPos
  • SetPlayerCameraLookAt
  • SetPlayerDrunkLevel
  • SetPlayerInterior
  • SetPlayerPos
  • SetPlayerWantedLevel
  • SetPlayerWeather
  • SetPlayerSkin
  • SetPlayerShopName
  • GivePlayerMoney
  • SetCameraBehindPlayer
  • GetPlayerPos
  • CreateExplosion

Events:

  • OnPlayerCommandText

@Hual Hual added this to the Initial server release milestone Aug 2, 2021
@Southclaws
Copy link
Collaborator

Revive nativegen for automatically building include files? If so, natives in C++ would probably need some kind of pattern (I'm guessing we're not using pawn-natives)

@Alasnkz
Copy link
Member

Alasnkz commented Aug 2, 2021

We are actually

@Southclaws
Copy link
Collaborator

holy based

@Southclaws
Copy link
Collaborator

I'll update nativegen to output stuff from this then, and I probably won't bother with the compat macros

@Alasnkz
Copy link
Member

Alasnkz commented Aug 2, 2021

Tbh we might not need it if we decide on just using the normal names and move to the new ones later if it matters that much.

@Southclaws
Copy link
Collaborator

Would still be nice to have proper organised libraries though, and by generating them it keeps the source of truth simple in one place.

@Alasnkz
Copy link
Member

Alasnkz commented Aug 2, 2021

you got mentioned but you dislike discord apparently so, what about using native gen to actually become what its name suggests, generate the native functions for impl in omp? writing 500 ish natives with all the params will make everyone sad, I already did over 200 myself back in the day! Then we can generate with our new names if we care on the other version of native-gen that generates the native signatures for pawn. IMHO automation > manual labour any day.

@Southclaws
Copy link
Collaborator

Yes I am always for automation, so I agree.

I do have some data somewhere that codifies all the natives as structured data, like:

name: SetPlayerPos
desc: Sets a players position
return:
  tag: _
params:
  - name: playerid
    tag: _
  - name: x
    tag: Float
  - name: y
    tag: Float
  - name: z
    tag: Float

From this, we can generate:

  • natives
  • headers
  • documentation?

@Southclaws
Copy link
Collaborator

On the documentation side, probably best to avoid because translations are a bastard but we can definitely generate C++ headers and pawn natives

@Alasnkz
Copy link
Member

Alasnkz commented Aug 2, 2021

What do you mean by documentation exactly? pawn side or cpp side, pawn side we can take the stdlib stuff already afaik? I'm not expecting the order to change

@Southclaws
Copy link
Collaborator

I meant generating pages on open.mp/docs based content from the same source as all the other stuff - but that's probably a bit too far, I'll start with just generating code

@ghost
Copy link
Author

ghost commented Aug 2, 2021

Given that the current goal is to emulate SAMP functionality 1-1, what is the actual problem needing to be addressed? Wouldn't the already existing includes work fine?

@Southclaws
Copy link
Collaborator

Yes the existing includes will work fine, this is more just about generating both C++ function stubs and natives at the same time - which can help in future as we add more new natives. Having a single point of truth which generates code saves time and reduces the chance of typos when copy-pasting. It's also much better than macros because intellisense actually works properly.

@WoutProvost
Copy link
Member

Edited OP as there were some duplicate entries with exactly the same set of parameters. Happened because these are declared in both a_npc and a_samp:

  • Natives: 465 -> 445
  • Callbacks: 77 -> 76

There are however also some entries with the same name, but different set of parameters. I've explicitely added the set of parameters to these in the OP to show the difference.
a_npc:

native GetPlayerArmour(playerid);
native GetPlayerHealth(playerid);
native IsPlayerStreamedIn(playerid);
native IsVehicleStreamedIn(vehicleid);
forward OnPlayerDeath(playerid);
forward OnPlayerStreamIn(playerid);
forward OnPlayerStreamOut(playerid);
forward OnVehicleStreamIn(vehicleid);
forward OnVehicleStreamOut(vehicleid);

a_players:

native GetPlayerArmour(playerid, &Float:armour);
native GetPlayerHealth(playerid, &Float:health);
native IsPlayerStreamedIn(playerid, forplayerid);
native IsVehicleStreamedIn(vehicleid, forplayerid);
forward OnPlayerDeath(playerid, killerid, reason);
forward OnPlayerStreamIn(playerid, forplayerid);
forward OnPlayerStreamOut(playerid, forplayerid);
forward OnVehicleStreamIn(vehicleid, forplayerid);
forward OnVehicleStreamOut(vehicleid, forplayerid);

@Cheaterman
Copy link
Contributor

Cheaterman commented Aug 7, 2021

Implemented and tested GetPlayerName(), repaired format()

EDIT: Minor caveat worthy of note (could break compatibility for some people) - our version will ALWAYS include a null terminator in output string, so if you ask for 4 characters, you actually get 3 from the name and a null terminator.

@Cheaterman
Copy link
Contributor

Cheaterman commented Aug 8, 2021

Tested:

  • SendDeathMessage (including with multiple clients)
  • PlayAudioStreamForPlayer (no audio here due to a momentary client issue but behaves the same as SA-MP - which suffers from the same issue - "Audio stream" text showing up, etc)
  • SetPlayerHealth
  • GetPlayerHealth

EDIT: As it turns out, even with a working client, PlayAudioStreamForPlayer doesn't seem to work on open.mp for some reason...

EDIT2: Amir tested and it works for him so I'm guessing that's just my client being weird indeed. So these four are all good.

@Hual
Copy link
Collaborator

Hual commented Sep 9, 2021

Closing this because it's superseded by #158

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants