Releases: IS4Code/YSF
YSF 2.2
Additions:
HideVehicle,ShowVehicle,IsVehicleHidden.SetPlayerSyncVehicleIdandUpdatePlayerSyncDatacan also optionally set the main player structure fields.SetPickupPos,SetPickupModelandSetPickupTypeallow skipping updating the pickup to players.ShowPickupForPlayer,HidePickupForPlayerandSetPickupForPlayer.OnPickupStreamIn/Out. SupportsShowPickupForPlayerandHidePickupForPlayerinside.
Changes:
IsBuildingRemovedForPlayerchecks for proper containment of the whole sphere instead of just of overlapping the center.SetPlayerSyncVehiclePositionalso resets the internalbHasSetVehiclePosflag to enable syncing the vehicle data.GetWeaponSlotandGetPlayerSyncWeaponnow return negative integers on invalid values.
Fixes:
- The array of used vehicle models is now correctly written to players on init.
SetPickupVirtualWorldhides the pickup in the old world correctly.- The "visible" flag is reset when a new player textdraw is created, fixing
IsPlayerTextDrawVisible.
YSF 2.1
Additions:
- Passive mode, controlled by the
PassiveModeconfig option. Disables all hooks and spontaneous manipulation of server's memory, as well as natives that rely on that. If you want to load a script that uses these natives, use Native Fallback. SetPlayerSyncPos,SetPlayerSyncVelocity,SetPlayerSyncRotationQuat,SetPlayerSyncVehicleSeat,SetPlayerSyncTrainSpeedfor setting additional update packet fields.SetPickupPos,SetPickupModel,SetPickupType,SetPickupVirtualWorld, allowing pickup changes without id changes.- Single cell-returning
GetPlayerRawIp(faster thanGetPlayerIpfor storage and comparison).
Changes:
- Added
booltags to some functions. - Added default values for config options.
Fixes:
- Prevent crashes when a to-be-hooked function is not found.
- Properly initialize per-player gangzones.
- Remove the skin restrictions for
SetPlayerSkinForPlayer. - Player list queries are ignored for more than 100 players, fixing returning garbage data to the client.
SetPlayerObjectMaterialandSetPlayerObjectMaterialTextproperly react toStorePlayerObjectsMaterial.- Fixed missing trampoline crash on some platforms.
- Fixed hook address for
ToggleChatTextReplacementon R2-2.
YSF 2.0
Additions:
GroupPlayerObjectsin YSF.cfg to affect IDs of newly created per-player objects. If possible, a new per-player object will prefer slots already used for per-player objects by other players. Very useful when global and per-player objects are used together.SetPlayerConnectModeandGetPlayerConnectModeto control players' connection state. Set toDISCONNECT_ASAPto force reconnect.ToggleCloseConnectionFixto disable code that causes "Connection closed." for reconnecting players.GetPlayerSyncWeaponfor obtaining player's weapon whenGetPlayerWeapondoesn't work.ToggleChatTextReplacementto disable replacing possible unwanted characters in incoming chat messages by#(%, color and key codes).SendPlayerClientGameInitfor re-sending client initialization data and allowing changing some parameters (same as inOnPlayerClientGameInit).
Changes:
respawntimeinSetVehicleSpawnInfonow takes seconds instead of milliseconds, consistent with other respawn delay changing functions.
Fixes:
HideNewObjectcorrected.GangZoneGetPosworks withUsePerPlayerGangZones 0.- Fixed a crash with
StorePlayerObjectsMaterial 1. - Fixed a
RespawnVehiclecrash on 0.3.7-R2-2. - Malformed packets are ignored in order not to cause crashes.
R20-RC4
Version for 0.3.DL included.
- More sync functions for players and vehicles (see the include).
SendPlayerDeathfor setting the player as dead for other players.UpdatePlayerSyncDatato send the sync data of a player to other players even if it hasn't been updated.ShowPlayerForPlayerhas an optional parameter to sync the skin.
R20-RC3
GetPlayerBuildingsRemovedreturns the count of removed buildings.- New sync functions (can be only used in
OnPlayerUpdate):SetPlayerSyncKeys,SetPlayerSyncCameraFrontVector,SetPlayerSyncCameraPos,SetPlayerSyncCameraMode,SetPlayerSyncWeapon,SetPlayerSyncWeaponState.
R20-RC2
- Finally correct
logprintfhook (done in assembly). Fixed memory leak inOnServerMessage. The hook will not be called from other threads anymore (since it's really bad). - Using default packing for standard types, increasing stability.
RespawnVehicledoes not read uninitialized memory.SetVehicleDead. Can be used to revive a drowned vehicle.
R20-RC1
New functions: ResetPlayerNameInServerQuery, HideObjectForPlayer, ShowObjectForPlayer, IsObjectHiddenForPlayer, HideNewObjectsForPlayer, NewObjectsHiddenForPlayer, GetPlayerBuildingsRemoved and IsBuildingRemovedForPlayer, GetObjectSyncRotation, TogglePlayerGhostMode, GetPlayerGhostMode.
IsObjectMaterialSlotUsed, GetObjectMaterial, GetObjectMaterialText etc. get the last applied material instead of the first.
Minor bugfixes and improvements. Custom packet building fixed, strings are correctly returned etc.
logprintf hook calls the original function.
R19
- Added plugins/YSF.cfg - for more info open the file
- Added ability to change RCON commands name
- Added CallFunctionInScript
- Added TextDrawSetStringForPlayer
- Added exclusive RPC broadcast (for more info see YSF_examples.pwn)
- Made execute() calls threaded and added a pawn callback to read command output
- AttachPlayerObjectToPlayer has been rewritten from scratch, now it's more stable and uses less memory
- Fixed rcon messages wasn't appearing in chat
- Fixed GetActorAnimation
- More sanity checks against crashes
Merged functions from IllidanS4's fork of YSF: https://github.com/IllidanS4/YSF - http://forum.sa-mp.com/showthread.php?t=609499
- Merged GetSyncBounds, SetSyncBounds
- Merged GetNPCCommandLine
- Merged SetVehicleParamsSirenState, ToggleVehicleSirenEnabled, IsVehicleSirenEnabled, GetVehicleMatrix
Plus two callback has been merged too:
forward OnOutcomeScmEvent(playerid, issuerid, E_SCM_EVENT_TYPE:eventid, vehicleid, arg1, arg2);
forward OnServerQueryInfo(const ipaddr[], hostname[51], gamemode[31], language[31]); // YET DISABLED!!!
R18-2
- Added YSF_ToggleOnServerMessage
- Hopefully completly fixed vehicle health flashing
- Fixed GetPlayerObject(Material/MaterialText) crash because the server wasn't stored any info related to materials with player objects.
This release has been removed because it has bugs. Mainly crash related to attached objects. Use r18 till I release r19
R18
R18
- Added ResetPlayerMarkerForPlayer (thanks to ziggi)
- Added execute(command[]) which allow you to execute commands from the SA-MP server
- Added protection against sproofing dialog id
- Added ability to send console messages to players
- Readded and fixed GetPlayerDialog which was removed before
- Added ud, lr keys to (Set/Get)PlayerDisabledKeysSync
- Major improvements in plugin code
- Fixed GetVehiclePaintjob
- Fixed OnClientCheckResponse wasn't calling for gamemodes (thanks to ziggi)
- Fixed GetVehicleNumberPlate returned NULL as plate when vehicle has default plate
- Fixed a bug when you used /rcon weather/gravity and afterward GetPlayerWeather/GetPlayerGravity wasn't updated
- Fixed % character appearance in print messages
- Improved RakServer hooks
- RakServer::IsBanned, RakServer::Send has finally fixed on Linux
- If YSF isn't loaded return of memory hacking functions will be cellmin
- SAMP GDK has been removed, added custom hooks for callback hooking insted of using SAMPGDK
- ModifyFlag has been removed, use instead SetServerRuleFlags
- (Player)TextDrawGetFontSize has been removed, use insted (Player)TextDrawGetTextSize
- GetMTUSize has been removed since it always returned the same value
- Swapped some of SendBulletData parameters, for more info see the native