Pegar nick do jogador e exibir na String do Dialogo -
SirUndead - 30.07.2016
Saudaзхes,
Comecei ontem a aprender Pawn e estou com uma dъvida que creio que seja simples.
Na caixa de diбlogo que criei quando o usuбrio erra a senha, quero existir um texto nesse formato:
"Senha incorreta. Insira a senha registrada no nick NOME DO NICK AQUI para poder prosseguir."
Espero que possam me ajudar, obrigado pela atenзгo.
Re: Pegar nick do jogador e exibir na String do Dialogo -
pWesley - 30.07.2016
Vocк precisa criar uma formataзгo, para entгo, fazer esse tipo de coisa.
Um exemplo:
pawn Код:
new string[128], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(string, sizeof(string), "Senha incorreta. Insira a senha registrada no nick %s para poder prosseguir.", name);
ShowPlayerDialog(playerid, ID DO DIALOGO, DIALOG_STYLE_PASSWORD, "Fazendo o login", string, "Entrar", "Sair");
Й isso. Aн onde eu coloquei %s, vai pegar a string, no caso name e a string criada vai para o diбlogo.
Re: Pegar nick do jogador e exibir na String do Dialogo -
SirUndead - 30.07.2016
Quote:
Originally Posted by pWesley
Vocк precisa criar uma formataзгo, para entгo, fazer esse tipo de coisa.
Um exemplo:
pawn Код:
new string[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); format(string, sizeof(string), "Senha incorreta. Insira a senha registrada no nick %s para poder prosseguir.", name); ShowPlayerDialog(playerid, ID DO DIALOGO, DIALOG_STYLE_PASSWORD, "Fazendo o login", string, "Entrar", "Sair");
Й isso. Aн onde eu coloquei %s, vai pegar a string, no caso name e a string criada vai para o diбlogo.
|
Bacana, entendi.
Aproveitando para sanar uma dъvida:
O que significa "string[128]," ?
Ali em "new" vocк cria uma variбvel, o que seria entгo esse "string[128],"? e em seguida hб "name [MAX_PLAYER_NAME];"
Isso pelo o que entendi significa que a variбvel "name" vai conter o nome do jogador (MAX_PLAYER_NAME).
Estou certo? Pode me dizer para que cada pedaзo do cуdigo?
E pra que "GetPlayerName(playerid, name, MAX_PLAYER_NAME);" ?
Tenho conhecimento de outras linguagens e gosto de aprender isso. Pego as coisas facilmente.
Muito obrigado pela atenзгo.
O cуdigo deu certo, mas queria tambйm aproveitar e perguntar como faзo pra limitar atй onde eu quero a parte da string com cor? Veja como ficou a cor:
Penso em colocar {CORPADRAO} no resto da string em que eu nгo quero a cor verde.
Re: Pegar nick do jogador e exibir na String do Dialogo -
Monotox - 30.07.2016
Quote:
Originally Posted by SirUndead
Bacana, entendi.
Aproveitando para sanar uma dъvida:
O que significa "string[128]," ?
Ali em "new" vocк cria uma variбvel, o que seria entгo esse "string[128],"? e em seguida hб "name [MAX_PLAYER_NAME];"
Isso pelo o que entendi significa que a variбvel "name" vai conter o nome do jogador (MAX_PLAYER_NAME).
Estou certo? Pode me dizer para que cada pedaзo do cуdigo?
|
String й somente o nome que identifica essa variбvel. O MAX_PLAYER_NAME й somente um nъmero, que estб definida na include principal. Como tambйm o MAX_PLAYERS, que vem por padrгo 500.
Entгo isso:
Код:
new string[MAX_PLAYERS];
Й a mesma coisa que isso:
GetPlayerName, como o prуprio nome jб diz, й a funзгo para pegar o nome do jogador.
Funciona assim:
Код:
GetPlayerName(identificaзгo do jogador, variбvel, tamanhoda(variavel));
No caso preenchido, ficaria assim:
Код:
new var[MAX_PLAYER_NAME];
GetPlayerName(playerid, var,sizeof(var));
Como foi explicado, essa funзгo pega o nome do jogador e armazena na variбvel "var".
Quote:
Originally Posted by SirUndead
O cуdigo deu certo, mas queria tambйm aproveitar e perguntar como faзo pra limitar atй onde eu quero a parte da string com cor? Veja como ficou a cor:
Penso em colocar {CORPADRAO} no resto da string em que eu nгo quero a cor verde.
|
Sobre as cores, vocк sу precisa definir na frase. De forma anбloga, assim:
Код:
Olб {cуdigo da cor verde} %s {cуdigo da cor branca}! Seja bem vindo!
Re: Pegar nick do jogador e exibir na String do Dialogo - Carlos001 - 30.07.2016
"GetPlayerName(playerid, name, MAX_PLAYER_NAME);" ?
Isso й para pegar o nome Jogador!
isso e a variavel para mandar a Mensagem que a senha esta errada
Quote:
format(string, sizeof(string), "Senha incorreta. Insira a senha registrada no nick %s para poder prosseguir.", name);
|
& tambem para aparecer a Dialog
Quote:
ShowPlayerDialog(playerid, ID DO DIALOGO, DIALOG_STYLE_PASSWORD, "Fazendo o login", string, "Entrar", "Sair");
|
e dps do nome do player voce apenas coloca
Que vai Ficar Branco!