12.02.2018, 21:20
(
Последний раз редактировалось Graber; 22.04.2018 в 08:50.
Причина: thread deprecated
)
ATTENTION:
This thread is old, for the newer topic which covers up all compatibility please go here.
IsClient03DL
Allow 0.3.DL-R1 connections to SA-MP 0.3.7 servers
because I also give a fuck about versioning rules
This allows the server to accept incoming connections from players 0.3.DL-R1 by patching the connection packet's content. You can use the main function, IsClient03DL(playerid) to detect whether the player is using 0.3.DL or using another version. This was necessary since the client version returned by the server is not accurate anymore.
The main purpose of this would be to give informative messages (eg. OnPlayerConnect) when the player enters a server with 0.3.DL and give him an actual informative message about having to download another version to play on this server, instead of "Incorrect Version" which is not very user-friendly.
Warning:
Yes, it is actually possible to spawn the player that uses 0.3.DL, but this include is highly experimental and is not designed for that. All functions regarding skins have their packet contents altered (SetSpawnInfo, AddPlayerClass, SetPlayerSkin, normal players and actors and so on), so while it's actually possible to play alongside 0.3.7 players, it will be very broken and would not give a very good experience. Despite that, this demonstrates that you can actually play along 2 versions without major problems!
It would be possible to fix this with plugins that hook the natives, but I don't know how to do that. If someone is willing to help and has knowledge about hooking SA-MP natives, PM me here or at Discord.
Dependencies: Pawn.Raknet
GitHub Repo: https://github.com/AGraber/IsClient03DL
I want to thank the guys at SA-MP Discord for providing helpful information about the packet stuff about 0.3.DL.
Have fun with it!
This thread is old, for the newer topic which covers up all compatibility please go here.
IsClient03DL
Allow 0.3.DL-R1 connections to SA-MP 0.3.7 servers
because I also give a fuck about versioning rules
This allows the server to accept incoming connections from players 0.3.DL-R1 by patching the connection packet's content. You can use the main function, IsClient03DL(playerid) to detect whether the player is using 0.3.DL or using another version. This was necessary since the client version returned by the server is not accurate anymore.
The main purpose of this would be to give informative messages (eg. OnPlayerConnect) when the player enters a server with 0.3.DL and give him an actual informative message about having to download another version to play on this server, instead of "Incorrect Version" which is not very user-friendly.
Warning:
Yes, it is actually possible to spawn the player that uses 0.3.DL, but this include is highly experimental and is not designed for that. All functions regarding skins have their packet contents altered (SetSpawnInfo, AddPlayerClass, SetPlayerSkin, normal players and actors and so on), so while it's actually possible to play alongside 0.3.7 players, it will be very broken and would not give a very good experience. Despite that, this demonstrates that you can actually play along 2 versions without major problems!
It would be possible to fix this with plugins that hook the natives, but I don't know how to do that. If someone is willing to help and has knowledge about hooking SA-MP natives, PM me here or at Discord.
Dependencies: Pawn.Raknet
GitHub Repo: https://github.com/AGraber/IsClient03DL
I want to thank the guys at SA-MP Discord for providing helpful information about the packet stuff about 0.3.DL.
Have fun with it!