Thread: [Tutorial] RPC - Pawn.RakNet
View Single Post
Old 13/12/2017, 09:51 PM   #22
Posts: n/a
Default Re: RPC - Pawn.RakNet

Originally Posted by Aliassassin123456 View Post
Nice tutorial, it will surely help people understand how server communicate with client using RakNet and how to work with Pawn.RakNet.

I looked into samp-server, it looks like RPC ID 44 (CreateObject) contains all these stuff.
If object is attached to a vehicle or another object it will write to BitStream those stuff you wrote in your RPC List.
float AttachOffsetX, float AttachOffsetY, float AttachOffsetZ, float AttachRotX, float AttachRotY, float AttachRotZ, BYTE SyncRotation
If it is not attached, it won't contain these parameters.
I already mentioned on the list to just make sure WORD attachedObject/WORD attachedVehicle is -1 in case you don't plan on attaching it on anything, which means to simply not make use of the other parameters.

Originally Posted by Aliassassin123456 View Post
About materials, both MaterialText and Material are being used with the same CreateObject RPC.
All 16 materials slots will be stored in the same RPC.

If it is Material:
BYTE byteMethod; // (always 1 here, because it is material)
BYTE byteUsed; // Boolean, Non-zero true zero false
BYTE byteSlot;
WORD wModelID;
char szTXDName[65];
char szTextureName[65];
DWORD dwMaterialColor;
Else if it is MaterialText:
BYTE byteMethod; // (always 2 here, because it is materialtext)
BYTE byteUsed; // Boolean, Non-zero true zero false
BYTE byteMaterialSize;
char szFont[65];
BYTE byteFontSize;
BYTE byteBold;
DWORD dwFontColor;
DWORD dwBackgroundColor;
BYTE byteAlign;
I didn't put much time into looking for RPC parameters or re-checking, I said I would update the list when I could. Thanks anyway.

Originally Posted by Aliassassin123456 View Post
And your ShowTextDraw - ID: 134 is not correct.
Correct parameters:
BYTE byteFlags;
float fLetterWidth;
float fLetterHeight;
DWORD dwLetterColor;
float fLineWidth;
float fLineHeight;
DWORD dwBoxColor;
BYTE byteShadow;
BYTE byteOutline;
DWORD dwBackgroundColor;
BYTE byteStyle;
BYTE byteSelectable;
float fX;
float fY;
WORD wModelID;
float fRotX;
float fRotY;
float fRotZ;
float fZoom;
WORD wColor1;
WORD wColor2;
char szText[1024];
Hope that helps.
I just noticed what is wrong and I changed it, thanks.
  Reply With Quote