Advertisement
xTurbox

Aircraft Pay n' Spray V 1.1

Jun 13th, 2016
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.33 KB | None | 0 0
  1. /*======================================
  2. Includes
  3. ========================================*/
  4. #include    <a_samp>
  5. #include    <streamer>
  6.  
  7. /*======================================
  8. Defines
  9. ========================================*/
  10. #define USE_HANGARS     true//change to false if you dont want to create hangars
  11. /*NOTE: though you disable the feature above the LV Pay n Spray checkpoint will still be inside
  12. a hangar there by default*/
  13. #define RESPRAYAMOUNT   1000//how much money will the respray cost(0 if it is for free)
  14. #define RESPRAY_TIME     10//how much time will it take to respray? (IN SECONDS)
  15. /*======================================
  16. Global Variables
  17. ========================================*/
  18. new CP[5];
  19.  
  20. new ResprayTimer;
  21. new ResprayTime;
  22. new string[128];
  23.  
  24. #if defined USE_HANGARS true
  25. new ResprayHangar[4]; //Respray hangars for Sf,LS and Aa
  26. //Using a hangar in LV, there by default
  27. #endif
  28. new bool:resprayactive;
  29.  
  30. /*======================================
  31. CallBacks
  32. ========================================*/
  33. public OnFilterScriptInit()
  34. {
  35.     #if defined USE_HANGARS true
  36.     ResprayHangar[1] = CreateObject(8240, 333.72214, 2442.68579, 28.81938,   0.00000, 0.00000, 0.00000);
  37.     ResprayHangar[2] = CreateObject(8240, -1206.07300, -471.37854, 26.58905,   0.00000, 0.00000, 45.00000);
  38.     ResprayHangar[3] = CreateObject(8240, 1834.46167, -2429.34521, 25.99270,   0.00000, 0.00000, 180.00000);
  39.     #endif
  40.     CP[1] = CreateDynamicCP(1582.7861,1189.7758,10.8125, 30); //lv
  41.     CP[2] = CreateDynamicCP(1834.3018, -2437.5706, 13.7144 , 30); //Ls
  42.     CP[3] = CreateDynamicCP(-1217.5208, -469.5951, 14.0892, 30); //Sf
  43.     CP[4] = CreateDynamicCP(338.2547, 2454.3660, 16.4228,30); //Aa
  44.     print("______________________________");
  45.     print("     Aircraft Pay n' Spray");
  46.     print("         By Turbo");
  47.     print("    Successfully loaded");
  48.     print("______________________________");
  49.     return 1;
  50. }
  51. public OnPlayerConnect(playerid)
  52. {
  53.     //removing some objects to make space for the hangar in abandoned airport
  54.     RemoveBuildingForPlayer(playerid, 3368, 323.0078, 2411.3828, 15.4766, 0.25);
  55.     RemoveBuildingForPlayer(playerid, 3369, 349.8750, 2438.2500, 15.4766, 0.25);
  56.     RemoveBuildingForPlayer(playerid, 3367, 296.1406, 2438.2500, 15.4766, 0.25);
  57.     RemoveBuildingForPlayer(playerid, 3271, 296.1406, 2438.2500, 15.4766, 0.25);
  58.     RemoveBuildingForPlayer(playerid, 3270, 323.0078, 2411.3828, 15.4766, 0.25);
  59.     RemoveBuildingForPlayer(playerid, 16101, 321.6719, 2463.4922, 15.4766, 0.25);
  60.     RemoveBuildingForPlayer(playerid, 16368, 321.6719, 2463.4922, 25.6641, 0.25);
  61.     RemoveBuildingForPlayer(playerid, 3269, 349.8750, 2438.2500, 15.4766, 0.25);
  62.     return 1;
  63. }
  64. public OnFilterScriptExit()
  65. {
  66.     DestroyObject(ResprayHangar[1]);
  67.     DestroyObject(ResprayHangar[2]);
  68.     DestroyObject(ResprayHangar[3]);
  69.     DestroyDynamicCP(CP[1]);
  70.     DestroyDynamicCP(CP[2]);
  71.     DestroyDynamicCP(CP[3]);
  72.     DestroyDynamicCP(CP[4]);
  73.     print("______________________________");
  74.     print("     Aircraft Pay n' Spray");
  75.     print("         By Turbo");
  76.     print("    Successfully un-loaded");
  77.     print("______________________________");
  78.     return 1;
  79. }
  80. public OnPlayerEnterDynamicCP(playerid, checkpointid)
  81. {
  82.     if(checkpointid == CP[1] || CP[2] || CP[3] || CP[4])
  83.     {
  84.         if(!IsPlayerInPlane(playerid)) return GameTextForPlayer(playerid,"~r~This Pay n' Spray is~n~avaliable for aircrafts~n~~w~ONLY",2000,3);
  85.         if(GetPlayerMoney(playerid) < RESPRAYAMOUNT && RESPRAYAMOUNT != 0)
  86.         {
  87.             format(string,sizeof(string),"~r~No Free Resprays~n~~b~Required: ~w~$%d",RESPRAYAMOUNT);
  88.             GameTextForPlayer(playerid,string,3000,3);
  89.             return 1;
  90.         }
  91.         format(string,sizeof(string),"~g~Respraying in Progress~n~~b~please wait %d seconds",RESPRAY_TIME);
  92.         GameTextForPlayer(playerid,string, 1000, 3);
  93.         ResprayTime = RESPRAY_TIME;
  94.         ResprayTimer = SetTimerEx("PaynSpray",1000, true, "i",playerid);
  95.         resprayactive = true;
  96.     }
  97.     return 1;
  98. }
  99. public OnPlayerLeaveDynamicCP(playerid, checkpointid)
  100. {
  101.     if(resprayactive == true)
  102.     {
  103.         KillTimer(ResprayTimer);
  104.         GameTextForPlayer(playerid, "~r~You left the check point~n~~b~Respray Canclled", 2000, 3);
  105.         resprayactive = false;
  106.     }
  107.     return 1;
  108. }
  109. /*======================================
  110. Timers
  111. ========================================*/
  112. forward PaynSpray(playerid);
  113. public PaynSpray(playerid)
  114. {
  115.     ResprayTime --;
  116.     if(ResprayTime <= 0 && resprayactive == true)
  117.     {
  118.         new veh = GetPlayerVehicleID(playerid);
  119.         RepairVehicle(veh);
  120.         ChangeVehicleColor(veh, random(200),random(200));
  121.         GivePlayerMoney(playerid, -RESPRAYAMOUNT);
  122.         GameTextForPlayer(playerid, "~g~Respray Completed~n~~w~New Engine", 2000, 3);
  123.         resprayactive = false;
  124.         KillTimer(ResprayTimer);
  125.     }
  126.     else //just a simple countdown
  127.     {
  128.         format(string,sizeof(string),"~g~Respraying in Progress~n~~b~please wait %d seconds",ResprayTime);
  129.        
  130.         GameTextForPlayer(playerid,string, 1000, 3);
  131.     }
  132. }
  133. /*======================================
  134. Custom functions
  135. ========================================*/
  136. IsPlayerInPlane(playerid)
  137. {
  138.     if(IsPlayerInAnyVehicle(playerid))
  139.     {
  140.         switch(GetVehicleModel(GetPlayerVehicleID(playerid)))
  141.         {
  142.             case 592,577,511,512,593,520,553,464,476,519,460,513,539,548,425,417,487,497,563,501,465,447,469,488 : return 1;
  143.         }
  144.     }
  145.     return 0;
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement