[Ajuda] Armazenar cores HEX em MySQL - 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] Armazenar cores HEX em MySQL (/showthread.php?tid=3964) Páginas:
1
2
|
Armazenar cores HEX em MySQL - MateusCandido - 13/09/2023 Olá! Gostaria de saber como faço para salvar cores HEX em uma database MySQL na seguinte forma: 1. Armazenar a cor HEX numa variavel própria; 2. Salvar a cor em uma tabela qualquer; 3. Carregar a cor da tabela em outra variavel; 4. Usar esta variavel em uma string. RE: Armazenar cores HEX em MySQL - pushline - 15/09/2023 Você pode usar o tipo INT pra salvar, irá salvar em um método decimal, e para retornar em método HEX e em uma string é só usar essa função: Código PHP: SetAlpha(color, alpha) RE: Armazenar cores HEX em MySQL - MateusCandido - 21/09/2023 Poderia dar um exemplo? RE: Armazenar cores HEX em MySQL - pushline - 22/09/2023 (21/09/2023 22:04)MateusCandido Escreveu: Poderia dar um exemplo? Código PHP: new color; RE: Armazenar cores HEX em MySQL - MateusCandido - 22/09/2023 (22/09/2023 15:13)pushline Escreveu:Estou fazendo exatamente isso, porém quando vou utilizar a cor em uma string ela fica preta:(21/09/2023 22:04)MateusCandido Escreveu: Poderia dar um exemplo? Código PHP: //0x0080FFFF - cor de exemplo RE: Armazenar cores HEX em MySQL - pushline - 27/09/2023 Pelo o que vejo nisso não tem nada de errado... Como você tá salvando esse color[playerid] ? Esse seu código deveria se transformar nisso: (se estiver correto o método de salvamento) Código PHP: format(string, sizeof(string), "{%06x}Mensagem!", 0x0080FFFF >>> 8); Se você salvar o hexadecimal com o alpha no final (os dois últimos números), não precisará usar o setalpha para transformá-lo em hexadecimal, pois seria a mesma coisa em sistemas diferentes (decimal e hexadecimal). Você só precisaria usá-la se precisasse alterar o alpha do hexadecimal. Em outras palavras, a função que forneci raramente pode ser usada. Se você salvar o hexadecimal sem o alpha (por exemplo, 0xAABBCC), poderá usá-lo em strings normais e, em SendClientMessage, ele terá o alpha bugado no final (0x00AABBCC). O motivo do bug é porque você está tentando passar a cor em um formato inválido, como se você tivesse uma cor RGB, mas a função espera RGBA ou ARGB, portanto, ela supõe que, se for RGBA, R é 0 ou A é 0 Para resolver isso, você poderia fazer o seguinte: - "0xAABBCC << 8" para gerar um 00 no final - Poderia usar SetAlpha antes de usar a cor no SendClientMessage. RE: Armazenar cores HEX em MySQL - MateusCandido - 27/09/2023 (27/09/2023 11:45)pushline Escreveu: Pelo o que vejo nisso não tem nada de errado... Como você tá salvando esse color[playerid] ? Estou salvando da seguinte forma: Código PHP: mysql_format(connect, query, sizeof(query), "UPDATE `contas` SET `cor` = %d WHERE `nome` = '%e'", color[playerid], nome[playerid]); Porém quando insiro a cor "0x0080FFFF" o mysql ignora as letras deixando apenas o 0080. A coluna "cor" criei no formato INT do mysql como disse RE: Armazenar cores HEX em MySQL - pushline - 27/09/2023 Como que tu tá definindo a variável color ? Eu fiz um teste aqui em um db local. query - INSERT INTO `a`(`a`) VALUES (0x0080FFFF) Pelas seguintes prints, o resultado com o seu valor hexadecimal deveria ficar deste jeito : https://i.imgur.com/7P0ueOM.png Acho que tem algo errado com seu color[playerid]. RE: Armazenar cores HEX em MySQL - MateusCandido - 30/09/2023 (27/09/2023 21:39)pushline Escreveu: Como que tu tá definindo a variável color ? estou definindo ela normal, sem nenhuma tag: RE: Armazenar cores HEX em MySQL - pushline - 02/10/2023 Eu sei mano, eu quero saber como que você tá criando a variável. |