Advertisement
Stefantjuh97

Police Flash V1.0

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