[BUG]/admins
#1

Bueno estaba creando un sistema admin y cuando me dispongo ah poner un comando para definir admins usando un comando /admins se bugea de tal modo que solo muestra un administrador, ejemplo

hay 2 users admins el primero se llama Carlos y el otro Luis al utilizar el comando /admins Solo muestra ah luis y ah carlos no

me eh buscado el como resolverlo pero me quebrу mucho la cabeza

Код:
acmd(cmd,"/admins") {
new conteoadmins = 0,string[256],cstr[256],Admins[256];
for(new i=0, g = GetPlayerPoolSize(); i <= g; i++) { if(IsPlayerConnected(i))if (JugadorInfo[i][JugadorAdmin] >= 1) conteoadmins++; }
if(conteoadmins == 0) return SendClientMessage(playerid,ColorError,"No hay Administradores Conectados");
format(cstr,sizeof(cstr),"{FF0000}Administradores Conectados: {FFFFFF}%d",conteoadmins);
for(new i=0, g = GetPlayerPoolSize(); i <= g; i++) {
if(IsPlayerConnected(i))
if(JugadorInfo[i][JugadorAdmin] >= 1) {
format(string, sizeof(string), "{F07B0F}%s [%d] [Nivel: %d,%s]",Nombre(i),i,JugadorInfo[i][JugadorAdmin],DetectarRangoAdmin(JugadorInfo[i][JugadorAdmin]));
strcat(Admins,string);
} } ShowPlayerDialog(playerid,cmdadmins,DIALOG_STYLE_MSGBOX,cstr,string,"Aceptar", "");
return 1; }
por favor de pasar el cуdigo ah como se muestra pero sin bug por favor
Reply
#2

Algo apurado, reemplaza por GetPlayerPoolSize y dime si te sirve xd

Код:
acmd(cmd,"/admins")
{
	new Conteo1, Admins[56], Texto[128];
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerAdmin(i))
		{
			Conteo1++;
		}
	}
	if(Conteo1 == 0)return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Error", "No hay ningun admin.", "Cerrar", "");
	format(Texto,256,"Admins conectados: %d", Conteo1);
 	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerAdmin(i))
		{
			format(Texto,1500,"Nombre: %s[%s] / Nivel: [ADMIN RCON]\n",aNombre(i),i);
			strcat(Admins, Texto);
		}
		else
		{
			ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX, Texto, Admins,"Cerrar","");
			format(Texto,256,"Nombre: %s / Nivel: [%d]",aNombre(i),i,JugadorInfo[i][JugadorAdmin]);
			strcat(Admins, Texto);
  		}
	}
	return 1;
}

stock aNombre(playerid)
{
	new pname[MAX_PLAYER_NAME], i_pos;
	GetPlayerName(playerid, pname, sizeof(pname));
	while((i_pos = strfind(pname, "_", false, i_pos)) != -1) pname[i_pos] = ' ';
	return pname;
}
Reply
#3

creo y no me sirva pero deja pruebo ya que no usaste la misma cadena que yo.
Reply
#4

Bueno lo probй y esta mas bug que el mio :v
Reply
#5

Pero que te pasa con el cуdigo? no sirve? tira errores? no muestra los admins?? que?
Reply
#6

esta bug :v parece que los numeros suben rapidamente donde detecta ah los admins creo la variable
Reply
#7

Viendo como tienes escrito el cуdigo solo te deseo todo lo malo que pueda pasarte.
Reply
#8

// EDIT LE PUSE STRCAT PRUEBA SI FUNCIONA, HACE MUCHO QUE NO ESTOY EN PAWN :V, SI NO TE FUNCIONA ES POR QUE HICE ALGO MAL EN EL STRCAT XD
PHP код:
acmd(cmd,"/admins") {
new 
conteoadmins 0,aostring[256], atstring[256];
for(new 
<MAX_PLAYERSi++)
{
    if(
IsPlayerConnected(i)
    {
        if(
JugadorInfo[i][JugadorAdmin] >= )
        {
          
conteoadmins ++;
        }
     }
}
if(
conteoadmins == 0){
      return 
ShowPlayerDialog(playerid,cmdadmins,DIALOG_STYLE_MSGBOX,"Administradores Conectados","No hay Administradores Conectados""CERRAR""");
}
if(
conteoadmins >= 1)
{
    
format(aostring,sizeof(aostring),"{FF0000}Administradores Conectados: {FFFFFF}%d",conteoadmins);
    for(new 
<MAX_PLAYERSi++)
    {
        if(
IsPlayerConnected(i)
        {
            if(
JugadorInfo[i][JugadorAdmin] >= )
            {
             
format(atstringsizeof(atstring), "{F07B0F}%s [%d] [Nivel: %d,%s]\n",Nombre(i),i,JugadorInfo[i][JugadorAdmin],DetectarRangoAdmin(JugadorInfo[i][JugadorAdmin]));
             
strcat(Administradoresatstring);
             
ShowPlayerDialog(playerid,cmdadmins,DIALOG_STYLE_MSGBOX,aostring,atstring,"Cerrar""");
             }
        } 
    }
    return 
1;
}
return 
1;

Reply
#9

Teniendo en cuenta el uso de Strcat

їNo se supone que en el dialogo tendrнas que poner el array Admins en ves de string?

Код:
ShowPlayerDialog(playerid,cmdadmins,DIALOG_STYLE_MSGBOX,cstr,Admins,"Aceptar", "");
Reply
#10

y ahora? xdd
Код:
acmd(cmd,"/admins")
{
    if(Conteo1 == 0)return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Error", "No hay ningun admin.", "Cerrar", "");
	new Conteo1, Admins[56], Texto[128];
 	for(new i = 0; i < MAX_PLAYERS; i++)
	{
		if(IsPlayerAdmin(i))
		{
         	Conteo1++;
			format(Texto,1500,"Nombre: %s[%s] / Nivel: [ADMIN RCON]\n",aNombre(i),i);
			format(Texto,256,"Admins conectados: %d", Conteo1);
			strcat(Admins, Texto);
		}
		else if(JugadorInfo[i][JugadorAdmin] >= 1)
		{
   			ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX, Texto, Admins,"Cerrar","");
			format(Texto,256,"Nombre: %s[%d] / Nivel: [%d]",aNombre(i),i,JugadorInfo[i][JugadorAdmin]);
			format(Texto,256,"Admins conectados: %d", Conteo1);
			strcat(Admins, Texto);
  		}
	}
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)