Stefantjuh97

Police Flash V1.0

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