#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=0; x<MAX_VEHICLES; x++)
{
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 i = 0; i < MAX_VEHICLES; i++)
{
DestroyObject(obj[i]);
DestroyObject(obj2[i]);
}
return 1;
}
public OnVehicleSpawn(vehicleid)
{
DestroyObject(obj[vehicleid]);
DestroyObject(obj2[vehicleid]);
Flasher[vehicleid] = 0;
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
DestroyObject(obj[vehicleid]);
DestroyObject(obj2[vehicleid]);
Flasher[vehicleid] = 0;
return 1;
}
command(flash, playerid, params[])
{
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(vehicleid, panels, doors, 0, tires);
else
UpdateVehicleDamageStatus(vehicleid, panels, doors, 5, tires);
Flasher[vehicleid] = 0;
}
switch (GetVehicleModel(vehicleid))
{
case 596:
{
obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
obj2[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
AttachObjectToVehicle(obj2[vehicleid], vehicleid, -0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 597:
{
obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
obj2[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
AttachObjectToVehicle(obj2[vehicleid], vehicleid, -0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 598:
{
obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
obj2[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.524999, -0.300000, 0.899999, 0.000000, 0.000000, 0.000000);
AttachObjectToVehicle(obj2[vehicleid], vehicleid, -0.524999, -0.300000, 0.899999, 0.000000, 0.000000, 0.000000);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 599:
{
obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
obj2[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.524999,0.000000,1.125000,0.000000,0.000000,0.000000);
AttachObjectToVehicle(obj2[vehicleid], vehicleid, -0.524999,0.000000,1.125000,0.000000,0.000000,0.000000);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 541://bullet
{
obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.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(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.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(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.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(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.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(vehicleid, panels, doors, 0, tires);
else
UpdateVehicleDamageStatus(vehicleid, panels, doors, 5, tires);
Flasher[vehicleid] = 0;
}
return 1;
}
public FlasherFunc() {
new panelsx,doorsx,lightsx,tiresx;
for (new p=0; p<MAX_VEHICLES; p++)
{
if (Flasher[p] == 1)
{
if (FlasherState[p] == 1)
{
GetVehicleDamageStatus(p,panelsx,doorsx,lightsx,tiresx);
UpdateVehicleDamageStatus(p, panelsx, doorsx, 4, tiresx);
FlasherState[p] = 0;
}
else
{
GetVehicleDamageStatus(p,panelsx,doorsx,lightsx,tiresx);
UpdateVehicleDamageStatus(p, panelsx, doorsx, 1, tiresx);
FlasherState[p] = 1;
}
}
}
return 1;
}
How to put filescript to gamemode
pawn Код:
|
//All of your #include || #define files should be here.
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 OnGameModetInit()
{
print("\n--------------------------------------");
print(" Police Flash lights V2.1");
print(" By Stefantjuh97");
print("--------------------------------------\n");
for (new x=0; x<MAX_VEHICLES; x++)
{
LightPwr[x]=1;
Flasher[x]=0;
FlasherState[x]=0;
}
FlashTimer = SetTimer("FlasherFunc",200,1); // "200" is the speed from the flashing headlights
//rest of script(s) here
return 1;
}
public OnGameModeExit()
{
KillTimer(FlashTimer);
for (new i = 0; i < MAX_VEHICLES; i++)
{
DestroyObject(obj[i]);
DestroyObject(obj2[i]);
}
//rest of script(s) here
return 1;
}
public OnVehicleSpawn(vehicleid)
{
DestroyObject(obj[vehicleid]);
DestroyObject(obj2[vehicleid]);
Flasher[vehicleid] = 0;
//rest of script(s) here
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
DestroyObject(obj[vehicleid]);
DestroyObject(obj2[vehicleid]);
Flasher[vehicleid] = 0;
//rest of script(s) here
return 1;
}
command(flash, playerid, params[])
{
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(vehicleid, panels, doors, 0, tires);
else
UpdateVehicleDamageStatus(vehicleid, panels, doors, 5, tires);
Flasher[vehicleid] = 0;
}
switch (GetVehicleModel(vehicleid))
{
case 596:
{
obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
obj2[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
AttachObjectToVehicle(obj2[vehicleid], vehicleid, -0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 597:
{
obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
obj2[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
AttachObjectToVehicle(obj2[vehicleid], vehicleid, -0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 598:
{
obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
obj2[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.524999, -0.300000, 0.899999, 0.000000, 0.000000, 0.000000);
AttachObjectToVehicle(obj2[vehicleid], vehicleid, -0.524999, -0.300000, 0.899999, 0.000000, 0.000000, 0.000000);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 599:
{
obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
obj2[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.524999,0.000000,1.125000,0.000000,0.000000,0.000000);
AttachObjectToVehicle(obj2[vehicleid], vehicleid, -0.524999,0.000000,1.125000,0.000000,0.000000,0.000000);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 541://bullet
{
obj[vehicleid] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.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(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.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(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.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(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[vehicleid], vehicleid, 0.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(vehicleid, panels, doors, 0, tires);
else
UpdateVehicleDamageStatus(vehicleid, panels, doors, 5, tires);
Flasher[vehicleid] = 0;
}
return 1;
}
public FlasherFunc() {
new panelsx,doorsx,lightsx,tiresx;
for (new p=0; p<MAX_VEHICLES; p++)
{
if (Flasher[p] == 1)
{
if (FlasherState[p] == 1)
{
GetVehicleDamageStatus(p,panelsx,doorsx,lightsx,tiresx);
UpdateVehicleDamageStatus(p, panelsx, doorsx, 4, tiresx);
FlasherState[p] = 0;
}
else
{
GetVehicleDamageStatus(p,panelsx,doorsx,lightsx,tiresx);
UpdateVehicleDamageStatus(p, panelsx, doorsx, 1, tiresx);
FlasherState[p] = 1;
}
}
}
return 1;
}