Flash lights.
#1

Can someone can help to make this FS insert into my GM, so it would be able to use in all vehicles, but only useable for cops. And with command flash would be added siren for non police vehicles, but for police vehicles only flashlights.

PHP код:
/*
© Stefantjuh97
Mail: S.dorst1997@gmail.com
SAMP Forum name: Stefand.
Release Date: 18-6-2012
Version: 3.0
 
 
Changelog V2.0
Fixed:
- Headlights keep flashing when you are out of the vehicle.
  Thanks to BrandyPenguin
 
- if you did /flash 2 times without /flashoff you had a bugged vehicle.
 
Added:
- Working for ambulance
- Working for Firetruck
 
Changelog V3.0
Fixed:
- /flash for turning flash on and /flash for turning it off
  Thanks to BrandyPenguin
 
Added:
- Nothing
*/
 
#include <a_samp>
#include <zcmd>
 
#define FILTERSCRIPT
 
forward FlasherFunc();
 
new 
obj[MAX_VEHICLES] = { INVALID_OBJECT_ID, ... };
new 
obj2[MAX_VEHICLES] = { INVALID_OBJECT_ID, ... };
new 
LightPwr[MAX_VEHICLES];
new 
Flasher[MAX_VEHICLES] = 0;
new 
FlasherState[MAX_VEHICLES];
new 
FlashTimer;
 
public 
OnFilterScriptInit()
{
        print(
"\n--------------------------------------");
        print(
" Police Flash lights V2.1");
        print(
" By Stefantjuh97");
        print(
"--------------------------------------\n");
 
        for (new 
x=0x<MAX_VEHICLESx++)
        {
                
LightPwr[x]=1;
                
Flasher[x]=0;
                
FlasherState[x]=0;
        }
 
        
FlashTimer SetTimer("FlasherFunc",200,1); // "200" is the speed from the flashing headlights
        
return 1;
}
 
public 
OnFilterScriptExit()
{
        
KillTimer(FlashTimer);
        for (new 
0MAX_VEHICLESi++)
        {
                
DestroyObject(obj[i]);
                
DestroyObject(obj2[i]);
        }
        return 
1;
}
 
 
 
 
public 
OnVehicleSpawn(vehicleid)
{
        
DestroyObject(obj[vehicleid]);
        
DestroyObject(obj2[vehicleid]);
        
Flasher[vehicleid] = 0;
        return 
1;
}
 
public 
OnVehicleDeath(vehicleidkillerid)
{
        
DestroyObject(obj[vehicleid]);
        
DestroyObject(obj2[vehicleid]);
        
Flasher[vehicleid] = 0;
        return 
1;
}
 
command(flashplayeridparams[])
{
        new 
vehicleid,panels,doors,lights,tires;
        
vehicleid GetPlayerVehicleID(playerid);
        if(!
Flasher[vehicleid]) {
                if (
GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
                {
                        return 
SendClientMessage(playerid, -1"* You are not the driver!");
                }
                if (!
GetVehicleModel(vehicleid)) return SendClientMessage(playerid, -1"* You are not in a vehicle!");
                if (
IsValidObject(obj[vehicleid]) || IsValidObject(obj2[vehicleid]))
                {
                        
SendClientMessage(playerid, -1"You switched off the lights."), DestroyObject(obj[vehicleid]), DestroyObject(obj2[vehicleid]);
                        
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
                        if(
LightPwr[vehicleid] == 1)
                        
UpdateVehicleDamageStatus(vehicleidpanelsdoors0tires);
                        else
                        
UpdateVehicleDamageStatus(vehicleidpanelsdoors5tires);
                        
Flasher[vehicleid] = 0;
                }
                switch (
GetVehicleModel(vehicleid))
                {
                        case 
596:
                        {
                                
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
                                
Flasher[vehicleid] = 1;
                        }
                        case 
597:
                        {
                                
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
                                
Flasher[vehicleid] = 1;
                        }
                        case 
598:
                        {
                                
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
                                
Flasher[vehicleid] = 1;
                        }
                        case 
599:
                        {
                                
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
                                
Flasher[vehicleid] = 1;
                        }
                        case 
541://bullet
                        
{
                                
obj[vehicleid] = CreateObject(186460.00.00.00.00.00.0);
                                
AttachObjectToVehicle(obj[vehicleid], vehicleid0.375000,0.524999,0.375000,0.000000,0.000000,0.000000);
                                 
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
                                
Flasher[vehicleid] = 1;
                        }
                        case 
426://premier
                        
{
                                
obj[vehicleid] = CreateObject(186460.00.00.00.00.00.0);
                                
AttachObjectToVehicle(obj[vehicleid], vehicleid0.524999,0.749999,0.375000,0.000000,0.000000,0.000000);
 
                                
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
                                
Flasher[vehicleid] = 1;
                        }
                        case 
427://enforcer
                        
{
                                
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
                                
Flasher[vehicleid] = 1;
                        }
                        case 
416://Ambulance
                        
{
                                
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
                                
Flasher[vehicleid] = 1;
                        }
                        case 
407://FireTruck
                        
{
                                
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
                                
Flasher[vehicleid] = 1;
                        }
                        case 
560://sultan
                        
{
                                
obj[vehicleid] = CreateObject(186460.00.00.00.00.00.0);
                                
AttachObjectToVehicle(obj[vehicleid], vehicleid0.225000,0.750000,0.449999,0.000000,0.000000,0.000000);
                                
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
                                
Flasher[vehicleid] = 1;
                        }
                        case 
490://FBI
                        
{
                                
obj[vehicleid] = CreateObject(186460.00.00.00.00.00.0);
                                
AttachObjectToVehicle(obj[vehicleid], vehicleid0.000000,1.125000,0.599999,0.000000,0.000000,0.000000);
                                
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
                                
Flasher[vehicleid] = 1;
                        }
                        default:
                        {
                                return 
SendClientMessage(playerid, -1"You are not in a CODE 2 compatible police vehicle!");
                        }
                }
                return 
SendClientMessage(playerid, -1"Lights on, you are now in a CODE 2 run!");
        } else {
                if (
IsValidObject(obj[vehicleid]) || IsValidObject(obj2[vehicleid])) {
                        
SendClientMessage(playerid, -1"You switched off the lights."), DestroyObject(obj[vehicleid]), DestroyObject(obj2[vehicleid]);
                }
                
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
                if(
LightPwr[vehicleid] == 1)
                        
UpdateVehicleDamageStatus(vehicleidpanelsdoors0tires);
                else
                        
UpdateVehicleDamageStatus(vehicleidpanelsdoors5tires);
                
Flasher[vehicleid] = 0;
        }
        return 
1;
}
 
public 
FlasherFunc() {
        new 
panelsx,doorsx,lightsx,tiresx;
        for (new 
p=0p<MAX_VEHICLESp++)
        {
                if (
Flasher[p] == 1)
                {
                        if (
FlasherState[p] == 1)
                        {
                                
GetVehicleDamageStatus(p,panelsx,doorsx,lightsx,tiresx);
                                
UpdateVehicleDamageStatus(ppanelsxdoorsx4tiresx);
                                
FlasherState[p] = 0;
                        }
                        else
                        {
                                
GetVehicleDamageStatus(p,panelsx,doorsx,lightsx,tiresx);
                                
UpdateVehicleDamageStatus(ppanelsxdoorsx1tiresx);
                                
FlasherState[p] = 1;
                        }
                }
        }
        return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)