01.09.2015, 16:52
Quote:
WantedStarsFlashForPlayer(playerid, 0/1);
return 0 - Player not connected / 0 wanted level. return 1 - success Just like when CJ paints a vehicle in Pay 'n' Spray. |
pawn Код:
#tryinclude <a_samp>
#if !defined WANTED_LEVEL_FLASH_RATE
#define WANTED_LEVEL_FLASH_RATE 500
#endif
new static flashWanted[MAX_PLAYERS];
new static bool: flashShowing[MAX_PLAYERS];
new static flashWantedTime[MAX_PLAYERS];
new static wantedFlashTimer[MAX_PLAYERS];
forward OnWantedLevelFlashStop(playerid);
public OnPlayerConnect(playerid)
{
SetPlayerWantedLevel(playerid, 6);
WantedStarsFlashForPlayer(playerid, true);
return 1;
}
stock WantedStarsFlashForPlayer(playerid, bool: flash)
{
if(flash)
{
if(GetPlayerWantedLevel(playerid))
return FlashWantedLevel(playerid, GetPlayerWantedLevel(playerid), 20000);
else return 0;
}
else
{
return StopWantedLevelFlash(playerid);
}
}
stock FlashWantedLevel(playerid, wantedlevel, time)
{
if(wantedlevel)
{
flashWanted[playerid] = wantedlevel;
flashWantedTime[playerid] = time;
if(GetPlayerWantedLevel(playerid))
flashShowing[playerid] = true;
else flashShowing[playerid] = false;
wantedFlashTimer[playerid] = SetTimerEx("UpdateWantedFlash", WANTED_LEVEL_FLASH_RATE, true, "i", playerid);
return 1;
}
else {
SetPlayerWantedLevel(playerid, 0);
return 0;
}
}
stock bool: AreStarsFlashingForPlayer(playerid)
{
if(flashWanted[playerid])
return true;
return false;
}
stock StopWantedLevelFlash(playerid)
{
if(flashWanted[playerid])
{
KillTimer(wantedFlashTimer[playerid]);
flashWanted[playerid] = 0;
flashShowing[playerid] = false;
CallLocalFunction("OnWantedLevelFlashStop", "i", playerid);
return 1;
}
return 0;
}
forward UpdateWantedFlash(playerid);
public UpdateWantedFlash(playerid)
{
if(flashWantedTime[playerid])
{
if(flashShowing[playerid])
{
SetPlayerWantedLevel(playerid, 0);
}
else SetPlayerWantedLevel(playerid, flashWanted[playerid]);
flashWantedTime[playerid] -= 1000;
}
else
{
StopWantedLevelFlash(playerid);
/*KillTimer(wantedFlashTimer[playerid]);
flashWanted[playerid] = 0;
flashShowing[playerid] = 0;
SetPlayerWantedLevel(playerid, 0); */
}
return 1;
}
Then you can use something such as this include: https://sampforum.blast.hk/showthread.php?tid=360865 to detect when they leave pay n spray and if they leave it while having a wanted level you can do:
pawn Код:
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
if(~color1 && ~color2) {
if(GetPlayerWantedLevel(playerid) && GetVehicleModel(vehicleid))
WantedStarsFlashForPlayer(playerid, true);
}
return 1;
}
pawn Код:
FlashWantedLevel(playerid, GetPlayerWantedLevel(playerid), 15000);
ex
pawn Код:
public OnWantedLevelFlashStop(playerid)
{
return SetPlayerWantedLevel(playerid, 0);