FoxHound

spriTe_v4

Mar 7th, 2011
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 23.54 KB | None | 0 0
  1.                                     /////////////////////////////////////
  2.                                    //// FoxHound's Useful Functions ////
  3.                                   ////       foXfunc/spriTe v4     ////
  4.                                  ////  FoxHound|PSPgamer|G.Akin   ////
  5.                                 /////////////////////////////////////
  6.                                ////    INFO: What is spriTe ?   ////
  7.                               ////   I renamed this Include,   ////
  8.                              ////   now it's called foXfunc   ////
  9.                             ////  and also called "spriTe"   ////
  10.                            /////////////////////////////////////
  11.  
  12. //--------------------< PRAGMAs >--------------------//
  13.     #pragma unused FXF_pcem
  14. //---------------------------------------------------//
  15.  
  16. //---------< INCLUDEs >---------//
  17.     #include <a_samp>
  18. //------------------------------//
  19.  
  20. //---------< DEFINEs >---------//
  21.     #define FXF_CHECK_TIME 500  // "FXF_ChecKeR" will be called all 500 ms.. (Standartly 500 ms.)
  22. //------------------------------//
  23.  
  24. //-------------< NEWs >-------------//
  25.     new FXF_pgod[MAX_PLAYERS]//Godmode System variable
  26.     new FXF_pcem[MAX_PLAYERS]//Cemetery-System Variables
  27.     new FXF_killerspec[MAX_PLAYERS],pkillerid[MAX_PLAYERS]=999,pspec[MAX_PLAYERS];   //Killer-Spec Variables
  28.     new FXF_pCamToggle[MAX_PLAYERS],pIsVeh[MAX_PLAYERS][2],Float:pos[MAX_PLAYERS][4];//Freeze mode nr. 2 Variables
  29.     new FXF_status[MAX_PLAYERS],Float:veh_ang[MAX_VEHICLES];
  30. //  new FXF_veh_engine[MAX_VEHICLES]; //ToggleVehicleEngine Variables (DON'T USE THIS)
  31.     new FXF_curGun[MAX_PLAYERS]=999; //OnPlayerChangeWeapon Callback Variables
  32.     new FXF_str[256]; //string
  33.     new FXF_ABFall[MAX_PLAYERS],FXF_pOldVeh[MAX_PLAYERS],FXF_pOldSeat[MAX_PLAYERS],FXF_pLeaveVeh[MAX_PLAYERS]; //Anti Fall Of Bike-Variables
  34.     new FXF_checkTimerStarted=0;
  35. //----------------------------------//
  36.  
  37. //-------------------< FORWARDs >-------------------//
  38.     forward OnPlayerEnterCemetery(playerid);
  39.     forward OnPlayerLeaveCemetery(playerid);
  40.     forward OnPlayerChangeWeapon(playerid, newgun, oldgun);
  41.  
  42. forward FXF_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  43. forward FXF_OnPlayerDeath(playerid,killerid,reason); forward FXF_OnPlayerSpawn(playerid); forward FXF_OnPlayerConnect(playerid);
  44. forward FXF_OnPlayerStateChange(playerid, newstate, oldstate); forward FXF_OnVehicleSpawn(vehicleid); forward FXF_OnPlayerExitVehicle(playerid,vehicleid);
  45. //--------------------------------------------------//
  46. //DONT USE THIS: /* #define STOP_ENGINES_ON_VSPAWN //~~ Uncomment this, if the Engine should be stopped on a Vehicles spawn*/
  47.  
  48. //-----------------: Send Formatted Client Message To All :--------------//
  49. #define SendFormattedClientMessage(%1,%2,%3,%4) format(FXF_str,sizeof(FXF_str),%3,%4); SendClientMessage(%1,%2,FXF_str)
  50. #define SendFormattedClientMessageToAll(%1,%2,%3) format(FXF_str,sizeof(FXF_str),%2,%3); SendClientMessageToAll(%1,FXF_str)
  51. //-----------------------------------------------------------------------//
  52.  
  53. //-----------------------------------: Formatted Game Texts :--------------------------------//
  54. #define FormattedGameTextForPlayer(%1,%2,%3,%4,%5) format(%2,128,%2,%5); GameTextForPlayer(%1,%2,%3,%4)
  55. #define FormattedGameTextForAll(%1,%2,%3,%4) format(%1,128,%1,%4); GameTextForAll(%1,%2,%3)
  56. //-------------------------------------------------------------------------------------------//
  57.  
  58. //--------------------< RCON Things >--------------------//
  59. #define SetMapName(%1) format(FXF_str,64,"mapname %s",%1); SendRconCommand(FXF_str)
  60. #define SetHostName(%1) format(FXF_str,256,"hostname %s",%1); SendRconCommand(FXF_str)
  61. //-------------------------------------------------------//
  62.  
  63. //--------------------------: Other :--------------------//
  64. #define ReloadBans() SendRconCommand("reloadbans")
  65. #define PlaceLight(%1,%2,%3) CreatePickup(354,23,%1,%2,%3)
  66. #define RemovePlayerWorldBounds(%1) SetPlayerWorldBounds(%1,20000.0000,-20000.0000,20000.0000,-20000.0000)
  67. #define GMX(%1) SetTimer("gmreload",%1,0)
  68. #define SetPlayerFormattedChatBubble(%1,%2,%3,%4,%5,%6) format(FXF_str, sizeof(FXF_str), %2,%6); SetPlayerChatBubble(%1, FXF_str, %3, %4, %5)
  69. #define ResetPlayerArmour(%1) SetPlayerArmour(%1,0)
  70. #define Slap(%1) new Float:FXF_shealth,Float:FXF_slx,Float:FXF_sly,Float:FXF_slz; GetPlayerHealth(%1, FXF_shealth); SetPlayerHealth(%1, FXF_shealth-5); GetPlayerPos(%1, FXF_slx, FXF_sly, FXF_slz); SetPlayerPos(%1, FXF_slx, FXF_sly, FXF_slz+5); PlayerPlaySound(%1, 1130, FXF_slx, FXF_sly, FXF_slz+5)
  71. #define Kill(%1); if(IsPlayerConnected(%1)) { SetPlayerHealth(%1,0); }
  72. #define Crash(%1) SetPlayerSkin(%1,666666)
  73. #define SendRepeatedClientMessage(%1,%2,%3,%4); for(new i=0;i<%3;i++) { SendClientMessage(%1,%2,%4); }
  74. #define SetKillerSpectateTimeForPlayer(%1,%2) FXF_killerspec[%1]=%2 //If the '%2' is higher as 0, Spectating is enabled
  75. #define Heal(%1) SetPlayerHealth(%1,100)
  76. #define ToggleAntiBikeFallForPlayer(%1,%2) FXF_ABFall[%1]=%2
  77. //-------------------------------------------------------//
  78.  
  79. //------------------< GetPlayerNameEx >-----------------//
  80.     stock GetPlayerNameEx(playerid) {
  81.         new FXF_pname[MAX_PLAYER_NAME];
  82.         GetPlayerName(playerid,FXF_pname,sizeof(FXF_pname));
  83.         return FXF_pname; }
  84. //------------------------------------------------------//
  85.  
  86. //-----------------------< Anti Bike Fall >-----------------------//
  87.     stock ToggleAntiBikeFallForAll(toggle) {
  88.         for(new i;i<MAX_PLAYERS;i++) {
  89.             FXF_ABFall[i]=toggle; } }
  90.     forward IsPlayerAntiBikeFallEnabled(playerid);
  91.     public IsPlayerAntiBikeFallEnabled(playerid) { return FXF_ABFall[playerid]; }
  92. //----------------------------------------------------------------//
  93.  
  94. //----------------------------: xxxxxAll :-------------------------//
  95.     stock BanAll() {
  96.         for(new i;i<MAX_PLAYERS;i++) {
  97.             Ban(i); } }
  98.     stock KickAll() {
  99.         for(new i;i<MAX_PLAYERS;i++) {
  100.             Kick(i); } }
  101.     stock CrashAll() {
  102.         for(new i;i<MAX_PLAYERS;i++) {
  103.             SetPlayerSkin(i,666666); } }
  104.     stock KillAll() {
  105.         for(new i;i<MAX_PLAYERS;i++) {
  106.             SetPlayerHealth(i,0); } }
  107.     stock HealAll() {
  108.         for(new i;i<MAX_PLAYERS;i++) {
  109.             SetPlayerHealth(i,100); } }
  110.     stock SlapAll() {
  111.         for(new i = 0; i < MAX_PLAYERS; i++) {
  112.             new Float:FXF_shealth,Float:FXF_slx,Float:FXF_sly,Float:FXF_slz;
  113.             GetPlayerHealth(i,FXF_shealth); SetPlayerHealth(i,FXF_shealth-5);
  114.             GetPlayerPos(i,FXF_slx,FXF_sly,FXF_slz); SetPlayerPos(i,FXF_slx,FXF_sly,FXF_slz+5);
  115.             PlayerPlaySound(i,1130,FXF_slx,FXF_sly,FXF_slz+5); } }
  116.     stock RemoveAllFromVehicle() {
  117.         for(new i=0; i<MAX_PLAYERS; i++) {
  118.             RemovePlayerFromVehicle(i); } }
  119.     stock SendRepeatedClientMessageToAll(color,repeating,string[]) {
  120.         for(new i=0;i<repeating;i++) {
  121.             SendClientMessageToAll(color,string); } }
  122.     stock SetKillerSpectateTimeForAll(time) { //If the time is Higher as 0, Spectating is enabled
  123.         for(new i;i<MAX_PLAYERS;i++) {
  124.             FXF_killerspec[i]=time; } }
  125. //-----------------------------------------------------------------//
  126.  
  127. //----------------------------: Clear Chat :-------------------------//
  128.     stock ClearChatForPlayer(playerid) {
  129.         for(new i=0;i<100;i++) {
  130.             SendClientMessage(playerid,0xFFFFFFAA," "); } }
  131.     stock ClearChatForAll() {
  132.         for(new i;i<100;i++) {
  133.             SendClientMessageToAll(0xFFFFFFAA," "); } }
  134. //-------------------------------------------------------------------//
  135.  
  136. //--------------------< Is Vehicle In Range Of Point >--------------------//
  137.     forward IsVehicleInRangeOfPoint(FXF_vehicleid, Float:radi, Float:x, Float:y, Float:z);
  138.     public IsVehicleInRangeOfPoint(FXF_vehicleid, Float:radi, Float:x, Float:y, Float:z) {
  139.         new Float:FXF_oldposx, Float:FXF_oldposy, Float:FXF_oldposz;
  140.         new Float:FXF_tempposx, Float:FXF_tempposy, Float:FXF_tempposz;
  141.         GetVehiclePos(FXF_vehicleid, FXF_oldposx, FXF_oldposy, FXF_oldposz);
  142.         FXF_tempposx = (FXF_oldposx -x);
  143.         FXF_tempposy = (FXF_oldposy -y);
  144.         FXF_tempposz = (FXF_oldposz -z);
  145.         if(((FXF_tempposx < radi) && (FXF_tempposx > -radi)) && ((FXF_tempposy < radi) && (FXF_tempposy > -radi)) && ((FXF_tempposz < radi) && (FXF_tempposz > -radi))) {
  146.             return 1; }
  147.         return 0; }
  148. //------------------------------------------------------------------------//
  149.  
  150. //----------------------------< IsVehicleOccupied >----------------------------//
  151.     forward IsVehicleOccupied(FXF_vehicleid);
  152.     public IsVehicleOccupied(FXF_vehicleid) {
  153.         for(new i=0;i<MAX_PLAYERS;i++) {
  154.             if((IsPlayerInVehicle(i,FXF_vehicleid)) && (GetPlayerState(i) == PLAYER_STATE_DRIVER)) { return 1; } }
  155.         return 0; }
  156. //-----------------------------------------------------------------------------//
  157.  
  158. //------------------------------< Godmode >------------------------------//
  159.     forward TogglePlayerGodmode(playerid,mode);
  160.     public TogglePlayerGodmode(playerid,mode) {
  161.         if(IsPlayerConnected(playerid)) {
  162.             if(mode<=0) { FXF_pgod[playerid]=0; }
  163.             else { FXF_pgod[playerid]=1; } } }
  164.     forward IsPlayerGod(playerid);
  165.     public IsPlayerGod(playerid) { return FXF_pgod[playerid]; }
  166. //---------------------------------------------------------------------------//
  167.  
  168. //------------------------------< IsPlayerInWater >------------------------------//
  169.     forward IsPlayerInWater(playerid);
  170.     public IsPlayerInWater(playerid)
  171.     {
  172.         new Float:FXF_wpos[3];
  173.         GetPlayerPos(playerid,FXF_wpos[0],FXF_wpos[1],FXF_wpos[2]);
  174.         if((FXF_wpos[2] > 0.00) || IsPlayerInZone(playerid,1808.2019,1424.5392,-2230.5024,-2347.7979)) { return 0; }
  175.         else if((FXF_wpos[2] < 0.00) && (FXF_wpos[2] > -1.00)) { return 1; }
  176.         else if(FXF_wpos[2] < -1.00) { return 2; }
  177.         return 0;
  178.     }
  179. //--------------------------------------------------------------------------------//
  180.  
  181. //--------------------------------< IsPlayer(I/O)nAny... >-------------------------------//
  182.     forward IsPlayerInAnyPlane(playerid);
  183.     public IsPlayerInAnyPlane(playerid) {
  184.         if(IsPlayerInAnyVehicle(playerid)) {
  185.             new FXF_vehicle = GetVehicleModel(GetPlayerVehicleID(playerid));
  186.             if(FXF_vehicle == 460 || FXF_vehicle == 476 || FXF_vehicle == 511 || FXF_vehicle == 512 || FXF_vehicle == 513 || FXF_vehicle == 519 || FXF_vehicle == 520 || FXF_vehicle == 553 || FXF_vehicle == 577 || FXF_vehicle == 592 || FXF_vehicle == 593) {
  187.                 return 1; } }
  188.         return 0; }
  189.     forward IsPlayerInAnyHelicopter(playerid);
  190.     public IsPlayerInAnyHelicopter(playerid) {
  191.         if(IsPlayerInAnyVehicle(playerid)) {
  192.             new FXF_vehicle = GetVehicleModel(GetPlayerVehicleID(playerid));
  193.             if(FXF_vehicle == 417 || FXF_vehicle == 425 || FXF_vehicle == 447 || FXF_vehicle == 469 || FXF_vehicle == 487 || FXF_vehicle == 488 || FXF_vehicle == 497 || FXF_vehicle == 548 || FXF_vehicle == 563) {
  194.                 return 1; } }
  195.         return 0; }
  196.     forward IsPlayerOnAnyBoat(playerid);
  197.     public IsPlayerOnAnyBoat(playerid) {
  198.         if(IsPlayerInAnyVehicle(playerid)) {
  199.             new FXF_vehicle = GetVehicleModel(GetPlayerVehicleID(playerid));
  200.             if(FXF_vehicle == 430 || FXF_vehicle == 446 || FXF_vehicle == 452 || FXF_vehicle == 453 || FXF_vehicle == 454 || FXF_vehicle == 472 || FXF_vehicle == 473 || FXF_vehicle == 484 || FXF_vehicle == 493 || FXF_vehicle == 595) {
  201.                 return 1; } }
  202.         return 0; }
  203.     forward IsPlayerOnAnyBike(playerid);
  204.     public IsPlayerOnAnyBike(playerid) {
  205.         if(IsPlayerInAnyVehicle(playerid)) {
  206.             new FXF_vehicle = GetVehicleModel(GetPlayerVehicleID(playerid));
  207.             if(FXF_vehicle == 448 || FXF_vehicle == 461 || FXF_vehicle == 462 || FXF_vehicle == 463 || FXF_vehicle == 468 || FXF_vehicle == 471 || FXF_vehicle == 481 || FXF_vehicle == 409 || FXF_vehicle == 510 || FXF_vehicle == 521 || FXF_vehicle == 522 || FXF_vehicle == 523 || FXF_vehicle == 581 || FXF_vehicle == 586) {
  208.                 return 1; } }
  209.         return 0; }
  210. //---------------------------------------------------------------------------------------//
  211.  
  212. //----------------------------------------: FilterScript :---------------------------------//
  213. stock FilterScriptInit(fsname[]) { format(FXF_str,sizeof(FXF_str),"loadfs %s",fsname); SendRconCommand(FXF_str); }
  214. stock FilterScriptExit(fsname[]) { format(FXF_str,sizeof(FXF_str),"unloadfs %s",fsname); SendRconCommand(FXF_str); }
  215. stock FilterScriptReload(fsname[]) { format(FXF_str,sizeof(FXF_str),"reloadfs %s",fsname); SendRconCommand(FXF_str); }
  216. //-----------------------------------------------------------------------------------------//
  217.  
  218. //--------------------------------< Place player into cemetery >-------------------------------//
  219.     stock PlacePlayerIntoCemetery(playerid,time) {
  220.         FXF_pcem[playerid] = 1;
  221.         SetPlayerPos(playerid,823.5046,-1102.9376,25.7891);
  222.         SetPlayerWorldBounds(playerid,953.606994,808.260070,-1071.376586,-1130.194335);
  223.         SetPlayerVirtualWorld(playerid,1);
  224.         ResetPlayerWeapons(playerid);
  225.         SetWorldTime(23);
  226.         SetPlayerWeather(playerid, 16);
  227.         SetPlayerFacingAngle(playerid,270.0);
  228.         SetCameraBehindPlayer(playerid);
  229.         SetTimerEx("RemovePlayerFromCemetery",time,0,"i",playerid);
  230.         CallLocalFunction("OnPlayerEnterCemetery","i",playerid);}
  231.  
  232.     forward IsPlayerOnCemetery(playerid);
  233.     public IsPlayerOnCemetery(playerid) { return FXF_pcem[playerid]; }
  234.  
  235.     forward RemovePlayerFromCemetery(playerid);
  236.     public RemovePlayerFromCemetery(playerid) {
  237.         FXF_pcem[playerid] = 0;
  238.         RemovePlayerWorldBounds(playerid);
  239.         SetCameraBehindPlayer(playerid);
  240.         SetPlayerVirtualWorld(playerid,0);
  241.         SetPlayerWeather(playerid,0);
  242.         CallLocalFunction("OnPlayerLeaveCemetery","i",playerid);
  243.         SpawnPlayer(playerid); }
  244. //---------------------------------------------------------------------------------------------//
  245.  
  246. /*-----------------------------------------< Vehicle Engine >-----------------------------------------//
  247.     stock ToggleVehicleEngine(FXF_vehicleid,toggle)
  248.     {
  249.         if(toggle<1) {
  250.             toggle=0;
  251.         } else if(toggle>0) {
  252.             toggle=1; }
  253.         FXF_veh_engine[FXF_vehicleid]=toggle;
  254.         for(new i=0;i<MAX_PLAYERS;i++) {
  255.             if((IsPlayerInVehicle(i,FXF_vehicleid)) && (GetPlayerState(i) == PLAYER_STATE_DRIVER)) {
  256.                 new FXF_pid=i;
  257.                 TogglePlayerControllable(FXF_pid,toggle); } } }
  258.     forward IsVehicleEngineStarted(FXF_vehicleid);
  259.     public IsVehicleEngineStarted(FXF_vehicleid) { return FXF_veh_engine[FXF_vehicleid]; }
  260.     forward GetVehicleEngineStatus(FXF_vehicleid);
  261.     public GetVehicleEngineStatus(FXF_vehicleid) { return FXF_veh_engine[FXF_vehicleid]; }
  262. //----------------------------------------------------------------------------------------------------*/
  263.  
  264. //-----------------------------------------------------: IsPlayerInZone :---------------------------------------------------//
  265.     forward IsPlayerInZone(playerid, Float:minX, Float:minY, Float:maxX, Float:maxY);
  266.     public IsPlayerInZone(playerid, Float:minX, Float:minY, Float:maxX, Float:maxY) {
  267.         new Float:FXF_ZoneX, Float:FXF_ZoneY, Float:FXF_ZoneZ;
  268.         GetPlayerPos(playerid, FXF_ZoneX, FXF_ZoneY, FXF_ZoneZ);
  269.         if((FXF_ZoneX >= minX && FXF_ZoneX <= maxX) && (FXF_ZoneY >= minY && FXF_ZoneY <= maxY) && FXF_ZoneZ <= 500) { return 1; }
  270.         return 0; }
  271. //--------------------------------------------------------------------------------------------------------------------------//
  272.  
  273. //-----------------------------------------------------------------------: Send Distanced Client Message :-----------------------------------------------------------------------//
  274.     forward SendDistancedClientMessage(playerid, Float:radi, message[], col1,col2,col3,col4,col5);
  275.     public SendDistancedClientMessage(playerid, Float:radi, message[], col1,col2,col3,col4,col5)
  276.     {
  277.         if(IsPlayerConnected(playerid))
  278.         {
  279.             new Float:FXF_posx, Float:FXF_posy, Float:FXF_posz;
  280.             new Float:FXF_oldposx, Float:FXF_oldposy, Float:FXF_oldposz;
  281.             new Float:FXF_tempposx, Float:FXF_tempposy, Float:FXF_tempposz;
  282.             GetPlayerPos(playerid, FXF_oldposx, FXF_oldposy, FXF_oldposz);
  283.             for(new i = 0; i < MAX_PLAYERS; i++)
  284.             {
  285.                 if(IsPlayerConnected(i))
  286.                 {
  287.                     GetPlayerPos(i, FXF_posx, FXF_posy, FXF_posz);
  288.                     FXF_tempposx = (FXF_oldposx -FXF_posx);
  289.                     FXF_tempposy = (FXF_oldposy -FXF_posy);
  290.                     FXF_tempposz = (FXF_oldposz -FXF_posz);
  291.                     if (((FXF_tempposx < radi/16) && (FXF_tempposx > -radi/16)) && ((FXF_tempposy < radi/16) && (FXF_tempposy > -radi/16)) && ((FXF_tempposz < radi/16) && (FXF_tempposz > -radi/16)))
  292.                     {
  293.                         return SendClientMessage(i, col1, message);
  294.                     }
  295.                     else if (((FXF_tempposx < radi/8) && (FXF_tempposx > -radi/8)) && ((FXF_tempposy < radi/8) && (FXF_tempposy > -radi/8)) && ((FXF_tempposz < radi/8) && (FXF_tempposz > -radi/8)))
  296.                     {
  297.                         return SendClientMessage(i, col2, message);
  298.                     }
  299.                     else if (((FXF_tempposx < radi/4) && (FXF_tempposx > -radi/4)) && ((FXF_tempposy < radi/4) && (FXF_tempposy > -radi/4)) && ((FXF_tempposz < radi/4) && (FXF_tempposz > -radi/4)))
  300.                     {
  301.                         return SendClientMessage(i, col3, message);
  302.                     }
  303.                     else if (((FXF_tempposx < radi/2) && (FXF_tempposx > -radi/2)) && ((FXF_tempposy < radi/2) && (FXF_tempposy > -radi/2)) && ((FXF_tempposz < radi/2) && (FXF_tempposz > -radi/2)))
  304.                     {
  305.                         return SendClientMessage(i, col4, message);
  306.                     }
  307.                     else if (((FXF_tempposx < radi) && (FXF_tempposx > -radi)) && ((FXF_tempposy < radi) && (FXF_tempposy > -radi)) && ((FXF_tempposz < radi) && (FXF_tempposz > -radi)))
  308.                     {
  309.                         return SendClientMessage(i, col5, message);
  310.                     }
  311.                 }
  312.             }
  313.         }
  314.         return 0; //Returns FALSE if anything's going wrong
  315.     }
  316. //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
  317.  
  318. //------------------------------------------//
  319. stock gmreload() { SendRconCommand("gmx"); }
  320. //------------------------------------------//
  321.  
  322. ////////////////////////////////////////////////////////////////////////////
  323. forward FXF_ChecKeR();
  324. public FXF_ChecKeR() {
  325.     for(new i=0;i<GetMaxPlayers();i++) {
  326.         if(IsPlayerConnected(i)) {
  327.         //Godmode
  328.             if(FXF_pgod[i]) { SetPlayerHealth(i,999); }
  329.         //TogglePlayerControllable Mode 2 Add
  330.             if(FXF_pCamToggle[i]==1) {
  331.                 if((GetPlayerState(i) == PLAYER_STATE_DRIVER) || (pIsVeh[i][0] != 987321)) {
  332.                     PutPlayerInVehicle(i,pIsVeh[i][0],pIsVeh[i][1]);
  333.                     SetVehiclePos(pIsVeh[i][0],pos[i][0],pos[i][1],pos[i][2]); SetVehicleZAngle(pIsVeh[i][0],veh_ang[pIsVeh[i][0]]); }
  334.                 else if(GetPlayerState(i) == PLAYER_STATE_ONFOOT) {
  335.                     FXF_SetPlayerPos(i,pos[i][0],pos[i][1],pos[i][2]); FXF_SetPlayerFacingAngle(i,pos[i][3]); } }
  336.         //OnPlayerChangeWeapon
  337.             if(FXF_curGun[i]==999) { FXF_curGun[i]=GetPlayerWeapon(i); }
  338.             if(FXF_curGun[i]!=GetPlayerWeapon(i)) {
  339.                 CallLocalFunction("OnPlayerChangeWeapon","idd",i,GetPlayerWeapon(i),FXF_curGun[i]);
  340.                 FXF_curGun[i]=GetPlayerWeapon(i); } } } }
  341. ///////////////////////////////////////////////////////////////////////////
  342. public OnPlayerDeath(playerid,killerid,reason) {
  343.     pkillerid[playerid]=killerid; if(FXF_killerspec[playerid]>0){
  344.         pspec[playerid]=1;}
  345.     CallLocalFunction("FXF_OnPlayerDeath","iid",playerid,killerid,reason); }
  346. public OnPlayerSpawn(playerid) {
  347.     if(pspec[playerid] == 1) {
  348.         pspec[playerid] = 0; TogglePlayerSpectating(playerid,1); PlayerSpectatePlayer(playerid,pkillerid[playerid]); SetTimerEx("killerspectate_stop",FXF_killerspec[playerid],0,"i",playerid); return 1; }
  349.     return CallLocalFunction("FXF_OnPlayerSpawn","i",playerid); }
  350. public OnPlayerConnect(playerid) {
  351. //Checktimer must be started if it isn't started already
  352.     if(!FXF_checkTimerStarted) { SetTimer("FXF_ChecKeR",FXF_CHECK_TIME,1); FXF_checkTimerStarted=1; }
  353. //Godmode disable on OnPlayerConnect
  354.     FXF_pgod[playerid]=0;
  355. //other
  356.     pos[playerid][0]=987321; pos[playerid][1]=987321; pos[playerid][2]=987321; pos[playerid][3]=987321;
  357.     pIsVeh[playerid][0]=987321; pIsVeh[playerid][1]=987321; FXF_status[playerid]=0;
  358.     CallLocalFunction("FXF_OnPlayerConnect","i",playerid); }
  359. public OnPlayerStateChange(playerid, newstate, oldstate) {
  360.     if((newstate == PLAYER_STATE_DRIVER) || (newstate == PLAYER_STATE_PASSENGER)) { FXF_pOldVeh[playerid]=GetPlayerVehicleID(playerid); FXF_pOldSeat[playerid]=GetPlayerVehicleSeat(playerid); }
  361.     /*if((newstate == PLAYER_STATE_DRIVER) && (FXF_veh_engine[GetPlayerVehicleID(playerid)] == 0)) { TogglePlayerControllable(playerid, 0); }*/
  362.     if(((oldstate == PLAYER_STATE_DRIVER) || (oldstate == PLAYER_STATE_PASSENGER)) && (newstate == PLAYER_STATE_ONFOOT)) {
  363.         if((FXF_ABFall[playerid]==1) && (FXF_pLeaveVeh[playerid]==0)) {
  364.             PutPlayerInVehicle(playerid,FXF_pOldVeh[playerid],FXF_pOldSeat[playerid]); }else{ FXF_pLeaveVeh[playerid]=0; } }
  365.     CallLocalFunction("FXF_OnPlayerStateChange","idd",playerid,newstate,oldstate); }
  366. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
  367.     /*if(IsPlayerInAnyVehicle(playerid) && (GetPlayerState(playerid)==PLAYER_STATE_DRIVER) && (FXF_veh_engine[GetPlayerVehicleID(playerid)]==0) && (newkeys & KEY_SECONDARY_ATTACK)) {
  368.         RemovePlayerFromVehicle(playerid); TogglePlayerControllable(playerid,1); }*/
  369.     CallLocalFunction("FXF_OnPlayerKeyStateChange","idd",playerid,newkeys,oldkeys); }
  370. public OnVehicleSpawn(vehicleid) {
  371. /*  #if !defined STOP_ENGINE_ON_VSPAWN
  372.         ToggleVehicleEngine(vehicleid,1);
  373.     #endif
  374.     if(vehicleid == 441 || vehicleid == 464 || vehicleid == 465 || vehicleid == 501 || vehicleid == 564 || vehicleid == 594 || vehicle == 509 || vehicle == 481 || vehicle == 510) {
  375.         ToggleVehicleEngine(vehicleid,1); }*/
  376.     CallLocalFunction("FXF_OnVehicleSpawn","d",vehicleid); }
  377. public OnPlayerExitVehicle(playerid, vehicleid) {
  378.     if(FXF_ABFall[playerid]==1) { FXF_pLeaveVeh[playerid] = 1; }
  379.     CallLocalFunction("FXF_OnPlayerExitVehicle","id",playerid,vehicleid); }
  380.  
  381. forward killerspectate_stop(playerid);
  382. public killerspectate_stop(playerid) { pspec[playerid]=0; TogglePlayerSpectating(playerid,0); SpawnPlayer(playerid); }
  383.  
  384. forward FXF_TogglePlayerControllable(playerid,mode);
  385. public FXF_TogglePlayerControllable(playerid,mode) {
  386.     if(mode == 0 || mode == 1) {
  387.         pos[playerid][0]=987321;
  388.         pos[playerid][1]=987321;
  389.         pos[playerid][2]=987321;
  390.         pos[playerid][3]=987321;
  391.         pIsVeh[playerid][0]=987321;
  392.         pIsVeh[playerid][1]=987321;
  393.         FXF_status[playerid]=0;
  394.         FXF_pCamToggle[playerid]=0;
  395.         TogglePlayerControllable(playerid,mode); }
  396.     else if(mode >= 2) {
  397.         if(IsPlayerInAnyVehicle(playerid)) {
  398.             pIsVeh[playerid][0]=GetPlayerVehicleID(playerid);
  399.             pIsVeh[playerid][1]=GetPlayerVehicleSeat(playerid);
  400.             GetVehicleZAngle(pIsVeh[playerid][0],veh_ang[pIsVeh[playerid][0]]); }
  401.         GetPlayerPos(playerid,pos[playerid][0],pos[playerid][1],pos[playerid][2]);
  402.         GetPlayerFacingAngle(playerid,pos[playerid][3]);
  403.         TogglePlayerControllable(playerid,1);
  404.         FXF_pCamToggle[playerid] = 1;
  405.         /*return 1;*/ }
  406.     /*return 0;*/ }
  407.  
  408. forward FXF_SetPlayerPos(playerid,Float:x,Float:y,Float:z);
  409. public FXF_SetPlayerPos(playerid,Float:x,Float:y,Float:z) { pos[playerid][0]=x; pos[playerid][1]=y; pos[playerid][2]=z; SetPlayerPos(playerid,x,y,z); }
  410.  
  411. forward FXF_SetPlayerFacingAngle(playerid,Float:ang);
  412. public FXF_SetPlayerFacingAngle(playerid,Float:ang) { pos[playerid][3]=ang; SetPlayerFacingAngle(playerid,ang); }
  413.  
  414. forward FXF_SetVehicleZAngle(FXF_vehicleid,Float:ang);
  415. public FXF_SetVehicleZAngle(FXF_vehicleid,Float:ang) { veh_ang[FXF_vehicleid]=ang; SetVehicleZAngle(FXF_vehicleid,ang); }
  416.  
  417. forward FXF_RemovePlayerFromVehicle(playerid);
  418. public FXF_RemovePlayerFromVehicle(playerid) { FXF_pLeaveVeh[playerid]=1; return RemovePlayerFromVehicle(playerid); }
  419.  
  420. #define OnPlayerDeath FXF_OnPlayerDeath
  421. #define OnPlayerSpawn FXF_OnPlayerSpawn
  422. #define OnPlayerConnect FXF_OnPlayerConnect
  423. #define OnPlayerStateChange FXF_OnPlayerStateChange
  424. #define OnPlayerKeyStateChange FXF_OnPlayerKeyStateChange
  425. #define OnVehicleSpawn FXF_OnVehicleSpawn
  426. #define OnPlayerExitVehicle FXF_OnPlayerExitVehicle
  427. #define IsPlayerAbfEnabled IsPlayerAntiBikeFallEnabled
  428. #define TogglePlayerControllable FXF_TogglePlayerControllable
  429. #define SetPlayerPos FXF_SetPlayerPos
  430. #define SetPlayerFacingAngle FXF_SetPlayerFacingAngle
  431. #define SetVehicleZAngle FXF_SetVehicleZAngle
  432. #define RemovePlayerFromVehicle FXF_RemovePlayerFromVehicle
Add Comment
Please, Sign In to add comment