MMB Function For CnR
#1

I am working on a CnR Script But i Dont Know How To Add The Command

If Any Suspect Will Be In Range Then Cops Can Arrest Him With Pressing MMB

Please Help Me With These +Rep Will Be Given
Reply
#2

Try this.
pawn Код:
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{

    if(newkeys & KEY_LOOK_BEHIND) // key_crouch is the define for H in vehicle.
    {
       //your arrest thingys
       return 1;
    }
}
You may try also using
pawn Код:
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{

    if(newkeys & KEY_SUBMISSION) // key_crouch is the define for H in vehicle.
    {
       //your arrest thingys
       return 1;
    }
}
Reply
#3

This Is The Command

Quote:

COMMAND:arrest(playerid, params[])
{
new vehicleid = GetPlayerVehicleID(playerid);
if (PlayerInfo[playerid][pSpawn] == 1){

if (PlayerInfo[playerid][pTeam] == TEAM_LAW || PlayerInfo[playerid][pVigilante] == 1){


new idx,giveplayerid,string[256],tmp[256];

tmp = strtok(params, idx);


if(!strlen(tmp))
{
//Between This Brace Is What Happens When A Player Doesn't Types A Playerid

new WantedSuspects;

for(new i = 0; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i) && i != playerid && !IsPlayerNPC(i) && PlayerInfo[i][pSpawn] == 1 && PlayerInfo[i][pWantedLevel] > 5 && GetDistanceBetweenPlayers(playerid,i) < 10)
{

WantedSuspects ++;

if (WantedSuspects > 0)giveplayerid = i; break;
}
}

if (WantedSuspects == 0)
return SendClientMessage(playerid, COLOR_ERROR, "No Suspects In Range.");


}else{
//Between This Brace Is What Happens When A Player Types A Playerid
if(!isNumeric(tmp))
{
giveplayerid = ReturnUser(playerid, tmp);
if(giveplayerid == INVALID_PLAYER_ID)
{
return 1;
}
}
else
{
giveplayerid = strval(tmp);

if(!IsPlayerConnected(giveplayerid))
{
format(string, sizeof(string), "%d Is Not A Valid ID.", giveplayerid);
SendClientMessage(playerid, COLOR_ERROR, string);
return 1;
}
}
//Between This Brace Is What Happens When A Player Types A Playerid
}

if(giveplayerid == playerid)
{
SendClientMessage(playerid, COLOR_ERROR, "You Cannot Arrest Yourself.");
return 1;
}

if(GetDistanceBetweenPlayers(playerid,giveplayerid ) > 10) {
format(string, sizeof(string), "%s Is Not Close Enough To Arrest.",PlayerInfo[giveplayerid][pName]);
SendClientMessage(playerid,COLOR_ERROR, string);
return 1;
}

if(GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(giveplayerid))
{
SendClientMessage(playerid, COLOR_ERROR, "No Suspects In Range.");
return 1;
}

/*if(IsPlayerNPC(giveplayerid))
{
SendClientMessage(playerid,COLOR_ERROR, "You Cannot Arrest A Bot.");
return 1;
}*/

if (PlayerInfo[giveplayerid][pTeam] == TEAM_LAW || PlayerInfo[giveplayerid][pVigilante] == 1)
{
format(string, sizeof(string), "%s (%d) Is A Law Enforcement Agent And Cannot Be Arrested.",PlayerInfo[giveplayerid][pName],giveplayerid);
SendClientMessage(playerid,COLOR_ERROR, string);
return 1;
}

if (PlayerInfo[giveplayerid][pWantedLevel] < 6)
{
format(string, sizeof(string), "%s (%d) Does Not Have A Warrant Issued.",PlayerInfo[giveplayerid][pName],giveplayerid);
SendClientMessage(playerid,COLOR_ERROR, string);
return 1;
}

/*if (PlayerStats[giveplayerid][pWantedLevel] > 0 && PlayerStats[giveplayerid][pWantedLevel] < 6)
{
//format(string, sizeof(string), "%s Does Not Have A Warrant Issued.",PlayerStats[giveplayerid][pName]);
//SendClientMessage(playerid,COLOR_ERROR, string);
OnPlayerCommandText(playerid, "/ticket");
return 1;
}*/

if (GetPlayerState(playerid) == PLAYER_STATE_ONFOOT && GetPlayerState(giveplayerid) != PLAYER_STATE_ONFOOT)
{
SendClientMessage(playerid, COLOR_ERROR, "No Suspects In Range.");
return 1;
}

if (GetPlayerState(giveplayerid) == PLAYER_STATE_DRIVER || GetPlayerState(giveplayerid) == PLAYER_STATE_PASSENGER)
{
new vehicleid = GetPlayerVehicleID(giveplayerid);
if (!IsPlayerInVehicle(playerid,vehicleid) && IsPlayerInVehicle(giveplayerid,vehicleid))
{
SendClientMessage(playerid, COLOR_ERROR, "No Suspects In Range.");
return 1;
}
}

if(PlayerInfo[giveplayerid][pAJailed] == 1)
{
format(string, sizeof(string), "%s (%i) Is Already In Jail.",PlayerInfo[giveplayerid][pName],giveplayerid);
SendClientMessage(playerid, COLOR_ERROR, string);
return 1;
}

if(PlayerInfo[giveplayerid][pJailed] == 1)
{
format(string, sizeof(string), "%s (%i) Is Already In Jail.",PlayerInfo[giveplayerid][pName],giveplayerid);
SendClientMessage(playerid, COLOR_ERROR, string);
return 1;
}

if(!IsPlayerInAnyVehicle(playerid))
{
ApplyAnimation(playerid, "ped", "ARRESTgun", 3.0,0,1,1,1,0,1);
}

if(!IsPlayerInAnyVehicle(giveplayerid))
{
ApplyAnimation(giveplayerid, "PED", "handsup", 3.0,0,1,1,1,0,1);
}

format(string, sizeof(string), "Suspect %s (%i) Has Been Arrested By Officer %s (%i)",PlayerInfo[giveplayerid][pName],giveplayerid,PlayerInfo[playerid][pName],playerid);
SendClientMessageToAll(COLOR_SERVER_HELP_MSG, string);
format(string, sizeof(string), "You Have Arrested Suspect %s (%d) And Recieved A Cop Takedown Bonus Of $1000.",PlayerInfo[giveplayerid][pName],giveplayerid);
SendClientMessage(playerid, COLOR_SERVER_HELP_MSG, string);
format(string, sizeof(string), "~w~ARRESTED ~r~SUSPECT ~w~%s",PlayerInfo[giveplayerid][pName]);
GameTextForPlayer(playerid,string, 5000, 3);


GivePlayerMoney(playerid, 5000);
PlayerInfo[playerid][pEarnings] += 5000;

SetPlayerScore(playerid,GetPlayerScore(playerid) + 1);
SetPlayerScore(giveplayerid,GetPlayerScore(givepla yerid) - 1);

PlayerInfo[giveplayerid][pJailHour] = PlayerInfo[giveplayerid][pWantedLevel];
PlayerInfo[giveplayerid][pJailMinute] = 4*PlayerInfo[giveplayerid][pWantedLevel];
PlayerInfo[giveplayerid][pBail] = PlayerInfo[giveplayerid][pWantedLevel]*1000;

format(string, sizeof(string), "~w~BUSTED BY ~b~OFFICER %s",PlayerInfo[playerid][pName]);
GameTextForPlayer(giveplayerid,string, 5000, 3);

format(string, sizeof(string), "You Have Been Arrested By Officer %s (%d). Minimum Sentence: %d Hours, %d Minutes Bail: $%d",PlayerInfo[playerid][pName],playerid, PlayerInfo[giveplayerid][pJailHour],PlayerInfo[giveplayerid][pJailMinute],PlayerInfo[giveplayerid][pBail]);
SendClientMessage(giveplayerid, COLOR_SERVER_HELP_MSG, string);


if (PlayerInfo[giveplayerid][pHoldup] > 0 && PlayerInfo[giveplayerid][pMission] == MISSION_TYPE_STORE_ROBBERY)
{

if (PlayerInfo[giveplayerid][pHoldupAmount] > 0)
{
format(string, sizeof(string), "You Have Been Arrested. Holdup Failed. $%d Seized.", PlayerInfo[giveplayerid][pHoldupAmount]);
SendClientMessage(giveplayerid, COLOR_SERVER_HELP_MSG, string);

SendClientMessage(playerid, COLOR_SERVER_HELP_MSG, "You Have Stopped A Robbery And Received A $10000 Bonus.");
GivePlayerMoney(playerid, 10000);
PlayerInfo[playerid][pEarnings] += 10000;
}
PlayerInfo[giveplayerid][pHoldup] = 0;
PlayerInfo[giveplayerid][pHoldupAmount] = 0;
PlayerInfo[giveplayerid][pMission] = 0;
}

SetTimerEx("ArrestTimer", 5000, 0, "d", playerid);
SetTimerEx("ArrestTimer", 5000, 0, "d", giveplayerid);

format(string, sizeof(string), "~w~Jail Time: ~g~00:00~n~~w~Bail: ~r~$%d",PlayerInfo[giveplayerid][pBail]);
TextDrawSetString(StatsDisplay[giveplayerid], string);
//TextDrawShowForPlayer(giveplayerid, StatsDisplay[giveplayerid]);

ResetPlayerWeapons(giveplayerid);

PlayerInfo[giveplayerid][pWantedLevel] = 0;
SetPlayerColor(giveplayerid, COLOR_WANTED_LEVEL_0);
SetPlayerWantedLevel(giveplayerid, 0);

PlayerInfo[playerid][pArrests] ++;
PlayerInfo[giveplayerid][pArrested] ++;
IncreasePlayerRank(playerid);

}else{
SendClientMessage(playerid, COLOR_ERROR, "You Must Be A Law Enforcement Agent To Arrest Suspects.");
}

}else{
SendClientMessage(playerid, COLOR_ERROR, "You Cannot Use This Command When You're Dead.");
}

return 1;
}

Reply
#4

Quote:
Originally Posted by Maro06
Посмотреть сообщение
Try this.
pawn Код:
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{

    if(newkeys & KEY_LOOK_BEHIND) // key_crouch is the define for H in vehicle.
    {
       //your arrest thingys
       return 1;
    }
}
You may try also using
pawn Код:
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{

    if(newkeys & KEY_SUBMISSION) // key_crouch is the define for H in vehicle.
    {
       //your arrest thingys
       return 1;
    }
}
Have a read of this page https://sampwiki.blast.hk/wiki/OnPlayerKeyStateChange
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)