new Test[128];
switch(PlayerInfo[playerid][Admin])
{
case 1: Test = "Moderadorr";
case 2: Test = "Moderador-G";
case 3: Test = "dueño";
}
if(IsPlayerConnected(playerid))
new conteo = 0, string[68];
for(new x = 0; x < MAX_PLAYERS; x++)
{
if(IsPlayerConnected(x))
{
if(PlayerInfo[x][Admin])
{
conteo++;
format(string, sizeof(string), " %s(%d) administrador %s\n", Nombre(x), x, test);
}
}
}
ShowPlayerDialog(playerid, id, DIALOG_STYLE_MSGBOX, "titulo", string, "Boton 1", "Boton 2");
A lo que se refiere es que si estб logeado creo yo, porque conectar, conectan todos, los que los detiene es el dialog para ingresar.
Hace una variable para cada jugador en el enum, entonces cuando un jugador spawnea (OnPlayerSpawn) colocas la variable en 1, cuando desconecta, en 0. |
CMD:admins(playerid, params[])
{
new c;
SendClientMessage(playerid, -1, "Estos son los administradores en lнnea:");
for(new i = 0; i != GetMaxPlayers(); i ++)
{
if(IsPlayerConnected(i))
{
if(IsPlayerAdmin(i))
{
c++;
SendClientMessageEx(playerid, -1, "Administrador online: {00CCFF}%s", getPlayerName(i));
}
}
}
if(c == 0) SendClientMessage(playerid, -1, "En estos momentos no se puede dar a conocer la lista de administradores."); // No hay admins conectados.
return 1;
}
new Linea1[128], Linea2[128], Linea3[128], Linea4[128], Linea5[128], asd[600], Linea6[128];
format(Linea1, sizeof(Line1), "Miembro 1: %s\n", dini_Get(gFile, "Miembro1"));
format(Linea2, sizeof(Line2), "Miembro 2: %s\n", dini_Get(gFile, "Miembro2"));
format(Linea3, sizeof(Line3), "Miembro 3: %s\n", dini_Get(gFile, "Miembro3"));
format(Linea4, sizeof(Line4), "Miembro 4: %s\n", dini_Get(gFile, "Miembro4"));
format(Linea5, sizeof(Line5), "Miembro 5: %s\n", dini_Get(gFile, "Miembro5"));
format(Linea6, sizeof(Line6), "Miembro 6: %s\n", dini_Get(gFile, "Miembro6"));
format(asd, sizeof(cla), "%s%s%s%s%s%s", Linea1, Linea2, Linea3, Linea4, Linea5, Linea6);
ShowPlayerDialog(playerid, 9999, DIALOG_STYLE_MSGBOX, "INFORMACION", asd, "Salir", "");
Miembro 1: %s - Estado %s
Con el cуdigo de Snoopy y modificandolo un poco puedes conseguir el sistema que quieres por lo que puedes partir de este aunque tendrбs que arreglar algъn error que hay en el for. Si quieres te puedo decir paso por paso como hacerlo.
|
#include <a_samp>
#include <zcmd>
enum Datos
{
Admin
};
new PlayerInfo[MAX_PLAYERS][Datos];
command(admins, playerid, params[])
{
#pragma unused params
new conteo = 0, string[125], Tipo[29];
switch(PlayerInfo[playerid][Admin])
{
case 1: Tipo = "Moderadorr";
case 2: Tipo = "Moderador-G";
case 3: Tipo = "dueсo";
}
for(new x = 0; x < MAX_PLAYERS; x++)
{
if(IsPlayerConnected(x))
{
if(PlayerInfo[x][Admin] >= 1)
{
conteo++;
strcat(string, "{00FF00}Admins Online.\n");
strcat(string, "{FFFFFF}__________________________\n");
format(string, sizeof(string), "{FFFFFF}%s %s\n", Nombre(playerid), Tipo);
}
}
}
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Admins Online", string, "Ok", "Back");
return 1;
}
stock Nombre(playerid)
{
new nombre[MAX_PLAYER_NAME];
GetPlayerName(playerid, nombre, MAX_PLAYER_NAME);
return nombre;
}
#include <a_samp>
#include <zcmd>
enum Datos
{
Admin
};
new PlayerInfo[MAX_PLAYERS][Datos];
command(admins, playerid, params[])
{
#pragma unused params
new conteo = 0, string[125], Tipo[29];
switch(PlayerInfo[playerid][Admin])
{
case 1: Tipo = "Moderadorr";
case 2: Tipo = "Moderador-G";
case 3: Tipo = "dueсo";
}
for(new x = 0; x < MAX_PLAYERS; x++)
{
if(IsPlayerConnected(x))
{
if(PlayerInfo[x][Admin] >= 1)
{
conteo++;
switch(conteo)
{
case 0:
{
strcat(string, "{00FF00}Admins Online.\n");
strcat(string, "{FFFFFF}__________________________\n");
strcat(string, "{FFFFFF} No hay administradores.");
}
case 1.. 50:
{
strcat(string, "{00FF00}Admins Online.\n");
strcat(string, "{FFFFFF}__________________________\n");
format(string, sizeof(string), "{FFFFFF}%s %s\n", Nombre(playerid), Tipo);
}
}
}
}
}
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Admins Online", string, "Ok", "Back");
return 1;
}
stock Nombre(playerid)
{
new nombre[MAX_PLAYER_NAME];
GetPlayerName(playerid, nombre, MAX_PLAYER_NAME);
return nombre;
}
#include <a_samp>
#include <zcmd>
enum Datos
{
Admin
};
new PlayerInfo[MAX_PLAYERS][Datos];
command(admins, playerid, params[])
{
#pragma unused params
new conteo = 0, string[125], Tipo[29];
switch(PlayerInfo[playerid][Admin])
{
case 1: Tipo = "Moderadorr";
case 2: Tipo = "Moderador-G";
case 3: Tipo = "dueсo";
}
for(new x = 0; x < MAX_PLAYERS; x++)
{
if(IsPlayerConnected(x))
{
if(PlayerInfo[x][Admin] >= 1)
{
conteo++;
if(conteo >= 1)
{
strcat(string, "{00FF00}Admins Online.\n");
strcat(string, "{FFFFFF}__________________________\n");
format(string, sizeof(string), "{FFFFFF}%s %s\n", Nombre(playerid), Tipo);
}
else if(conteo == 0)
{
strcat(string, "{00FF00}Admins Online.\n");
strcat(string, "{FFFFFF}__________________________\n");
strcat(string, "{FFFFFF}No hay administradores.\n");
}
}
}
}
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Admins Online", string, "Ok", "Back");
return 1;
}
stock Nombre(playerid)
{
new nombre[MAX_PLAYER_NAME];
GetPlayerName(playerid, nombre, MAX_PLAYER_NAME);
return nombre;
}