Help with cmd bug -
StrikerZ - 05.08.2016
The problem is that /cuff /uncuff and /tazer can be used by other players too even if they are not in lspd i tried settings permissions again but it didn't worked
Code:
CMD:cuff(playerid, params[])
{
if(IsACop(playerid) || PlayerInfo[playerid][pMember] == 4 && PlayerInfo[playerid][pDivision] == 2 || PlayerInfo[playerid][pMember] == 8 && PlayerInfo[playerid][pRank] >= 5 || (PlayerInfo[playerid][pMember] == 12 && PlayerInfo[playerid][pDivision] == 2))
{
if(GetPVarInt(playerid, "Injured") == 1)
{
SendClientMessageEx(playerid, COLOR_GREY, "You can't do this right now.");
return 1;
}
new string[128], giveplayerid;
if(sscanf(params, "u", giveplayerid)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /cuff [playerid]");
if(IsPlayerConnected(giveplayerid))
{
if (ProxDetectorS(8.0, playerid, giveplayerid))
{
if(giveplayerid == playerid) { SendClientMessageEx(playerid, COLOR_GREY, "You cannot cuff yourself!"); return 1; }
if(PlayerCuffed[giveplayerid] == 1 || GetPlayerSpecialAction(giveplayerid) == SPECIAL_ACTION_HANDSUP)
{
format(string, sizeof(string), "* You have been handcuffed by %s.", GetPlayerNameEx(playerid));
SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* You handcuffed %s, till uncuff.", GetPlayerNameEx(giveplayerid));
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s pulls out a pair of handcuffs from their belt.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
format(string, sizeof(string), "* %s handcuffs %s, tightening the cuffs securely.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
//GameTextForPlayer(giveplayerid, "~r~Cuffed", 2500, 3);
//TogglePlayerControllable(giveplayerid, 0);
ClearAnimations(giveplayerid);
SetPlayerSpecialAction(giveplayerid, SPECIAL_ACTION_CUFFED);
SetPlayerAttachedObject(giveplayerid, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
PlayerCuffed[giveplayerid] = 2;
SetPVarInt(giveplayerid, "PlayerCuffed", 2);
DeletePVar(giveplayerid, "IsFrozen");
//SetPVarInt(giveplayerid, "IsFrozen", 0);
//Frozen[giveplayerid] = 0;
PlayerCuffedTime[giveplayerid] = 350;
}
else
{
SendClientMessageEx(playerid, COLOR_GREY, "That player isn't restrained!");
return 1;
}
}
else
{
SendClientMessageEx(playerid, COLOR_GREY, "That player isn't near you.");
return 1;
}
}
else
{
SendClientMessageEx(playerid, COLOR_GREY, "Invalid player specified.");
return 1;
}
}
else
{
SendClientMessageEx(playerid, COLOR_GREY, "You're not a law enforcement officer.");
}
return 1;
}
Code:
CMD:uncuff(playerid, params[])
{
if(IsACop(playerid) || PlayerInfo[playerid][pMember] == 4 && PlayerInfo[playerid][pDivision] == 2 || PlayerInfo[playerid][pMember] == 4 && PlayerInfo[playerid][pRank] >= 5)
{
new string[128], giveplayerid;
if(sscanf(params, "u", giveplayerid)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /uncuff [playerid]");
if(IsPlayerConnected(giveplayerid))
{
if (ProxDetectorS(8.0, playerid, giveplayerid))
{
if(PlayerInfo[giveplayerid][pJailed] >= 1)
{
SendClientMessageEx(playerid, COLOR_WHITE, "You can't uncuff a jailed player.");
return 1;
}
if(giveplayerid == playerid) { SendClientMessageEx(playerid, COLOR_GREY, "You can't uncuff yourself."); return 1; }
if(PlayerCuffed[giveplayerid]>1)
{
DeletePVar(giveplayerid, "IsFrozen");
format(string, sizeof(string), "* You have been uncuffed by %s.", GetPlayerNameEx(playerid));
SendClientMessageEx(giveplayerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* You uncuffed %s.", GetPlayerNameEx(giveplayerid));
SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s has uncuffed %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(giveplayerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GameTextForPlayer(giveplayerid, "~g~Uncuffed", 2500, 3);
SetPlayerSpecialAction(giveplayerid,SPECIAL_ACTION_NONE);
RemovePlayerAttachedObject(giveplayerid,0);
TogglePlayerControllable(giveplayerid, 1);
ClearAnimations(giveplayerid);
PlayerCuffed[giveplayerid] = 0;
PlayerCuffedTime[playerid] = 0;
DeletePVar(giveplayerid, "PlayerCuffed");
}
else
{
SendClientMessageEx(playerid, COLOR_GREY, "That player isn't cuffed.");
return 1;
}
}
else
{
SendClientMessageEx(playerid, COLOR_GREY, "That player isn't near you.");
return 1;
}
}
else
{
SendClientMessageEx(playerid, COLOR_GREY, "Invalid player specified.");
return 1;
}
}
else
{
SendClientMessageEx(playerid, COLOR_GREY, "You're not a law enforcement officer.");
}
return 1;
}
Code:
CMD:tazer(playerid, params[])
{
if(gTeam[playerid] == 2 || IsACop(playerid) || PlayerInfo[playerid][pMember] == 12 || (PlayerInfo[playerid][pMember] == 9 && PlayerInfo[playerid][pDivision] == 1))
{
new string[128];
if(PlayerInfo[playerid][pConnectTime] < 0 || PlayerInfo[playerid][pWRestricted] > 0) return SendClientMessageEx(playerid, COLOR_GRAD2, "You cannot use this as you are currently restricted from possessing weapons!");
if(IsPlayerInAnyVehicle(playerid))
{
SendClientMessageEx(playerid, COLOR_GREY, "You can't do this while you're in a vehicle.");
return 1;
}
if(GetPVarInt(playerid, "IsInArena") >= 0)
{
SendClientMessageEx(playerid, COLOR_WHITE, "You can't do this right now, you are in a arena!");
return 1;
}
if(GetPVarInt( playerid, "EventToken") != 0)
{
SendClientMessageEx(playerid, COLOR_GREY, "You can't use the tazer while you're in an event.");
return 1;
}
if(PlayerCuffedTime[playerid] > 0)
{
SendClientMessageEx(playerid, COLOR_GREY, "You can't do this right now.");
return 1;
}
if(GetPVarInt(playerid, "Injured") == 1)
{
SendClientMessageEx(playerid, COLOR_GREY, "You can't do this right now.");
return 1;
}
if(PlayerInfo[playerid][pJailed] > 0)
{
SendClientMessageEx(playerid, COLOR_WHITE, "You cannot use this in jail/prison.");
return 1;
}
if(PlayerCuffed[playerid] >= 1) {
SendClientMessageEx(playerid, COLOR_WHITE, "You cannot use this while tazed/cuffed.");
return 1;
}
if(pTazer[playerid] == 0)
{
pTazerReplace[playerid] = PlayerInfo[playerid][pGuns][2];
if(PlayerInfo[playerid][pGuns][2] != 0) RemovePlayerWeapon(playerid, PlayerInfo[playerid][pGuns][2]);
format(string, sizeof(string), "* %s unholsters their tazer.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GivePlayerValidWeapon(playerid, 23, 60000);
pTazer[playerid] = 1;
}
else
{
RemovePlayerWeapon(playerid, 23);
GivePlayerValidWeapon(playerid, pTazerReplace[playerid], 60000);
format(string, sizeof(string), "* %s holsters their tazer.", GetPlayerNameEx(playerid));
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
pTazer[playerid] = 0;
}
}
else
{
SendClientMessageEx(playerid, COLOR_GREY, " You are not a Cop / FBI !");
return 1;
}
return 1;
}
Re: Help with cmd bug -
StrikerZ - 05.08.2016
Any ideas?
Re: Help with cmd bug -
StrikerZ - 06.08.2016
plz help
Re: Help with cmd bug -
AndySedeyn - 06.08.2016
EDIT: hold on. I misread the question.
EDIT2: I've enclosed your conditions with the && operator in a pair of brackets:
PHP Code:
if(IsACop(playerid) || (PlayerInfo[playerid][pMember] == 4 && PlayerInfo[playerid][pDivision] == 2) || (PlayerInfo[playerid][pMember] == 8 && PlayerInfo[playerid][pRank] >= 5) || (PlayerInfo[playerid][pMember] == 12 && PlayerInfo[playerid][pDivision] == 2))
You can compare such an if-statement with a mathematical operation where the order of operations is of importance.
Re: Help with cmd bug -
StrikerZ - 06.08.2016
Thx bro
Re: Help with cmd bug -
StrikerZ - 06.08.2016
didn't worked
Re: Help with cmd bug -
Shinja - 06.08.2016
How you want them to work?
Re: Help with cmd bug -
KevinKush - 06.08.2016
maybe there is a mistake in the function IsAcop else try to use this line
PHP Code:
if(IsACop(playerid) || ((PlayerInfo[playerid][pMember] == 4 && PlayerInfo[playerid][pDivision] == 2))) || ((PlayerInfo[playerid][pMember] == 8 && PlayerInfo[playerid][pRank] >= 5)) || ((PlayerInfo[playerid][pMember] == 12 && PlayerInfo[playerid][pDivision] == 2)))