Stefantjuh97

Police Flash V2.0 Key's

Aug 24th, 2012
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.36 KB | None | 0 0
  1. /*
  2. © Stefantjuh97
  3. SAMP Forum name: Stefand.
  4. Release Date: 18-6-2012
  5. Version: 1.0
  6.  
  7. Changelog V2.0
  8. Fixed:
  9. - Headlights keep flashing when you are out of the vehicle.
  10.   Thanks to BrandyPenguin
  11.  
  12. - if you did /flash 2 times without /flashoff you had a bugged vehicle.
  13.  
  14. Added:
  15. - Working for ambulance
  16. - Working for Firetruck
  17. */
  18.  
  19. #include <a_samp>
  20. #include <zcmd>
  21.  
  22. #define FILTERSCRIPT
  23.  
  24. forward FlasherFunc();
  25.  
  26. new obj[MAX_VEHICLES] = { INVALID_OBJECT_ID, ... };
  27. new obj2[MAX_VEHICLES] = { INVALID_OBJECT_ID, ... };
  28.  
  29. new LightPwr[MAX_VEHICLES];
  30. new Flasher[MAX_VEHICLES];
  31. new FlasherState[MAX_VEHICLES];
  32. new FlashTimer;
  33.  
  34. public OnFilterScriptInit()
  35. {
  36.     print("\n--------------------------------------");
  37.     print(" Police Flash lights V1.0");
  38.     print(" By Stefantjuh97");
  39.     print("--------------------------------------\n");
  40.  
  41.     for (new x=0; x<MAX_VEHICLES; x++)
  42.     {
  43.         LightPwr[x]=1;
  44.         Flasher[x]=0;
  45.         FlasherState[x]=0;
  46.     }
  47.  
  48.     FlashTimer = SetTimer("FlasherFunc",200,1); // "200" is the speed from the flashing headlights
  49.     return 1;
  50. }
  51.  
  52. public OnFilterScriptExit()
  53. {
  54.     KillTimer(FlashTimer);
  55.     for (new i = 0; i < MAX_VEHICLES; i++)
  56.     {
  57.         DestroyObject(obj[i]);
  58.         DestroyObject(obj2[i]);
  59.     }
  60.     return 1;
  61. }
  62.  
  63.  
  64.  
  65.  
  66. public OnVehicleSpawn(vehicleid)
  67. {
  68.     DestroyObject(obj[vehicleid]);
  69.     DestroyObject(obj2[vehicleid]);
  70.     return 1;
  71. }
  72.  
  73. public OnVehicleDeath(vehicleid, killerid)
  74. {
  75.     DestroyObject(obj[vehicleid]);
  76.     DestroyObject(obj2[vehicleid]);
  77.     return 1;
  78. }
  79.  
  80. public FlasherFunc() {
  81.     for (new p=0; p<MAX_PLAYERS; p++)
  82.     {
  83.         if (IsPlayerInAnyVehicle(p) && IsPlayerConnected(p) && !IsPlayerNPC(p))
  84.         {
  85.             new id;
  86.             new panelsx,doorsx,lightsx,tiresx;
  87.             id = GetPlayerVehicleID(p);
  88.             if (Flasher[id] == 1)
  89.             {
  90.                 if (FlasherState[id] == 1)
  91.                 {
  92.                     GetVehicleDamageStatus(id,panelsx,doorsx,lightsx,tiresx);
  93.                     UpdateVehicleDamageStatus(id, panelsx, doorsx, 4, tiresx);
  94.                     FlasherState[id] = 0;
  95.                 }
  96.                 else {
  97.                     GetVehicleDamageStatus(id,panelsx,doorsx,lightsx,tiresx);
  98.                     UpdateVehicleDamageStatus(id, panelsx, doorsx, 1, tiresx);
  99.                     FlasherState[id] = 1;
  100.                 }
  101.             }
  102.         }
  103.     }
  104.     return 1;
  105. }
  106.  
  107. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  108. {
  109.     if(newkeys & 65536)
  110.     {
  111.         new vehicleid,panels,doors,lights,tires;
  112.         if (GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  113.         {
  114.         return SendClientMessage(playerid, -1, "* You are not the driver!");
  115.         }
  116.         new pveh = GetPlayerVehicleID(playerid);
  117.         if (!GetVehicleModel(pveh)) return SendClientMessage(playerid, -1, "* You are not in a vehicle!");
  118.         switch (GetVehicleModel(pveh))
  119.         {
  120.         case 596:
  121.         {
  122.             obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  123.             obj2[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  124.             AttachObjectToVehicle(obj[pveh], pveh, 0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
  125.             AttachObjectToVehicle(obj2[pveh], pveh, -0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
  126.             vehicleid = GetPlayerVehicleID(playerid);
  127.             GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  128.             Flasher[vehicleid] = 1;
  129.         }
  130.         case 597:
  131.         {
  132.             obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  133.             obj2[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  134.             AttachObjectToVehicle(obj[pveh], pveh, 0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
  135.             AttachObjectToVehicle(obj2[pveh], pveh, -0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
  136.             vehicleid = GetPlayerVehicleID(playerid);
  137.             GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  138.             Flasher[vehicleid] = 1;
  139.         }
  140.         case 598:
  141.         {
  142.             obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  143.             obj2[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  144.             AttachObjectToVehicle(obj[pveh], pveh, 0.524999, -0.300000, 0.899999, 0.000000, 0.000000, 0.000000);
  145.             AttachObjectToVehicle(obj2[pveh], pveh, -0.524999, -0.300000, 0.899999, 0.000000, 0.000000, 0.000000);
  146.             vehicleid = GetPlayerVehicleID(playerid);
  147.             GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  148.             Flasher[vehicleid] = 1;
  149.         }
  150.         case 599:
  151.         {
  152.             obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  153.             obj2[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  154.             AttachObjectToVehicle(obj[pveh], pveh, 0.524999,0.000000,1.125000,0.000000,0.000000,0.000000);
  155.             AttachObjectToVehicle(obj2[pveh], pveh, -0.524999,0.000000,1.125000,0.000000,0.000000,0.000000);
  156.             vehicleid = GetPlayerVehicleID(playerid);
  157.             GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  158.             Flasher[vehicleid] = 1;
  159.         }
  160.         case 541://bullet
  161.         {
  162.             obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  163.             AttachObjectToVehicle(obj[pveh], pveh, 0.375000,0.524999,0.375000,0.000000,0.000000,0.000000);
  164.             vehicleid = GetPlayerVehicleID(playerid);
  165.             GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  166.             Flasher[vehicleid] = 1;
  167.         }
  168.         case 426://premier
  169.         {
  170.             obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  171.             AttachObjectToVehicle(obj[pveh], pveh, 0.524999,0.749999,0.375000,0.000000,0.000000,0.000000);
  172.             vehicleid = GetPlayerVehicleID(playerid);
  173.             GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  174.             Flasher[vehicleid] = 1;
  175.         }
  176.         case 427://enforcer
  177.         {
  178.             vehicleid = GetPlayerVehicleID(playerid);
  179.             GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  180.             Flasher[vehicleid] = 1;
  181.         }
  182.         case 560://sultan
  183.         {
  184.             obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  185.             AttachObjectToVehicle(obj[pveh], pveh, 0.225000,0.750000,0.449999,0.000000,0.000000,0.000000);
  186.             vehicleid = GetPlayerVehicleID(playerid);
  187.             GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  188.             Flasher[vehicleid] = 1;
  189.         }
  190.         case 490://FBI
  191.         {
  192.             obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
  193.             AttachObjectToVehicle(obj[pveh], pveh, 0.000000,1.125000,0.599999,0.000000,0.000000,0.000000);
  194.             vehicleid = GetPlayerVehicleID(playerid);
  195.             GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  196.             Flasher[vehicleid] = 1;
  197.         }
  198.         default:
  199.         {
  200.             return SendClientMessage(playerid, -1, "You are not in a CODE 2 compatible police vehicle!");
  201.             }
  202.         }
  203.         return SendClientMessage(playerid, -1, "Lights on, you are now in a CODE 2 run!");
  204.     }
  205.     if(newkeys & 131072)
  206.     {
  207.         new vehicleid,panels,doors,lights,tires;
  208.         new pveh = GetPlayerVehicleID(playerid);
  209.         {
  210.             if (IsValidObject(obj[pveh]) || IsValidObject(obj2[pveh]))
  211.             SendClientMessage(playerid, -1, "You switched off the lights."), DestroyObject(obj[pveh]), DestroyObject(obj2[pveh]);
  212.             vehicleid = GetPlayerVehicleID(playerid);
  213.             GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
  214.             if(LightPwr[vehicleid] == 1)
  215.                 UpdateVehicleDamageStatus(vehicleid, panels, doors, 0, tires);
  216.                 else
  217.                 UpdateVehicleDamageStatus(vehicleid, panels, doors, 5, tires);
  218.             Flasher[vehicleid] = 0;
  219.         }
  220.     }
  221.     return 1;
  222. }
Advertisement
Add Comment
Please, Sign In to add comment