Portal SAMP
[Ajuda] Ajuda cor html - 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] Ajuda cor html (/showthread.php?tid=4360)



Ajuda cor html - Sr_Nublein - 30/12/2023

Estou com problemas no 3dtextlabel eu estou criando um sistema de criar casa ae tem como colocar mensagem nela quando eu vou criar mas quero colocar uma mensagem com cor ae coloco "[FF0000] Teste" ae o text3dlabel ignorar a mensagem detalhe eu sei q n é este colchetes q é pra definir cor [] é q to no cell ae n tem o colchetes certo mas ses entenderam


RE: Ajuda cor html - Sr_Nublein - 30/12/2023

meu codigo aque se precisarem



Código:
CMD:criarcasa(playerid, params[])
{
new idcasa, str[120], valorc,interior, nomecasa[100],Float:Pos[3], strmsg[150];
if(!IsPlayerAdmin(playerid) && Admin[playerid][pAdmin] < 7) return SendClientMessage(playerid, 0xFF0000FF, "Você não tem permissao");
  if(TrabalhandoAdmin[playerid] == false) return SendClientMessage(playerid, 0xFF0000FF, "Você não esta em modo trabalho");
if(sscanf(params, "ddds[100]", idcasa, valorc, interior ,nomecasa)) return SendClientMessage(playerid, 0xFF0000FF, "Use /criarcasa [Numero] [Valor] [Interior] [Nome casa]");
if(idcasa < 0 || idcasa > 600) return SendClientMessage(playerid, 0xFF0000FF, "ID invalido tem que ser de 0 a 600");
format(str, 120, "Casas/%d.ini", idcasa);
if(dini_Exists(str)) return SendClientMessage(playerid, 0xFF0000FF, "Esta casa ja existe");
pCasa[idcasa][pInterior] = interior;
GetPlayerPos(playerid, Pos[0],Pos[1],Pos[2]);
pCasa[idcasa][XC] = Pos[0];
pCasa[idcasa][YC] = Pos[1];
pCasa[idcasa][ZC] = Pos[2];
pCasa[idcasa][Xp] = Interiores[interior][XI];
pCasa[idcasa][Yp] = Interiores[interior][YI];
pCasa[idcasa][Zp] = Interiores[interior][ZI];
dini_Create(str);
dini_IntSet(str, "DonoCasa", 0);
dini_IntSet(str, "CasaTrancada", 0);
dini_IntSet(str, "Valor", valorc);
dini_Set(str, "Nome da casa", nomecasa);
dini_IntSet(str, "Interior", Interiores[interior][pID]);
dini_IntSet(str, "MundoVirtual", idcasa);
dini_FloatSet(str , "CasaX", Pos[0]);
dini_FloatSet(str , "CasaY", Pos[1]);
dini_FloatSet(str , "CasaZ", Pos[2]);
dini_FloatSet(str , "InterX", pCasa[idcasa][Xp]);
dini_FloatSet(str , "InterY", pCasa[idcasa][Yp]);
dini_FloatSet(str , "InterZ", pCasa[idcasa][Zp]);
format(strmsg, 150, "Voce criou a casa {FFFF00}%d {FFFFFF}pelo valor de {006400}%d {FFFFFF}com o interior {FF0000}%d", idcasa, valorc, interior);
SendClientMessage(playerid, -1, strmsg);
CarregarCasa(idcasa);
return 1;
}
agora este é o stock que vai carregar a mensagem em text3dlabel pickup estas coisas tipo eu criei uma casa ae depois ela vai ser carregada com esta stock pra aparecer o text 3d label
stock CarregarCasa(casaid)
{
new str[250], strpasta[50];
format(strpasta, 50, "Casas/%d.ini", casaid);
if(dini_Exists(strpasta))
{
    if(dini_Int(strpasta, "DonoCasa") == 0)
    {
        format(str, 250, "{2ECCFA}Nome da casa: {FFFFFF} %s\n{FFFFFF}ID casa: {FF0000}%d\nValor: {006400}$%d\n{00FF00}Use /comprarcasa" ,dini_Get(strpasta, "Nome da casa") ,casaid, dini_Int(strpasta, "Valor"));
        pCasa[casaid][TextLabel] = Create3DTextLabel(str, -1, dini_Float(strpasta, "CasaX"), dini_Float(strpasta, "CasaY"), dini_Float(strpasta, "CasaZ"), 20.0, 0, 1);
        pCasa[casaid][Pickup] = CreatePickup(1273, 1 ,dini_Float(strpasta, "CasaX"), dini_Float(strpasta, "CasaY"), dini_Float(strpasta, "CasaZ"));
pCasa[casaid][Mapicon]= CreateDynamicMapIcon(dini_Float(strpasta, "CasaX"), dini_Float(strpasta, "CasaY"), dini_Float(strpasta, "CasaZ"), 31, -1, -1 ,-1, -1, -1, MAPICON_LOCAL, -1); //icone da auto escola de ls

}

  if(dini_Int(strpasta, "DonoCasa") == 1)
    {
        format(str, 250, "{2ECCFA}Nome da casa: {FFFFFF}%s\n{2ECCFA}Mensagem: {FFFFFF}%s\n{FFFFFF}ID casa: {FF0000}%d\n{FFFFFF}Proprietario {FF0000}%s\n{00FF00}Use /entrarcasa", dini_Get(strpasta, "Nome da casa"), dini_Get(strpasta, "Mensagem") ,casaid, dini_Get(strpasta, "NomeProprietario"));
        pCasa[casaid][TextLabel] = Create3DTextLabel(str, -1, dini_Float(strpasta, "CasaX"), dini_Float(strpasta, "CasaY"), dini_Float(strpasta, "CasaZ"), 20.0, 0, 1);
        pCasa[casaid][Pickup] = CreatePickup(19522, 1 ,dini_Float(strpasta, "CasaX"), dini_Float(strpasta, "CasaY"), dini_Float(strpasta, "CasaZ"));
pCasa[casaid][Mapicon]= CreateDynamicMapIcon(dini_Float(strpasta, "CasaX"), dini_Float(strpasta, "CasaY"), dini_Float(strpasta, "CasaZ"), 32, -1, -1 ,-1, -1, -1, MAPICON_LOCAL, -1); //icone da auto escola de ls

}

}
return 1;
}


