Portal SAMP
[Tutorial] TUTORIAL RG - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Guias e Tutoriais (https://portalsamp.com/forumdisplay.php?fid=7)
+--- Tópico: [Tutorial] TUTORIAL RG (/showthread.php?tid=279)



TUTORIAL RG - Gomes - 05/11/2020

COMO FAZER UM REGISTRO GERAL? (RG)

Fazer um RG é algo bem simples para quem já sabe logica e um pouquinho da include sscanf... porém para novatos pode ser muito estressante e por isso resolvi fazer este tutorial.


1- Includes

Para fazer o famoso RG precisaremos ter a include ZCMD e o SScanf2 ambos os links abaixo:

ZCMD: http://www.mediafire.com/file/5iouz96umiwy2aq/file
 

sscanf2: http://www.mediafire.com/file/n1cwhc1gga9ga1x/sscanf2.inc/file


2-  Definindo a dialog

Agora precisaremos fazer uma definição pra nossa dialog de RG, desta maneira:


Código:
#define DRG 1

#define = Definir algo
DRG = Nome da definição
1 = ID da definição



3- Começando o Comando

Bom, agora que você já tem as includes podemos começar o nosso comando.

Primeiro vamos fazer a base dele.


Código:
CMD:rg(playerid, params[])
{

    return 1;
}


4 - Variaveis locais

Após isso temos que definir algumas variaveis locais, desta maneira:


Código:
CMD:rg(playerid, params[])
{
    new RG[256],Name[25];

    return 1;
}



Bom, RG é o nome da nossa String e Name é para puxar o nome do jogador.


5- Getando o nome

Agora, precisamos getar o nome do player formatar a dialog com os dados do player, primeiro iremos Getar o nome do player desta forma:


Código:
CMD:rg(playerid, params[])
{
    new RG[256],Name[25];
    GetPlayerName(playerid,Name,25);
    return 1;
}

Pronto, agora temos como puxar o nome do player para a nossa dialog


6- Formatando

Agora como disse acima iremos formatar a dialog com os dados do player, desta forma:


Código:
CMD:rg(playerid, params[])
{
    new RG[256],Name[25];
    GetPlayerName(playerid,Name,25);
    format(RG,sizeof(RG), "Nome: %s\nDinheiro: $%d\nLevel: %d\nProcurado: %d\nPing: %d",Name,GetPlayerMoney(playerid),GetPlayerScore(playerid), GetPlayerWantedLevel(playerid), GetPlayerPing(playerid));
    return 1;
}

Pronto, formatamos... Como voce pode ver cada valor %s ou %d geta alguma função... não irei me aprofundar.


7- Dialog

Agora é a parte final, iremos fazer a dialog, desta forma: 


Código:
CMD:rg(playerid, params[])
{
    new RG[256],Name[25];
    GetPlayerName(playerid,Name,25);
    format(RG,sizeof(RG), "Nome: %s\nDinheiro: $%d\nLevel: %d\nProcurado: %d\nPing: %d",Name,GetPlayerMoney(playerid),GetPlayerScore(playerid), GetPlayerWantedLevel(playerid), GetPlayerPing(playerid));
    ShowPlayerDialog(playerid,DRG,DIALOG_STYLE_MSGBOX,"Registro Geral",RG,"ok","");
    return 1;
}

E pronto seu Registro Geral estará prontinho.


CODIGO FINAL: 


Código:
CMD:rg(playerid, params[])
{
    new RG[256],Name[25];
    GetPlayerName(playerid,Name,25);
    format(RG,sizeof(RG), "Nome: %s\nDinheiro: $%d\nLevel: %d\nProcurado: %d\nPing: %d",Name,GetPlayerMoney(playerid),GetPlayerScore(playerid), GetPlayerWantedLevel(playerid), GetPlayerPing(playerid));
    ShowPlayerDialog(playerid,DRG,DIALOG_STYLE_MSGBOX,"Registro Geral",RG,"ok","");
    return 1;
}









Créditos: Gomes


RE: TUTORIAL RG - Smith - 06/11/2020

Tenta fazer um rg em textdraw com imagens da skin do perssonagem


RE: TUTORIAL RG - Willis - 22/11/2020

COMO FAZ PRA MOSTRAR PRA OUTRO PLAYER GOMES


RE: TUTORIAL RG - Mateus Lima - 22/11/2020

(22/11/2020 20:26)Willis Escreveu: COMO FAZ PRA MOSTRAR PRA OUTRO PLAYER GOMES

https://portalsamp.com/showthread.php?tid=371


RE: TUTORIAL RG - Willis - 24/11/2020

(22/11/2020 23:06)Mateus Lima Escreveu:
(22/11/2020 20:26)Willis Escreveu: COMO FAZ PRA MOSTRAR PRA OUTRO PLAYER GOMES

https://portalsamp.com/showthread.php?tid=371

sem topico


RE: TUTORIAL RG - Caaet - 03/12/2020

Muito bom o tutorial mas poderia melhorar, ali no format você poderia deixar mais organizado por exemplo:

New texto[256], nome[32];
GetPlayerName(playerid, nome, 32);

format(texto, sizeof(texto), "{00FF00}Nome: {FFFFFF}%s", nome);
format(texto, sizeof(texto), "%s\n{00FF00}Data: {FFFFFF}%i/%i", texto, Player[playerid][pDia], Player[playerid][pMes]); //variaveis do meu gm
format(texto, sizeof(texto), "%s\n{00FF00}Idade: {FFFFFF}%i", texto, Player[playerid][pIdade]); //variaveis do meu gm
format(texto, sizeof(texto), "%s\n{00FF00}Nivel: {FFFFFF}%i", texto, GetPlayerScore(playerid)); //variaveis do meu gm

Fica mais facil de identificar...


RE: TUTORIAL RG - hotelfoxromeo - 29/12/2020

Quando eu digito /rg ele faz com que o player Spawne novamente, e o ShowPlayerDialog está correto? esse comando não deveria ser criado em OnDialogResponse,Playercommandtext ou gamemodeinit?


RE: TUTORIAL RG - Gomes - 31/12/2020

(29/12/2020 17:18)hotelfoxromeo Escreveu: Quando eu digito /rg ele faz com que o player Spawne novamente, e o ShowPlayerDialog está correto? esse comando não deveria ser criado em OnDialogResponse,Playercommandtext ou gamemodeinit?

Não tem nenhuma função que exerça com que o player Spawne neste comando, o estilo de Dialog que está sendo usado é o MSGBOX que não necessita altera-lo na OnDialogResponse, estou usando ZCMD, não preciso da callback "OnPlayerCommandText" e OnGameModeInit nem se quer aceita "playerid".


RE: TUTORIAL RG - MarcosBrazz - 01/01/2021

(29/12/2020 17:18)hotelfoxromeo Escreveu: Quando eu digito /rg ele faz com que o player Spawne novamente, e o ShowPlayerDialog está correto? esse comando não deveria ser criado em OnDialogResponse,Playercommandtext ou gamemodeinit?

Verifique se o ID do dialog do tutorial esteja dando conflito com o de login da sua gamemode.


RE: TUTORIAL RG - hotelfoxromeo - 01/01/2021

Era isso marcos, obrigado pela ajuda!