SA-MP Forums Archive
[Ajuda] Prender player - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Prender player (/showthread.php?tid=317907)



[Ajuda] Prender player - Felipe_Freeze - 12.02.2012

Quando um Cop Mata um player , ele й mandado para a prisгo da DP.

Eu queria fazer tipo assim , quando o cara da PM Mata o cara ele vai pra cela da DP

Quando o cara do BOPE Mata ele vai preso na cela do BOPE

e assim por diante , como posso fazer ?

Aqui o codigo que acho que й o de prender
pawn Код:
if(newstate == PLAYER_STATE_WASTED)
    {
        if(WantedPoints[playerid] >= 1 && PlayerInfo[playerid][pMember] != 21 && PlayerInfo[playerid][pMember] != 14)
        {
            //new price = WantedPoints[playerid] * 50;
            new price = 500;
            new deadprice = 500;
            new count;
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    if(CrimInRange(30.0, playerid,i))
                    if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pMember] == 2 || PlayerInfo[i][pMember] == 3 || PlayerInfo[i][pMember] == 14 || PlayerInfo[i][pMember] == 21 || PlayerInfo[i][pMember] == 7 || PlayerInfo[i][pMember] == 29)
                    {
                        count = 1;
                        format(string, sizeof(string), "~w~Suspeito Procurado ~r~Morto ~n~ ~g~ R$%d", price);
                        GameTextForPlayer(i, string, 5000, 1);
                        ConsumingMoney[i] = 1;
                        PlayerPlaySound(i, 1058, 0.0, 0.0, 0.0);
                        if(GetPlayerGP(playerid) >= price) { GivePlayerGP(playerid, - price); GivePlayerGP(i,price);
                        } else { SendClientMessage(i, COLOR_YELLOW, "<< O suspeito nгo teve como pagar a dнvida aos oficiais >>"); }
                    }
                }
            }
            if(count == 1)
            {
                PlayerInfo[playerid][pWantedDeaths] += 1;
                PlayerInfo[playerid][pJailed] = 1;
                PlayerInfo[playerid][pJailTime] = (WantedPoints[playerid])*(240);
                PlayerInfo[playerid][pJailTimeTotal] = (WantedPoints[playerid])*(240);
                format(string, sizeof(string), "Vocк estб preso por %d segundos e perdeu R$ %d por cometer crimes.", PlayerInfo[playerid][pJailTime], deadprice);
                SendClientMessage(playerid, COLOR_OOC, string);
                WantedPoints[playerid] = 0;
                SetPlayerWantedLevel(playerid, WantedPoints[playerid]);
            }
        }
    }
Ai tentei fazer um parecido mas mudando a org ficou assim:

