Ajuda com tag - BatataDoce -  28/09/2022
 
 
Comecei a criar um sistema de admin, mas to enfrentando problema com as tags 
 
 
Código PHP: CMD:setadmin(playerid,params[]) {     new id,valor,string[100],Text3D:text[MAX_PLAYERS];     if(IsPlayerAdmin(playerid))     {         if(sscanf(params,"ii",id,valor)) return SendClientMessage(playerid,0xFF0000FF,"| Admin |Utilize /daradmin id level(0-5)");         {             if(IsPlayerConnected(id))             {                 pinfo[id] [admin] = valor;
                  if(valor == 0)                 {                     format(string,100,"| Admin | Você foi removido da equipe admin");                     SendClientMessage(id,0x008080FF,string);                     Delete3DTextLabel(text[id]);                 }                 if(valor == 1)                 {                     format(string,100,"| Admin | Você agora se tornou 'Estagiário' da equipe!");                     SendClientMessage(id,0x008080FF,string);                     Delete3DTextLabel(text[id]);                     text[id] = Create3DTextLabel("Estagiário", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);                     Attach3DTextLabelToPlayer(text[id], id, 0.0, 0.0, 0.7);                 }                 if(valor == 2)                 {                     format(string,100,"| Admin | Você agora se tornou 'Ajudante' da equipe!");                     SendClientMessage(id,0x008080FF,string);                     Delete3DTextLabel(text[id]);                     text[id] = Create3DTextLabel("Ajudante", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);                     Attach3DTextLabelToPlayer(text[id], id, 0.0, 0.0, 0.7);                 }                 if(valor == 3)                 {                     format(string,100,"| Admin | Você agora se tornou 'Moderador' da equipe!");                     SendClientMessage(id,0x008080FF,string);                     Delete3DTextLabel(text[id]);                     text[id] = Create3DTextLabel("Moderador", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);                     Attach3DTextLabelToPlayer(text[id], id, 0.0, 0.0, 0.7);                 }                 if(valor == 4)                 {                     format(string,100,"| Admin | Você agora se tornou 'Adminstrador' da equipe!");                     SendClientMessage(id,0x008080FF,string);                     Delete3DTextLabel(text[id]);                     text[id] = Create3DTextLabel("Adminstrador", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);                     Attach3DTextLabelToPlayer(text[id], id, 0.0, 0.0, 0.7);                 }                 if(valor == 5)                 {                     format(string,100,"| Admin | Você agora se tornou 'Gestor' da equipe!");                     SendClientMessage(id,0x008080FF,string);                     Delete3DTextLabel(text[id]);                     text[id] = Create3DTextLabel("Gestor", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);                     Attach3DTextLabelToPlayer(text[id], id, 0.0, 0.0, 0.7);                 }
              }         }     }     else SendClientMessage(playerid,0xFF0000FF,"[>>]Erro");     return 1; } 
 
  
 
O problema seria é que quando eu seto adm pra min, a tag vem pra min, mas quando eu seto tbm em outra pessoa, a minha tag é excluída 
 
 
obs: to usando Delete3DTextLabel(text[id]) para caso eu queira setar outro cargo pra min,n fique 2 tag em cima da outra
 
 
 
RE: Ajuda com tag - Vel -  28/09/2022
 
 
Basta mover a variável "text" pra fora do comando. 
E eu recomendaria mudar o nome também.
 
 
 
RE: Ajuda com tag - xbruno1000x -  28/09/2022
 
 
Por que deletar e criar uma tag nova? Já tentou usar o Update3DTextLabelText?  
Essa função permite atualizar o texto do 3DTextLabel, acredito que seja melhor para o seu propósito. 
 
Documentação: 
https://open.mp/pt-br/docs/scripting/functions/Update3DTextLabelText
 
 
 
RE: Ajuda com tag - Device-Black -  28/09/2022
 
 
Voce pode usar chatbubble tambem
 
 
 
RE: Ajuda com tag - CoelhaO_LokaO -  28/09/2022
 
 
Código PHP: new Text3D:text[MAX_PLAYERS];
  enum admnivel{     id_admin,     nome_admin[13] } new chamaadm[][admnivel] = {     {0,"Nenhum"},     {1,"Estagiário"},     {2,"Ajudante"},     {3,"Moderador"},     {4,"Adminstrador"},     {5,"Gestor"}
  }
 
 
  CMD:setadmin(playerid,params[]) {     new id,valor,string[100];     if(IsPlayerAdmin(playerid))     {         if(sscanf(params,"ii",id,valor)) return SendClientMessage(playerid,0xFF0000FF,"| Admin |Utilize /daradmin id level(0-5)");         {             if(IsPlayerConnected(id))             {                 pinfo[id] [admin] = valor;
                  if(pinfo[id] [admin] > 0){                     new teste[200];                     format(teste, sizeof(teste), "%s" chamaadm[valor][nome_admin]);
                      text[id] = Create3DTextLabel(teste, 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);                     Attach3DTextLabelToPlayer(text[id], id, 0.0, 0.0, 0.7);                 }
              }         }     }     else SendClientMessage(playerid,0xFF0000FF,"[>>]Erro");     return 1; } 
 
  
 
 
 
