SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 03/09/2012, 07:04 PM   #1
s4kuL
High-roller
 
s4kuL's Avatar
 
Join Date: Apr 2012
Posts: 1,114
Reputation: 158
Default Bounties

Eae gente beleza? eu andei estudando um gamemodes e achei um de TDM, e vi um sistema muito legal, mais eu não entendi, alguém ai poderia me explicar mais ou menos como faço isso? (Cada vez que um player matar 1 swat/exercito ele gahar 2000 de recompensa por ser morto)

Código:

pawn Code:
new Bounty[MAX_PLAYERS];
new BountyKills[MAX_PLAYERS];

public OnPlayerDeath(playerid, killerid, reason)
{
if(gTeam[killerid] != gTeam[playerid])
        {
            // Valid kill
            new str[128];
            SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
            GivePlayerMoney(killerid, 1000);
            if(IsPlayerJustice(playerid) && !IsPlayerJustice(killerid))
            {
                BountyKills[killerid]++;
                if(BountyKills[killerid] > 3)
                {
                    if(BountyKills[killerid] == 4) Bounty[killerid] = 10000;
                    else Bounty[killerid] += 2500;
                    GetName(killerid, killername);
                    format(str, sizeof(str), "%s (%d) now has a bounty of $%d", killername, killerid, Bounty[killerid]);
                    SendClientMessageToAll(COLOR_YELLOW, str);
                }
            }
            if(Bounty[playerid] > 0)
            {
                GetName(playerid, playername);
                GivePlayerMoney(killerid, Bounty[playerid]);
                format(str, sizeof(str), "You got $%d bounty reward for killing %s (%d)", Bounty[playerid], playername, playerid);
                SendClientMessage(killerid, COLOR_YELLOW, str);
            }
        }
    }
    Bounty[playerid] = 0;
    BountyKills[playerid] = 0;
    return 1;
}
s4kuL is offline   Reply With Quote
Old 03/09/2012, 07:36 PM   #2
LeLeTe
Huge Clucker
 
LeLeTe's Avatar
 
Join Date: Aug 2010
Location: My PC.
Posts: 244
Reputation: 21
Default Re: Bounties

Espero ter ajudado.
pawn Code:
new Bounty[MAX_PLAYERS]; //Valores, normal...
new BountyKills[MAX_PLAYERS];//Valores, normal...

public OnPlayerDeath(playerid, killerid, reason)  //Quando um player morre (playerid) ...
{
        if(gTeam[killerid] != gTeam[playerid]) //... e o time de quem matou (killerid) é diferente de quem morreu (playerid)...
        {
            new str[128];//String .-.
            SetPlayerScore(killerid,GetPlayerScore(killerid)+1);//Aumenta +1 no score do cara (TAB)
            GivePlayerMoney(killerid, 1000);//Dá 1000$ de dinheiro pro mano que matou...
            if(IsPlayerJustice(playerid) && !IsPlayerJustice(killerid)) //Se o cara que morreu (playerid) for da facção Justice (ou qualquer que seja a facção que usa IsPlayerJustice) e o matador não for...
            {
                BountyKills[killerid]++; //... o matador ganha +1 morte de recompensa...
                if(BountyKills[killerid] > 3) // Se as mortes de recompensa forem maiores que três...
                {
                    if(BountyKills[killerid] == 4) Bounty[killerid] = 10000; //Se as mortes forem EXATAMENTE iguais a 4, a recompensa por matar o matador fica EXATAMENTE igual a dez..
                    else Bounty[killerid] += 2500;// Se não, a cabeça do matador ganha mais 2500 de recompensa...
                    GetName(killerid, killername);//Função para pegar o nome do matador.
                    format(str, sizeof(str), "%s (%d) now has a bounty of $%d", killername, killerid, Bounty[killerid]); //Mensagem que diz ' %s [matador] (%d) [id do matador] agora tem uma recompensa de $%d [quanto vale a cabeça do matador]'
                    SendClientMessageToAll(COLOR_YELLOW, str); //Manda a mensagem pra geral.
                }
            }
            if(Bounty[playerid] > 0)//Se o cara que morreu tiver uma recompensa maior que $0 pela sua cabeça...
            {
                GetName(playerid, playername);//Pega o nome de quem morreu...
                GivePlayerMoney(killerid, Bounty[playerid]); //Dá o dinheiro da recompensa pro matador...
                format(str, sizeof(str), "You got $%d bounty reward for killing %s (%d)", Bounty[playerid], playername, playerid);//Mensagem que diz ' Você ganhou $%d [dinheiro da recompensa] de recompensa por matar %s [nome do morto] (%d) [id do morto]
                SendClientMessage(killerid, COLOR_YELLOW, str);//Manda a mensagem pra galera.
            }
        }
    }
    Bounty[playerid] = 0;//Zera o quanto a cabeça do cara que morreu vale em dinheiro, ou seja, a recompensa por matar ele vira zero.
    BountyKills[playerid] = 0;//Zera quantas pessoas da facção Justice o mano que acabou de morrer matou.
    return 1;
}
__________________

Te ajudei? Então me ajude, clique na =)


Skype: gurirapper

Programo PAWN por $. Mais informações, Skype.
LeLeTe is offline   Reply With Quote
Old 03/09/2012, 07:46 PM   #3
s4kuL
High-roller
 
s4kuL's Avatar
 
Join Date: Apr 2012
Posts: 1,114
Reputation: 158
Default Re: Bounties

