Advertisement
Guest User

Flashing Lights

a guest
Apr 23rd, 2015
3,941
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.91 KB | None | 0 0
  1. #define FILTERSCRIPT
  2.  
  3. #include <a_samp>
  4.  
  5. #define flashtime 115 //milliseconds for the flash, larger number = slower flash
  6.  
  7. #if defined FILTERSCRIPT
  8.  
  9. new Flash[MAX_VEHICLES];
  10. new FlashTime[MAX_VEHICLES];
  11.  
  12. public OnFilterScriptInit()
  13. {
  14.     print("\n--------------------------------------");
  15.     print(" Flashing Lights by TakeiT Loaded.");
  16.     print("--------------------------------------\n");
  17.     return 1;
  18. }
  19.  
  20. forward OnLightFlash(vehicleid);
  21. public OnLightFlash(vehicleid)
  22. {
  23.     new panels, doors, lights, tires;
  24.     GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
  25.  
  26.     switch(Flash[vehicleid])
  27.     {
  28.         case 0: UpdateVehicleDamageStatus(vehicleid, panels, doors, 2, tires);
  29.  
  30.         case 1: UpdateVehicleDamageStatus(vehicleid, panels, doors, 5, tires);
  31.  
  32.         case 2: UpdateVehicleDamageStatus(vehicleid, panels, doors, 2, tires);
  33.  
  34.         case 3: UpdateVehicleDamageStatus(vehicleid, panels, doors, 4, tires);
  35.  
  36.         case 4: UpdateVehicleDamageStatus(vehicleid, panels, doors, 5, tires);
  37.  
  38.         case 5: UpdateVehicleDamageStatus(vehicleid, panels, doors, 4, tires);
  39.     }
  40.     if(Flash[vehicleid] >=5) Flash[vehicleid] = 0;
  41.     else Flash[vehicleid] ++;
  42.     return 1;
  43. }
  44.  
  45. public OnVehicleSirenStateChange(playerid, vehicleid, newstate)
  46. {
  47.     if(newstate)
  48.     {
  49.         FlashTime[vehicleid] = SetTimerEx("OnLightFlash", flashtime, true, "d", vehicleid);
  50.     }
  51.    
  52.     if(!newstate)
  53.     {
  54.         new panels, doors, lights, tires;
  55.  
  56.         KillTimer(FlashTime[vehicleid]);
  57.        
  58.         GetVehicleDamageStatus(vehicleid, panels, doors, lights, tires);
  59.         UpdateVehicleDamageStatus(vehicleid, panels, doors, 0, tires);
  60.     }
  61.     return 1;
  62. }
  63.  
  64. public OnFilterScriptExit()
  65. {
  66.     new panels, doors, lights, tires;
  67.    
  68.     for(new i=0; i<GetVehiclePoolSize(); i++)
  69.     {
  70.         KillTimer(FlashTime[i]);
  71.        
  72.         GetVehicleDamageStatus(i, panels, doors, lights, tires);
  73.         UpdateVehicleDamageStatus(i, panels, doors, 0, tires);
  74.     }
  75.     return 1;
  76. }
  77.  
  78. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement