new bool:SirenCreated; new obj1; new obj2; public OnPlayerUpdate(playerid) { if(IsPlayerInRangeOfPoint(playerid, 0.3, 1207.0170, -1333.9816, 13.3984) && SirenCreated == false && GetPlayerWeapon(playerid) > 0) { SirenCreated = true; obj1 = CreateObject(18646, 1207.5631, -1334.1051, 13.5816, 0.0, 0.0, 0.0); obj2 = CreateObject(18646, 1206.5031, -1334.1051, 13.5816, 0.0, 0.0, 0.0); } if(!IsPlayerInRangeOfPoint(playerid, 0.3, 1207.0170, -1333.9816, 13.3984) && SirenCreated == true) { SirenCreated = false; DestroyObject(obj1); DestroyObject(obj2); } return 1; }
for (new i = 0; i < 13; i++)
{
new checkdata[2];
GetPlayerWeaponData(playerid, i, checkdata[0], checkdata[1]);
if(checkdata[0] != 255)
{
//Has a gun, insert what to do here
break;
}
}
pawn Код:
|
new bool:SirenCreated; new obj1; new obj2; public OnPlayerUpdate(playerid) { if(IsPlayerInRangeOfPoint(playerid, 0.3, 1207.0170, -1333.9816, 13.3984) && SirenCreated == false) { for (new i = 0; i < 13; i++) { new checkdata[2]; GetPlayerWeaponData(playerid, i, checkdata[0], checkdata[1]); if(checkdata[0] !=255) { SirenCreated = true; obj1 = CreateObject(18646, 1207.5631, -1334.1051, 13.5816, 0.0, 0.0, 0.0); obj2 = CreateObject(18646, 1206.5031, -1334.1051, 13.5816, 0.0, 0.0, 0.0); } if(!IsPlayerInRangeOfPoint(playerid, 0.3, 1207.0170, -1333.9816, 13.3984) && SirenCreated == true) { SirenCreated = false; DestroyObject(obj1); DestroyObject(obj2); } } } return 1; }
#include <a_samp>
new bool:SirenCreated;
new obj1;
new obj2;
public OnFilterScriptInit() //Or OnGameModeInit()
{
SirenCreated = false;
SetTimer("SirenCheck", 1000, true);
return 1;
}
forward SirenCheck();
public SirenCheck()
{
for(new i = 0; i < MAX_PLAYERS; i++) //foreach is recommended
{
if(IsPlayerConnected(i))
{
if(IsPlayerInRangeOfPoint(i, 0.3, 1207.0170, -1333.9816, 13.3984))
{
for(new w = 0; w < 13; w++)
{
new checkdata[2];
GetPlayerWeaponData(i, w, checkdata[0], checkdata[1]);
if(checkdata[0] != 0) //Player can still be unarmed and activate the sirens...
{
if(SirenCreated == false)
{
obj1 = CreateObject(18646, 1207.5631, -1334.1051, 13.5816, 0.0, 0.0, 0.0);
obj2 = CreateObject(18646, 1206.5031, -1334.1051, 13.5816, 0.0, 0.0, 0.0);
SirenCreated = true;
}
}
}
}
else
{
if(SirenCreated == true)
{
DestroyObject(obj1);
DestroyObject(obj2);
SirenCreated = false;
}
}
}
}
return 1;
}
It works perfect at first, even if the weapon is not on hand, but when I then remove the weapon from me, the sirens still activate when im at the range of point.
|
CMD:weapon(playerid, params[]) { if(!strlen(params)) return SendClientMessage(playerid, COLOR_RED, "Error. Usage: /weapon [weaponid]"); if(strval(params) > 43 || strval(params) < 1) return SendClientMessage(playerid, COLOR_RED, "Error. Models are between 1 and 43."); GivePlayerWeapon(playerid,(strval(params)),1); return 1; }