-
Sziasztok!
Valaki beletudná írni ebbe a /admins scriptbe hogyha nincs admin a szerveren akkor ne egy üres táblázatot adjon ki hanem írja ki hogy \"Nincs admin a szerveren!\".
Admins Script:
CMD:admins(playerid, params[])
{
new strtext[1000];
new string[1000];
new sendername[MAX_PLAYER_NAME];
if(IsPlayerConnected(playerid))
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(JatekosInfo[playerid][AdminSzint] == 1)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"|- Név: %s | ID: %d | Szint: 1 | Rang: VIP -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 2)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"|- Név: %s | ID: %d | Szint: 2 | Rang: Próbaidõs Admin -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 3)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"|- Név: %s | ID: %d | Szint: 3 | Rang: Moderátor -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 4)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"|- Név: %s | ID: %d | Szint: 4 | Rang: Admin -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 5)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"|- Név: %s | ID: %d | Szint: 5 | Rang: Fõadmin -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 6)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"|- Név: %s | ID: %d | Szint: 6 | Rang: Tulajdonos -|\", sendername, i);
}
strcat(string, \"\\n\");
strcat(strtext, string);
}
}
ShowPlayerDialog(playerid, 303, DIALOG_STYLE_MSGBOX,\"Adminok\", strtext, \"Kilépés\",#);
}
return 1;
}
-
if(!strlen(strtext)) { format(strtext,sizeof(strtext),\"Nincs admin a szerveren\"); }
ShowPlayerDialog(playerid, 303, DIALOG_STYLE_MSGBOX,\"Adminok\", strtext, \"Kilépés\",#);
-
Semmi, ugyanúgy kiad egy üres táblázatot.
-
pedig ennek mûködnie kéne, mutasd a jelenlegi kódot
-
CMD:admins(playerid, params[])
{
new strtext[1000];
new string[1000];
new sendername[MAX_PLAYER_NAME];
if(IsPlayerConnected(playerid))
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(JatekosInfo[playerid][AdminSzint] == 1)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"{\"nsarga\"}|- Név: %s | ID: %d | Szint: 1 | Rang: VIP -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 2)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"{\"szold\"}|- Név: %s | ID: %d | Szint: 2 | Rang: Próbaidõs Admin -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 3)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"{\"vkek\"}|- Név: %s | ID: %d | Szint: 3 | Rang: Moderátor -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 4)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"|- Név: %s | ID: %d | Szint: 4 | Rang: Admin -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 5)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"{\"vzold\"}|- Név: %s | ID: %d | Szint: 5 | Rang: Fõadmin -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 6)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"{\"piros\"}|- Név: %s | ID: %d | Szint: 6 | Rang: Tulajdonos -|\", sendername, i);
}
strcat(string, \"\\n\");
strcat(strtext, string);
}
}
if(!strlen(strtext)) { format(strtext,sizeof(strtext),\"Nincs admin a szerveren\"); }
ShowPlayerDialog(playerid, 303, DIALOG_STYLE_MSGBOX,\"{\"piros\"}Adminok\", strtext, \"Kilépés\",#);
}
return 1;
}
-
CMD:admins(playerid, params[])
{
new strtext[1000];
new string[1000];
new count = 0;
new sendername[MAX_PLAYER_NAME];
if(IsPlayerConnected(playerid))
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(JatekosInfo[playerid][AdminSzint] == 1)
{
count++;
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"|- Név: %s | ID: %d | Szint: 1 | Rang: VIP -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 2)
{
count++;
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"|- Név: %s | ID: %d | Szint: 2 | Rang: Próbaidõs Admin -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 3)
{
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"|- Név: %s | ID: %d | Szint: 3 | Rang: Moderátor -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 4)
{
count++;
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"|- Név: %s | ID: %d | Szint: 4 | Rang: Admin -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 5)
{
count++;
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"|- Név: %s | ID: %d | Szint: 5 | Rang: Fõadmin -|\", sendername, i);
}
if(JatekosInfo[playerid][AdminSzint] == 6)
{
count++;
GetPlayerName(i, sendername, sizeof(sendername));
format(string, 128, \"|- Név: %s | ID: %d | Szint: 6 | Rang: Tulajdonos -|\", sendername, i);
}
strcat(string, \"\\n\");
strcat(strtext, string);
}
}
if(count == 0) return ShowPlayerDialog(playerid, 303, DIALOG_STYLE_MSGBOX,\"Adminok\", \"Nincs online admin\", \"Kilépés\",#);
else return ShowPlayerDialog(playerid, 303, DIALOG_STYLE_MSGBOX,\"Adminok\", strtext, \"Kilépés\",#);
}
return 1;
}
-
van még néhány észrevételem:
JatekosInfo[playerid][AdminSzint]
helyett
JatekosInfo[AdminSzint]
és a sok if helyett else if-ekkel csinálnám a helyedben
{FFFFFF}|- Név: 12345678901234567890 | ID: 123 | Szint: 2 | Rang: Próbaidõs Admin -|[/quote]
84 karakter ( + szöveg végi \\0 ) szóval max 85 karakter lehet a string-ed
new string[1000];
helyett:
new string[85];
és ehhez igazítani a dialog szöveghez létrehozott strtext tömböt is, lesz annyi admin, hogy kelljen 1000 cella?
amúgy teszteltem a kódot és 1 karakter hosszú volt az strtext
strcat(string, \"\\n\");
strcat(strtext, string);
ez a kód miatt...ahány játékos van online annyi karakter lesz...
if(strlen(string))
{
strcat(string, \"\\n\");
strcat(strtext, string);
strdel(string,0,sizeof(string));
}
vagy
strcat(string, \"\\n\");
ezt a kódot kitörlöd és a formatok végére beírod a \\n-t
-
Mostmár kiírja hogy nincs online admin, csak mostmeg 2x tesz be 1 admint.
Szerintem ha 4 player lenne akkor meg 3x írná az utolsót.
Kép:
-
Ezt próbáld meg.. hátha.
CMD:admins(playerid,params[])
{
new string[256],count = 0;
new sendername[MAX_PLAYER_NAME];
for(new i = 0;i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(JatekosInfo[playerid][AdminSzint] >= 1)
{
GetPlayerName(i, sendername, sizeof(sendername));
if(JatekosInfo[playerid][AdminSzint] == 1)format(string, 128, \"%s|- Név: %s | ID: %d | Szint: 1 | Rang: VIP -|\\n\", string,sendername, i);
else if(JatekosInfo[playerid][AdminSzint] == 2)format(string, 128, \"%s|- Név: %s | ID: %d | Szint: 2 | Rang: VIP -|\\n\", string,sendername, i);
else if(JatekosInfo[playerid][AdminSzint] == 3)format(string, 128, \"%s|- Név: %s | ID: %d | Szint: 3 | Rang: VIP -|\\n\", string,sendername, i);
else if(JatekosInfo[playerid][AdminSzint] == 4)format(string, 128, \"%s|- Név: %s | ID: %d | Szint: 4 | Rang: VIP -|\\n\", string,sendername, i);
else if(JatekosInfo[playerid][AdminSzint] == 5)format(string, 128, \"%s|- Név: %s | ID: %d | Szint: 5 | Rang: VIP -|\\n\", string,sendername, i);
else if(JatekosInfo[playerid][AdminSzint] == 6)format(string, 128, \"%s|- Név: %s | ID: %d | Szint: 6 | Rang: VIP -|\\n\", string,sendername, i);
count++;
}
}
if(count != 0) ShowPlayerDialog(playerid, 303, DIALOG_STYLE_MSGBOX,\"Adminok\",string, \"Kilépés\",\"\");
else
{
ShowPlayerDialog(playerid,303,DIALOG_STYLE_MSGBOX,\"Adminok\",\"Nincs online Admin!\",\"Kilép\",\"\");
}
}
return 1;
}
-
if(IsPlayerConnected(i))
strcat(strtext, string);
Igen mivel ezen a feltételen belül van...
a string formázó if-else if-eken beülre rakd vagy az elejére rakj egy strdel-t de inkább az elõbbit ajánlom
Ezt próbáld meg.. hátha.
CMD:admins(playerid,params[])
{
new string[256],count = 0;
new sendername[MAX_PLAYER_NAME];
for(new i = 0;i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(JatekosInfo[playerid][AdminSzint] >= 1)
{
GetPlayerName(i, sendername, sizeof(sendername));
if(JatekosInfo[playerid][AdminSzint] == 1)format(string, 128, \"%s|- Név: %s | ID: %d | Szint: 1 | Rang: VIP -|\\n\", string,sendername, i);
else if(JatekosInfo[playerid][AdminSzint] == 2)format(string, 128, \"%s|- Név: %s | ID: %d | Szint: 2 | Rang: VIP -|\\n\", string,sendername, i);
else if(JatekosInfo[playerid][AdminSzint] == 3)format(string, 128, \"%s|- Név: %s | ID: %d | Szint: 3 | Rang: VIP -|\\n\", string,sendername, i);
else if(JatekosInfo[playerid][AdminSzint] == 4)format(string, 128, \"%s|- Név: %s | ID: %d | Szint: 4 | Rang: VIP -|\\n\", string,sendername, i);
else if(JatekosInfo[playerid][AdminSzint] == 5)format(string, 128, \"%s|- Név: %s | ID: %d | Szint: 5 | Rang: VIP -|\\n\", string,sendername, i);
else if(JatekosInfo[playerid][AdminSzint] == 6)format(string, 128, \"%s|- Név: %s | ID: %d | Szint: 6 | Rang: VIP -|\\n\", string,sendername, i);
ShowPlayerDialog(playerid, 303, DIALOG_STYLE_MSGBOX,\"Adminok\",string, \"Kilépés\",\"\");
count++;
}
}
else if(count == 0)
{
ShowPlayerDialog(playerid,303,DIALOG_STYLE_MSGBOX,\"Adminok\",\"Nincs online Admin!\",\"Kilép\",\"\");
}
}
return 1;
}
[/quote]
ShowPlayerDialog(playerid, 303, DIALOG_STYLE_MSGBOX,\"Adminok\",string, \"Kilépés\",\"\");
ezt szerintem nem kéne a cikluson belülre rakni :)
-
hopp. elírtam bocsi, módosítva!