Dialog -
ThuuGLif3 - 12.01.2017
Estou com problemas. Quebrando cabeзa, gostaria de uma soluзгo e uma explicaзгo de alguйm.
O comando funciona. Porйm aparece apenas um administrador quando se tem mais de um online. E alйm disso, nгo estб aparecendo se estб jogando ou trabalhando.
Код:
COMMAND:admins(playerid, params[])
{
new ss[2500];
for(new i; i < MAX_PLAYERS; i++)
{
new LevelAdmin[128], StatusAdmin[128];
// Trabalhando, Jogando ou Ausente
if(PlayerInfo[i][Trabalhando] == 1)
{
LevelAdmin = "Trabalhando";
}
if(PlayerInfo[i][Trabalhando] == 0)
{
StatusAdmin = "Jogando";
}
if(PlayerInfo[i][Trabalhando] == 2)
{
StatusAdmin = "Ausente";
}
//
if(PlayerInfo[i][Administrador] == 1)
{
LevelAdmin = "Moderador [Level: 1]";
}
if(PlayerInfo[i][Administrador] == 2)
{
LevelAdmin = "Administrador [Level: 2]";
}
if(PlayerInfo[i][Administrador] == 3)
{
LevelAdmin = "Administrador - Master [Level: 3]";
}
if(PlayerInfo[i][Administrador] == 4)
{
LevelAdmin = "Administrador - Sub-Dono [Level: 4]";
}
if(PlayerInfo[i][Administrador] == 5)
{
LevelAdmin = "Administrador - Dono [Level: 5]";
}
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][Administrador] > 5)
{
GetPlayerName(i, Jogador, sizeof(Jogador));
format(ss, sizeof(ss), "%s: %s {eb6565} (%s)", Jogador, LevelAdmin, StatusAdmin);
}
}
}
if(ss[0] == EOS) format(ss, sizeof(ss), "Nenhum admin online");
ShowPlayerDialog(playerid, 1443, DIALOG_STYLE_MSGBOX, "Administradores online:", ss, "Fechar", "");
return true;
}
Re: Dialog -
RodrigoMSR - 12.01.2017
Код:
COMMAND:admins(playerid, params[])
{
new ss[2500];
for(new i; i < MAX_PLAYERS; i++)
{
new LevelAdmin[128], StatusAdmin[128];
// Trabalhando, Jogando ou Ausente
if(PlayerInfo[i][Trabalhando] == 1)
{
LevelAdmin = "Trabalhando";
}
if(PlayerInfo[i][Trabalhando] == 0)
{
StatusAdmin = "Jogando";
}
if(PlayerInfo[i][Trabalhando] == 2)
{
StatusAdmin = "Ausente";
}
//
if(PlayerInfo[i][Administrador] == 1)
{
LevelAdmin = "Moderador [Level: 1]";
}
if(PlayerInfo[i][Administrador] == 2)
{
LevelAdmin = "Administrador [Level: 2]";
}
if(PlayerInfo[i][Administrador] == 3)
{
LevelAdmin = "Administrador - Master [Level: 3]";
}
if(PlayerInfo[i][Administrador] == 4)
{
LevelAdmin = "Administrador - Sub-Dono [Level: 4]";
}
if(PlayerInfo[i][Administrador] == 5)
{
LevelAdmin = "Administrador - Dono [Level: 5]";
}
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][Administrador] > 5)
{
GetPlayerName(i, Jogador, sizeof(Jogador));
format(ss, sizeof(ss), "%s\n%s: %s {eb6565} (%s)", ss, Jogador, LevelAdmin, StatusAdmin);
}
}
}
if(ss[0] == EOS) format(ss, sizeof(ss), "Nenhum admin online");
ShowPlayerDialog(playerid, 1443, DIALOG_STYLE_MSGBOX, "Administradores online:", ss, "Fechar", "");
return true;
}
Faltava considerar o valor antigo da string.
Re: Dialog - Whoo - 12.01.2017
a funзгo format limpa automaticamente quando usada logo sempre ira mostrar o ultimo id de admin o mais alto, entгo vocк deve utilizar strcat junto do format..
PHP код:
COMMAND:admins(playerid, params[])
{
new ss[2500], cmdString[2500], LevelAdmin[128], StatusAdmin[128];
for(new i; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
// Trabalhando, Jogando ou Ausente
switch(PlayerInfo[i][Trabalhando])
{
case 0: StatusAdmin = "Jogando";
case 1: StatusAdmin = "Trabalhando";
case 3: StatusAdmin = "Ausente";
}
switch(PlayerInfo[i][Administrador])
{
case 1: LevelAdmin = "Moderador [Level: 1]";
case 2: LevelAdmin = "Administrador [Level: 2]";
case 3: LevelAdmin = "Administrador - Master [Level: 3]";
case 4: LevelAdmin = "Administrador - Sub-Dono [Level: 4]";
case 5: LevelAdmin = "Administrador - Dono [Level: 5]";
}
GetPlayerName(i, Jogador, sizeof(Jogador));
format(ss, sizeof(ss), "%s: %s {eb6565} (%s)", Jogador, LevelAdmin, StatusAdmin);
strcat(cmdString, ss, sizeof(cmdString));
}
}
if(cmdString[0] == EOS) format(cmdString, sizeof(cmdString), "Nenhum admin online");
ShowPlayerDialog(playerid, 1443, DIALOG_STYLE_MSGBOX, "Administradores online:", cmdString, "Fechar", "");
return true;
}
Re: Dialog -
ThuuGLif3 - 12.01.2017
Poderia explicar melhor?
Re: Dialog -
hannzika - 12.01.2017
pawn Код:
COMMAND:admins(playerid) {
new str[250], admname[40], status[15], nome[21], count = 0;
for(new i = 0; i < GetPlayerPoolSize(); i++) {
if(PlayerInfo[i][Administrador] > 0) {
switch(PlayerInfo[i][Administrador]) {
case 1: admname = "Moderador [Level: 1]";
case 2: admname = "Administrador [Level: 2]";
case 3: admname = "Administrador - Master[Level: 2]";
case 4: admname = "Administrador - Sub-Dono [Level: 2]";
case 5: admname = "Administrador - Dono [Level: 2]";
}
switch(PlayerInfo[i][Trabalhando]) {
case 0: status = "Jogando";
case 1: status = "Trabalhando";
case 2: status = "Ausente ";
}
}
count ++;
GetPlayerName(i, nome, 21);
format(str, sizeof(str), "%s [%i] %s {eb6565}(%s)\n", nome, i, admname, status);
}
if(count == 0)
format(str, sizeof(str), "Nenhum admin online");
ShowPlayerDialog(playerid, 1443, DIALOG_STYLE_MSGBOX, "Administradores online:", str, "Fechar", "");
return true;
}
Vocк provavelmente era o admin level 5 e os outros level 4, sу iria aparecer o seu.