BernarsK

Automašīnas iedarbināšanas skripts priekš SA:MP

Nov 19th, 2015
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 6.63 KB | None | 0 0
  1. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  2. {
  3.     if(newkeys & KEY_SUBMISSION) // Ja motoru iedarbina ar tausiņu "2"
  4.     {
  5.         if(PlayerLogged[playerid] == 0) return 1;
  6.         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
  7.         if(GetPVarInt(playerid, "InShop") > 0 || InShop[playerid] > 0) return 1;
  8.         new cars =0,temp = GetVehicleModel( GetPlayerVehicleID( playerid ) );
  9.         for(new i; i != sizeof( BE_Bad_Vehs ); i++ )
  10.         {
  11.             if( temp == BE_Bad_Vehs[ i ] ) cars++;
  12.         }
  13.         if(Bonnet[GetPlayerVehicleID(playerid)] == true) return SendClientMessage(playerid, COLOR_GREY, "Pagaidiet kamer automehanikis salabos jusu transportlidzekli!");
  14.         if(Boot[GetPlayerVehicleID(playerid)] == true) return SendClientMessage(playerid, COLOR_GREY, "Vispirms pabeidziet zagt rudu!");
  15.         if(Fuel[GetPlayerVehicleID(playerid)] <= 0 && cars == 0) return SendClientMessage(playerid, COLOR_GREY, CarHasNoFuel);
  16. // nezinu cik daudz no tā ir atstāts jūsu skriptā, mana ideja sākas šeit
  17.         new Float:vehhealth;
  18.         GetVehicleHealth(GetPlayerVehicleID(playerid), vehhealth);
  19.         if(vehhealth <= 400 && cars == 00) return SendClientMessage(playerid, COLOR_GREY, ""CarIsBroken"");
  20.         if(Engine[GetPlayerVehicleID(playerid)] == true)
  21.         {
  22.             GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
  23.             SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
  24.             format(string, 64, "%s pagrieza auto atslegas un noslapeja dizneju", sendername(playerid));
  25.             GameTextForPlayer(playerid, "~r~Dzinejs izslegts", 1000, 4);
  26.             ProxDetectorNew(playerid,30.0,COLOR_PURPLE,string);
  27.             Engine[GetPlayerVehicleID(playerid)] = false;
  28.             Lights[GetPlayerVehicleID(playerid)] = false;
  29.         }
  30.         else if(Engine[GetPlayerVehicleID(playerid)] == false)
  31.             {
  32.                 SetTimerEx("StartEngine", 3000, 0, "i", playerid);
  33.                 GameTextForPlayer(playerid, "~y~Dzinejs darbinas", 2500, 4);
  34.                 format(string, 64, "%s pagrieza auto atslegas un darbina dzineju", sendername(playerid));
  35.                 ProxDetectorNew(playerid,30.0,COLOR_PURPLE,string);
  36.                 TogglePlayerControllable(playerid, 0);
  37.             }
  38.     }
  39.     return 1;
  40. }
  41.  
  42. CMD:en(playerid, params[]) // Ja motoru iedarbina ar komandu /en
  43.     {
  44.         if(PlayerLogged[playerid] == 0) return 1;
  45.         if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
  46.         if(GetPVarInt(playerid, "InShop") > 0 || InShop[playerid] > 0) return 1;
  47.         new cars =0,temp = GetVehicleModel( GetPlayerVehicleID( playerid ) );
  48.         for(new i; i != sizeof( BE_Bad_Vehs ); i++ )
  49.         {
  50.             if( temp == BE_Bad_Vehs[ i ] ) cars++;
  51.         }
  52.         if(Bonnet[GetPlayerVehicleID(playerid)] == true) return SendClientMessage(playerid, COLOR_GREY, "Pagaidiet kamer automehanikis salabos jusu transportlidzekli!");
  53.         if(Boot[GetPlayerVehicleID(playerid)] == true) return SendClientMessage(playerid, COLOR_GREY, "Vispirms pabeidziet zagt rudu!");
  54.         if(Fuel[GetPlayerVehicleID(playerid)] <= 0 && cars == 0) return SendClientMessage(playerid, COLOR_GREY, CarHasNoFuel);
  55.         new Float:vehhealth;
  56.         GetVehicleHealth(GetPlayerVehicleID(playerid), vehhealth);
  57.         if(vehhealth <= 400 && cars == 00) return SendClientMessage(playerid, COLOR_GREY, ""CarIsBroken"");
  58.         if(Engine[GetPlayerVehicleID(playerid)] == true)
  59.         {
  60.             GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
  61.             SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_OFF,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective); // nezinu cik daudz no tā ir atstāts jūsu skriptā, mana ideja sākas šeit
  62.             format(string, 64, "%s pagrieza auto atslegas un noslapeja dizneju", sendername(playerid));
  63.             GameTextForPlayer(playerid, "~r~Dzinejs izslegts", 1000, 4);
  64.             ProxDetectorNew(playerid,30.0,COLOR_PURPLE,string);
  65.             Engine[GetPlayerVehicleID(playerid)] = false;
  66.             Lights[GetPlayerVehicleID(playerid)] = false;
  67.         }
  68.         else if(Engine[GetPlayerVehicleID(playerid)] == false)
  69.             {
  70.                 SetTimerEx("StartEngine", 3000, 0, "i", playerid); // Kad paiet trīs sekundes, sāk "randomā" izvēlēties, vai dzinējs ieslēdzas vai nē
  71.                 GameTextForPlayer(playerid, "~y~Dzinejs darbinas", 2500, 4); // Ja maina Timeri uz mazāku laiku, jāmaina arī šis
  72.                 format(string, 64, "%s pagrieza auto atslegas un darbina dzineju", sendername(playerid));
  73.                 ProxDetectorNew(playerid,30.0,COLOR_PURPLE,string);
  74.                 TogglePlayerControllable(playerid, 0);
  75.             }
  76.         return 1;
  77.     }
  78.    
  79. forward StartEngine(playerid);
  80. public StartEngine(playerid)
  81. {
  82.     new value = random(4);
  83.     new Float:vehhealth;
  84.     GetVehicleHealth(GetPlayerVehicleID(playerid), vehhealth);
  85.     if(value == 1 && vehhealth >= 600)
  86.     {
  87.         format(string, 64, "%s pagriez auto atslegas atpakal", sendername(playerid));
  88.         ProxDetectorNew(playerid,30.0,COLOR_PURPLE,string);
  89.         GameTextForPlayer(playerid, "~r~Dzinejs neiedarbinajas", 1000, 4);
  90.         TogglePlayerControllable(playerid, 1);
  91.         return 1;
  92.     }
  93.     else if(vehhealth < 600) // pārbauda, vai mašīnās health ir mazāk, kā 60%
  94.     {
  95.         new value2 = random(2); // Mašīnu ir grūtāk iedarbināt, jo tā ir sasista. Jo lielāks random, jo grūtāk iedarbināt.
  96.         if(value2 == 1)
  97.         {
  98.             GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
  99.             SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
  100.             format(string, 64, "%s iedarbinaja dzineju", sendername(playerid));
  101.             GameTextForPlayer(playerid, "~g~Dzinejs iedarbinajas", 1000, 4);
  102.             ProxDetectorNew(playerid,30.0,COLOR_PURPLE,string);
  103.             Engine[GetPlayerVehicleID(playerid)] = true;
  104.             Lights[GetPlayerVehicleID(playerid)] = true;
  105.             TogglePlayerControllable(playerid, 1);
  106.             return 1;
  107.         }
  108.         else
  109.         {
  110.             format(string, 64, "%s pagriez auto atslegas atpakal", sendername(playerid));
  111.             ProxDetectorNew(playerid,30.0,COLOR_PURPLE,string);
  112.             GameTextForPlayer(playerid, "~r~Dzinejs neiedarbinajas", 1000, 4);
  113.             TogglePlayerControllable(playerid, 1);
  114.             return 1;
  115.         }
  116.     }
  117.     else
  118.     {
  119.         GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
  120.         SetVehicleParamsEx(GetPlayerVehicleID(playerid),VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
  121.         format(string, 64, "%s iedarbinaja dzineju", sendername(playerid));
  122.         GameTextForPlayer(playerid, "~g~Dzinejs iedarbinajas", 1000, 4);
  123.         ProxDetectorNew(playerid,30.0,COLOR_PURPLE,string);
  124.         Engine[GetPlayerVehicleID(playerid)] = true;
  125.         Lights[GetPlayerVehicleID(playerid)] = true;
  126.         TogglePlayerControllable(playerid, 1);
  127.     }
  128.     return 1;
  129. }
Advertisement
Add Comment
Please, Sign In to add comment