MMB ARREST BUTTON
#1

well i want to make mmb arrest button for /ar cmd
Код:
CMD:ar(playerid, params[])
{
	new rangepass = 0, vehiclepass = 0, wantedpass = 0, dutypass = 0, eventpass = 0, arrestpass = 0;
    if(GetTeam{playerid} == CLASS_CIV || GetTeam{playerid} == CLASS_MEDIC) return SendClientMessage(playerid, RED, "Only law enforcement can arrest players.");
	if(HasBeenTied{playerid} == true) return SendClientMessage(playerid, RED, "You cant arrest players while your tied up.");
	foreach(Player, i)
	{
	    if(i == playerid) continue;
	    new Float:x, Float:y, Float:z;
    	GetPlayerPos(i, x, y, z);
    	new Float:hp;
    	GetPlayerHealth(i, hp);
    	if(hp > 0.0)
    	if(IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z) && GetPlayerInterior(playerid) == GetPlayerInterior(i) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
    	{
    	 	rangepass++;
			if(GetPlayerWantedLevel(i) >= 4)
			{
				wantedpass++;
				if(!IsPlayerInAnyVehicle(i))
				{
			    	vehiclepass++;
					if(IsOnduty{i} == 0)
					{
					    dutypass++;
						if(IsAtEvent{i} == 0)
						{
                            eventpass++;
							if(HasBeenArrested{i} == false)
							{
							    arrestpass++;
							    if(GetTeam{playerid} == CLASS_COPS)
								{
									PlayerInfo[i][pArrests] ++;
									TogglePlayerControllable(i, false);
									GameTextForPlayer(i, "~r~Arrested!", 3000, 5);
									format(fstr, sizeof(fstr), "Officer %s [%d] has just arrested you.", GetName(playerid), playerid);
									SendClientMessage(i, RED, fstr);
									GameTextForPlayer(playerid,"~w~Suspect ~g~Arrested.",5000,5);
        							SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
									new pay = random(10000) + 5000;
        							GivePlayerCash(playerid, pay);
        							PlayerInfo[playerid][pTakedowns] ++;
        							ApplyAnimation(playerid, "ped", "ARRESTgun", 4.1, 0, 1, 1, 1, 1);
									format(fstr2, sizeof(fstr2), "Suspect %s [%d] has been arrested by Officer %s [%d]", GetName(i), i, GetName(playerid), playerid);
									SendClientMessageToAll(LIGHTGREEN, fstr2);
									SetPlayerScore(i, GetPlayerScore(i) - 1);
									SetPlayerSpecialAction(i, SPECIAL_ACTION_HANDSUP);
									SetTimerEx("SendPlayerToJail", 3000, false, "d", i);
									HasBeenArrested{i} = true;

         							break;
								}
								else if(GetTeam{playerid} == CLASS_CIA)
								{
									PlayerInfo[i][pArrests] ++;
									TogglePlayerControllable(i, false);
									GameTextForPlayer(i, "~r~Arrested!", 3000, 5);
									SendClientMessage(i, RED, "You have been arrested by a Undercover CIA Agent.");
									GameTextForPlayer(playerid,"~w~Suspect ~g~Arrested.",5000,5);
        							SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
        							new pay = random(10000) + 5000;
        							GivePlayerCash(playerid, pay);
        							PlayerInfo[playerid][pTakedowns] ++;
        							ApplyAnimation(playerid, "ped", "ARRESTgun", 4.1, 0, 1, 1, 1, 1);
									format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Undercover CIA Agent.", GetName(i), i);
									SendClientMessageToAll(LIGHTGREEN, fstr);
									SetPlayerScore(i, GetPlayerScore(i) - 1);
									SetPlayerSpecialAction(i, SPECIAL_ACTION_HANDSUP);
									SetTimerEx("SendPlayerToJail", 3000, false, "d", i);
									HasBeenArrested{i} = true;

         							break;
								}
								else if(GetTeam{playerid} == CLASS_FBI)
								{
									PlayerInfo[i][pArrests] ++;
									TogglePlayerControllable(i, false);
									GameTextForPlayer(i, "~r~Arrested!", 3000, 5);
									SendClientMessage(i, RED, "You have been arrested by a Undercover FBI Agent.");
									GameTextForPlayer(playerid,"~w~Suspect ~g~Arrested.",5000,5);
        							SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
        							new pay = random(10000) + 5000;
        							GivePlayerCash(playerid, pay);
        							PlayerInfo[playerid][pTakedowns] ++;
        							ApplyAnimation(playerid, "ped", "ARRESTgun", 4.1, 0, 1, 1, 1, 1);
									format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Undercover FBI Agent.", GetName(i), i);
									SendClientMessageToAll(LIGHTGREEN, fstr);
									SetPlayerScore(i, GetPlayerScore(i) - 1);
									SetPlayerSpecialAction(i, SPECIAL_ACTION_HANDSUP);
									SetTimerEx("SendPlayerToJail", 3000, false, "d", i);
									HasBeenArrested{i} = true;

         							break;
								}
								else if(GetTeam{playerid} == CLASS_ARMY)
								{
									PlayerInfo[i][pArrests] ++;
									TogglePlayerControllable(i, false);
									GameTextForPlayer(i, "~r~Arrested!", 3000, 5);
									SendClientMessage(i, RED, "You have been arrested by a Las Vegas Army Soldier.");
									GameTextForPlayer(playerid,"~w~Suspect ~g~Arrested.",5000,5);
        							SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
        							new pay = random(10000) + 5000;
        							GivePlayerCash(playerid, pay);
        							PlayerInfo[playerid][pTakedowns] ++;
        							ApplyAnimation(playerid, "ped", "ARRESTgun", 4.1, 0, 1, 1, 1, 1);
									format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Las Vegas Army Soldier.", GetName(i), i);
									SendClientMessageToAll(LIGHTGREEN, fstr);
									SetPlayerScore(i, GetPlayerScore(i) - 1);
									SetPlayerSpecialAction(i, SPECIAL_ACTION_HANDSUP);
									SetTimerEx("SendPlayerToJail", 3000, false, "d", i);
									HasBeenArrested{i} = true;

         							break;
								}
							}
						}
					}
				}
			}
		}
	}
	if(rangepass == 0)
	{
		SendClientMessage(playerid, RED, "No wanted players in range.");
	}
	else if(wantedpass == 0)
	{
		SendClientMessage(playerid, RED, "No wanted players in range.");
	}
	else if(vehiclepass == 0)
	{
		SendClientMessage(playerid, RED, "No wanted players in range.");
	}
	else if(dutypass == 0)
	{
		SendClientMessage(playerid, RED, "No wanted players in range.");
	}
	else if(eventpass == 0)
	{
		SendClientMessage(playerid, RED, "No wanted players in range.");
	}
	else if(arrestpass == 0)
	{
		SendClientMessage(playerid, RED, "No wanted players in range.");
	}
	new astring[100];
	format(astring, sizeof(astring),"%s [%d] typed: /ar", GetName(playerid), playerid);
	SendAdminMessage(GREY, astring);
	return true;
}
so how i can make when i press mmb server do /ar automaticly?
Reply
#2