Valeu lelete, agora outra coisa, me ajuda fazer esse sistema no meu gamemode?

NÃO ESTOU PEDINDO DE MÃO BEIJADO, É POR FAVOR..
s4kuL is offline   Reply With Quote
Old 03/09/2012, 07:50 PM   #4
LeLeTe
Huge Clucker
 
LeLeTe's Avatar
 
Join Date: Aug 2010
Location: My PC.
Posts: 244
Reputation: 21
Default Re: Bounties

Claro.

Me passa as suas funções que você utiliza para dinheiro (Só o GetPlayerMoney e o SetPlayerMoney), o ID e a array ou função que você usa para determinar o time que você quer que a recompensa seja colocada (tipo, se você matar um player da facção IsPlayerPulissa ou playerInfo[playerid][pTeam] == 2, você começa a ter uma recompensa por sua cabeça), e eu faço.
__________________

Te ajudei? Então me ajude, clique na =)


Skype: gurirapper

Programo PAWN por $. Mais informações, Skype.
LeLeTe is offline   Reply With Quote
Old 03/09/2012, 07:52 PM   #5
s4kuL
High-roller
 
s4kuL's Avatar
 
Join Date: Apr 2012
Posts: 1,114
Reputation: 158
Default Re: Bounties

Hmm, acho que não entendi muito bem, me passa seu msn pra gente conversar mehor?
s4kuL is offline   Reply With Quote
Old 03/09/2012, 08:00 PM   #6
LeLeTe
Huge Clucker
 
LeLeTe's Avatar
 
Join Date: Aug 2010
Location: My PC.
Posts: 244
Reputation: 21
Default Re: Bounties

Ó.


- Sua função de dinheiro. (No gm que você pegou, ele usa SetPlayerMoney, e GetPlayerMoney) Que função você usa pra ver quanto de dinheiro um player tem, e qual pra dar dinheiro pra ele?

- Que facção você gostaria que tivesse uma recompensa pelos membros mortos?

Só.
__________________

Te ajudei? Então me ajude, clique na =)


Skype: gurirapper

Programo PAWN por $. Mais informações, Skype.
LeLeTe is offline   Reply With Quote
Old 03/09/2012, 08:05 PM   #7
s4kuL
High-roller
 
s4kuL's Avatar
 
Join Date: Apr 2012
Posts: 1,114
Reputation: 158
Default Re: Bounties

Queria assim, a cada ves que o cara matar 1 swat ele ganha 2 mil de recopensa, ai quando ele for morto da a recompnsa ora quem matou ele, eu uso GetPlayerMoney e GivePlayerMoney
s4kuL is offline   Reply With Quote
Old 03/09/2012, 08:09 PM   #8
LeLeTe
Huge Clucker
 
LeLeTe's Avatar
 
Join Date: Aug 2010
Location: My PC.
Posts: 244
Reputation: 21
Default Re: Bounties

No seu GM você usa

IsASwat

Ou você usa

PlayerInfo[playerid][pTeam] == 3

Pra determinar quem é swat?
__________________

Te ajudei? Então me ajude, clique na =)


Skype: gurirapper

Programo PAWN por $. Mais informações, Skype.
LeLeTe is offline   Reply With Quote
Old 03/09/2012, 08:45 PM   #9
s4kuL
High-roller
 
s4kuL's Avatar
 
Join Date: Apr 2012
Posts: 1,114
Reputation: 158
Default Re: Bounties

SetPlayerTeam(playerid,TEAM_SWATS);
Team[playerid] = TEAM_SWATS;

XD
s4kuL is offline   Reply With Quote
Old 03/09/2012, 08:50 PM   #10
ipsBruno
Godfather
 
ipsBruno's Avatar
 
Join Date: Apr 2010
Location: Brazil, Caxias RS
Posts: 6,084
Reputation: 546
Default Respuesta: Bounties

Topo GM:
pawn Code:
new recompensas[MAX_PLAYERS];

Em OnPlayerDeath

pawn Code:
if ( Team[playerid]   == TEAM_SWATS && killerid != INVALID_PLAYER_ ID) {
    SendClientMessage(killerid, -1, "Você matou um membro da SWAT");
    GivePlayerMoney(killerid, 2000); // tira essa linha se voce nao quer dar dinheiro ppara quem mata SWAT
    recompensas[killerid] += 2000 ; // aumenta a cabeça do cara que matou para + 2000
}
else if(recompensas[playerid]  && killerid != INVALID_PLAYER_ ID) { // caso for alguem que tenha recompensa
    SendClientMessage(killerid, -1, "Você matou um membro com recompensa");
    GivePlayerMoney(killerid, recompensas[playerid]); // dar a grana de recompensa
    recompensas[playerid] = 0; // tira o premio, pois ele morreu
}

Em OnPlayerConnect:
pawn Code:
recompensas[playerid] = 0;
__________________
https://github.com/ipsBruno
ipsBruno is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[GameMode] [GameMode] LVDMod: MG(+Langrab) + bounties+banks+gangs+spawnweapons+... Sintax Gamemode Scripts 294 19/08/2018 04:27 PM
[FilterScript] [FS] Gangs+Bounties+Properties+Worldtime+NO gamble+Pirate ship+bank jerbob1992 Filterscripts 45 14/01/2014 07:29 PM
show bounties Ribber Help Archive 8 09/12/2010 08:14 PM
bounties saving klavins Help Archive 6 13/08/2009 03:03 PM


All times are GMT. The time now is 10:43 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.