RE: Ajuda com tag - White_Blue -  28/09/2022
 
 
 (28/09/2022 16:07)Device-Black Escreveu:  Voce pode usar chatbubble tambem  
SetPlayerChatBubble pelo que eu sei é para quando um player digitar aparecer a mensagem sob a cabeça do personagem.
 
 
 
RE: Ajuda com tag - Device-Black -  29/09/2022
 
 
 (28/09/2022 20:19)White_Blue Escreveu:   (28/09/2022 16:07)Device-Black Escreveu:  Voce pode usar chatbubble tambem  
SetPlayerChatBubble pelo que eu sei é para quando um player digitar aparecer a mensagem sob a cabeça do personagem.  
Sim... Mas não é exclusivo do OnPlayerText, funciona perfeitamente pro caso
 
 
 
RE: Ajuda com tag - BatataDoce -  30/09/2022
 
 
 (28/09/2022 18:26)CoelhaO_LokaO Escreveu:  Código PHP: new Text3D:text[MAX_PLAYERS];
  enum admnivel{     id_admin,     nome_admin[13] } new chamaadm[][admnivel] = {     {0,"Nenhum"},     {1,"Estagiário"},     {2,"Ajudante"},     {3,"Moderador"},     {4,"Adminstrador"},     {5,"Gestor"}
  }
 
 
  CMD:setadmin(playerid,params[]) {     new id,valor,string[100];     if(IsPlayerAdmin(playerid))     {         if(sscanf(params,"ii",id,valor)) return SendClientMessage(playerid,0xFF0000FF,"| Admin |Utilize /daradmin id level(0-5)");         {             if(IsPlayerConnected(id))             {                 pinfo[id] [admin] = valor;
                  if(pinfo[id] [admin] > 0){                     new teste[200];                     format(teste, sizeof(teste), "%s" chamaadm[valor][nome_admin]);
                      text[id] = Create3DTextLabel(teste, 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);                     Attach3DTextLabelToPlayer(text[id], id, 0.0, 0.0, 0.7);                 }
              }         }     }     else SendClientMessage(playerid,0xFF0000FF,"[>>]Erro");     return 1; } 
 
   
 
Eu fiz uma alteração tendo em mente isso oq vc mandou, mas mesmo assim, não funiona, eu coloco a tag em min, dps quando vou colocar em outra pessoa, a minha tag é excluída, só n entendo o pq já pq a variável já é diferente 
 
Código PHP: CMD:setadmin(playerid,params[]) {     if(IsPlayerAdmin(playerid))     {         new valor;         if(sscanf(params,"ii",idtag,valor)) return SendClientMessage(playerid,0xFF0000FF,"| Admin |Utilize /daradmin id level(0-5)");         {             if(IsPlayerConnected(idtag))             {                 pinfo [idtag] [admin] = valor;
                  if(pinfo [idtag] [admin] == 0)                 {                     Delete3DTextLabel(tagadm[idtag]);                     return 1;                 }
                  if(pinfo[idtag] [admin] > 0  && pinfo[idtag] [admin] < 5)                 {
                      new teste[200];                     format(teste, sizeof(teste), "%s",GetAdmin(idtag));                     Delete3DTextLabel(tagadm[idtag]);
                      tagadm[idtag] = Create3DTextLabel(teste, 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
                      Attach3DTextLabelToPlayer(tagadm[idtag], idtag, 0.0, 0.0, 0.7);                     return 1;                 }                 else SendClientMessage(playerid, 0xFF0000FF, "| Admin |Escolha um level de 0 a 5");
              }             else SendClientMessage(playerid, 0xFF0000FF, "| Admin |Jogador não encontrado.");         }     }     else SendClientMessage(playerid,0xFF0000FF,"[>>]Erro");     return 1; } 
 
  
 
 
 
RE: Ajuda com tag - White_Blue -  30/09/2022
 
 
Código PHP: CMD:setadmin(playerid, params[]) {    new plid, nivel, tag[128], Text3D:tagg[MAX_PLAYERS];   if(sscanf(params, "ud", plid, nivel)) return SendClientMessage(playerid, -1, "Use: /setadmin [playerid] [nível]");   if(!IsPlayerConnected(plid)) return SendClientMessage(playerid, -1, "| Admin |Jogador não encontrado");      if(nivel > 0 && nivel < 6) {   switch(nivel) {   case 1: tag = "Helper";   case 2: tag = "Mod";   case 3: tag = "Adm";  }     } else pinfo[plid][admin] = 0, Delete3DTextLabel(plid, tagg[plid]);
       pinfo[plid][admin] = nivel;   tagg[plid] = Create3DTextLabel(tag, -1, 30.0, 40.0, 50.0, 0);   Attach3DTextLabelToPlayer(tagg[plid], plid, 0.0, 0.0, 0.7);   return 1; } 
 
  
 
Refiz o comando, teste e veja se funciona.
 
 
 
RE: Ajuda com tag - Device-Black -  01/10/2022
 
 
Tambem tem esse modo 
https://pastebin.com/3425ARHd
 
 
 
 |