pawn Код:
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
CMD:ar(playerid, params[])
{
    if(GetTeam{playerid} == CLASS_CIV || GetTeam{playerid} == CLASS_MEDIC) return SendClientMessage(playerid, RED, "Only law enforcement can arrest players.");
    else if(HasBeenTied{playerid} == true) return SendClientMessage(playerid, RED, "You cant arrest players while your tied up.");
    else if(IsPlayerConnected(stval(params)) && strlen(params) != 0) Arrest(playerid, strval(params))
    else if(strlen(params) == 0 || !IsPlayerConnected(stval(params)) Arrest(playerid);
    new astring[100];
    format(astring, sizeof(astring),"%s [%d] typed: /ar", GetName(playerid), playerid);
    SendAdminMessage(GREY, astring);
    return 1;
}
stock Arrest(playerid, i = -1)
{
    new Float:x, Float:y, Float:z, Float:hp;
    if(i != -1)
    {
        GetPlayerPos(i, x, y, z);
        GetPlayerHealth(i, hp);
        if(hp > 0.0 && IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z) && GetPlayerInterior(playerid) == GetPlayerInterior(i) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i) && GetPlayerWantedLevel(i) >= 4 && !IsPlayerInAnyVehicle(i) && !IsOnduty{i} && !IsAtEvent{i} && HasBeenArrested{i} == false) return SendClientMessage(playerid, RED, "Player cannot be arrested");
    }
    else if(i == -1)
    {
        foreach(Player, id)
        {
            GetPlayerPos(i, x, y, z);
            GetPlayerHealth(i, hp);
            if(hp > 0.0 && IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z) && GetPlayerInterior(playerid) == GetPlayerInterior(id) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(id) && GetPlayerWantedLevel(id) >= 4 && !IsPlayerInAnyVehicle(id) && !IsOnduty{id} && !IsAtEvent{id} && HasBeenArrested{id} == false) continue;
            i = id;
            break;
        }
        if(i == -1) return SendClientMessage(playerid, RED, "No wanted players in range.");
    }
    PlayerInfo[i][pArrests] ++;
    TogglePlayerControllable(i, false);
    GameTextForPlayer(i, "~r~Arrested!", 3000, 5);
    GameTextForPlayer(playerid,"~w~Suspect ~g~Arrested.",5000,5);
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
    new pay = random(10000) + 5000;
    GivePlayerCash(playerid, pay);
    PlayerInfo[playerid][pTakedowns] ++;
    ApplyAnimation(playerid, "ped", "ARRESTgun", 4.1, 0, 1, 1, 1, 1);
    SetPlayerScore(i, GetPlayerScore(i) - 1);
    SetPlayerSpecialAction(i, SPECIAL_ACTION_HANDSUP);
    SetTimerEx("SendPlayerToJail", 3000, false, "d", i);
    HasBeenArrested{i} = true;
    if(GetTeam{playerid} == CLASS_COPS)
    {
        format(fstr, sizeof(fstr), "Officer %s [%d] has just arrested you.", GetName(playerid), playerid);
        SendClientMessage(i, RED, fstr);
        format(fstr2, sizeof(fstr2), "Suspect %s [%d] has been arrested by Officer %s [%d]", GetName(i), i, GetName(playerid), playerid);
        SendClientMessageToAll(LIGHTGREEN, fstr2);
    }
    else if(GetTeam{playerid} == CLASS_CIA)
    {

        SendClientMessage(i, RED, "You have been arrested by a Undercover CIA Agent.");
        format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Undercover CIA Agent.", GetName(i), i);
        SendClientMessageToAll(LIGHTGREEN, fstr);
    }
    else if(GetTeam{playerid} == CLASS_FBI)
    {
        SendClientMessage(i, RED, "You have been arrested by a Undercover FBI Agent.");
        format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Undercover FBI Agent.", GetName(i), i);
        SendClientMessageToAll(LIGHTGREEN, fstr);
    }
    else if(GetTeam{playerid} == CLASS_ARMY)
    {
        SendClientMessage(i, RED, "You have been arrested by a Las Vegas Army Soldier.");
        format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Las Vegas Army Soldier.", GetName(i), i);
        SendClientMessageToAll(LIGHTGREEN, fstr);
    }
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(GetTeam{playerid} != CLASS_CIV && GetTeam{playerid} != CLASS_MEDIC && PRESSED(KEY_SUBMISSION)) Arrest(playerid);
    return 1;
}
Give that a go.
Reply
#3

