A list with SA-MP's packets documented. Check out the wiki.
If you have any question or something is wrong in the list, open an issue.
Updated on: 22nd April, 2024
A list with SA-MP's packets documented.
A list with SA-MP's packets documented. Check out the wiki.
If you have any question or something is wrong in the list, open an issue.
Updated on: 22nd April, 2024
It seems that wPlayerID should have UINT32 type, not UINT16, as with this type it doesn't work.
The RPC with id 58 does not "update", but rather hide the 3D Text label with the specified id.
See here for reference:
https://github.com/openmultiplayer/open.mp/blob/53e039797c1598ac21383e28bc78b9263e42057e/Shared/NetCode/textlabel.hpp#L49
This information about bGiveOrTake is wrong:
Additional Information: if bGiveOrTake is false, wPlayerID will receive the damage. If bGiveOrTake is true, wPlayerID will send the damage.
'bGiveOrTake' with false value indicates that the player is sending the damage (Give it)
'bGiveOrTake' with true value indicates that the player is receiving the damage (Take it), not vise-versa as it is now.
At the end of driver sync now we have FLOAT train_speed.
But actually it's not just train speed. I'd rather name it ExtraData
It can contain following values in it's 32 bits:
Hydra thrust can be found here:
https://github.com/IllidanS4/YSF/blob/0a454418db50b5be14fcd75b4370599170cf9fdd/src/Structs.h#L331
https://github.com/IllidanS4/YSF/blob/c15389a39d3d20d26711704f66c7a6652a2f5e4e/src/natives/players.cpp#L509
Since the main benefit of this wiki is for pawn scripters who need the packet arguments and their data types to access from Pawn.RakNet plugin, it would be wise to document them according to the types that are available in this plugin: PR_UINT8, PR_INT16, PR_FLOAT, PR_BITS etc.
How about adding information to all RPCs about the names of the natives or publics which are their counterpart? At the moment, there is little uncertainty when some RPC are named DeathNotification (which doesn't give a direct understanding of which public is their analogue) or, for example, ScmEvent (which includes multiple purposes).
ID_MARKERS_SYNC - ID 208 and ID_RCON_RESPONCE - ID 202 isn't listed in outgoing/incoming packets.
Some other (but not so useful as above) packets can be found here:
https://github.com/cizaquita/FakeSAMP/blob/master/raknet/PacketEnumerations.h
Other notes:
Is seems that ID_CONNECTION_REQUEST_ACCEPTED and ID_CONNECTION_ATTEMPT_FAILED according to its names are outgoing packets, not incoming. Am I right?
in 03dl for this package there is an additional custom skin id parameter after the skinid parameter
ShowActor - ID: 171
correct UINT16 wActorID, UINT32 SkinID, UINT32 CustomSkinID(0 if not there) , float X, float Y, float Z, float Angle, float Health, bool Invulnerable
incorrect UINT16 wActorID, UINT32 SkinID, float X, float Y, float Z, float Angle, float Health, bool Invulnerable
The unknown parameter on the RPC ServerJoin - ID: 137
Is UINT32 not INT32
And is the player color, same as in SetPlayerColor - ID: 72
It is used when player joins the server and there are already players on the server, then the server sends the ServerJoin of each player (with their colors and names) to the new player.
If the value is "0" then the color will be random on each client.
RPC 175 isn't working. Unfortunaly nothing changes.
https://github.com/BrunoBM16/RPC-List/wiki/RPC-List#setactorfacingangle---id-175
Why does the server respond with completely different packets that are not here. And he does not unsubscribe to the packages that are here.
Hi, guys!
Nice to see new RPC OnCameraTarget - 168.
I've found that PlayerTarget and ObjectTarget are mixed up in places.
First one should be ObjectTarget and third one is PlayerTarget
Hello! Când You Tell me how do You scanned this rpcs please?
Thank You!
There is one more parameters in RPC SetPlayerName (11) that missed in the wiki:
https://github.com/IllidanS4/YSF/blob/babed116870807fccae90a5c3e12ab375d9ea6b6/src/CPlayerData.cpp#L136
The last '1' passes as UINT8 and have little sense but it's necessary for working: it passes as 1 when te nickname length is not equal to 0 and it doesn't match the player’s nickname used before.
Currently there are some missing outcoming RPCs, addition of which would be very useful:
How will you know the RPC ID?
You can find out the RPC for the function getPlayerVersion?
Hi!
You have 106 RPC in Outcoming section.
UpdateVehicleDamageStatus - ID: 106
Parameters: UINT16 wVehicleID, UINT32 panels, UINT32 doors, UINT8 lights, UINT8 tires
It also appears as incoming RPC when player makes damage to the vehicle.
Parameters are the same.
The wiki is missing the first two variables: target_player_id and target_actor_id for the packet ID_WEAPONS_UPDATE (ID 204)
Reference: https://github.com/openmultiplayer/open.mp/blob/53e039797c1598ac21383e28bc78b9263e42057e/Shared/NetCode/core.hpp#L1812
Hi!
Found missing Outcoming RPC SetPlayerFacingAngle. ID - 19.
Parameters: FLOAT angle
Опечатка в - UINT32 uiClientChallengeResponse
Правильно - bool uiClientChallengeResponse
SETWORLDTIME- ID: 15
Parameters: UINT8 bHour
.
szTextLen
is typed as UINT8
but it's a UINT16
Flags
field:
It seems that "spectating" param must be UINT32, not UINT8.
RU:
"GiveTakeDamage - 115" находится в группе входящих пакетов, хотя он исходящий.
EN:
"GiveTakeDamage-115" is in the incoming packet group, although it is outgoing.
Now in SetPlayerSkin - ID: 153 we have following parameters: UINT16 wPlayerID, UINT32 dSkinID
But there's 2 more bytes between playerID and skinID actually.
As I saw in SAMP 0.3DL Compability solution, playerId is processing like UINT32 there, so those 2 bytes are added to player ID:
https://github.com/AGraber/samp-dl-compat/blob/bc4e2676b95a5f4dc62e99e63dc37b08718dfea9/dl-compat.inc#L113
I'd rather say that there's UINT16 UnknownParameter after PlayerID to let PlayerID be UINT16 as it is in the other RPCs.
There is a good source with RPC and packets parameters (but it's client-side thing), that can be useful for you to check and maybe improve some information in this wiki. I'm talking about "moonloader" and "SAMP.Lua" tools which includes such useful files (after its installation in game folder) in GTA San Andreas/moonloader/lib/samp/events.lua
I think more RPCs can be found even in such places (and there is still some ones that isn't presented in wiki, like RPC_ScmEvent or RPC_DestroyPickup, so will be also helpful I hope):
https://github.com/IllidanS4/YSF/blob/master/src/RPCs.h#L64
https://github.com/oscar-broman/SKY/blob/master/src/RPCs.cpp#L12
Pretty old, but it has really many RPC ids so can be also helpful:
https://gitlab.com/blasthack/raksamp/blob/master/raknet/SAMP/SAMPRPC.cpp
Playerid is uint16, not uint32
SendDialogResponse have wListItem parameter with the type UINT16, but listitem wich passed in public OnDialogResponse can have negative values (-1 if the responsed dialog isn't in the style list), while UINT16 in this case will have 65535.
OUTCOMING from serv
EditAttachedObject ( PR_UINT32 index)
id 116
Hi!
There's RPC EnterVehicle - 26 and ExitVehicle - 154 in Incoming RPC list.
But there's no Outcoming versions of them.
So, it's PlayerEnterVehicle - 26
Parameters: UINT16 wPlayerID, UINT16 wVehicleID, UINT8 bIsPassenger
Additional Information: if bIsPassenger is 0, the player is about to enter the driver seat. If bIsPassenger is 1, the player is about to enter any of the passenger seats in the vehicle.
and PlayerExitVehicle - 154
Parameters: UINT16 wPlayerID, UINT16 wVehicleID
PutPlayerInVehicle - ID: 70
Parameters: UINT16 wVehicleID, UINT8 bSeatID
not UINT32
Hi, I was getting Outcoming RPC 44 params, but when I got AttachVehicle ID (65535), it was greater than 2000 (Max vehicle id).
Do you know how I could get 0-2000 Vehicle ID?
The code:
const CONNECTION_REQUEST = 12
public OnIncomingPacket(playerid, packetid, BitStream:bs)
{
printf("Packet ID: %i", packetid);
return 1;
}
IPacket:CONNECTION_REQUEST(playerid, BitStream:bs)
{
print("Connection request.");
return 1;
}
Output:
Packet ID: 24
[connection] incoming connection: ip:port id: 0
CONNECTION_REQUEST incoming packet never print something but OnIncomingPacket callback print ID 24 so I think there is a mistake in packets, I don't know is this only one problem in packet list.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.