Error with /admins -
EmilLykke - 22.12.2014
When there are no administrators, it says, there are none.
But when there are, it just says: "Connected Administrators:"
Can anybody tell me why it doesn't work?
pawn Код:
COMMAND:admins(playerid, params[])
{
new check = 0,
info[150];
SendClientMessage(playerid, COLOR_LIGHTGREEN, "Connected Administrators:");
foreach(new i : Player)
{
if(PlayerInfo[i][pAdminlevel] > 0 && GetPVarInt(i, "AdminHide") == 0)
{
format(info, sizeof(info), "(Level: %i) %s (%s) (ID: %i) AdminDuty: %s", PlayerInfo[i][pAdminlevel], GetNameWithSpace(i), PlayerInfo[i][pForumName], i, GetPVarInt(i, "AdminDuty") == 1? ("Yes") : ("No"));
check++;
}
else if(check == 0) return SendClientMessage(playerid, COLOR_GREY, "*** There are currently no administrators connected.");
else
{
if(PlayerInfo[i][pBanAppealer] == 1) strcat(info, " [BA]");
if(PlayerInfo[i][pBanAppealer] == 2) strcat(info, " [DOBA]");
if(PlayerInfo[i][pShopTech] == 1) strcat(info, " [ST]");
if(PlayerInfo[i][pShopTech] == 2) strcat(info, " [SST]");
if(PlayerInfo[i][pShopTech] == 3) strcat(info, " [DOCR]");
if(PlayerInfo[i][pFactionModerator] == 1) strcat(info, " [FMOD]");
if(PlayerInfo[i][pFactionModerator] == 2) strcat(info, " [DOFM]");
if(PlayerInfo[i][pPR] == 1) strcat(info, " [PR]");
if(PlayerInfo[i][pPR] == 2) strcat(info, " [DOPR]");
if(PlayerInfo[i][pHR] >= 1) strcat(info, "
");
if(PlayerInfo[i][pAP] >= 1) strcat(info, " [AP]");
if(PlayerInfo[i][pSecurity] >= 1) strcat(info, " [Sec]");
SendClientMessage(playerid, GetPVarInt(i, "AdminDuty") == 1? COLOR_GREEN : COLOR_GREY, info);
}
}
return 1;
}
Re: Error with /admins -
Abagail - 22.12.2014
Try this:
pawn Код:
COMMAND:admins(playerid, params[])
{
new check = 0,
info[150];
SendClientMessage(playerid, COLOR_LIGHTGREEN, "Connected Administrators:");
foreach(new i : Player)
{
if(PlayerInfo[i][pAdminlevel] > 0 && GetPVarInt(i, "AdminHide") == 0)
{
format(info, sizeof(info), "(Level: %i) %s (%s) (ID: %i) AdminDuty: %s", PlayerInfo[i][pAdminlevel], GetNameWithSpace(i), PlayerInfo[i][pForumName], i, GetPVarInt(i, "AdminDuty") == 1? ("Yes") : ("No"));
check++;
}
if(check == 0) return SendClientMessage(playerid, COLOR_GREY, "*** There are currently no administrators connected.");
else
{
if(PlayerInfo[i][pBanAppealer] == 1) strcat(info, " [BA]");
if(PlayerInfo[i][pBanAppealer] == 2) strcat(info, " [DOBA]");
if(PlayerInfo[i][pShopTech] == 1) strcat(info, " [ST]");
if(PlayerInfo[i][pShopTech] == 2) strcat(info, " [SST]");
if(PlayerInfo[i][pShopTech] == 3) strcat(info, " [DOCR]");
if(PlayerInfo[i][pFactionModerator] == 1) strcat(info, " [FMOD]");
if(PlayerInfo[i][pFactionModerator] == 2) strcat(info, " [DOFM]");
if(PlayerInfo[i][pPR] == 1) strcat(info, " [PR]");
if(PlayerInfo[i][pPR] == 2) strcat(info, " [DOPR]");
if(PlayerInfo[i][pHR] >= 1) strcat(info, "
");
if(PlayerInfo[i][pAP] >= 1) strcat(info, " [AP]");
if(PlayerInfo[i][pSecurity] >= 1) strcat(info, " [Sec]");
SendClientMessage(playerid, GetPVarInt(i, "AdminDuty") == 1? COLOR_GREEN : COLOR_GREY, info);
}
}
return 1;
}
Re: Error with /admins -
Sawalha - 22.12.2014
pawn Код:
COMMAND:admins(playerid, params[])
{
new check = 0,
info[150];
SendClientMessage(playerid, COLOR_LIGHTGREEN, "Connected Administrators:");
foreach(new i : Player)
{
if(IsPlayerConnected(i)) {
if(PlayerInfo[i][pAdminlevel] > 0 && GetPVarInt(i, "AdminHide") == 0)
{
format(info, sizeof(info), "(Level: %i) %s (%s) (ID: %i) AdminDuty: %s", PlayerInfo[i][pAdminlevel], GetNameWithSpace(i), PlayerInfo[i][pForumName], i, GetPVarInt(i, "AdminDuty") == 1? ("Yes") : ("No"));
SendClientMessage(playerid, GetPVarInt(i, "AdminDuty") == 1? COLOR_GREEN : COLOR_GREY, info); // so better, send it under this case only..
check++;
}
else
{
if(PlayerInfo[i][pBanAppealer] == 1) strcat(info, " [BA]");
if(PlayerInfo[i][pBanAppealer] == 2) strcat(info, " [DOBA]");
if(PlayerInfo[i][pShopTech] == 1) strcat(info, " [ST]");
if(PlayerInfo[i][pShopTech] == 2) strcat(info, " [SST]");
if(PlayerInfo[i][pShopTech] == 3) strcat(info, " [DOCR]");
if(PlayerInfo[i][pFactionModerator] == 1) strcat(info, " [FMOD]");
if(PlayerInfo[i][pFactionModerator] == 2) strcat(info, " [DOFM]");
if(PlayerInfo[i][pPR] == 1) strcat(info, " [PR]");
if(PlayerInfo[i][pPR] == 2) strcat(info, " [DOPR]");
if(PlayerInfo[i][pHR] >= 1) strcat(info, "
");
if(PlayerInfo[i][pAP] >= 1) strcat(info, " [AP]");
if(PlayerInfo[i][pSecurity] >= 1) strcat(info, " [Sec]");
// "info" here will be empty, bcz u formatted it under another case.....
}
}
else if(check == 0) return SendClientMessage(playerid, COLOR_GREY, "*** There are currently no administrators connected.");
}
return 1;
Your mistake was that you formatted the string "info" under a case, and sent it under another different case, which will make it empty string.
Second, you should check if the player was connected or not, to not return bugs.
Re: Error with /admins -
Threshold - 22.12.2014
Let's try again fellas...
pawn Код:
COMMAND:admins(playerid, params[])
{
new check = 0;
SendClientMessage(playerid, COLOR_LIGHTGREEN, "Connected Administrators:");
foreach(new i : Player)
{
if(PlayerInfo[i][pAdminlevel] && !GetPVarInt(i, "AdminHide"))
{
new info[128];
format(info, sizeof(info), "(Level: %i) %s (%s) (ID: %i) AdminDuty: %s", PlayerInfo[i][pAdminlevel], GetNameWithSpace(i), PlayerInfo[i][pForumName], i, (GetPVarInt(i, "AdminDuty") == 1) ? ("Yes") : ("No"));
if(PlayerInfo[i][pBanAppealer] == 1) strcat(info, " [BA]");
if(PlayerInfo[i][pBanAppealer] == 2) strcat(info, " [DOBA]");
if(PlayerInfo[i][pShopTech] == 1) strcat(info, " [ST]");
if(PlayerInfo[i][pShopTech] == 2) strcat(info, " [SST]");
if(PlayerInfo[i][pShopTech] == 3) strcat(info, " [DOCR]");
if(PlayerInfo[i][pFactionModerator] == 1) strcat(info, " [FMOD]");
if(PlayerInfo[i][pFactionModerator] == 2) strcat(info, " [DOFM]");
if(PlayerInfo[i][pPR] == 1) strcat(info, " [PR]");
if(PlayerInfo[i][pPR] == 2) strcat(info, " [DOPR]");
if(PlayerInfo[i][pHR]) strcat(info, "
");
if(PlayerInfo[i][pAP]) strcat(info, " [AP]");
if(PlayerInfo[i][pSecurity]) strcat(info, " [Sec]");
SendClientMessage(playerid, (GetPVarInt(i, "AdminDuty")) ? (COLOR_GREEN) : (COLOR_GREY), info);
check++;
}
}
if(!check) SendClientMessage(playerid, COLOR_GREY, "*** There are currently no administrators connected.");
return 1;
}