Portal SAMP
[Ajuda] Transformar caracteres em estrelas Textdraw - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Transformar caracteres em estrelas Textdraw (/showthread.php?tid=3746)



Transformar caracteres em estrelas Textdraw - AndradeScripter - 03/07/2023

Estou fazendo um login e registro em textdraw e quero transformar os caracteres digitados no DIALOG em estrelas ou asteriscos em um certo textdraw, sei q pra fazer uma estrela em textdraw se usa colchetes mais nao sei como posso contar os caracteres digitados, alguem pode me ajudar? ja vi isso em alguns servidores e achei muito interessante e legal.




RE: Transformar caracteres em estrelas Textdraw - White_Blue - 03/07/2023

(03/07/2023 16:22)AndradeScripter Escreveu: Estou fazendo um login e registro em textdraw e quero transformar os caracteres digitados no DIALOG em estrelas ou asteriscos em um certo textdraw, sei q pra fazer uma estrela em textdraw se usa colchetes mais nao sei como posso contar os caracteres digitados, alguem pode me ajudar? ja vi isso em alguns servidores e achei muito interessante e legal.


É bem simples a lógica, é apenas mudar o texto da textdraw quando o jogador digitar a senha na OnDialogResponse e para pegar o tamanho da string, usamos a função strlen que retorna o tamanho da string em forma de inteiro.

Exemplo(Adapte de acordo com suas preferências):

