RE: Sistema de tag no Chat Para VIPs - k2bi_YT - 14/04/2021
(14/04/2021 11:36)k2bi_YT Escreveu: Cara não testei esse code, mas vê se funciona.
Como eu só sei usar a include DOF2, então creio que a ZN deve ser o mesmo esquema, então fiz ela para pegar um valor hexadecimal.
ZN_GetHex (caso não for GetHex, consulte a lista da include para obter um valor hexadecimal).
Código PHP: if(Vip[playerid] != 0) { new string[256]; new cor = ZN_GetHex(string, "CorVIP"); printf("[CHAT] %s: [%d] %s", PlayerName(playerid), playerid, text); format(string, sizeof(string), "%s:[%02d {%06x}VIP{FFFFFF}] %s", PlayerName(playerid), playerid, cor>>>8, text); SendClientMessageToAll(-1, string); }
Relembrando, para que a cor funcione corretamente, ela deve ser salva no formato correto. Exemplo: 0xFFFFFFAA (Branco)
Aqui, você deve direcionar a variavel "string" para a pasta onde ele ira pegar a cor VIP, no code que eu fiz, ele não está direcionado onde pegar a CorVip.
Código PHP: new string new cor = ZN_GetHex(string, "CorVIP");
Você deve direcionar na pasta, nessa linha
RE: Sistema de tag no Chat Para VIPs - LeleziiN - 14/04/2021
(14/04/2021 13:23)k2bi_YT Escreveu: (14/04/2021 11:36)k2bi_YT Escreveu: Cara não testei esse code, mas vê se funciona.
Como eu só sei usar a include DOF2, então creio que a ZN deve ser o mesmo esquema, então fiz ela para pegar um valor hexadecimal.
ZN_GetHex (caso não for GetHex, consulte a lista da include para obter um valor hexadecimal).
Código PHP: if(Vip[playerid] != 0) { new string[256]; new cor = ZN_GetHex(string, "CorVIP"); printf("[CHAT] %s: [%d] %s", PlayerName(playerid), playerid, text); format(string, sizeof(string), "%s:[%02d {%06x}VIP{FFFFFF}] %s", PlayerName(playerid), playerid, cor>>>8, text); SendClientMessageToAll(-1, string); }
Relembrando, para que a cor funcione corretamente, ela deve ser salva no formato correto. Exemplo: 0xFFFFFFAA (Branco)
Aqui, você deve direcionar a variavel "string" para a pasta onde ele ira pegar a cor VIP, no code que eu fiz, ele não está direcionado onde pegar a CorVip.
Código PHP: new string new cor = ZN_GetHex(string, "CorVIP");
Você deve direcionar na pasta, nessa linha
Eu não fiz essa parte para criar a pasta das cores, poderia da um exemp´lo pfvr
Mano mim chama no discord
Discord: LeleziiN#6392
RE: Sistema de tag no Chat Para VIPs - k2bi_YT - 14/04/2021
Não é preciso criar pasta de cores. Na sua primeira postagem estava o seguinte code:
Código PHP: format(string, sizeof(string), "%s", PlayerName(playerid)); new cor = ZN_GetInt(string, "CorVIP"); if(cor == 1)
Então, crio que a "CorVIP", vai ser pega na 'string', que está direcionada no nick do jogador. creio que as contas dos jogadores estão sendo criada direto na scriptfile envés de uma subpasta.
Caso não tenha, Cria uma nova linha onde salva/carrega as informações do player, definindo a 'CorVip', feito isso basta carregar a variavel que ira armazenar o valor hexadecimal.
RE: Sistema de tag no Chat Para VIPs - LeleziiN - 15/04/2021
(14/04/2021 19:12)k2bi_YT Escreveu: Não é preciso criar pasta de cores. Na sua primeira postagem estava o seguinte code:
Código PHP: format(string, sizeof(string), "%s", PlayerName(playerid)); new cor = ZN_GetInt(string, "CorVIP"); if(cor == 1)
Então, crio que a "CorVIP", vai ser pega na 'string', que está direcionada no nick do jogador. creio que as contas dos jogadores estão sendo criada direto na scriptfile envés de uma subpasta.
Caso não tenha, Cria uma nova linha onde salva/carrega as informações do player, definindo a 'CorVip', feito isso basta carregar a variavel que ira armazenar o valor hexadecimal.
Não mano as costas dos jogadores estão sendo criadas dentro de uma subpasta, e essa forma se eu não mim engano eu testei mais não funfou
Código PHP: format(string, sizeof(string), "%s", PlayerName(playerid)); new cor = ZN_GetInt(string, "CorVIP"); if(cor == 1)
RE: Sistema de tag no Chat Para VIPs - k2bi_YT - 15/04/2021
Se estão estão sendo criada dentro de uma subpasta, você deve redirecionar a ele então amigo
Exemplo:
Código PHP: format(string, sizeof(string), "nome__subpasta/%s.", PlayerName(playerid));
Use o mesmo redirecionamento que é usado para carregar/salvar a conta do jogador. E defina o formato do arquivo: .ini / .cfg (dependendo do tipo de salvamento)....
Exemplo de como deve ser:
Código PHP: format(string, sizeof(string), "Contas/%s.ini", PlayerName(playerid));
Desse modo, o sistema ira entrar na seguintes pasta: scriptfile >> Contas >> LeleziiN.ini
Isso é, se a linha 'CorVip', for salva junto com as informações do player
RE: Sistema de tag no Chat Para VIPs - LeleziiN - 18/04/2021
Poderiam mim ajudar pfvr
Comando se setar e retirar o VIP
Código PHP: if(!strcmp(cmd, "/setarvip", true)) { if(!VerificarADMaster(playerid)) return SendClientMessage(playerid, CORX1, "| ERRO | Você não é um administrador(a) master!"); if(VerificarADM(playerid) == 1) { if(VerificarADMaster(playerid) == 1) { new tmp[256], S[128], Nick[256], Horas, Total = 0; tmp = strtok(cmdtext, idx); Nick = tmp; tmp = strtok(cmdtext, idx); Horas = strval(tmp); if(!strlen(tmp)) return SendClientMessage(playerid, COR_MARA7, "/SetarVip [ Nick ] [ Horas ]"); if(!udb_Exists(Nick)) { format(S, sizeof(S), "| ERRO | A conta '%s' não existe!", Nick); SendClientMessage(playerid, CORX1, S); return 1; } if(dUserINT(Nick).("HorasVIP") != 0) { if(!dini_Exists("RelatorioAdministrativo/Colocar_e_Retirar_VIPS.txt")) dini_Create("RelatorioAdministrativo/Colocar_e_Retirar_VIPS.txt");
new string[300], File:Relatorio, Hora, Minuto, Segundo, Dia, Mes, Ano; getdate(Ano, Mes, Dia); gettime(Hora, Minuto, Segundo);
format(string, sizeof(string), "O Jogador %s já tinha %d horas de VIP, foram adicionadas mais %d horas pelo administrador %s - %02d/%02d/%02d | %02d:%02d:%02d", Nick, dUserINT(Nick).("HorasVIP"), Horas, NJogador(playerid), Dia, Mes, Ano, Hora, Minuto, Segundo);
Relatorio = fopen("RelatorioAdministrativo/Colocar_e_Retirar_VIPS.txt", io_append); fwrite(Relatorio, string); fwrite(Relatorio, "\r\n"); fclose(Relatorio);
Total = dUserINT(Nick).("HorasVIP") + Horas;
dUserSetINT(Nick).("HorasVIP", Total);
format(S, sizeof(S), ""#TAG_ADMINFO" O Jogador %s já tinha %d horas de VIP, portanto, foram adicionadas mais %d horas (totalizando %d horas de uso)!", Nick, dUserINT(Nick).("HorasVIP"), Horas, Total); SendClientMessage(playerid, Azul, S); for(new I = 0; I < MAX_PLAYERS; I ++) { if(strcmp(PlayerName(I), Nick, true) == 0) { Vip[I] = Total; dUserSetINT(Nick).("HorasVIP", Vip[I]); } } } else { if(!dini_Exists("RelatorioAdministrativo/Colocar_e_Retirar_VIPS.txt")) dini_Create("RelatorioAdministrativo/Colocar_e_Retirar_VIPS.txt");
new string[300], File:Relatorio, Hora, Minuto, Segundo, Dia, Mes, Ano; getdate(Ano, Mes, Dia); gettime(Hora, Minuto, Segundo);
format(string, sizeof(string), "Foram setadas %d horas de VIP para o jogador %s pelo administrador %s - %02d/%02d/%02d | %02d:%02d:%02d", Horas, Nick, NJogador(playerid), Dia, Mes, Ano, Hora, Minuto, Segundo);
Relatorio = fopen("RelatorioAdministrativo/Colocar_e_Retirar_VIPS.txt", io_append); fwrite(Relatorio, string); fwrite(Relatorio, "\r\n"); fclose(Relatorio);
Total = dUserINT(Nick).("HorasVIP") + Horas;
dUserSetINT(Nick).("HorasVIP", Total);
format(S, sizeof(S), ""#TAG_ADMINFO" Foram setadas %d horas de VIP para o jogador %s", Horas, Nick); SendClientMessage(playerid, Azul, S);
for(new I = 0; I < MAX_PLAYERS; I ++) { if(strcmp(PlayerName(I), Nick, true) == 0) { Vip[I] = Total; dUserSetINT(Nick).("HorasVIP", Vip[I]); } } } } else { SendClientMessage(playerid, CORX1, "| ERRO | Você não é administrador(a)"); } } else { SendClientMessage(playerid, CORX1, "| ERRO | Você não é um administrador(a) master!"); } return 1; }
if(!strcmp(cmd, "/retirarvip", true)) { if(!VerificarADMaster(playerid)) return SendClientMessage(playerid, CORX1, "| ERRO | Você não é um administrador(a) master!"); if(VerificarADM(playerid) == 1) { if(VerificarADMaster(playerid) == 1) { new tmp[256], S[128], Nick[256], Horas, Total = 0; tmp = strtok(cmdtext, idx); Nick = tmp; tmp = strtok(cmdtext, idx); Horas = strval(tmp); if(!strlen(tmp)) return SendClientMessage(playerid, COR_MARA7, "/RetirarVip [nick] [horas]"); if(!udb_Exists(Nick)) { format(S, sizeof(S), "| ERRO | A conta '%s' não existe!", Nick); SendClientMessage(playerid, CORX1, S); return 1; } if(Horas < 0) Horas = 0; if(Horas == 0) { SendClientMessage(playerid, CORX1, "| ERRO | Valor não aceitável."); return 1; } if(dUserINT(Nick).("HorasVIP") <= 0) { SendClientMessage(playerid, CORX1, "| ERRO | Esse jogador não tem VIP!"); return 1; } Total = dUserINT(Nick).("HorasVIP") - Horas; if(Total <= 0) { format(S, sizeof(S), ""#TAG_ADMINFO" Todas as horas de VIP do jogador %s retirado.", Nick); SendClientMessage(playerid, Azul, S); dUserSetINT(Nick).("HorasVIP", Vip[playerid]); if(!dini_Exists("RelatorioAdministrativo/Colocar_e_Retirar_VIPS.txt")) dini_Create("RelatorioAdministrativo/Colocar_e_Retirar_VIPS.txt");
new string[300], File:Relatorio, Hora, Minuto, Segundo, Dia, Mes, Ano; getdate(Ano, Mes, Dia); gettime(Hora, Minuto, Segundo);
format(string, sizeof(string), "Todas as horas de VIP do jogador %s foram retiradas pelo administrador %s - %02d/%02d/%02d | %02d:%02d:%02d", Nick, NJogador(playerid), Dia, Mes, Ano, Hora, Minuto, Segundo);
Relatorio = fopen("RelatorioAdministrativo/Colocar_e_Retirar_VIPS.txt", io_append); fwrite(Relatorio, string); fwrite(Relatorio, "\r\n"); fclose(Relatorio); for(new I = 0; I < MAX_PLAYERS; I ++) { if(strcmp(PlayerName(I), Nick, true) == 0) { Vip[I] = 0; dUserSetINT(Nick).("HorasVIP", Vip[I]); } } } else { format(S, sizeof(S), ""#TAG_ADMINFO" Foram retiradas %d horas de VIP do jogador %s", Horas, Nick); SendClientMessage(playerid, Azul, S); dUserSetINT(Nick).("HorasVIP", Vip[playerid]); if(!dini_Exists("RelatorioAdministrativo/Colocar_e_Retirar_VIPS.txt")) dini_Create("RelatorioAdministrativo/Colocar_e_Retirar_VIPS.txt");
new string[300], File:Relatorio, Hora, Minuto, Segundo, Dia, Mes, Ano; getdate(Ano, Mes, Dia); gettime(Hora, Minuto, Segundo);
format(string, sizeof(string), "Foram retiradas %d horas do jogador %s administrador %s - %02d/%02d/%02d | %02d:%02d:%02d", Horas, Nick, NJogador(playerid), Dia, Mes, Ano, Hora, Minuto, Segundo);
Relatorio = fopen("RelatorioAdministrativo/Colocar_e_Retirar_VIPS.txt", io_append); fwrite(Relatorio, string); fwrite(Relatorio, "\r\n"); fclose(Relatorio); for(new I = 0; I < MAX_PLAYERS; I ++) { if(strcmp(PlayerName(I), Nick, true) == 0) { Vip[I] = Total; dUserSetINT(Nick).("HorasVIP", Vip[I]); } } } } else { SendClientMessage(playerid, CORX1, "| ERRO | Você não é administrador(a)"); } } else { SendClientMessage(playerid, CORX1, "| ERRO | Você não é um administrador(a) master!"); } return 1; }
No chat não muda a cor do tag VIP, mais na msg que informa que a cor do tag foi mudada funciona
RE: Sistema de tag no Chat Para VIPs - LeleziiN - 19/04/2021
Poderia mim ajudar Pfvr
RE: Sistema de tag no Chat Para VIPs - LeleziiN - 19/04/2021
Conseguir resolver o problema fiz de outra forma e funfou normal
RE: Sistema de tag no Chat Para VIPs - LeleziiN - 20/04/2021
Sistema Atualizado agora contendo varias cores e sem nenhum bug
|