DCMD+OnPlayerKeyStateChange
#1

Hey All!
I need a little help. How can I do public OnPlayerKeyStateChange to use dcmd_arrest?
Here is my codes:
dcmd_arrest:
pawn Код:
dcmd_arrest(playerid, params[])
{
  new targetid = strval(params);
  if (!Player[playerid][HasSpawnedYet])
    {
      SendClientMessage(playerid, RED, "Nem tudod hasznбlni ezt a parancsot, ha halott vagy.");
        return 1;
    }
    if(!IsPolice(playerid) && !IsFBI(playerid) && !IsArmy(playerid) && !IsCIA(playerid))
    {
        format(myString, sizeof(myString), "Csak a rendőrцk tudnak letartуztatni embereket. Hasznбld a /107 parancsot, hogy hнvd a rendőrцket.");
        SendClientMessage(playerid, RED, myString);
      return 1;
  }
  if (GetPlayerWantedLevel(playerid) > 0)
  {
        SendClientMessage(playerid, RED, "Nem tudsz letartуztatni embereket, ha kцrцzйsed van.");
      return 1;
  }
  if(strlen(params) == 0)
  {
      for(new i=0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(GetPlayerWantedLevel(i) > 3)
                {
                    if(GetPlayerState(i) == 1 && ArePlayersInSameCar(playerid, i))
                    {
                      if(IsPlayerNearPlayer(12, playerid, i))
                      {
                          GetPlayerName(i, targetName, sizeof(targetName));
                          GetPlayerName(playerid, playerName, sizeof(playerName));

                            format(myString, sizeof(myString), "%s (%i) jбtйkost letartуztatta %s (%i) rendőr!", targetName, i, playerName, playerid);
                            SendClientMessageToAll(ANNOUNCEMENT, myString);

                            if(GetPlayerWantedLevel(i) == 6)
                            {
                                GivePlayerMoney(playerid, 10000);
                                format(myString, sizeof(myString), "You have arrested a player with a level 6 wanted level! You recieve an arrest bonus of $10000.");
                                SendClientMessage(playerid, GREEN, myString);
                                format(myString, sizeof(myString), "~b~%s letartoztatva", targetName);
                                GameTextForPlayer(playerid,myString,3000,4);

                                format(myString, sizeof(myString), "You have been arrested with a level 6 wanted level! You will go to jail for 3 minutes, and you will lose $10000.");
                                SendClientMessage(i, ORANGE, myString);
                                GivePlayerMoney(i, -10000);
                                SetPlayerInterior(i, 3);
                                SetPlayerPos(i, 198.0301, 161.8855, 1003.0234);
                            Player[i][JailTime] = 180000;
                                ResetPlayerWeapons(i);
                            }
                            if(GetPlayerWantedLevel(i) == 5)
                            {
                                GivePlayerMoney(playerid, 5000);
                                format(myString, sizeof(myString), "You have arrested a player with a level 5 wanted level! You recieve an arrest bonus of $5000.");
                                SendClientMessage(playerid, GREEN, myString);

                                format(myString, sizeof(myString), "You have been arrested with a level 5 wanted level! You will go to jail for 2 minutes, and you will lose $5000.");
                                SendClientMessage(i, ORANGE, myString);
                                GivePlayerMoney(i, -5000);
                                SetPlayerInterior(i, 3);
                                SetPlayerPos(i, 193.8692, 174.4870, 1003.0234);
                                Player[i][JailTime] = 120000;
                                ResetPlayerWeapons(i);
                            }
                            if(GetPlayerWantedLevel(i) == 4)
                            {
                                GivePlayerMoney(playerid, 2500);
                                format(myString, sizeof(myString), "You have arrested a player with a level 4 wanted level! You recieve an arrest bonus of $2500.");
                                SendClientMessage(playerid, GREEN, myString);

                                format(myString, sizeof(myString), "You have been arrested with a level 4 wanted level! You will go to jail for 1 minute, and you will lose $2500.");
                                SendClientMessage(i, ORANGE, myString);
                                GivePlayerMoney(i, -2500);
                                SetPlayerInterior(i, 3);
                                SetPlayerPos(i, 198.0729, 174.4870, 1003.0234);
                                Player[i][JailTime] = 60000;
                                ResetPlayerWeapons(i);
                            }
                            TogglePlayerControllable(i, 1);
                            dUserSetINT(PlayerName(playerid)).("TimesArrested",dUserINT(PlayerName(playerid)).("TimesArrested") + 1);
                            dUserSetINT(PlayerName(i)).("TimesBeenArrested",dUserINT(PlayerName(i)).("TimesBeenArrested") + 1);
                            ChangePlayerWantedLevel(i, 0);
                            Player[i][JailCounter] = SetTimerEx("ReleasePlayerFromJail", 1000, false, "i", i);
                            oscore = GetPlayerScore(playerid);
                            SetPlayerScore(playerid, oscore +1);
                            oscore = GetPlayerScore(playerid);
                            SetPlayerScore(playerid, oscore -1);
                            return 1;
                        }
                    }
                }
            }
        }
        format(myString, sizeof(myString), "There are no arrestable players nearby.");
        SendClientMessage(playerid, RED, myString);
      return 1;
  }

  GetPlayerName(playerid, playerName, sizeof(playerName));
  GetPlayerName(targetid, targetName, sizeof(targetName));

  if(!IsPlayerConnected(targetid))
    {
      format(myString, sizeof(myString), "%i egy йrvйnytelen jбtйkos.", targetid);
      SendClientMessage(playerid, RED, myString);
        return 1;
    }
    if(GetPlayerWantedLevel(targetid) < 4)
    {
      format(myString, sizeof(myString), "%s (%i) does not have a wanted level, so %s (%i) can not be arrested.", targetName, targetid, targetName, targetid);
      SendClientMessage(playerid, RED, myString);
      return 1;
    }
    if(GetPlayerState(targetid) != 1 && !ArePlayersInSameCar(playerid, targetid))
    {
      format(myString, sizeof(myString), "%s (%i) is egy car, so %s (%i) can not be arrested.", targetName, targetid, targetName, targetid);
      SendClientMessage(playerid, RED, myString);
      return 1;
    }
  if(!IsPlayerNearPlayer(12, playerid, targetid))
  {
    format(myString, sizeof(myString), "%s (%i) is too far away.", targetName, targetid);
      SendClientMessage(playerid, RED, myString);
      return 1;
  }

    format(myString, sizeof(myString), "%s (%i) has been arrested by %s (%i)!", targetName, targetid, playerName, playerid);
    SendClientMessageToAll(ANNOUNCEMENT, myString);

    if(GetPlayerWantedLevel(targetid) == 6)
    {
        GivePlayerMoney(playerid, 10000);
        format(myString, sizeof(myString), "You have arrested a player with a level 6 wanted level! You recieve an arrest bonus of $10000.");
        SendClientMessage(playerid, GREEN, myString);

        format(myString, sizeof(myString), "You have been arrested with a level 6 wanted level! You will go to jail for 3 minutes, and you will lose $10000.");
        SendClientMessage(targetid, ORANGE, myString);
        GivePlayerMoney(targetid, -10000);
        SetPlayerInterior(targetid, 3);
        SetPlayerPos(targetid, 198.0301, 161.8855, 1003.0234);
    Player[targetid][JailTime] = 180000;
        ResetPlayerWeapons(targetid);
    }
    if(GetPlayerWantedLevel(targetid) == 5)
    {
        GivePlayerMoney(playerid, 5000);
        format(myString, sizeof(myString), "You have arrested a player with a level 5 wanted level! You recieve an arrest bonus of $5000.");
        SendClientMessage(playerid, GREEN, myString);

        format(myString, sizeof(myString), "You have been arrested with a level 5 wanted level! You will go to jail for 2 minutes, and you will lose $5000.");
        SendClientMessage(targetid, ORANGE, myString);
        GivePlayerMoney(targetid, -5000);
        SetPlayerInterior(targetid, 3);
        SetPlayerPos(targetid, 193.8692, 174.4870, 1003.0234);
        Player[targetid][JailTime] = 120000;
        ResetPlayerWeapons(targetid);
    }
    if(GetPlayerWantedLevel(targetid) == 4)
    {
        GivePlayerMoney(playerid, 2500);
        format(myString, sizeof(myString), "You have arrested a player with a level 4 wanted level! You recieve an arrest bonus of $2500.");
        SendClientMessage(playerid, GREEN, myString);

        format(myString, sizeof(myString), "You have been arrested with a level 4 wanted level! You will go to jail for 1 minute, and you will lose $2500.");
        SendClientMessage(targetid, ORANGE, myString);
        GivePlayerMoney(targetid, -2500);
        SetPlayerInterior(targetid, 3);
        SetPlayerPos(targetid, 198.0729, 174.4870, 1003.0234);
        Player[targetid][JailTime] = 60000;
        ResetPlayerWeapons(targetid);
    }
    TogglePlayerControllable(targetid, 1);
    dUserSetINT(PlayerName(playerid)).("TimesArrested",dUserINT(PlayerName(playerid)).("TimesArrested") + 1);
    dUserSetINT(PlayerName(targetid)).("TimesBeenArrested",dUserINT(PlayerName(targetid)).("TimesBeenArrested") + 1);
    ChangePlayerWantedLevel(targetid, 0);
    Player[targetid][JailCounter] = SetTimerEx("ReleasePlayerFromJail", 1000, false, "i", targetid);
    return 1;
}
OnPlayerKeyStateChange:
Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
	{
 	new vehicleid = GetPlayerVehicleID(playerid);
	if ((newkeys==KEY_SUBMISSION)&&(IsPlayerInAnyVehicle(playerid))&&(GetPlayerState(playerid)==PLAYER_STATE_DRIVER))
	  {
	  if (GetVehicleModel(vehicleid) == 405 && IsCIA(playerid) && IsPolice(playerid) && IsFBI(playerid) && IsArmy(playerid) || GetVehicleModel(vehicleid) == 421 && IsCIA(playerid) && IsPolice(playerid) && IsFBI(playerid) && IsArmy(playerid) || GetVehicleModel(vehicleid) == 490 && IsCIA(playerid) && IsPolice(playerid) && IsFBI(playerid) && IsArmy(playerid)) // CIA VEHICLES
		{
		if (GetVehicleModel(vehicleid) == 497 && IsCIA(playerid) && IsPolice(playerid) && IsFBI(playerid) && IsArmy(playerid) || GetVehicleModel(vehicleid) == 523 && IsCIA(playerid) && IsPolice(playerid) && IsFBI(playerid) && IsArmy(playerid) || GetVehicleModel(vehicleid) == 528 && IsCIA(playerid) && IsPolice(playerid) && IsFBI(playerid) && IsArmy(playerid))
		{
		if (GetVehicleModel(vehicleid) == 598 && IsCIA(playerid) && IsPolice(playerid) && IsFBI(playerid) && IsArmy(playerid) || GetVehicleModel(vehicleid) == 596 && IsCIA(playerid) && IsPolice(playerid) && IsFBI(playerid) && IsArmy(playerid) || GetVehicleModel(vehicleid) == 597 && IsCIA(playerid) && IsPolice(playerid) && IsFBI(playerid) && IsArmy(playerid))
		{
		dcmd_arrest(playerid, IntToStr(GetClosestPlayer(playerid)));
   	dcmd_ticket(playerid, IntToStr(GetClosestPlayer(playerid)));
	}
	}
 	}
	}
	return 1;
	}
Thanks!
Reply
#2

What i do:

at top of script:
Код:
new params2[1];
then whenever I want to use a command inside the script:
Код:
dcmd_command(playerid,params2);
Reply
#3

Hmm.. It isn't gives error but it isn't work
When i enter to a LVPD cop car and push 2 button it isn't send me a No arrest...nearby.. message.
What can I do?
Thank you very much for help!
Reply
#4

Is anybody near you when you try it?
Reply
#5

No.
Reply
#6

Thats why it says "No arrest nearby then" lol
Reply
#7

But when i type /ar it send me the message.
Reply
#8

If you have programmed that command to say "There is no arrest nearby" if there is no one near you, Then if thier is no one near you, It will say "There is no arrest nearby", Regardless of weather its in a command or OnPlayerKeyStateChange
Reply
#9

I tested it when a player near to me with wanted level. I pushed the 2 button and it didn't do anything. What's wrong?
Reply
#10

Help please!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)