pawn Код:
if(newstate == PLAYER_STATE_WASTED)
    {
        if(WantedPoints[playerid] >= 1 && PlayerInfo[playerid][pMember] != 21 && PlayerInfo[playerid][pMember] != 14)
        {
            //new price = WantedPoints[playerid] * 50;
            new price = 500;
            new deadprice = 500;
            new count;
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    if(CrimInRange(30.0, playerid,i))
                    if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pMember] == 2 || PlayerInfo[i][pMember] == 3 || PlayerInfo[i][pMember] == 14 || PlayerInfo[i][pMember] == 21 || PlayerInfo[i][pMember] == 7 || PlayerInfo[i][pMember] == 29)
                    {
                        count = 1;
                        format(string, sizeof(string), "~w~PM:Suspeito Procurado ~r~Morto ~n~ ~g~ R$%d", price);
                        GameTextForPlayer(i, string, 5000, 1);
                        ConsumingMoney[i] = 1;
                        PlayerPlaySound(i, 1058, 0.0, 0.0, 0.0);
                        if(GetPlayerGP(playerid) >= price) { GivePlayerGP(playerid, - price); GivePlayerGP(i,price);
                        } else { SendClientMessage(i, COLOR_YELLOW, "<< O suspeito nгo teve como pagar a dнvida aos oficiais >>"); }
                    }
                }
            }
            if(count == 1)
            {
                PlayerInfo[playerid][pWantedDeaths] += 1;
                PlayerInfo[playerid][pJailed] = 1;
                PlayerInfo[playerid][pJailTime] = (WantedPoints[playerid])*(240);
                PlayerInfo[playerid][pJailTimeTotal] = (WantedPoints[playerid])*(240);
                format(string, sizeof(string), "Vocк estб preso por %d segundos e perdeu R$ %d por cometer crimes.", PlayerInfo[playerid][pJailTime], deadprice);
                SendClientMessage(playerid, COLOR_OOC, string);
                WantedPoints[playerid] = 0;
                SetPlayerWantedLevel(playerid, WantedPoints[playerid]);
            }
        }
    }
    //PRENDER MILICIA
    if(newstate == PLAYER_STATE_WASTED)
    {
        if(WantedPoints[playerid] >= 30)
        {
            //new price = WantedPoints[playerid] * 50;
            new price = 500;
            new deadprice = 500;
            new count;
            for(new i = 0; i < MAX_PLAYERS; i++)
            {
                if(IsPlayerConnected(i))
                {
                    if(CrimInRange(30.0, playerid,i))
                    if(PlayerInfo[i][pMember] == 30 || PlayerInfo[i][pLeader] == 30)
                    {
                        count = 1;
                        format(string, sizeof(string), "~w~Milicia:Suspeito Procurado ~r~Morto ~n~ ~g~ R$%d", price);
                        GameTextForPlayer(i, string, 5000, 1);
                        ConsumingMoney[i] = 1;
                        PlayerPlaySound(i, 1058, 0.0, 0.0, 0.0);
                        if(GetPlayerGP(playerid) >= price) { GivePlayerGP(playerid, - price); GivePlayerGP(i,price);
                        } else { SendClientMessage(i, COLOR_YELLOW, "<< O suspeito nгo teve como pagar a dнvida aos oficiais >>"); }
                    }
                }
            }
            if(count == 1)
            {
                PlayerInfo[playerid][pWantedDeaths] += 1;
                PlayerInfo[playerid][pJailed] = 30;
                PlayerInfo[playerid][pJailTime] = (WantedPoints[playerid])*(240);
                PlayerInfo[playerid][pJailTimeTotal] = (WantedPoints[playerid])*(240);
                format(string, sizeof(string), "Vocк estб preso por %d segundos e perdeu R$ %d por cometer crimes.", PlayerInfo[playerid][pJailTime], deadprice);
                SendClientMessage(playerid, COLOR_OOC, string);
                WantedPoints[playerid] = 0;
                SetPlayerWantedLevel(playerid, WantedPoints[playerid]);
            }
        }
    }
    //PRENDER MILICIA
Mas quando o cara da Milicia ( ID: 30 ) Mata o suspeito ele nao vai preso , fica apenas como morreu D=


Re: [Ajuda] Prender player - Cristhian - 12.02.2012

vou te dar um exemplo:
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(PlayerInfo[killerid][pMember] == 2 || PlayerInfo[killerid][pLider] == 2) //suponhamos que a org bope seja id 2
    {
        if(PlayerInfo[playerid][Procurado] >= 1)//exemplo de uma array que guarda o nнvel de procurado
        {
            SetPlayerPos(//posiзгo da sela do bope...
            //outras funзхes...
        }
        return 1;
    }
    return 1;
}
olhe meu exemplo e tente criar seu prуprio cуdigo.


Re: [Ajuda] Prender player - Felipe_Freeze - 13.02.2012

:/ eu nгo mexo muito com pawno

posiзгo da Cela -100.8931, -1562.0931, 2.6522

Ajuda pf D=


Re: [Ajuda] Prender player - isli27 - 13.02.2012

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    if(PlayerInfo[killerid][pMember] == 2 || PlayerInfo[killerid][pLider] == 2) //suponhamos que a org bope seja id 2
    {
        if(PlayerInfo[playerid][Procurado] >= 1)//exemplo de uma array que guarda o nнvel de procurado
        {
            SetPlayerPos(playerid,-100.8931, -1562.0931, 2.6522);
            //outras funзхes...
        }
        return 1;
    }
    return 1;
}