Código PHP:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[]) {
     if(dialogid == sua_dialog) {
     static string[128], changedtext[128];
     for(new istrlen(inputtext); i++) {
 
      format(changedtextsizeof(changedtext), "*");
 
      strcat(stringchangedtextsizeof(string));
      }
       PlayerTextDrawSetString(playeridsua_textdrawstring);
       }
       return 1;


É bem simples, estou usando a função nativa strlen para retornar o tamanho da string em forma de inteiro e depois formatando o texto com um asterisco(*) e após isso estou formatando a string da textdraw.


RE: Transformar caracteres em estrelas Textdraw - AndradeScripter - 03/07/2023

(03/07/2023 17:48)White_Blue Escreveu:
(03/07/2023 16:22)AndradeScripter Escreveu: Estou fazendo um login e registro em textdraw e quero transformar os caracteres digitados no DIALOG em estrelas ou asteriscos em um certo textdraw, sei q pra fazer uma estrela em textdraw se usa colchetes mais nao sei como posso contar os caracteres digitados, alguem pode me ajudar? ja vi isso em alguns servidores e achei muito interessante e legal.


É bem simples a lógica, é apenas mudar o texto da textdraw quando o jogador digitar a senha na OnDialogResponse e para pegar o tamanho da string, usamos a função strlen que retorna o tamanho da string em forma de inteiro.

Exemplo(Adapte de acordo com suas preferências):

Código PHP:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[]) {
     if(dialogid == sua_dialog) {
     static string[128], changedtext[128];
     for(new istrlen(inputtext); i++) {
 
      format(changedtextsizeof(changedtext), "*");
 
      strcat(stringchangedtextsizeof(string));
      }
       PlayerTextDrawSetString(playeridsua_textdrawstring);
       }
       return 1;


É bem simples, estou usando a função nativa strlen para retornar o tamanho da string em forma de inteiro e depois formatando o texto com um asterisco(*) e após isso estou formatando a string da textdraw.

Bem simples mesmo, mais nao tive Sucesso... Quando o Player digita a textdraw "some" mais continua ali.


RE: Transformar caracteres em estrelas Textdraw - White_Blue - 03/07/2023

(03/07/2023 18:18)AndradeScripter Escreveu:
(03/07/2023 17:48)White_Blue Escreveu:
(03/07/2023 16:22)AndradeScripter Escreveu: Estou fazendo um login e registro em textdraw e quero transformar os caracteres digitados no DIALOG em estrelas ou asteriscos em um certo textdraw, sei q pra fazer uma estrela em textdraw se usa colchetes mais nao sei como posso contar os caracteres digitados, alguem pode me ajudar? ja vi isso em alguns servidores e achei muito interessante e legal.


É bem simples a lógica, é apenas mudar o texto da textdraw quando o jogador digitar a senha na OnDialogResponse e para pegar o tamanho da string, usamos a função strlen que retorna o tamanho da string em forma de inteiro.

Exemplo(Adapte de acordo com suas preferências):

Código PHP:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[]) {
     if(dialogid == sua_dialog) {
     static string[128], changedtext[128];
     for(new istrlen(inputtext); i++) {
 
      format(changedtextsizeof(changedtext), "*");
 
      strcat(stringchangedtextsizeof(string));
      }
       PlayerTextDrawSetString(playeridsua_textdrawstring);
       }
       return 1;


É bem simples, estou usando a função nativa strlen para retornar o tamanho da string em forma de inteiro e depois formatando o texto com um asterisco(*) e após isso estou formatando a string da textdraw.

Bem simples mesmo, mais nao tive Sucesso... Quando o Player digita a textdraw "some" mais continua ali.

Se possível mostrar o código de como você está fazendo.


RE: Transformar caracteres em estrelas Textdraw - AndradeScripter - 04/07/2023

(03/07/2023 20:09)White_Blue Escreveu:
(03/07/2023 18:18)AndradeScripter Escreveu:
(03/07/2023 17:48)White_Blue Escreveu:
(03/07/2023 16:22)AndradeScripter Escreveu: Estou fazendo um login e registro em textdraw e quero transformar os caracteres digitados no DIALOG em estrelas ou asteriscos em um certo textdraw, sei q pra fazer uma estrela em textdraw se usa colchetes mais nao sei como posso contar os caracteres digitados, alguem pode me ajudar? ja vi isso em alguns servidores e achei muito interessante e legal.


É bem simples a lógica, é apenas mudar o texto da textdraw quando o jogador digitar a senha na OnDialogResponse e para pegar o tamanho da string, usamos a função strlen que retorna o tamanho da string em forma de inteiro.

Exemplo(Adapte de acordo com suas preferências):

Código PHP:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[]) {
     if(dialogid == sua_dialog) {
     static string[128], changedtext[128];
     for(new istrlen(inputtext); i++) {
 
      format(changedtextsizeof(changedtext), "*");
 
      strcat(stringchangedtextsizeof(string));
      }
       PlayerTextDrawSetString(playeridsua_textdrawstring);
       }
       return 1;


É bem simples, estou usando a função nativa strlen para retornar o tamanho da string em forma de inteiro e depois formatando o texto com um asterisco(*) e após isso estou formatando a string da textdraw.

Bem simples mesmo, mais nao tive Sucesso... Quando o Player digita a textdraw "some" mais continua ali.

Se possível mostrar o código de como você está fazendo.

Eu uso a include easyDialog então esta assim:

Código PHP:
Dialog:Dialog_Senha(playeridresponselistiteminputtext[])
{

    static 
string[128], changedtext[128];

    if (!
response)
    
    return SelectTextDraw(playerid0xff0000ff);

    else if (
isnull(inputtext))
    
    return Dialog_Show(playeridDialog_SenhaDIALOG_STYLE_PASSWORD"Bem Vindo(a)""Digite uma senha:""Continuar""Cancelar");

    
format(PlayerDados[playerid][SenhaDigitada], 24inputtext);
    
    for(new 
istrlen(inputtext); i++) 
    {
       format(changedtextsizeof(changedtext), "*");
       strcat(stringchangedtextsizeof(string));
    }
       
    PlayerTextDrawSetString
(playeridTelaLogin[playerid][7], string);
    
SelectTextDraw(playerid0xff0000ff);
    return 
1;




RE: Transformar caracteres em estrelas Textdraw - xbruno1000x - 04/07/2023

Conta os caracteres com strlen e concatena os ] com strcat.


RE: Transformar caracteres em estrelas Textdraw - MarcosBrazz - 04/07/2023

Código PHP:
new 
        
str[50],
        
len strlen(inputtext)
    ;
    while(
len--) {
        
strcat(str"]");// ou *
    
}
    
PlayerTextDrawSetString(playeridtextdrawIDstr); 



RE: Transformar caracteres em estrelas Textdraw - AndradeScripter - 04/07/2023

(04/07/2023 13:15)MarcosBrazz Escreveu:
Código PHP:
    new 
        str[50],
        len strlen(inputtext)
    ;
    while(len--) {
        strcat(str"]");// ou *
    }
    PlayerTextDrawSetString(playeridtextdrawIDstr); 

Vlwww funcionou