Quote:
Originally Posted by [HiC]TheKiller
Посмотреть сообщение
pawn Код:
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
CMD:ar(playerid, params[])
{
    if(GetTeam{playerid} == CLASS_CIV || GetTeam{playerid} == CLASS_MEDIC) return SendClientMessage(playerid, RED, "Only law enforcement can arrest players.");
    else if(HasBeenTied{playerid} == true) return SendClientMessage(playerid, RED, "You cant arrest players while your tied up.");
    else if(IsPlayerConnected(stval(params)) && strlen(params) != 0) Arrest(playerid, strval(params))
    else if(strlen(params) == 0 || !IsPlayerConnected(stval(params)) Arrest(playerid);
    new astring[100];
    format(astring, sizeof(astring),"%s [%d] typed: /ar", GetName(playerid), playerid);
    SendAdminMessage(GREY, astring);
    return 1;
}
stock Arrest(playerid, i = -1)
{
    new Float:x, Float:y, Float:z, Float:hp;
    if(i != -1)
    {
        GetPlayerPos(i, x, y, z);
        GetPlayerHealth(i, hp);
        if(hp > 0.0 && IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z) && GetPlayerInterior(playerid) == GetPlayerInterior(i) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i) && GetPlayerWantedLevel(i) >= 4 && !IsPlayerInAnyVehicle(i) && !IsOnduty{i} && !IsAtEvent{i} && HasBeenArrested{i} == false) return SendClientMessage(playerid, RED, "Player cannot be arrested");
    }
    else if(i == -1)
    {
        foreach(Player, id)
        {
            GetPlayerPos(i, x, y, z);
            GetPlayerHealth(i, hp);
            if(hp > 0.0 && IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z) && GetPlayerInterior(playerid) == GetPlayerInterior(id) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(id) && GetPlayerWantedLevel(id) >= 4 && !IsPlayerInAnyVehicle(id) && !IsOnduty{id} && !IsAtEvent{id} && HasBeenArrested{id} == false) continue;
            i = id;
            break;
        }
        if(i == -1) return SendClientMessage(playerid, RED, "No wanted players in range.");
    }
    PlayerInfo[i][pArrests] ++;
    TogglePlayerControllable(i, false);
    GameTextForPlayer(i, "~r~Arrested!", 3000, 5);
    GameTextForPlayer(playerid,"~w~Suspect ~g~Arrested.",5000,5);
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
    new pay = random(10000) + 5000;
    GivePlayerCash(playerid, pay);
    PlayerInfo[playerid][pTakedowns] ++;
    ApplyAnimation(playerid, "ped", "ARRESTgun", 4.1, 0, 1, 1, 1, 1);
    SetPlayerScore(i, GetPlayerScore(i) - 1);
    SetPlayerSpecialAction(i, SPECIAL_ACTION_HANDSUP);
    SetTimerEx("SendPlayerToJail", 3000, false, "d", i);
    HasBeenArrested{i} = true;
    if(GetTeam{playerid} == CLASS_COPS)
    {
        format(fstr, sizeof(fstr), "Officer %s [%d] has just arrested you.", GetName(playerid), playerid);
        SendClientMessage(i, RED, fstr);
        format(fstr2, sizeof(fstr2), "Suspect %s [%d] has been arrested by Officer %s [%d]", GetName(i), i, GetName(playerid), playerid);
        SendClientMessageToAll(LIGHTGREEN, fstr2);
    }
    else if(GetTeam{playerid} == CLASS_CIA)
    {

        SendClientMessage(i, RED, "You have been arrested by a Undercover CIA Agent.");
        format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Undercover CIA Agent.", GetName(i), i);
        SendClientMessageToAll(LIGHTGREEN, fstr);
    }
    else if(GetTeam{playerid} == CLASS_FBI)
    {
        SendClientMessage(i, RED, "You have been arrested by a Undercover FBI Agent.");
        format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Undercover FBI Agent.", GetName(i), i);
        SendClientMessageToAll(LIGHTGREEN, fstr);
    }
    else if(GetTeam{playerid} == CLASS_ARMY)
    {
        SendClientMessage(i, RED, "You have been arrested by a Las Vegas Army Soldier.");
        format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Las Vegas Army Soldier.", GetName(i), i);
        SendClientMessageToAll(LIGHTGREEN, fstr);
    }
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(GetTeam{playerid} != CLASS_CIV && GetTeam{playerid} != CLASS_MEDIC && PRESSED(KEY_SUBMISSION)) Arrest(playerid);
    return 1;
}
Give that a go.
i get this dude
Код:
C:\Users\Beljulji\Documents\Samp Server\gamemodes\NVCNR.pwn(19817) : error 017: undefined symbol "stval"
C:\Users\Beljulji\Documents\Samp Server\gamemodes\NVCNR.pwn(19818) : error 001: expected token: ";", but found "else"
C:\Users\Beljulji\Documents\Samp Server\gamemodes\NVCNR.pwn(19818) : error 017: undefined symbol "stval"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