desculpa a bagunça o codigo é porque quando eu copio e colo ele fica tudo errado mas nao é assim o codigo original ta ae os codigos se vcs poderem me ajudar to tentando e nao to conseguindo a outra detalhe o

if(dini_Int(strpasta, "DonoCasa") == 0) é o text label e os pickups quanto a casa ta a venda ae fica desse jeito e ae o
if(dini_Int(strpasta, "DonoCasa") == 1) é a casa quanto alguem comprou

aqui neste  linha
new idcasa, str[120], valorc,interior, nomecasa[100],FloatTongueos[3], strmsg[150];

é desse jeito original

new idcasa, str[120], valorc,interior, nomecasa[100], Float:    Pos[3], strmsg[150]; é que mostrou um emoji por causo dos caracteres


RE: Ajuda cor html - k2bi_YT - 30/12/2023

Dei uma reformulada na função: CarregarCasa

Código PHP:
CarregarCasa(casaid)
{
    new 
str[500], strpasta[50];
    
format(strpastasizeof(strpasta), "Casas/%d.ini"casaid);
    if(
dini_Exists(strpasta))
    {
        if(
dini_Int(strpasta"DonoCasa") == 1)format(str250"{2ECCFA}Nome da casa: {FFFFFF}%s\n{2ECCFA}Mensagem: {FFFFFF}%s\n{FFFFFF}ID casa: {FF0000}%d\n{FFFFFF}Proprietario {FF0000}%s\n{00FF00}Use /entrarcasa"dini_Get(strpasta"Nome da casa"), dini_Get(strpasta"Mensagem") ,casaiddini_Get(strpasta"NomeProprietario"));
            else 
format(str250"{2ECCFA}Nome da casa: {FFFFFF} %s\n{FFFFFF}ID casa: {FF0000}%d\nValor: {006400}$%d\n{00FF00}Use /comprarcasa" ,dini_Get(strpasta"Nome da casa") ,casaiddini_Int(strpasta"Valor"));

        
pCasa[casaid][Pickup] = CreateDynamicPickup(12731dini_Float(strpasta"CasaX"), dini_Float(strpasta"CasaY"), dini_Float(strpasta"CasaZ"));
        
pCasa[casaid][TextLabel] = CreateDynamic3DTextLabel(str, -1dini_Float(strpasta"CasaX"), dini_Float(strpasta"CasaY"), dini_Float(strpasta"CasaZ"), 20);
        
pCasa[casaid][Mapicon]= CreateDynamicMapIcon(dini_Float(strpasta"CasaX"), dini_Float(strpasta"CasaY"), dini_Float(strpasta"CasaZ"), 31, -1, -,-1, -1, -1MAPICON_LOCAL, -1); //icone da auto escola de ls
        
return true;
    }
    return 
false;


Apague o stock antes da função CarregarCasa(...), ele faz ignorar alguns erros contido no código.
Coloquei a Label e a Pickup em Dynamic, é melhor para uso.

Recomendo que crie uma função para carregar todas as informações das casas ao iniciar o servidor e salvar ao desligamento do mesmo, utilizando apenas a variavel pCasa para manipular as informações.

Verifique se o valor definido para [TextLabel] na enum é compativel com a quantia de caracteres a ser utilizado


RE: Ajuda cor html - Sr_Nublein - 30/12/2023

obirgado pela dica mas tipo man eu tava querendo que quando eu digitase para mudar o nome da casa ou criar uma casa que eu ia colocar o nome dela ae eu queria colocar assim /criarcasa o id dela o valor o interior e a mensagem que seria assim "{FF0000}Casa" que é a cor vermelha mas eu faço isso e só fica o "Casa" e o "{FF0000}" é ignorado no jogo eu já vi server que da pra colocar cor html só digitando ae eu tava precisando de ajuda nisso entendeu

mas eu queria mudar a cor da letra dentro do jogo no text3dlabel e nao em sendclient entendeu falei isso pq talvez vc entenda q é sendclientmessage


RE: Ajuda cor html - MarcosBrazz - 30/12/2023

Códigos HEX, exemplo: "{fff000}" Não são passados via chat, utilize uma dialog para obter a string com os códigos hex inclusos.