[Ajuda] Mensagem Adm em TextDraw
#1

Olб,

Estava vendo em um outro servidor de D.M uma forma dos administradores utilizarem um comando para mandar mensagem na tela. Porйm o tipo nгo era "GameTextForAll" mas sim com o TextDraw, fui em alguns GM's D.M ver como funcionava o sistema, porйm, nгo entendia.

Eu tenho uma base que eu fiz, mas acaba atrapalhando com os nicks que tem [], ex: "[B.R]Fake_."

Se alguйm puder me ajudar a transferir de GameTextForAll para TextDraw, fico grato.

PHP код:
    if(!strcmp(cmd,"/tela"true))
    {
        if(
aInfo[playerid][AdminL] == || aInfo[playerid][Admin] == || aInfo[playerid][Moderador] == || aInfo[playerid][Ajudante] == 1)
        {
            
tmp strtok(cmdtextidx);
              if(!
strlen(tmp))
               {
                
SendClientMessage(playeridCOR_ERRO"Uso vбlido: /tela [Mensagem]");
                return 
1;
               }
               {
               
format(gstringsizeof(gstring), "~n~~n~~n~~n~~n~~n~~b~%s: ~w~%s"PlayerName(playerid), tmp);
               
GameTextForAll(gstring50003);
               }
        }
        else
        {
            
SendClientMessage(playeridCOR_ERRO"| ERRO | Vocк nгo tem Permissгo!");
        }
        return 
1;
    } 
Reply
#2

Recomendo vocк usar um editor de textdraw para definir o tamanho e como vocк deseja.
Vai ser necessбrio usar a funзгo TextdrawSetString,este tutorial pode ajudar vocк : https://sampwiki.blast.hk/wiki/TextDrawSetString
E tambйm um timer para mostrar a mensagem durante um perнodo de tempo.
Reply
#3

PHP код:
new nseioqe//No topo da gm
new Text:XsemV//No topo da gm
#define TEMPOANUNCIARR 6000  // = 6 segundos
  
//No OnGameModeInit
XsemV TextDrawCreate(300.000000,200.000000" ");
TextDrawLetterSize(XsemV0.5,2.0);
TextDrawAlignment(XsemV,0);
TextDrawBackgroundColor(XsemV,0x000000ff);
TextDrawFont(XsemV,1);
TextDrawAlignment(XsemV,2);
TextDrawColor(XsemV,0xffffffff);
TextDrawSetOutline(XsemV,1);
TextDrawSetProportional(XsemV,1);
TextDrawSetShadow(XsemV,1);
//livree
forward HideTextDrawww();
public 
HideTextDrawww()
{
    
TextDrawHideForAll(XsemV);
    return 
1;
}
stock ConverterTexto(texto[])
{
    new 
string[256];
    for(new 
0texto[i]; ++i)
    {
        
string[i] = texto[i];
        switch(
string[i])
        {
            case 
0xC0 .. 0xC3string[i] -= 0x40;            case 0xC7 .. 0xC9string[i] -= 0x42;            case 0xD2 .. 0xD5string[i] -= 0x44;            case 0xD9 .. 0xDCstring[i] -= 0x47;            case 0xE0 .. 0xE3string[i] -= 0x49;
            case 
0xE7 .. 0xEFstring[i] -= 0x4B;            case 0xF2 .. 0xF5string[i] -= 0x4D;            case 0xF9 .. 0xFCstring[i] -= 0x50;            case 0xC40xE4string[i] = 0x83;            case 0xC60xE6string[i] = 0x84;            case 0xD60xF6string[i] = 0x91;            case 0xD10xF1string[i] = 0xEC;            case 0xDFstring[i] = 0x96;            case 0xBFstring[i] = 0xAF;
        }
    }
    return 
string;
}
//Teu cуdigo
if(!strcmp(cmd,"/tela"true)) 

    if(
aInfo[playerid][AdminL] == || aInfo[playerid][Admin] == || aInfo[playerid][Moderador] == || aInfo[playerid][Ajudante] == 1
    { 
            
tmp strtok(cmdtextidx); 
          if(!
strlen(tmp)) 
           { 
            
SendClientMessage(playeridCOR_ERRO"Uso vбlido: /tela [Mensagem]"); 
            return 
1
           } 
           { 
           
format(gstringsizeof(gstring), "~n~~n~~n~~n~~n~~n~~b~%s: ~w~%s"PlayerName(playerid), tmp); 
           
ConverterTexto(gstring);
           
TextDrawSetString(XsemV,gstring);
           
TextDrawShowForAll(XsemV);
           
SetTimer("HideTextDrawww"TEMPOANUNCIARR0);
           } 
    } 
    else 
    { 
        
SendClientMessage(playeridCOR_ERRO"| ERRO | Vocк nгo tem Permissгo!"); 
    } 
    return 
1

ou use o ConverterTexto junto com o GameTextForAll

PHP код:
stock ConverterTexto(texto[])
{
    new 
string[256];
    for(new 
0texto[i]; ++i)
    {
        
string[i] = texto[i];
        switch(
string[i])
        {
            case 
0xC0 .. 0xC3string[i] -= 0x40;            case 0xC7 .. 0xC9string[i] -= 0x42;            case 0xD2 .. 0xD5string[i] -= 0x44;            case 0xD9 .. 0xDCstring[i] -= 0x47;            case 0xE0 .. 0xE3string[i] -= 0x49;
            case 
0xE7 .. 0xEFstring[i] -= 0x4B;            case 0xF2 .. 0xF5string[i] -= 0x4D;            case 0xF9 .. 0xFCstring[i] -= 0x50;            case 0xC40xE4string[i] = 0x83;            case 0xC60xE6string[i] = 0x84;            case 0xD60xF6string[i] = 0x91;            case 0xD10xF1string[i] = 0xEC;            case 0xDFstring[i] = 0x96;            case 0xBFstring[i] = 0xAF;
        }
    }
    return 
string;
}
if(!
strcmp(cmd,"/tela"true)) 

    if(
aInfo[playerid][AdminL] == || aInfo[playerid][Admin] == || aInfo[playerid][Moderador] == || aInfo[playerid][Ajudante] == 1
    { 
        
tmp strtok(cmdtextidx); 
          if(!
strlen(tmp)) 
           { 
            
SendClientMessage(playeridCOR_ERRO"Uso vбlido: /tela [Mensagem]"); 
            return 
1
           } 
           { 
           
format(gstringsizeof(gstring), "~n~~n~~n~~n~~n~~n~~b~%s: ~w~%s"PlayerName(playerid), tmp); 
           
ConverterTexto(gstring);
           
GameTextForAll(gstring50003); 
           } 
    } 
    else 
    { 
        
SendClientMessage(playeridCOR_ERRO"| ERRO | Vocк nгo tem Permissгo!"); 
    } 
    return 
1

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)