@@ -748,6 +748,38 @@ function GetPlayerWeapon(amx, player)
748748 return getPedWeapon (player )
749749end
750750
751+ function GetPVarInt (amx , player , varname )
752+ local playerdata = g_Players [getElemID (player )]
753+ if playerdata then
754+ if not playerdata .pvars then
755+ playerdata .pvars = {}
756+ end
757+ return playerdata .pvars [varname ] or 0
758+ end
759+ return 0
760+ end
761+
762+ function SetPVarInt (amx , player , varname , value )
763+ local playerdata = g_Players [getElemID (player )]
764+ if playerdata then
765+ if not playerdata .pvars then
766+ playerdata .pvars = {}
767+ end
768+ playerdata .pvars [varname ] = value
769+ return 1
770+ end
771+ return 0
772+ end
773+
774+ -- dummy todo
775+ function RemoveBuildingForPlayer (amx )
776+ return 1 ;
777+ end
778+
779+ function EnableVehicleFriendlyFire (amx )
780+ return 1 ;
781+ end
782+
751783function GetPlayerWeaponData (amx , player , slot , refWeapon , refAmmo )
752784 local playerdata = g_Players [getElemID (player )]
753785 local weapon = playerdata .weapons and playerdata .weapons [slot ]
@@ -1478,12 +1510,20 @@ function TogglePlayerSpectating(amx, player, enable)
14781510 fadeCamera (player , true )
14791511 setCameraMatrix (player , 75.461357116699 , 64.600051879883 , 51.685581207275 , 149.75857543945 , 131.53228759766 , 40.597320556641 )
14801512 setPlayerHudComponentVisible (player , ' radar' , false )
1513+ setPlayerState (player , PLAYER_STATE_SPECTATING )
14811514 else
1515+ local playerdata = g_Players [getElemID (player )]
1516+ local spawninfo = playerdata .spawninfo or (g_PlayerClasses and g_PlayerClasses [playerdata .selectedclass ])
1517+ if not spawninfo then
1518+ putPlayerInClassSelection (player )
1519+ return
1520+ end
14821521 if isPedDead (player ) then
14831522 spawnPlayerBySelectedClass (player )
14841523 end
14851524 setCameraTarget (player , player )
14861525 setPlayerHudComponentVisible (player , ' radar' , true )
1526+ setPlayerState (player , PLAYER_STATE_ONFOOT )
14871527 end
14881528end
14891529
@@ -2293,7 +2333,7 @@ end
22932333
22942334function IsPlayerInRangeOfPoint (amx , player , range , pX , pY , pZ )
22952335 x , y , z = getElementPosition (player )
2296- return true
2336+ return getDistanceBetweenPoints3D ( pX , pY , pZ , getElementPosition ( player )) <= range
22972337end
22982338
22992339function GetPlayerSurfingVehicleID (amx , player )
@@ -2437,6 +2477,8 @@ g_SAMPSyscallPrototypes = {
24372477 GivePlayerMoney = {' p' , ' i' },
24382478 GivePlayerWeapon = {' p' , ' i' , ' i' },
24392479
2480+ GetPVarInt = {' p' , ' s' },
2481+
24402482 HideMenuForPlayer = {' m' , ' p' },
24412483
24422484 IsPlayerAdmin = {' p' },
@@ -2541,6 +2583,8 @@ g_SAMPSyscallPrototypes = {
25412583 StopObject = {' o' },
25422584 StopPlayerObject = {' p' , ' i' },
25432585
2586+ SetPVarInt = {' p' , ' s' , ' i' },
2587+
25442588 TextDrawAlignment = {' x' , ' i' },
25452589 TextDrawBackgroundColor = {' x' , ' c' },
25462590 TextDrawBoxColor = {' x' , ' c' },
@@ -2782,4 +2826,8 @@ g_SAMPSyscallPrototypes = {
27822826 format = {' r' , ' i' , ' s' },
27832827
27842828 memcpy = {' r' , ' r' , ' i' , ' i' , ' i' },
2829+
2830+ -- more dummies
2831+ EnableVehicleFriendlyFire = {},
2832+ RemoveBuildingForPlayer = {},
27852833}
0 commit comments