Sistema de RG / funções str - Alfarr Heimrik - 20/05/2024
Olá. Eu preciso de ajuda com um sistema de RG.
Eu tenho essa enum, onde eu armazeno algumas informações.
Código PHP: enum pInfo { pX, pY, pZ, pR, pLogado, pEmprego, pAdmin }; new Player[MAX_PLAYERS][pInfo];
Estou com meu sistema de RG desse jeito
Código PHP: CMD:rg(playerid) { new Message[512], JobName[32]; new Money = GivePlayerMoney(playerid, DOF2_GetInt(Arquivo(playerid), "Dinheiro")); if(Player[playerid][pEmprego] == 0) { strcpy(JobName, "Desempregado", 0, sizeof(JobName)); } else if(Player[playerid][pEmprego] == 1) { strcpy(JobName, "Transportador", 0, sizeof(JobName)); } else if(Player[playerid][pEmprego] == 2) { strcpy(JobName, "Caminhoneiro", 0, sizeof(JobName)); } format(Message, sizeof(Message), "RG:\n\n", "Dinheiro: %d\n", "Emprego: %s", Money, JobName ); ShowPlayerDialog(playerid, Dialog_Estatisticas, DIALOG_STYLE_MSGBOX, "Seu RG", Message, "Entendido", ""); return 1; }
Meu objetivo é mostrar no RG o nome do emprego e não o número ao qual ele corresponde.
Eu dei uma estudada rápida e consegui fazer dessa forma e também de uma outra que vou mostrar depois,
mas o problema é que quando utilizo /RG no game, só consigo ver o título, qual foi definido antes
na dialog.
Eu não entendo bem para que serve essa função str[cat,len,cpy,ncpy, etc...]
Se alguém puder me ajuda.
Código PHP: // Desta foram, o compilador acusa strcpy como inesistente. strcpy(JobName, "Transportador", 0, sizeof(JobName));
// Assim funcionou, mas as informações não são mostradas. strmid(JobName, "Transportador", 0, sizeof(JobName));
Quase esqueci.
meu início esta assim
Código PHP: #include <a_samp> #include <dof2> #include <sscanf2> #include <streamer> #pragma library "libc" #include <string> #include <zcmd>
RE: Sistema de RG / funções str - Dr Editor - 20/05/2024
Acho bobagem usar strcpy.
Neste caso, você pode atribuir o valor diretamente à variável:
Código PHP: CMD:rg(playerid) { new Message[100], JobName[32]; new Money = GivePlayerMoney(playerid, DOF2_GetInt(Arquivo(playerid), "Dinheiro")); switch(Player[playerid][pEmprego]) { case 0: JobName = "Desempregado"; case 1: JobName = "Transportador"; case 2: JobName = "Caminhoneiro"; } format(Message, sizeof(Message), "RG:\n\n", "Dinheiro: %d\n", "Emprego: %s", Money, JobName ); ShowPlayerDialog(playerid, Dialog_Estatisticas, DIALOG_STYLE_MSGBOX, "Seu RG", Message, "Entendido", ""); return 1; }
RE: Sistema de RG / funções str - Alfarr Heimrik - 20/05/2024
(20/05/2024 13:12)Dr Editor Escreveu: Acho bobagem usar strcpy.
Neste caso, você pode atribuir o valor diretamente à variável:
Código PHP: CMD:rg(playerid) { new Message[100], JobName[32]; new Money = GivePlayerMoney(playerid, DOF2_GetInt(Arquivo(playerid), "Dinheiro")); switch(Player[playerid][pEmprego]) { case 0: JobName = "Desempregado"; case 1: JobName = "Transportador"; case 2: JobName = "Caminhoneiro"; } format(Message, sizeof(Message), "RG:\n\n", "Dinheiro: %d\n", "Emprego: %s", Money, JobName ); ShowPlayerDialog(playerid, Dialog_Estatisticas, DIALOG_STYLE_MSGBOX, "Seu RG", Message, "Entendido", ""); return 1; }
Eu não sabia que dava pra fazer dessa forma. Obrigado.
Para usar as funções str, tem algum tutorial que me recomenda?
RE: Sistema de RG / funções str - Dr Editor - 20/05/2024
(20/05/2024 13:22)Alfarr Heimrik Escreveu: (20/05/2024 13:12)Dr Editor Escreveu: Acho bobagem usar strcpy.
Neste caso, você pode atribuir o valor diretamente à variável:
Código PHP: CMD:rg(playerid) { new Message[100], JobName[32]; new Money = GivePlayerMoney(playerid, DOF2_GetInt(Arquivo(playerid), "Dinheiro")); switch(Player[playerid][pEmprego]) { case 0: JobName = "Desempregado"; case 1: JobName = "Transportador"; case 2: JobName = "Caminhoneiro"; } format(Message, sizeof(Message), "RG:\n\n", "Dinheiro: %d\n", "Emprego: %s", Money, JobName ); ShowPlayerDialog(playerid, Dialog_Estatisticas, DIALOG_STYLE_MSGBOX, "Seu RG", Message, "Entendido", ""); return 1; }
Eu não sabia que dava pra fazer dessa forma. Obrigado.
Para usar as funções str, tem algum tutorial que me recomenda?
Acho difícil achar alguma documentação em PT, mas dê uma olhada aqui: https://www.open.mp/docs/tutorials/stringmanipulation
Vai ser abordado a manupulação de string, arrays, limites nativos do samp e funções usadas para auxiliar na manipulação.
Creio ser a documentação mais completa para estudar.
|