Alex Westbrook
Специалист
Всем привет, сейчас решил выложить систему Top для вашего сервера.
Если у вас есть небольшие знания в pawn, то вы с легкостью сможете переделать ее под уровень / кол-во EXP / или-же по какому-то другому критерию
Итак, начнем...
Ко всем макросам:
Предположим, что вы имеете меню, тогда, мы прописываем после всех пунктов:
Далее, если-же у вас нет меню, или-же вы хотите сделать аналог, но на команде, то сделайте в после всех команд:
далее, мы идем ко всем STOCK и создаем следующее:
Далее создаем еще один сток:
Пожалуй все
Сорян за табуляцию, слетела после создания темы ...
Если у вас есть небольшие знания в pawn, то вы с легкостью сможете переделать ее под уровень / кол-во EXP / или-же по какому-то другому критерию
Итак, начнем...
Ко всем макросам:
PHP:
#define dgnull 9999
PHP:
case NUMBER: mysql_function_query(handle, "SELECT `Name`, `Kills` FROM `accounts` ORDER BY `Kills` DESC LIMIT 10", true, "top_player", "d", playerid); //Место NUMBER - укажите ID ячейки в ListItem (case - если меню на CASE)
//Если-же меню на if(listitem), то тогда:
if(listitem == NUMBER) mysql_function_query(handle, "SELECT `Name`, `Kills` FROM `accounts` ORDER BY `Kills` DESC LIMIT 10", true, "top_player", "d", playerid); //Место NUMBER - укажите ID ячейки в ListItem
PHP:
CMD:top(playerid)
{
mysql_function_query(handle, "SELECT `Name`, `Kills` FROM `accounts` ORDER BY `Kills` DESC LIMIT 10", true, "top_player", "d", playerid); //Handle - подключение к mySQL, а SELECT.. - ваш запрос.
return 1;
}
PHP:
public top_player(playerid)
{
new r[2];
cache_get_data(r[0], r[1]);
if(r[0])
{
new fulldialog[3000], str[200];
fulldialog = "{ffffff}Место\tУбийств\t {FF9900}Ник\n\n";
for(new i = 0; i < r[0]; i++)
{
new name[MAX_PLAYER_NAME];
cache_get_field_content(i, "Name", name, handle, MAX_PLAYER_NAME);
new id = GetPlayerID(name);
if(IsPlayerConnected(id) && Logged[id]) format(str, sizeof str, "{ffffff}%d\t %d\t {FF9900}%s\n",i+1, PlayerInfo[id][pKills], name); //
else format(str, sizeof str, "{ffffff}%d\t %d\t {FF9900}%s\n",i+1, cache_get_field_content_int(i, "Kills", handle), name);
strcat(fulldialog, str);
}
ShowPlayerDialog(playerid, dgnull, DIALOG_STYLE_MSGBOX, "Топ 10 Игроков", fulldialog, "Готово", "");
}
return 1;
}
PHP:
stock GetPlayerID(Names[])
{
foreach(new i:Player)
{
if(!strcmp(Names, PlayerInfo[i][pName])) return i;
}
return -1;
}
Последнее редактирование:
