SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese > Lançamentos/Releases

Reply
 
Thread Tools Display Modes
Old 21/03/2011, 03:30 AM   #1
Devastador
Big Clucker
 
Devastador's Avatar
 
Join Date: Mar 2011
Posts: 96
Reputation: 1
Default [TUT]Sistema de Estatísticas Completo

SISTEMA DE STATUS


Bom, estou hoje a postar meu primeiro tutorial / post aqui no fórum. Como diz o título, ensinarei a vocês construir um sistema de status que mostra:

- Assassinatos
- Mortes
- Ratio
- Dinheiro
- Vida
- Colete
- Vida Veículo


Pesquisei aqui no fórum e não vi um tão completo assim. Aqui vai o tutorial:

Primeiramente, façam define de cores, para que fique mais organizado, ai vai algumas delas:

pawn Code:
#define COR_BRANCO          0xF6F6F6AA
#define COR_CINZA           0xBEBDBEAA
#define COR_VERMELHO    0xF60000AA
#define COR_AMARELO         0xF6DF00AA

Essas defines ficam depois das 'includes'.

Após as defines de cores inseridas, criem as 'new' que serão usadas para definir o número de assassinatos e mortes:

pawn Code:
new Kills[MAX_PLAYERS];
new Deaths[MAX_PLAYERS];

É necessário o uso do 'MAX_PLAYERS' para que nossa variável sirva para cada player.

Assim que definido as 'new', vamos para a callback OnPlayerDeath, onde serão computados os kills e deaths de cada player:

pawn Code:
public OnPlayerDeath(playerid, killerid, reason) // Nessa public, tudo o que você colocar de 'playerid', será uma vítima, 'killerid', será o assassino.
{
    Kills[killerid]++; // ++ representa que irá adicionar mais kills.
    Deaths[playerid]++; // Praticamente o mesmo acima, mas irá adicionar deaths.

    GameTextForPlayer(playerid,"~r~Morto!",5000,2); // GameText quando o jogador morrer, ou seja, 'playerid'. Lembrando que isso é opcional.
    return 1;
}

Bom, nosso sistema de computação de kills e deaths já está pronto. Vamos agora ao comando que irá mostrar suas estatísticas/status.
Vá a 'public OnPlayerCommandText' e siga as instruções:

pawn Code:
public OnPlayerCommandText(playerid,cmdtext[])
{
    if(strcmp(cmd,"/status",true) == 0)
    {
    new string[256]; // 'string' usada para mostrar nossas variáveis.

    new grana = GetPlayerMoney(playerid); // 'grana' é um, digamos, 'diminuitivo' de GetPlayerMoney.
    new ping = GetPlayerPing(playerid); // 'ping' é também, um 'diminuitivo' de GetPlayerPing.
   
    new Float:vida; // Essa 'float' seria como um 'OnPlayerUpdate', mostrará as informações em tempo real.
    GetPlayerHealth(playerid,vida); // GetPlayerHealth define o que o 'float' acima mostrará, no caso, vida (hp - health player).

    new Float:colete; // O mesmo do outro 'float' acima, mas mostrará seu colete (ap - armour player).
    GetPlayerArmour(playerid,colete); // Definimos o que é o 'float' acima, no caso, colete (ap - armour player).

    new Float:vidav; // Como nos outros, mas esse 'float' mostrará a vida do veículo (hc).
    GetVehicleHealth(GetPlayerVehicleID(playerid),vidav); // Definimos o que o 'float' acima mostrará, no caso, vida veículo (hc - health car).

    format(string,sizeof(string),"Assassinatos (%d) - Mortes (%d) - Ratio (%00.1f) - Dinheiro (%d)",
    Kills[playerid],Deaths[playerid],Float:Kills[playerid]/Float:Deaths[playerid],grana);
    SendClientMessage(playerid,COR_AMARELO,string); // Irá mostrar ao player nossa 'string'.
    format(string,sizeof(string),"Vida (%0.1f) - Colete (%0.1f) - Vida Veículo (%0.1f) - Ping (%d)",
    vida,colete,vidav,ping);
    SendClientMessage(playerid,COR_AMARELO,string); // O mesmo acima, irá mostrar nossa 'string', só que na linha de baixo.
    return 1;
}
    return SendClientMessage(playerid,COR_CINZA,"O comando digitado não existe."); // Um pequeno complemento para não mostrar 'SERVER: Unknown Command' ao digitar um comando errado.
}

Explicando: Todos caractéres %d, representa um numeral, na nossa 'format', existem várias delas, mostrando Assassinatos e mortes, por exemplo. No último vírgula, na linha de baixo, percebe-se que inserimos 'Kills[playerid]', isso mostrará nossa variável no primeiro numeral, no caso, no primeiro %d. O mesmo com os outros.

