Advertisement
BigETI

ncbs.inc

Oct 29th, 2011
435
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. ////////////////////////////////////////////////////////////
  3. //========================================================//
  4. //== New Player Callbacks include made by BigETI © 2011 ==//
  5. //========================================================//
  6. //== You are not allowed to edit this include ============//
  7. //== and/or release it without my permissions! ===========//
  8. //========================================================//
  9. //== File name: ncbs.inc =================================//
  10. //== Autor: Ethem Kurt © =================================//
  11. //== Release Date: 29.10.2011 ============================//
  12. //== Version: V1.5 =======================================//
  13. //== Lines: 874 ==========================================//
  14. //== File size: 39 KB ====================================//
  15. //========================================================//
  16. ////////////////////////////////////////////////////////////
  17.  
  18. ||=====================================================================================================================================================||
  19. ||  IMPORTANT: Define FILTERSCRIPT on top of your script to verify if you are yousing a filterscript or a gamemode!                                    ||
  20. ||  If you want to call the callbacks at another scripts, so you have to use ncbs_forwards.inc at another scripts to make the callbacks usable there.  ||
  21. ||=====================================================================================================================================================||
  22. */
  23.  
  24. //Do not edit those things below!
  25. #include <a_samp>
  26. #if defined _BIGETI_NEW_PLAYER_CALLBACKS
  27.     #endinput
  28. #endif
  29. #define _BIGETI_NEW_PLAYER_CALLBACKS
  30. #if defined _BIGETI_NPCBS_FORWARDS
  31.     #error Do not use ncbs.inc and ncbs_forwards.inc in one script.
  32.     #endinput
  33. #endif
  34. #include <ncbs_defines>
  35. #pragma library                 ncbs
  36. #define MAX_WEAPON_SLOTS        13
  37. #define INVALID_WEAPON_SLOT_ID  -1
  38. #if defined USE_PLAYER_CALLBACKS
  39. enum CallBack_Infos
  40. {
  41.     nCallBack_VehicleID,
  42.     nCallBack_VehicleSeat,
  43.     nCallBack_Skin,
  44.     nCallBack_HoldWeapon,
  45.     nCallBack_WeaponState,
  46.     nCallBack_Weapon[MAX_WEAPON_SLOTS],
  47.     nCallBack_Ammo[MAX_WEAPON_SLOTS],
  48.     nCallBack_Money,
  49.     Float:nCallBack_Health,
  50.     Float:nCallBack_Armour,
  51.     nCallBack_Animation,
  52.     nCallBack_Target,
  53.     nCallBack_SpecialAction,
  54.     nCallBack_KeyY,
  55.     nCallBack_KeyX,
  56.     Float:nCallBack_X,
  57.     Float:nCallBack_Y,
  58.     Float:nCallBack_Z,
  59.     Float:nCallBack_VehicleHealth,
  60.     bool:nCallBack_KickedBanned,
  61.     nCallBack_OPUTime,
  62. };
  63. new pCallBack_Info[MAX_PLAYERS][CallBack_Infos], OPC_CallBack, OPDC_CallBack, OPSC_CallBack, OPU_CallBack
  64.     #if defined CB_OnPlayerEnteredVehicle
  65. , OPEnV_CallBack
  66.     #endif
  67.     #if defined CB_OnPlayerExitedVehicle
  68. , OPExV_CallBack
  69.     #endif
  70.     #if defined CB_OnPlayerSkinChange
  71. , OPSkC_CallBack
  72.     #endif
  73.     #if defined CB_OnPlayerHoldWeaponChange
  74. , OPHWC_CallBack
  75.     #endif
  76.     #if defined CB_OnPlayerWeaponStateChange
  77. , OPWSC_CallBack
  78.     #endif
  79.     #if defined CB_OnPlayerWeaponDataChange
  80. , OPWDC_CallBack
  81.     #endif
  82.     #if defined CB_OnPlayerAmmoDataChange
  83. , OPADC_CallBack
  84.     #endif
  85.     #if defined CB_OnPlayerMoneyChange
  86. , OPMC_CallBack
  87.     #endif
  88.     #if defined CB_OnPlayerHealthChange
  89. , OPHC_CallBack
  90.     #endif
  91.     #if defined CB_OnPlayerArmourChange
  92. , OPAC_CallBack
  93.     #endif
  94.     #if defined CB_OnPlayerAnimationIndexChange
  95. , OPAIC_CallBack
  96.     #endif
  97.     #if defined CB_OnPlayerTargetPlayer
  98. , OPTP_CallBack
  99.     #endif
  100.     #if defined CB_OnPlayerSpecialActionChange
  101. , OPSAC_CallBack
  102.     #endif
  103.     #if defined CB_OnPlayerAnalogKeysChange
  104. , OPAKC_CallBack
  105.     #endif
  106.     #if defined CB_OnPlayerXYZChange
  107. , OPXYZC_CallBack
  108.     #endif
  109.     #if defined CB_OnPlayerVehicleHealthChange
  110. , OPVHC_CallBack
  111.     #endif
  112.     #if defined CB_OnPlayerVirtualWorldChange
  113. , OPVWC_CallBack
  114.     #endif
  115. ;
  116. #endif
  117. #if defined USE_PVAR_CALLBACKS
  118.     #if defined CB_OnPVarDelete
  119. new OPVarD_CallBack;
  120.     #endif
  121.     #if defined CB_OnPVarCreate
  122. new OPVarC_CallBack;
  123.     #endif
  124.     #if defined CB_OnPVarTypeChange
  125. new OPVarTC_CallBack;
  126.     #endif
  127.     #if defined CB_OnPVarIntChange
  128. new OPVarIC_CallBack;
  129.     #endif
  130.     #if defined CB_OnPVarStringChange
  131. new OPVarSC_CallBack;
  132.     #endif
  133.     #if defined CB_OnPVarFloatChange
  134. new OPVarFC_CallBack;
  135.     #endif
  136. #endif
  137. #if defined USE_PLAYER_CALLBACKS
  138.     #define ETI_ReturnOPC(%0) ((OPC_CallBack != -1) ? CallLocalFunction("ETI_OnPlayerConnect", %0) : 1)
  139.     #define ETI_ReturnOPDC(%0) ((OPDC_CallBack != -1) ? CallLocalFunction("ETI_OnPlayerDisconnect", %0) : 1)
  140.     #define ETI_ReturnOPSC(%0) ((OPSC_CallBack != -1) ? CallLocalFunction("ETI_OnPlayerStateChange", %0) : 1)
  141.     #define ETI_ReturnOPU(%0) ((OPU_CallBack != -1) ? CallLocalFunction("ETI_OnPlayerUpdate", %0) : 1)
  142. #endif
  143. #if defined FILTERSCRIPT
  144. public OnFilterScriptInit()
  145. {
  146. #else
  147. public OnGameModeInit()
  148. {
  149. #endif
  150. #if defined USE_PLAYER_CALLBACKS
  151.     OPC_CallBack = funcidx("OnPlayerConnect");
  152.     OPDC_CallBack = funcidx("OnPlayerDisconnect");
  153.     OPSC_CallBack = funcidx("OnPlayerStateChange");
  154.     OPU_CallBack = funcidx("OnPlayerUpdate");
  155.     #if defined CB_OnPlayerEnteredVehicle
  156.     OPEnV_CallBack = funcidx("OnPlayerEnteredVehicle");
  157.     #endif
  158.     #if defined CB_OnPlayerExitedVehicle
  159.     OPExV_CallBack = funcidx("OnPlayerExitedVehicle");
  160.     #endif
  161.     #if defined CB_OnPlayerSkinChange
  162.     OPSkC_CallBack = funcidx("OnPlayerSkinChange");
  163.     #endif
  164.     #if defined CB_OnPlayerHoldWeaponChange
  165.     OPHWC_CallBack = funcidx("OnPlayerHoldWeaponChange");
  166.     #endif
  167.     #if defined CB_OnPlayerWeaponStateChange
  168.     OPWSC_CallBack = funcidx("OnPlayerWeaponStateChange");
  169.     #endif
  170.     #if defined CB_OnPlayerWeaponDataChange
  171.     OPWDC_CallBack = funcidx("OnPlayerWeaponDataChange");
  172.     #endif
  173.     #if defined CB_OnPlayerAmmoDataChange
  174.     OPADC_CallBack = funcidx("OnPlayerAmmoDataChange");
  175.     #endif
  176.     #if defined CB_OnPlayerMoneyChange
  177.     OPMC_CallBack = funcidx("OnPlayerMoneyChange");
  178.     #endif
  179.     #if defined CB_OnPlayerHealthChange
  180.     OPHC_CallBack = funcidx("OnPlayerHealthChange");
  181.     #endif
  182.     #if defined CB_OnPlayerArmourChange
  183.     OPAC_CallBack = funcidx("OnPlayerArmourChange");
  184.     #endif
  185.     #if defined CB_OnPlayerAnimationIndexChange
  186.     OPAIC_CallBack = funcidx("OnPlayerAnimationIndexChange");
  187.     #endif
  188.     #if defined CB_OnPlayerTargetPlayer
  189.     OPTP_CallBack = funcidx("OnPlayerTargetPlayer");
  190.     #endif
  191.     #if defined CB_OnPlayerSpecialActionChange
  192.     OPSAC_CallBack = funcidx("OnPlayerSpecialActionChange");
  193.     #endif
  194.     #if defined CB_OnPlayerAnalogKeysChange
  195.     OPAKC_CallBack = funcidx("OnPlayerAnalogKeysChange");
  196.     #endif
  197.     #if defined CB_OnPlayerXYZChange
  198.     OPXYZC_CallBack = funcidx("OnPlayerXYZChange");
  199.     #endif
  200.     #if defined CB_OnPlayerVehicleHealthChange
  201.     OPVHC_CallBack = funcidx("OnPlayerVehicleHealthChange");
  202.     #endif
  203.     #if defined CB_OnPlayerVirtualWorldChange
  204.     OPVWC_CallBack = funcidx("OnPlayerVirtualWorldChange");
  205.     #endif
  206. #endif
  207. #if defined USE_PVAR_CALLBACKS
  208.     #if defined CB_OnPVarDelete
  209.     OPVarD_CallBack = funcidx("OnPVarDelete");
  210.     #endif
  211.     #if defined CB_OnPVarCreate
  212.     OPVarC_CallBack = funcidx("OnPVarCreate");
  213.     #endif
  214.     #if defined CB_OnPVarTypeChange
  215.     OPVarTC_CallBack = funcidx("OnPVarTypeChange");
  216.     #endif
  217.     #if defined CB_OnPVarIntChange
  218.     OPVarIC_CallBack = funcidx("OnPVarIntChange");
  219.     #endif
  220.     #if defined CB_OnPVarStringChange
  221.     OPVarSC_CallBack = funcidx("OnPVarStringChange");
  222.     #endif
  223.     #if defined CB_OnPVarFloatChange
  224.     OPVarFC_CallBack = funcidx("OnPVarFloatChange");
  225.     #endif
  226. #endif
  227. #if defined FILTERSCRIPT
  228.     return (funcidx("ETI_OnFilterScriptInit") != -1) ? CallLocalFunction("ETI_OnFilterScriptInit","") : 1;
  229. #else
  230.     return (funcidx("ETI_OnGameModeInit") != -1) ? CallLocalFunction("ETI_OnGameModeInit","") : 1;
  231. #endif
  232. }
  233. #if defined FILTERSCRIPT
  234.     #if defined _ALS_OnFilterScriptInit
  235.         #undef OnFilterScriptInit
  236.     #else
  237.         #define _ALS_OnFilterScriptInit
  238.     #endif
  239.     #define OnFilterScriptInit ETI_OnFilterScriptInit
  240. forward ETI_OnFilterScriptInit();
  241. #else
  242.     #if defined _ALS_OnGameModeInit
  243.         #undef OnGameModeInit
  244.     #else
  245.         #define _ALS_OnGameModeInit
  246.     #endif
  247.     #define OnGameModeInit ETI_OnGameModeInit
  248. forward ETI_OnGameModeInit();
  249. #endif
  250. #if defined USE_PLAYER_CALLBACKS
  251.     #if defined CB_OnPlayerEnteredVehicle
  252. forward OnPlayerEnteredVehicle(playerid, vehicleid, seatid);
  253.     #endif
  254.     #if defined CB_OnPlayerExitedVehicle
  255. forward OnPlayerExitedVehicle(playerid, vehicleid);
  256.     #endif
  257.     #if defined CB_OnPlayerSkinChange
  258. forward OnPlayerSkinChange(playerid, oldskin, newskin);
  259.     #endif
  260.     #if defined CB_OnPlayerHoldWeaponChange
  261. forward OnPlayerHoldWeaponChange(playerid, oldslot, oldweapon, newslot, newweapon);
  262.     #endif
  263.     #if defined CB_OnPlayerWeaponStateChange
  264. forward OnPlayerWeaponStateChange(playerid, oldstate, newstate);
  265.     #endif
  266.     #if defined USE_WEAPON_DATA_CALLBACKS
  267.         #if defined CB_OnPlayerWeaponDataChange
  268. forward OnPlayerWeaponDataChange(playerid, slot, oldweapon, newweapon);
  269.         #endif
  270.         #if defined CB_OnPlayerAmmoDataChange
  271. forward OnPlayerAmmoDataChange(playerid, slot, oldammo, newammo);
  272.         #endif
  273.     #endif
  274.     #if defined CB_OnPlayerMoneyChange
  275. forward OnPlayerMoneyChange(playerid, oldmoney, newmoney);
  276.     #endif
  277.     #if defined CB_OnPlayerHealthChange
  278. forward OnPlayerHealthChange(playerid, Float:oldhealth, Float:newhealth);
  279.     #endif
  280.     #if defined CB_OnPlayerArmourChange
  281. forward OnPlayerArmourChange(playerid, Float:oldarmour, Float:newarmour);
  282.     #endif
  283.     #if defined CB_OnPlayerAnimationIndexChange
  284. forward OnPlayerAnimationIndexChange(playerid, oldindex, newindex);
  285.     #endif
  286.     #if defined CB_OnPlayerTargetPlayer
  287. forward OnPlayerTargetPlayer(playerid, oldtarget, newtarget, bool:istargeting);
  288.     #endif
  289.     #if defined CB_OnPlayerSpecialActionChange
  290. forward OnPlayerSpecialActionChange(playerid, oldsaction, newsaction);
  291.     #endif
  292.     #if defined CB_OnPlayerAnalogKeysChange
  293. forward OnPlayerAnalogKeysChange(playerid, oldy, newy, oldx, newx);
  294.     #endif
  295.     #if defined CB_OnPlayerXYZChange
  296. forward OnPlayerXYZChange(playerid, Float:oldx, Float:oldy, Float:oldz, Float:newx, Float:newy, Float:newz);
  297.     #endif
  298.     #if defined CB_OnPlayerVehicleHealthChange
  299. forward OnPlayerVehicleHealthChange(playerid, vehicleid, Float:oldhealth, Float:newhealth, bool:isissuer);
  300.     #endif
  301.     #if defined CB_OnPlayerVirtualWorldChange
  302. forward OnPlayerVirtualWorldChange(playerid, oldworld, newworld);
  303.     #endif
  304.     #if !defined _ETI_GetWeaponSlot
  305.         #define _ETI_GetWeaponSlot
  306. stock ETI_GetWeaponSlot(weaponid)
  307. {
  308.     new slot;
  309.     switch(weaponid)
  310.     {
  311.         case 0,1: slot = 0;
  312.         case 2..9: slot = 1;
  313.         case 22..24: slot = 2;
  314.         case 25..27: slot = 3;
  315.         case 28,29,32: slot = 4;
  316.         case 30,31: slot = 5;
  317.         case 33,34: slot = 6;
  318.         case 35..38: slot = 7;
  319.         case 16..18,39: slot = 8;
  320.         case 41..43: slot = 9;
  321.         case 10..15: slot = 10;
  322.         case 44..46: slot = 11;
  323.         case 40: slot = 12;
  324.         default: slot = INVALID_WEAPON_SLOT_ID;
  325.     }
  326.     return slot;
  327. }
  328.     #endif
  329. public OnPlayerConnect(playerid)
  330. {
  331.     #if defined CB_OnPlayerHealthChange
  332.     pCallBack_Info[playerid][nCallBack_Health] = 100.0;
  333.     #endif
  334.     #if defined CB_OnPlayerTargetPlayer
  335.     pCallBack_Info[playerid][nCallBack_Target] = INVALID_PLAYER_ID;
  336.     #endif
  337.     #if defined CB_OnPlayerVehicleHealthChange
  338.     pCallBack_Info[playerid][nCallBack_VehicleHealth] = 1000.0;
  339.     #endif
  340.     #if defined CB_OnPlayerEnteredVehicle
  341.     pCallBack_Info[playerid][nCallBack_VehicleSeat] = -1;
  342.     #elseif defined CB_OnPlayerExitedVehicle
  343.     pCallBack_Info[playerid][nCallBack_VehicleSeat] = -1;
  344.     #endif
  345.     pCallBack_Info[playerid][nCallBack_KickedBanned] = false;
  346.     return ETI_ReturnOPC("d", playerid);
  347. }
  348.     #if defined _ALS_OnPlayerConnect
  349.         #undef OnPlayerConnect
  350.     #else
  351.         #define _ALS_OnPlayerConnect
  352.     #endif
  353.     #define OnPlayerConnect ETI_OnPlayerConnect
  354. forward ETI_OnPlayerConnect(playerid);
  355. public OnPlayerDisconnect(playerid, reason)
  356. {
  357.     #if defined CB_OnPlayerEnteredVehicle
  358.     pCallBack_Info[playerid][nCallBack_VehicleID] = 0;
  359.     pCallBack_Info[playerid][nCallBack_VehicleSeat] = 0;
  360.     #elseif defined CB_OnPlayerExitedVehicle
  361.     pCallBack_Info[playerid][nCallBack_VehicleID] = 0;
  362.     pCallBack_Info[playerid][nCallBack_VehicleSeat] = 0;
  363.     #endif
  364.     #if defined CB_OnPlayerSkinChange
  365.     pCallBack_Info[playerid][nCallBack_Skin] = 0;
  366.     #endif
  367.     #if defined CB_OnPlayerWeaponChange
  368.     pCallBack_Info[playerid][nCallBack_HoldWeapon] = 0;
  369.     #endif
  370.     #if defined CB_OnPlayerWeaponStateChange
  371.     pCallBack_Info[playerid][nCallBack_WeaponState] = 0;
  372.     #endif
  373.     #if defined USE_WEAPON_DATA_CALLBACKS
  374.     for(new i = 0; i < MAX_WEAPON_SLOTS; i++)
  375.     {
  376.         #if defined CB_OnPlayerWeaponDataChange
  377.         pCallBack_Info[playerid][nCallBack_Weapon][i] = 0;
  378.         #endif
  379.         #if defined CB_OnPlayerAmmoDataChange
  380.         pCallBack_Info[playerid][nCallBack_Ammo][i] = 0;
  381.         #endif
  382.     }
  383.     #endif
  384.     #if defined CB_OnPlayerMoneyChange
  385.     pCallBack_Info[playerid][nCallBack_Money] = 0;
  386.     #endif
  387.     #if defined CB_OnPlayerHealthChange
  388.     pCallBack_Info[playerid][nCallBack_Health] = 0.0;
  389.     #endif
  390.     #if defined CB_OnPlayerArmourChange
  391.     pCallBack_Info[playerid][nCallBack_Armour] = 0.0;
  392.     #endif
  393.     #if defined CB_OnPlayerAnimationIndexChange
  394.     pCallBack_Info[playerid][nCallBack_Animation] = 0;
  395.     #endif
  396.     #if defined CB_OnPlayerTargetPlayer
  397.     pCallBack_Info[playerid][nCallBack_Target] = 0;
  398.     #endif
  399.     #if defined CB_OnPlayerSpecialActionChange
  400.     pCallBack_Info[playerid][nCallBack_SpecialAction] = 0;
  401.     #endif
  402.     #if defined CB_OnPlayerVehicleHealthChange
  403.     pCallBack_Info[playerid][nCallBack_VehicleHealth] = 0.0;
  404.     #endif
  405.     #if defined CB_OnPlayerAnalogKeysChange
  406.     pCallBack_Info[playerid][nCallBack_KeyY] = 0;
  407.     pCallBack_Info[playerid][nCallBack_KeyX] = 0;
  408.     #endif
  409.     #if defined CB_OnPlayerXYZChange
  410.     pCallBack_Info[playerid][nCallBack_X] = 0.0;
  411.     pCallBack_Info[playerid][nCallBack_Y] = 0.0;
  412.     pCallBack_Info[playerid][nCallBack_Z] = 0.0;
  413.     #endif
  414.     return ETI_ReturnOPDC("dd", playerid, reason);
  415. }
  416.     #if defined _ALS_OnPlayerDisconnect
  417.         #undef OnPlayerDisconnect
  418.     #else
  419.         #define _ALS_OnPlayerDisconnect
  420.     #endif
  421.     #define OnPlayerDisconnect ETI_OnPlayerDisconnect
  422. forward ETI_OnPlayerDisconnect(playerid, reason);
  423. public OnPlayerStateChange(playerid, newstate, oldstate)
  424. {
  425.     new OPSC_VehicleID = GetPlayerVehicleID(playerid), OPSC_VehicleSeat = GetPlayerVehicleSeat(playerid);
  426.     #if defined CB_OnPlayerEnteredVehicle
  427.     if((newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) && (oldstate != PLAYER_STATE_DRIVER && oldstate != PLAYER_STATE_PASSENGER))
  428.     {
  429.         GetVehicleHealth(pCallBack_Info[playerid][nCallBack_VehicleID], pCallBack_Info[playerid][nCallBack_VehicleHealth]);
  430.         #if defined USE_IN_ALL_SCRIPTS
  431.         if(((OPEnV_CallBack != -1) ? CallRemoteFunction("OnPlayerEnteredVehicle", "ddd", playerid, OPSC_VehicleID, OPSC_VehicleSeat) : 1))
  432.         #else
  433.         if(((OPEnV_CallBack != -1) ? CallLocalFunction("OnPlayerEnteredVehicle", "ddd", playerid, OPSC_VehicleID, OPSC_VehicleSeat) : 1))
  434.         #endif
  435.         {
  436.             pCallBack_Info[playerid][nCallBack_VehicleID] = OPSC_VehicleID;
  437.             pCallBack_Info[playerid][nCallBack_VehicleSeat] = OPSC_VehicleSeat;
  438.         }
  439.     }
  440.         #if defined CB_OnPlayerExitedVehicle
  441.     else
  442.         #endif
  443.     #endif
  444.     #if defined CB_OnPlayerExitedVehicle
  445.     if((newstate != PLAYER_STATE_DRIVER && newstate != PLAYER_STATE_PASSENGER) && (oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER))
  446.     {
  447.         pCallBack_Info[playerid][nCallBack_VehicleHealth] = 1000.0;
  448.         #if defined USE_IN_ALL_SCRIPTS
  449.         if(((OPExV_CallBack != -1) ? CallRemoteFunction("OnPlayerExitedVehicle", "dd", playerid, pCallBack_Info[playerid][nCallBack_VehicleID]) : 1))
  450.         #else
  451.         if(((OPExV_CallBack != -1) ? CallLocalFunction("OnPlayerExitedVehicle", "dd", playerid, pCallBack_Info[playerid][nCallBack_VehicleID]) : 1))
  452.         #endif
  453.         {
  454.             pCallBack_Info[playerid][nCallBack_VehicleID] = 0;
  455.             pCallBack_Info[playerid][nCallBack_VehicleSeat] = -1;
  456.         }
  457.     }
  458.     #endif
  459.     return ETI_ReturnOPSC("ddd", playerid, newstate, oldstate);
  460. }
  461.     #if defined _ALS_OnPlayerStateChange
  462.         #undef OnPlayerStateChange
  463.     #else
  464.         #define _ALS_OnPlayerStateChange
  465.     #endif
  466.     #define OnPlayerStateChange ETI_OnPlayerStateChange
  467. forward ETI_OnPlayerStateChange(playerid, newstate, oldstate);
  468. public OnPlayerUpdate(playerid)
  469. {
  470.     if(pCallBack_Info[playerid][nCallBack_KickedBanned]) return ETI_ReturnOPU("d", playerid);
  471.     new update_Variable[CallBack_Infos];
  472.     #if defined USE_OPU_DELAY
  473.         #if defined USE_OPU_SECONDS
  474.     update_Variable[nCallBack_OPUTime] = gettime();
  475.         #else
  476.     update_Variable[nCallBack_OPUTime] = GetTickCount();
  477.         #endif
  478.     if(pCallBack_Info[playerid][nCallBack_OPUTime]+ADD_OPU_DELAY >= update_Variable[nCallBack_OPUTime]) return ETI_ReturnOPU("d", playerid);
  479.     pCallBack_Info[playerid][nCallBack_OPUTime] = update_Variable[nCallBack_OPUTime];
  480.     #endif
  481.     #if defined CB_OnPlayerSkinChange
  482.     update_Variable[nCallBack_Skin] = GetPlayerSkin(playerid);
  483.         #if defined USE_IN_ALL_SCRIPTS
  484.     if(pCallBack_Info[playerid][nCallBack_Skin] != update_Variable[nCallBack_Skin] && ((OPSkC_CallBack != -1) ? CallRemoteFunction("OnPlayerSkinChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Skin], update_Variable[nCallBack_Skin]) : 1))
  485.         #else
  486.     if(pCallBack_Info[playerid][nCallBack_Skin] != update_Variable[nCallBack_Skin] && ((OPSkC_CallBack != -1) ? CallLocalFunction("OnPlayerSkinChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Skin], update_Variable[nCallBack_Skin]) : 1))
  487.         #endif
  488.         pCallBack_Info[playerid][nCallBack_Skin] = update_Variable[nCallBack_Skin];
  489.     #endif
  490.     #if defined CB_OnPlayerHoldWeaponChange
  491.     update_Variable[nCallBack_HoldWeapon] = GetPlayerWeapon(playerid);
  492.         #if defined USE_IN_ALL_SCRIPTS
  493.     if(pCallBack_Info[playerid][nCallBack_HoldWeapon] != update_Variable[nCallBack_HoldWeapon] && ((OPHWC_CallBack != -1) ? CallRemoteFunction("OnPlayerHoldWeaponChange", "ddddd", playerid, ETI_GetWeaponSlot(pCallBack_Info[playerid][nCallBack_HoldWeapon]), pCallBack_Info[playerid][nCallBack_HoldWeapon], ETI_GetWeaponSlot(update_Variable[nCallBack_HoldWeapon]), update_Variable[nCallBack_HoldWeapon]) : 1))
  494.         #else
  495.     if(pCallBack_Info[playerid][nCallBack_HoldWeapon] != update_Variable[nCallBack_HoldWeapon] && ((OPHWC_CallBack != -1) ? CallLocalFunction("OnPlayerHoldWeaponChange", "ddddd", playerid, ETI_GetWeaponSlot(pCallBack_Info[playerid][nCallBack_HoldWeapon]), pCallBack_Info[playerid][nCallBack_HoldWeapon], ETI_GetWeaponSlot(update_Variable[nCallBack_HoldWeapon]), update_Variable[nCallBack_HoldWeapon]) : 1))
  496.         #endif
  497.         pCallBack_Info[playerid][nCallBack_HoldWeapon] = update_Variable[nCallBack_HoldWeapon];
  498.     #endif
  499.     #if defined CB_OnPlayerWeaponStateChange
  500.     update_Variable[nCallBack_WeaponState] = GetPlayerWeaponState(playerid);
  501.         #if defined USE_IN_ALL_SCRIPTS
  502.     if(pCallBack_Info[playerid][nCallBack_WeaponState] != update_Variable[nCallBack_WeaponState] && ((OPWSC_CallBack != -1) ? CallRemoteFunction("OnPlayerWeaponStateChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_WeaponState], update_Variable[nCallBack_WeaponState]) : 1))
  503.         #else
  504.     if(pCallBack_Info[playerid][nCallBack_WeaponState] != update_Variable[nCallBack_WeaponState] && ((OPWSC_CallBack != -1) ? CallLocalFunction("OnPlayerWeaponStateChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_WeaponState], update_Variable[nCallBack_WeaponState]) : 1))
  505.         #endif
  506.         pCallBack_Info[playerid][nCallBack_WeaponState] = update_Variable[nCallBack_WeaponState];
  507.     #endif
  508.     #if defined USE_WEAPON_DATA_CALLBACKS
  509.     for(new i = 0; i < MAX_WEAPON_SLOTS; i++)
  510.     {
  511.         GetPlayerWeaponData(playerid, i, update_Variable[nCallBack_Weapon][i], update_Variable[nCallBack_Ammo][i]);
  512.         #if defined CB_OnPlayerWeaponDataChange
  513.             #if defined USE_IN_ALL_SCRIPTS
  514.         if(pCallBack_Info[playerid][nCallBack_Weapon][i] != update_Variable[nCallBack_Weapon][i] && ((OPWDC_CallBack != -1) ? CallRemoteFunction("OnPlayerWeaponDataChange", "dddd", playerid, i, pCallBack_Info[playerid][nCallBack_Weapon][i], update_Variable[nCallBack_Weapon][i]) : 1))
  515.             #else
  516.         if(pCallBack_Info[playerid][nCallBack_Weapon][i] != update_Variable[nCallBack_Weapon][i] && ((OPWDC_CallBack != -1) ? CallLocalFunction("OnPlayerWeaponDataChange", "dddd", playerid, i, pCallBack_Info[playerid][nCallBack_Weapon][i], update_Variable[nCallBack_Weapon][i]) : 1))
  517.             #endif
  518.             pCallBack_Info[playerid][nCallBack_Weapon][i] = update_Variable[nCallBack_Weapon][i];
  519.         #endif
  520.         #if defined CB_OnPlayerAmmoDataChange
  521.             #if defined USE_IN_ALL_SCRIPTS
  522.         if(pCallBack_Info[playerid][nCallBack_Ammo][i] != update_Variable[nCallBack_Ammo][i] && ((OPADC_CallBack != -1) ? CallRemoteFunction("OnPlayerAmmoDataChange", "dddd", playerid, i, pCallBack_Info[playerid][nCallBack_Ammo][i], update_Variable[nCallBack_Ammo][i]) : 1))
  523.             #else
  524.         if(pCallBack_Info[playerid][nCallBack_Ammo][i] != update_Variable[nCallBack_Ammo][i] && ((OPADC_CallBack != -1) ? CallLocalFunction("OnPlayerAmmoDataChange", "dddd", playerid, i, pCallBack_Info[playerid][nCallBack_Ammo][i], update_Variable[nCallBack_Ammo][i]) : 1))
  525.             #endif
  526.             pCallBack_Info[playerid][nCallBack_Ammo][i] = update_Variable[nCallBack_Ammo][i];
  527.         #endif
  528.     }
  529.     #endif
  530.     #if defined CB_OnPlayerMoneyChange
  531.     update_Variable[nCallBack_Money] = GetPlayerMoney(playerid);
  532.         #if defined USE_IN_ALL_SCRIPTS
  533.     if(pCallBack_Info[playerid][nCallBack_Money] != update_Variable[nCallBack_Money] && ((OPMC_CallBack != -1) ? CallRemoteFunction("OnPlayerMoneyChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Money], update_Variable[nCallBack_Money]) : 1))
  534.         #else
  535.     if(pCallBack_Info[playerid][nCallBack_Money] != update_Variable[nCallBack_Money] && ((OPMC_CallBack != -1) ? CallLocalFunction("OnPlayerMoneyChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Money], update_Variable[nCallBack_Money]) : 1))
  536.         #endif
  537.         pCallBack_Info[playerid][nCallBack_Money] = update_Variable[nCallBack_Money];
  538.     #endif
  539.     #if defined CB_OnPlayerHealthChange
  540.     GetPlayerHealth(playerid, update_Variable[nCallBack_Health]);
  541.         #if defined USE_IN_ALL_SCRIPTS
  542.     if(pCallBack_Info[playerid][nCallBack_Health] != update_Variable[nCallBack_Health] && ((OPHC_CallBack != -1) ? CallRemoteFunction("OnPlayerHealthChange", "dff", playerid, pCallBack_Info[playerid][nCallBack_Health], update_Variable[nCallBack_Health]) : 1))
  543.         #else
  544.     if(pCallBack_Info[playerid][nCallBack_Health] != update_Variable[nCallBack_Health] && ((OPHC_CallBack != -1) ? CallLocalFunction("OnPlayerHealthChange", "dff", playerid, pCallBack_Info[playerid][nCallBack_Health], update_Variable[nCallBack_Health]) : 1))
  545.         #endif
  546.         pCallBack_Info[playerid][nCallBack_Health] = update_Variable[nCallBack_Health];
  547.     #endif
  548.     #if defined CB_OnPlayerArmourChange
  549.     GetPlayerArmour(playerid, update_Variable[nCallBack_Armour]);
  550.         #if defined USE_IN_ALL_SCRIPTS
  551.     if(pCallBack_Info[playerid][nCallBack_Armour] != update_Variable[nCallBack_Armour] && ((OPAC_CallBack != -1) ? CallRemoteFunction("OnPlayerArmourChange", "dff", playerid, pCallBack_Info[playerid][nCallBack_Armour], update_Variable[nCallBack_Armour]) : 1))
  552.         #else
  553.     if(pCallBack_Info[playerid][nCallBack_Armour] != update_Variable[nCallBack_Armour] && ((OPAC_CallBack != -1) ? CallLocalFunction("OnPlayerArmourChange", "dff", playerid, pCallBack_Info[playerid][nCallBack_Armour], update_Variable[nCallBack_Armour]) : 1))
  554.         #endif
  555.         pCallBack_Info[playerid][nCallBack_Armour] = update_Variable[nCallBack_Armour];
  556.     #endif
  557.     #if defined CB_OnPlayerAnimationIndexChange
  558.     update_Variable[nCallBack_Animation] = GetPlayerAnimationIndex(playerid);
  559.         #if defined USE_IN_ALL_SCRIPTS
  560.     if(pCallBack_Info[playerid][nCallBack_Animation] != update_Variable[nCallBack_Animation] && ((OPAIC_CallBack != -1) ? CallRemoteFunction("OnPlayerAnimationIndexChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Animation], update_Variable[nCallBack_Animation]) : 1))
  561.         #else
  562.     if(pCallBack_Info[playerid][nCallBack_Animation] != update_Variable[nCallBack_Animation] && ((OPAIC_CallBack != -1) ? CallLocalFunction("OnPlayerAnimationIndexChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_Animation], update_Variable[nCallBack_Animation]) : 1))
  563.         #endif
  564.         pCallBack_Info[playerid][nCallBack_Animation] = update_Variable[nCallBack_Animation];
  565.     #endif
  566.     #if defined CB_OnPlayerTargetPlayer
  567.     update_Variable[nCallBack_Target] = GetPlayerTargetPlayer(playerid);
  568.         #if defined USE_IN_ALL_SCRIPTS
  569.     if(pCallBack_Info[playerid][nCallBack_Target] != update_Variable[nCallBack_Target] && ((OPTP_CallBack != -1) ? CallRemoteFunction("OnPlayerTargetPlayer", "dddl", playerid, pCallBack_Info[playerid][nCallBack_Target], update_Variable[nCallBack_Target], (update_Variable[nCallBack_Target] != INVALID_PLAYER_ID ? true : false)) : 1))
  570.         #else
  571.     if(pCallBack_Info[playerid][nCallBack_Target] != update_Variable[nCallBack_Target] && ((OPTP_CallBack != -1) ? CallLocalFunction("OnPlayerTargetPlayer", "dddl", playerid, pCallBack_Info[playerid][nCallBack_Target], update_Variable[nCallBack_Target], (update_Variable[nCallBack_Target] != INVALID_PLAYER_ID ? true : false)) : 1))
  572.         #endif
  573.         pCallBack_Info[playerid][nCallBack_Target] = update_Variable[nCallBack_Target];
  574.     #endif
  575.     #if defined CB_OnPlayerSpecialActionChange
  576.     update_Variable[nCallBack_SpecialAction] = GetPlayerSpecialAction(playerid);
  577.         #if defined USE_IN_ALL_SCRIPTS
  578.     if(pCallBack_Info[playerid][nCallBack_SpecialAction] != update_Variable[nCallBack_SpecialAction] && ((OPSAC_CallBack != -1) ? CallRemoteFunction("OnPlayerSpecialActionChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_SpecialAction], update_Variable[nCallBack_SpecialAction]) : 1))
  579.         #else
  580.     if(pCallBack_Info[playerid][nCallBack_SpecialAction] != update_Variable[nCallBack_SpecialAction] && ((OPSAC_CallBack != -1) ? CallLocalFunction("OnPlayerSpecialActionChange", "ddd", playerid, pCallBack_Info[playerid][nCallBack_SpecialAction], update_Variable[nCallBack_SpecialAction]) : 1))
  581.         #endif
  582.         pCallBack_Info[playerid][nCallBack_SpecialAction] = update_Variable[nCallBack_SpecialAction];
  583.     #endif
  584.     #if defined CB_OnPlayerAnalogKeysChange
  585.     new dumpkeys;
  586.     GetPlayerKeys(playerid, dumpkeys, update_Variable[nCallBack_KeyY], update_Variable[nCallBack_KeyX]);
  587.     #pragma unused dumpkeys
  588.         #if defined USE_IN_ALL_SCRIPTS
  589.     if((pCallBack_Info[playerid][nCallBack_KeyY] != update_Variable[nCallBack_KeyY] || pCallBack_Info[playerid][nCallBack_KeyX] != update_Variable[nCallBack_KeyX]) && ((OPAKC_CallBack != -1) ? CallRemoteFunction("OnPlayerAnalogKeysChange", "ddddd", playerid, pCallBack_Info[playerid][nCallBack_KeyY], update_Variable[nCallBack_KeyY], pCallBack_Info[playerid][nCallBack_KeyX], update_Variable[nCallBack_KeyX]) : 1))
  590.         #else
  591.     if((pCallBack_Info[playerid][nCallBack_KeyY] != update_Variable[nCallBack_KeyY] || pCallBack_Info[playerid][nCallBack_KeyX] != update_Variable[nCallBack_KeyX]) && ((OPAKC_CallBack != -1) ? CallLocalFunction("OnPlayerAnalogKeysChange", "ddddd", playerid, pCallBack_Info[playerid][nCallBack_KeyY], update_Variable[nCallBack_KeyY], pCallBack_Info[playerid][nCallBack_KeyX], update_Variable[nCallBack_KeyX]) : 1))
  592.         #endif
  593.     {
  594.         pCallBack_Info[playerid][nCallBack_KeyY] = update_Variable[nCallBack_KeyY];
  595.         pCallBack_Info[playerid][nCallBack_KeyX] = update_Variable[nCallBack_KeyX];
  596.     }
  597.     #endif
  598.     #if defined CB_OnPlayerXYZChange
  599.     GetPlayerPos(playerid, update_Variable[nCallBack_X], update_Variable[nCallBack_Y], update_Variable[nCallBack_Z]);
  600.         #if defined USE_IN_ALL_SCRIPTS
  601.     if((pCallBack_Info[playerid][nCallBack_X] != update_Variable[nCallBack_X] || pCallBack_Info[playerid][nCallBack_Y] != update_Variable[nCallBack_Y] || update_Variable[nCallBack_X] || pCallBack_Info[playerid][nCallBack_Z] != update_Variable[nCallBack_Z]) &&
  602.     ((OPXYZC_CallBack != -1) ? CallRemoteFunction("OnPlayerXYZChange", "dffffff", playerid, pCallBack_Info[playerid][nCallBack_X], pCallBack_Info[playerid][nCallBack_Y], pCallBack_Info[playerid][nCallBack_Z], update_Variable[nCallBack_X], update_Variable[nCallBack_Y], update_Variable[nCallBack_Z]) : 1))
  603.         #else
  604.     if((pCallBack_Info[playerid][nCallBack_X] != update_Variable[nCallBack_X] || pCallBack_Info[playerid][nCallBack_Y] != update_Variable[nCallBack_Y] || update_Variable[nCallBack_X] || pCallBack_Info[playerid][nCallBack_Z] != update_Variable[nCallBack_Z]) &&
  605.     ((OPXYZC_CallBack != -1) ? CallLocalFunction("OnPlayerXYZChange", "dffffff", playerid, pCallBack_Info[playerid][nCallBack_X], pCallBack_Info[playerid][nCallBack_Y], pCallBack_Info[playerid][nCallBack_Z], update_Variable[nCallBack_X], update_Variable[nCallBack_Y], update_Variable[nCallBack_Z]) : 1))
  606.         #endif
  607.     {
  608.         pCallBack_Info[playerid][nCallBack_X] = update_Variable[nCallBack_X];
  609.         pCallBack_Info[playerid][nCallBack_Y] = update_Variable[nCallBack_Y];
  610.         pCallBack_Info[playerid][nCallBack_Z] = update_Variable[nCallBack_Z];
  611.     }
  612.     #endif
  613.     #if defined CB_OnPlayerVehicleHealthChange
  614.     update_Variable[nCallBack_VehicleID] = pCallBack_Info[playerid][nCallBack_VehicleID];
  615.     update_Variable[nCallBack_VehicleSeat] = pCallBack_Info[playerid][nCallBack_VehicleSeat];
  616.     if(update_Variable[nCallBack_VehicleID] != 0)
  617.     {
  618.         GetVehicleHealth(update_Variable[nCallBack_VehicleID], update_Variable[nCallBack_VehicleHealth]);
  619.         #if defined USE_IN_ALL_SCRIPTS
  620.         if(pCallBack_Info[playerid][nCallBack_VehicleHealth] != update_Variable[nCallBack_VehicleHealth] && ((OPVHC_CallBack != -1) ? CallRemoteFunction("OnPlayerVehicleHealthChange", "ddffl", playerid, update_Variable[nCallBack_VehicleID], pCallBack_Info[playerid][nCallBack_VehicleHealth], update_Variable[nCallBack_VehicleHealth], (update_Variable[nCallBack_VehicleSeat] == 0) ? true : false) : 1))
  621.         #else
  622.         if(pCallBack_Info[playerid][nCallBack_VehicleHealth] != update_Variable[nCallBack_VehicleHealth] && ((OPVHC_CallBack != -1) ? CallLocalFunction("OnPlayerVehicleHealthChange", "ddffl", playerid, update_Variable[nCallBack_VehicleID], pCallBack_Info[playerid][nCallBack_VehicleHealth], update_Variable[nCallBack_VehicleHealth], (update_Variable[nCallBack_VehicleSeat] == 0) ? true : false) : 1))
  623.         #endif
  624.             pCallBack_Info[playerid][nCallBack_VehicleHealth] = update_Variable[nCallBack_VehicleHealth];
  625.     }
  626.     #endif
  627.     return ETI_ReturnOPU("d", playerid);
  628. }
  629.     #if defined _ALS_OnPlayerUpdate
  630.         #undef OnPlayerUpdate
  631.     #else
  632.         #define _ALS_OnPlayerUpdate
  633.     #endif
  634.     #define OnPlayerUpdate ETI_OnPlayerUpdate
  635. forward ETI_OnPlayerUpdate(playerid);
  636.     #if defined CB_OnPlayerVirtualWorldChange
  637.         #if !defined _ETI_SetPlayerVirtualWorld
  638.             #define _ETI_SetPlayerVirtualWorld
  639. stock ETI_SetPlayerVirtualWorld(playerid, worldid)
  640. {
  641.     new oldworld = GetPlayerVirtualWorld(playerid);
  642.             #if defined USE_IN_ALL_SCRIPTS
  643.     if(oldworld != worldid && ((OPVWC_CallBack != -1) ? CallRemoteFunction("OnPlayerVirtualWorldChange", "ddd", playerid, oldworld, worldid) : 1))
  644.             #else
  645.     if(oldworld != worldid && ((OPVWC_CallBack != -1) ? CallLocalFunction("OnPlayerVirtualWorldChange", "ddd", playerid, oldworld, worldid) : 1))
  646.             #endif
  647.         SetPlayerVirtualWorld(playerid, worldid);
  648.     return 1;
  649. }
  650.             #define SetPlayerVirtualWorld(%0) ETI_SetPlayerVirtualWorld(%0)
  651.         #endif
  652.     #endif
  653.     #if !defined _ETI_Kick
  654.         #define _ETI_Kick
  655. forward ETI_Kick(playerid);
  656. public ETI_Kick(playerid)
  657. {
  658.     pCallBack_Info[playerid][nCallBack_KickedBanned] = true;
  659.     Kick(playerid);
  660.     return 1;
  661. }
  662.         #define Kick(%0) ETI_Kick(%0)
  663.     #endif
  664.     #if !defined _ETI_Ban
  665.         #define _ETI_Ban
  666. forward ETI_Ban(playerid);
  667. public ETI_Ban(playerid)
  668. {
  669.     pCallBack_Info[playerid][nCallBack_KickedBanned] = true;
  670.     Ban(playerid);
  671.     return 1;
  672. }
  673.         #define Ban(%0) ETI_Ban(%0)
  674.     #endif
  675.     #if !defined _ETI_BanEx
  676.         #define _ETI_BanEx
  677. forward ETI_BanEx(playerid, const reason[]);
  678. public ETI_BanEx(playerid, const reason[])
  679. {
  680.     pCallBack_Info[playerid][nCallBack_KickedBanned] = true;
  681.     BanEx(playerid, reason);
  682.     return 1;
  683. }
  684.         #define BanEx(%0) ETI_BanEx(%0)
  685.     #endif
  686. #endif
  687. #if defined USE_PVAR_CALLBACKS
  688.     #if defined CB_OnPVarDelete
  689. forward OnPVarDelete(playerid, varname[], oldtype);
  690.     #endif
  691.     #if defined CB_OnPVarCreate
  692. forward OnPVarCreate(playerid, varname[], type);
  693.     #endif
  694.     #if defined CB_OnPVarTypeChange
  695. forward OnPVarTypeChange(playerid, varname[], oldtype, newtype);
  696.     #endif
  697. forward OnPVarIntChange(playerid, varname[], oldint_value, newint_value);
  698. forward OnPVarStringChange(playerid, varname[], oldstring_value[], newstring_value[]);
  699. forward OnPVarFloatChange(playerid, varname[], Float:oldfloat_value, Float:newfloat_value);
  700.     #if defined CB_OnPVarDelete
  701.         #if !defined _ETI_DeletePVar
  702.             #define _ETI_DeletePVar
  703. forward ETI_DeletePVar(playerid, varname[]);
  704. public ETI_DeletePVar(playerid, varname[])
  705. {
  706.     new pvartype = GetPVarType(playerid, varname);
  707.             #if defined USE_IN_ALL_SCRIPTS
  708.     if(pvartype != 0 && ((OPVarD_CallBack != -1) ? CallRemoteFunction("OnPVarDelete", "dsd", playerid, varname, pvartype) : 1))
  709.             #else
  710.     if(pvartype != 0 && ((OPVarD_CallBack != -1) ? CallLocalFunction("OnPVarDelete", "dsd", playerid, varname, pvartype) : 1))
  711.             #endif
  712.         return DeletePVar(playerid, varname);
  713.     return 0;
  714. }
  715.             #define DeletePVar(%0) ETI_DeletePVar(%0)
  716.         #endif
  717.     #endif
  718.     #if !defined _ETI_SetPVarInt
  719.         #define _ETI_SetPVarInt
  720. forward ETI_SetPVarInt(playerid, varname[], int_value);
  721. public ETI_SetPVarInt(playerid, varname[], int_value)
  722. {
  723.         #if defined CB_OnPVarCreate
  724.             #if defined USE_IN_ALL_SCRIPTS
  725.     if(GetPVarType(playerid, varname) == 0 && ((OPVarC_CallBack != -1) ? CallRemoteFunction("OnPVarCreate", "dsd", playerid, varname, 1) : 1))
  726.             #else
  727.     if(GetPVarType(playerid, varname) == 0 && ((OPVarC_CallBack != -1) ? CallLocalFunction("OnPVarCreate", "dsd", playerid, varname, 1) : 1))
  728.             #endif
  729.         SetPVarInt(playerid, varname, int_value);
  730.             #if defined CB_OnPVarTypeChange
  731.     else
  732.             #endif
  733.         #endif
  734.         #if defined CB_OnPVarTypeChange
  735.             #if defined USE_IN_ALL_SCRIPTS
  736.     if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 1 && ((OPVarTC_CallBack != -1) ? CallRemoteFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 1) : 1))
  737.             #else
  738.     if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 1 && ((OPVarTC_CallBack != -1) ? CallLocalFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 1) : 1))
  739.             #endif
  740.         SetPVarInt(playerid, varname, int_value);
  741.             #if defined CB_OnPVarIntChange
  742.     else
  743.             #endif
  744.         #endif
  745.         #if defined CB_OnPVarIntChange
  746.             #if defined USE_IN_ALL_SCRIPTS
  747.     if(GetPVarInt(playerid, varname) != int_value && ((OPVarIC_CallBack != -1) ? CallRemoteFunction("OnPVarIntChange", "dsdd", playerid, varname, GetPVarInt(playerid, varname), int_value) : 1))
  748.             #else
  749.     if(GetPVarInt(playerid, varname) != int_value && ((OPVarIC_CallBack != -1) ? CallLocalFunction("OnPVarIntChange", "dsdd", playerid, varname, GetPVarInt(playerid, varname), int_value) : 1))
  750.             #endif
  751.         SetPVarInt(playerid, varname, int_value);
  752.         #endif
  753.         #if !defined CB_OnPVarCreate
  754.             #if !defined CB_OnPVarTypeChange
  755.                 #if !defined CB_OnPVarIntChange
  756.     SetPVarInt(playerid, varname, int_value);
  757.                 #endif
  758.             #endif
  759.         #endif
  760. }
  761.         #define SetPVarInt(%0) ETI_SetPVarInt(%0)
  762.     #endif
  763.     #if !defined _ETI_SetPVarString
  764.         #define _ETI_SetPVarString
  765. forward ETI_SetPVarString(playerid, varname[], string_value[]);
  766. public ETI_SetPVarString(playerid, varname[], string_value[])
  767. {
  768.         #if defined CB_OnPVarCreate
  769.             #if defined USE_IN_ALL_SCRIPTS
  770.     if(GetPVarType(playerid, varname) == 0 && ((OPVarC_CallBack != -1) ? CallRemoteFunction("OnPVarCreate", "dsd", playerid, varname, 2) : 1))
  771.             #else
  772.     if(GetPVarType(playerid, varname) == 0 && ((OPVarC_CallBack != -1) ? CallLocalFunction("OnPVarCreate", "dsd", playerid, varname, 2) : 1))
  773.             #endif
  774.         SetPVarString(playerid, varname, string_value);
  775.             #if defined CB_OnPVarTypeChange
  776.     else
  777.             #endif
  778.         #endif
  779.         #if defined CB_OnPVarTypeChange
  780.             #if defined USE_IN_ALL_SCRIPTS
  781.     if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 2 && ((OPVarTC_CallBack != -1) ? CallRemoteFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 2) : 1))
  782.             #else
  783.     if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 2 && ((OPVarTC_CallBack != -1) ? CallLocalFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 2) : 1))
  784.             #endif
  785.         SetPVarString(playerid, varname, string_value);
  786.             #if defined CB_OnPVarStringChange
  787.     else
  788.     {
  789.             #endif
  790.         #endif
  791.         #if defined CB_OnPVarStringChange
  792.         new pvstr[1024];
  793.         GetPVarString(playerid, varname, pvstr, 1024);
  794.         new strcmpval = strcmp(pvstr, string_value);
  795.             #if defined USE_IN_ALL_SCRIPTS
  796.         if((strcmpval == -1 || strcmpval == 1) && ((OPVarSC_CallBack != -1) ? CallRemoteFunction("OnPVarStringChange", "dsss", playerid, varname, pvstr, string_value) : 1))
  797.             #else
  798.         if((strcmpval == -1 || strcmpval == 1) && ((OPVarSC_CallBack != -1) ? CallLocalFunction("OnPVarStringChange", "dsss", playerid, varname, pvstr, string_value) : 1))
  799.             #endif
  800.             SetPVarString(playerid, varname, string_value);
  801.             #if defined CB_OnPVarTypeChange
  802.     }
  803.             #endif
  804.         #endif
  805.         #if !defined CB_OnPVarCreate
  806.             #if !defined CB_OnPVarTypeChange
  807.                 #if defined !CB_OnPVarStringChange
  808.     SetPVarString(playerid, varname, string_value);
  809.                 #endif
  810.             #endif
  811.         #endif
  812.     return 1;
  813. }
  814.         #define SetPVarString(%0) ETI_SetPVarString(%0)
  815.     #endif
  816.     #if !defined _ETI_SetPVarFloat
  817.         #define _ETI_SetPVarFloat
  818. forward ETI_SetPVarFloat(playerid, varname[], Float:float_value);
  819. public ETI_SetPVarFloat(playerid, varname[], Float:float_value)
  820. {
  821.         #if defined CB_OnPVarCreate
  822.             #if defined USE_IN_ALL_SCRIPTS
  823.     if(GetPVarType(playerid, varname) == 0 && ((OPVarC_CallBack != -1) ? CallRemoteFunction("OnPVarCreate", "dsd", playerid, varname, 3) : 1))
  824.             #else
  825.     if(GetPVarType(playerid, varname) == 0 && ((OPVarC_CallBack != -1) ? CallLocalFunction("OnPVarCreate", "dsd", playerid, varname, 3) : 1))
  826.             #endif
  827.         SetPVarFloat(playerid, varname, float_value);
  828.             #if defined CB_OnPVarTypeChange
  829.     else
  830.             #endif
  831.         #endif
  832.         #if defined CB_OnPVarTypeChange
  833.             #if defined USE_IN_ALL_SCRIPTS
  834.     if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 3 && ((OPVarTC_CallBack != -1) ? CallRemoteFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 3) : 1))
  835.             #else
  836.     if(GetPVarType(playerid, varname) != 0 && GetPVarType(playerid, varname) != 3 && ((OPVarTC_CallBack != -1) ? CallLocalFunction("OnPVarTypeChange", "dsdd", playerid, varname, GetPVarType(playerid, varname), 3) : 1))
  837.             #endif
  838.         SetPVarFloat(playerid, varname, float_value);
  839.             #if defined CB_OnPVarFloatChange
  840.     else
  841.             #endif
  842.         #endif
  843.         #if defined CB_OnPVarFloatChange
  844.             #if defined USE_IN_ALL_SCRIPTS
  845.     if(GetPVarFloat(playerid, varname) != float_value && ((OPVarFC_CallBack != -1) ? CallRemoteFunction("OnPVarFloatChange", "dsff", playerid, varname, GetPVarFloat(playerid, varname), float_value) : 1))
  846.             #else
  847.     if(GetPVarFloat(playerid, varname) != float_value && ((OPVarFC_CallBack != -1) ? CallLocalFunction("OnPVarFloatChange", "dsff", playerid, varname, GetPVarFloat(playerid, varname), float_value) : 1))
  848.             #endif
  849.         SetPVarFloat(playerid, varname, float_value);
  850.         #endif
  851.         #if defined CB_OnPVarCreate
  852.             #if !defined CB_OnPVarTypeChange
  853.                 #if !defined CB_OnPVarFloatChange
  854.     SetPVarFloat(playerid, varname, float_value);
  855.                 #endif
  856.             #endif
  857.         #endif
  858.     return 1;
  859. }
  860.         #define SetPVarFloat(%0) ETI_SetPVarFloat(%0)
  861.     #endif
  862. #endif
  863.  
  864. /*
  865. ETIETIETIETI    ETI         ETIETIETIETI    BigBigBigBig    BigBigBigBigBig     Big
  866. ETI       ETI   ETI       ETI               Big                   Big           Big
  867. ETI        ETI  ETI      ETI                Big                   Big           Big
  868. ETI       ETI   ETI     ETI                 Big                   Big           Big
  869. ETIETIETIETI    ETI     ETI    ETIETIETI    BigBigBig             Big           Big
  870. ETI       ETI   ETI     ETI          ETI    Big                   Big           Big
  871. ETI        ETI  ETI      ETI         ETI    Big                   Big           Big
  872. ETI       ETI   ETI       ETI        ETI    Big                   Big           Big
  873. ETIETIETIETI    ETI         ETIETIETIETI    BigBigBigBig          Big           Big
  874. */
  875.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement