Help with cmd bug
#1

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;
}
Reply
#2

Any ideas?
Reply
#3

plz help
Reply
#4

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] == && PlayerInfo[playerid][pDivision] == 2) || (PlayerInfo[playerid][pMember] == && 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.
Reply
#5

Thx bro
Reply
#6

didn't worked
Reply
#7

How you want them to work?
Reply
#8

maybe there is a mistake in the function IsAcop else try to use this line
PHP Code:
if(IsACop(playerid) || ((PlayerInfo[playerid][pMember] == && PlayerInfo[playerid][pDivision] == 2))) || ((PlayerInfo[playerid][pMember] == && PlayerInfo[playerid][pRank] >= 5)) || ((PlayerInfo[playerid][pMember] == 12 && PlayerInfo[playerid][pDivision] == 2))) 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)