3 Errors.
Reply
#4

I'm making quite a few mistakes today, here you go:

pawn Код:
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
CMD:ar(playerid, params[])
{
    if(GetTeam{playerid} == CLASS_CIV || GetTeam{playerid} == CLASS_MEDIC) return SendClientMessage(playerid, RED, "Only law enforcement can arrest players.");
    else if(HasBeenTied{playerid} == true) return SendClientMessage(playerid, RED, "You cant arrest players while your tied up.");
    else if(IsPlayerConnected(strval(params)) && strlen(params) != 0) Arrest(playerid, strval(params));
    else if(strlen(params) == 0 || !IsPlayerConnected(strval(params)) Arrest(playerid);
    new astring[100];
    format(astring, sizeof(astring),"%s [%d] typed: /ar", GetName(playerid), playerid);
    SendAdminMessage(GREY, astring);
    return 1;
}
stock Arrest(playerid, i = -1)
{
    new Float:x, Float:y, Float:z, Float:hp;
    if(i != -1)
    {
        GetPlayerPos(i, x, y, z);
        GetPlayerHealth(i, hp);
        if(hp > 0.0 && IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z) && GetPlayerInterior(playerid) == GetPlayerInterior(i) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i) && GetPlayerWantedLevel(i) >= 4 && !IsPlayerInAnyVehicle(i) && !IsOnduty{i} && !IsAtEvent{i} && HasBeenArrested{i} == false) return SendClientMessage(playerid, RED, "Player cannot be arrested");
    }
    else if(i == -1)
    {
        foreach(Player, id)
        {
            GetPlayerPos(i, x, y, z);
            GetPlayerHealth(i, hp);
            if(hp > 0.0 && IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z) && GetPlayerInterior(playerid) == GetPlayerInterior(id) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(id) && GetPlayerWantedLevel(id) >= 4 && !IsPlayerInAnyVehicle(id) && !IsOnduty{id} && !IsAtEvent{id} && HasBeenArrested{id} == false) continue;
            i = id;
            break;
        }
        if(i == -1) return SendClientMessage(playerid, RED, "No wanted players in range.");
    }
    PlayerInfo[i][pArrests] ++;
    TogglePlayerControllable(i, false);
    GameTextForPlayer(i, "~r~Arrested!", 3000, 5);
    GameTextForPlayer(playerid,"~w~Suspect ~g~Arrested.",5000,5);
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
    new pay = random(10000) + 5000;
    GivePlayerCash(playerid, pay);
    PlayerInfo[playerid][pTakedowns] ++;
    ApplyAnimation(playerid, "ped", "ARRESTgun", 4.1, 0, 1, 1, 1, 1);
    SetPlayerScore(i, GetPlayerScore(i) - 1);
    SetPlayerSpecialAction(i, SPECIAL_ACTION_HANDSUP);
    SetTimerEx("SendPlayerToJail", 3000, false, "d", i);
    HasBeenArrested{i} = true;
    if(GetTeam{playerid} == CLASS_COPS)
    {
        format(fstr, sizeof(fstr), "Officer %s [%d] has just arrested you.", GetName(playerid), playerid);
        SendClientMessage(i, RED, fstr);
        format(fstr2, sizeof(fstr2), "Suspect %s [%d] has been arrested by Officer %s [%d]", GetName(i), i, GetName(playerid), playerid);
        SendClientMessageToAll(LIGHTGREEN, fstr2);
    }
    else if(GetTeam{playerid} == CLASS_CIA)
    {

        SendClientMessage(i, RED, "You have been arrested by a Undercover CIA Agent.");
        format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Undercover CIA Agent.", GetName(i), i);
        SendClientMessageToAll(LIGHTGREEN, fstr);
    }
    else if(GetTeam{playerid} == CLASS_FBI)
    {
        SendClientMessage(i, RED, "You have been arrested by a Undercover FBI Agent.");
        format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Undercover FBI Agent.", GetName(i), i);
        SendClientMessageToAll(LIGHTGREEN, fstr);
    }
    else if(GetTeam{playerid} == CLASS_ARMY)
    {
        SendClientMessage(i, RED, "You have been arrested by a Las Vegas Army Soldier.");
        format(fstr, sizeof(fstr), "Suspect %s [%d] has been arrested by a Las Vegas Army Soldier.", GetName(i), i);
        SendClientMessageToAll(LIGHTGREEN, fstr);
    }
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(GetTeam{playerid} != CLASS_CIV && GetTeam{playerid} != CLASS_MEDIC && PRESSED(KEY_SUBMISSION)) Arrest(playerid);
    return 1;
}
Reply
#5

you made mistake somewhere again
Код:
C:\Users\Beljulji\Documents\Samp Server\gamemodes\NVCNR.pwn(19757) : error 001: expected token: ")", but found "-identifier-"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
Reply
#6

well im pretty shure that problem is here:
Код:
else if(strlen(params) == 0 || !IsPlayerConnected(strval(params)) Arrest(playerid);
Reply
#7

Quote:
Originally Posted by Beljulji
Посмотреть сообщение
well im pretty shure that problem is here:
Код:
else if(strlen(params) == 0 || !IsPlayerConnected(strval(params)) Arrest(playerid);
It's just missing a ')'
Код:
else if(strlen(params) == 0 || !IsPlayerConnected(strval(params))) Arrest(playerid);
Reply
#8

+ rep i didnt see that ")"missing i didnt sleep 24 hours lol
Reply
#9

LOOOOL WTF NOW when i press mmb i arrest myself LOOOOOOOOL
Reply
#10

is there any way so when i press mmb server force player to type /ar?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)