Bom, eu não me estou lembrando de mais nada! Viu como não é difícil ? Creio que será muito útil em seu servidor de Deatch Match / Gang War / Team Deatch Match.
Espero postar diferentes tutoriais para você dar aquela 'incrementada' no seu gamemode.

Em breve postarei como gravar essas estatísticas em uma dini.

OBS: Post criado por mim, não permitido divulgação do mesmo em outros sites/blogs.

Desenvolvimento: Devastador | Dark.Angel_

Last edited by Devastador; 21/03/2011 at 09:06 PM.
Devastador is offline   Reply With Quote
Old 21/03/2011, 03:36 AM   #2
egonzks
Big Clucker
 
egonzks's Avatar
 
Join Date: Jan 2010
Posts: 161
Reputation: 0
Default Re: [TUT]Sistema de Estatísticas Completo

Otimo tutorial. Mais postou na area errada
__________________
egonzks is offline   Reply With Quote
Old 21/03/2011, 03:38 AM   #3
Strong_ADM
Big Clucker
 
Join Date: Nov 2010
Posts: 140
Reputation: 2
Default Re: [TUT]Sistema de Estatísticas Completo

Devastador? fã do Devastator?, área errada cara.
Strong_ADM is offline   Reply With Quote
Old 21/03/2011, 03:45 AM   #4
Devastador
Big Clucker
 
Devastador's Avatar
 
Join Date: Mar 2011
Posts: 96
Reputation: 1
Default Re: [TUT]Sistema de Estatísticas Completo

Desculpa aí pela área errada, mas meu nick sempre foi Devastador.
__________________
Code:
DESENVOLVIMENTOS
Devastador is offline   Reply With Quote
Old 21/03/2011, 05:12 AM   #5
Devastador
Big Clucker
 
Devastador's Avatar
 
Join Date: Mar 2011
Posts: 96
Reputation: 1
Default Re: [TUT]Sistema de Estatísticas Completo

Não ligo pra esses 'malucos', rs.

Valeu pela sugestão e conselho Drakins.
__________________
Code:
DESENVOLVIMENTOS
Devastador is offline   Reply With Quote
Old 21/03/2011, 10:24 AM   #6
JonathanFeitosa
High-roller
 
JonathanFeitosa's Avatar
 
Join Date: Jan 2011
Location: Manaus/AM
Posts: 2,053
Reputation: 234
Default Re: [TUT]Sistema de Estatísticas Completo

pawn Code:
new Float:vida;
    new Float:colete;
    new Float:vidav;
__________________

Técnico em Informática.
Facebook
JonathanFeitosa is offline   Reply With Quote
Old 21/03/2011, 09:04 PM   #7
Devastador
Big Clucker
 
Devastador's Avatar
 
Join Date: Mar 2011
Posts: 96
Reputation: 1
Default Re: [TUT]Sistema de Estatísticas Completo

Corrigido, valeu pela notificação.
__________________
Code:
DESENVOLVIMENTOS
Devastador is offline   Reply With Quote
Old 21/03/2011, 09:42 PM   #8
JaltiPT
Big Clucker
 
Join Date: Jan 2011
Location: Desconhecida :O
Posts: 89
Reputation: 0
Default Re: [TUT]Sistema de Estatísticas Completo

Bom tuto!
JaltiPT is offline   Reply With Quote
Old 21/03/2011, 11:36 PM   #9
Dark.Angel
Huge Clucker
 
Join Date: Nov 2010
Posts: 255
Reputation: 8
Default Re: [TUT]Sistema de Estatísticas Completo

Ficou muito bom, parabens
Dark.Angel is offline   Reply With Quote
Old 22/03/2011, 05:05 PM   #10
Canabis
Huge Clucker
 
Canabis's Avatar
 
Join Date: Jul 2010
Location: Atraz de você!
Posts: 268
Reputation: 0
Default Re: [TUT]Sistema de Estatísticas Completo

nice!!!!
congratulations!
__________________
Contato MSN: chefao.fusion@hotmail.com

as vezes a pessoa se preocupa tanto com as portas fechadas, que não se nota as que abre.


[INC]Poderoso Anti Money Hack


Canabis 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] [GM] Roleplayer completo [ATUALIZADO] pawNO Lançamentos/Releases 300 23/02/2014 04:24 PM
[FilterScript] Velocimetro Completo TiagoPS Lançamentos/Releases 40 08/04/2011 10:38 PM
[DUV] Estatisticas do Pawn Desapareceram sergio_killer Português/Portuguese 18 01/06/2010 11:58 PM
[GameMode] MOVED: [GM] Roleplayer completo RoamPT Português/Portuguese 0 06/05/2010 11:18 AM


All times are GMT. The time now is 03:51 AM.


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