Releases: IS4Code/YSF
YSF 2.2
Additions:
HideVehicle
,ShowVehicle
,IsVehicleHidden
.SetPlayerSyncVehicleId
andUpdatePlayerSyncData
can also optionally set the main player structure fields.SetPickupPos
,SetPickupModel
andSetPickupType
allow skipping updating the pickup to players.ShowPickupForPlayer
,HidePickupForPlayer
andSetPickupForPlayer
.OnPickupStreamIn/Out
. SupportsShowPickupForPlayer
andHidePickupForPlayer
inside.
Changes:
IsBuildingRemovedForPlayer
checks for proper containment of the whole sphere instead of just of overlapping the center.SetPlayerSyncVehiclePosition
also resets the internalbHasSetVehiclePos
flag to enable syncing the vehicle data.GetWeaponSlot
andGetPlayerSyncWeapon
now return negative integers on invalid values.
Fixes:
- The array of used vehicle models is now correctly written to players on init.
SetPickupVirtualWorld
hides 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
PassiveMode
config 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
,SetPlayerSyncTrainSpeed
for setting additional update packet fields.SetPickupPos
,SetPickupModel
,SetPickupType
,SetPickupVirtualWorld
, allowing pickup changes without id changes.- Single cell-returning
GetPlayerRawIp
(faster thanGetPlayerIp
for storage and comparison).
Changes:
- Added
bool
tags 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.
SetPlayerObjectMaterial
andSetPlayerObjectMaterialText
properly react toStorePlayerObjectsMaterial
.- Fixed missing trampoline crash on some platforms.
- Fixed hook address for
ToggleChatTextReplacement
on R2-2.
YSF 2.0
Additions:
GroupPlayerObjects
in 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.SetPlayerConnectMode
andGetPlayerConnectMode
to control players' connection state. Set toDISCONNECT_ASAP
to force reconnect.ToggleCloseConnectionFix
to disable code that causes "Connection closed." for reconnecting players.GetPlayerSyncWeapon
for obtaining player's weapon whenGetPlayerWeapon
doesn't work.ToggleChatTextReplacement
to disable replacing possible unwanted characters in incoming chat messages by#
(%
, color and key codes).SendPlayerClientGameInit
for re-sending client initialization data and allowing changing some parameters (same as inOnPlayerClientGameInit
).
Changes:
respawntime
inSetVehicleSpawnInfo
now takes seconds instead of milliseconds, consistent with other respawn delay changing functions.
Fixes:
HideNewObject
corrected.GangZoneGetPos
works withUsePerPlayerGangZones 0
.- Fixed a crash with
StorePlayerObjectsMaterial 1
. - Fixed a
RespawnVehicle
crash 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).
SendPlayerDeath
for setting the player as dead for other players.UpdatePlayerSyncData
to send the sync data of a player to other players even if it hasn't been updated.ShowPlayerForPlayer
has an optional parameter to sync the skin.
R20-RC3
GetPlayerBuildingsRemoved
returns the count of removed buildings.- New sync functions (can be only used in
OnPlayerUpdate
):SetPlayerSyncKeys
,SetPlayerSyncCameraFrontVector
,SetPlayerSyncCameraPos
,SetPlayerSyncCameraMode
,SetPlayerSyncWeapon
,SetPlayerSyncWeaponState
.
R20-RC2
- Finally correct
logprintf
hook (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.
RespawnVehicle
does 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:https://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