15.09.2012, 05:14
use this
pawn Код:
/*
© Stefantjuh97
Mail: S.dorst1997@gmail.com
SAMP Forum name: Stefand.
Release Date: 18-6-2012
Version: 1.0
*/
#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];
new FlasherState[MAX_VEHICLES];
new FlashTimer;
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Police Flash lights V1.0");
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]);
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
DestroyObject(obj[vehicleid]);
DestroyObject(obj2[vehicleid]);
return 1;
}
command(flash, playerid, params[])
{
new vehicleid,panels,doors,lights,tires;
if (GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
{
return SendClientMessage(playerid, -1, "* You are not the driver!");
}
new pveh = GetPlayerVehicleID(playerid);
if (!GetVehicleModel(pveh)) return SendClientMessage(playerid, -1, "* You are not in a vehicle!");
if (IsValidObject(obj[pveh]) || IsValidObject(obj2[pveh]))
{
SendClientMessage(playerid, -1, "You switched off the lights."), DestroyObject(obj[pveh]), DestroyObject(obj2[pveh]);
vehicleid = GetPlayerVehicleID(playerid);
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(pveh))
{
case 596:
{
obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
obj2[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[pveh], pveh, 0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
AttachObjectToVehicle(obj2[pveh], pveh, -0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 597:
{
obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
obj2[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[pveh], pveh, 0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
AttachObjectToVehicle(obj2[pveh], pveh, -0.599999,-0.375000,0.899999,0.000000,0.000000,0.000000);
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 598:
{
obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
obj2[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[pveh], pveh, 0.524999, -0.300000, 0.899999, 0.000000, 0.000000, 0.000000);
AttachObjectToVehicle(obj2[pveh], pveh, -0.524999, -0.300000, 0.899999, 0.000000, 0.000000, 0.000000);
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 599:
{
obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
obj2[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[pveh], pveh, 0.524999,0.000000,1.125000,0.000000,0.000000,0.000000);
AttachObjectToVehicle(obj2[pveh], pveh, -0.524999,0.000000,1.125000,0.000000,0.000000,0.000000);
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 541://bullet
{
obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[pveh], pveh, 0.375000,0.524999,0.375000,0.000000,0.000000,0.000000);
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 426://premier
{
obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[pveh], pveh, 0.524999,0.749999,0.375000,0.000000,0.000000,0.000000);
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 427://enforcer
{
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 416://Ambulance
{
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 407://FireTruck
{
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 560://sultan
{
obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[pveh], pveh, 0.225000,0.750000,0.449999,0.000000,0.000000,0.000000);
vehicleid = GetPlayerVehicleID(playerid);
GetVehicleDamageStatus(vehicleid,panels,doors,lights,tires);
Flasher[vehicleid] = 1;
}
case 490://FBI
{
obj[pveh] = CreateObject(18646, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
AttachObjectToVehicle(obj[pveh], pveh, 0.000000,1.125000,0.599999,0.000000,0.000000,0.000000);
vehicleid = GetPlayerVehicleID(playerid);
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!");
}
command(flashoff, playerid, params[])
{
new vehicleid,panels,doors,lights,tires;
new pveh = GetPlayerVehicleID(playerid);
{
if (IsValidObject(obj[pveh]) || IsValidObject(obj2[pveh]))
SendClientMessage(playerid, -1, "You switched off the lights."), DestroyObject(obj[pveh]), DestroyObject(obj2[pveh]);
vehicleid = GetPlayerVehicleID(playerid);
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;
}