SA-MP Forums Archive
[BUG]/admins - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [BUG]/admins (/showthread.php?tid=638907)



[BUG]/admins - FlaNy - 08.08.2017

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


Respuesta: [BUG]/admins - Matyaas - 08.08.2017

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;
}



Respuesta: [BUG]/admins - FlaNy - 08.08.2017

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


Respuesta: [BUG]/admins - FlaNy - 08.08.2017

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


Respuesta: [BUG]/admins - Matyaas - 08.08.2017

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


Respuesta: [BUG]/admins - FlaNy - 08.08.2017

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


Respuesta: [BUG]/admins - adri1 - 08.08.2017

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


Re: [BUG]/admins - Swankeh - 08.08.2017

// 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;




Re: [BUG]/admins - lautaro97 - 08.08.2017

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", "");



Respuesta: [BUG]/admins - Matyaas - 08.08.2017

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;
}