- 0
Вопросы
Лучший ответ
/*Команда показа наказаний игрока*/ {
// code...
SetPVarInt(playerid, "PunishList", 1);
CheckPunish(playerid, id);
return 1;
}
stock CheckPunish(playerid, id)
{
new mquery[1024];
SetPVarInt(playerid, "PunishID", id); // Сохраняем id, что бы не потерять его при перелистовании страниц
new MySQLOffSet = (GetPVarInt(playerid, "PunishList")-1)*25; // Создаём сдвиг запросу по отношению страницы игрока
mysql_format(MySQLGo, mquery, sizeof(mquery), "SELECT * FROM `punish` WHERE `Player` = '%i' LIMIT 25 OFFSET %d", pData[id][pMysqlID], MySQLOffSet);
// Делаем запрос в БД с поиском не более 25 наказаний с указанным сдвигом
mysql_query(MySQLGo, mquery);
new push = cache_num_rows();
new str_1[100];
STRING_GLOBAL[0] = EOS;
format(str_1, 100, "История наказаний: %s", pData[id][pNickname]);
if(!push) return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, str_1, !"{FFFFFF}Истории наказаний не найдено", !"OK", !"");
static text[1056], date12[64];
for(new i; i < push; i++)
{
cache_get_field_content(i, "Action", text, MySQLGo);
cache_get_field_content(i, "Date", date12, MySQLGo);
format(STRING_GLOBAL, sizeof(STRING_GLOBAL), "{FF6347}%s[%s] %s\n", STRING_GLOBAL, date12, text);
}
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, str_1, STRING_GLOBAL, "След. страница", "Закрыть");
// Совет, используйте в кнопках диалога как можно меньше букв "Редактировать"
// На сколько я помню, у меня даже слово "Редактировать" не вместилось, сравнение выше
return 1;
}
public OnDialogResponse(...) {
/*проверка на диалог*/ {
if(response) {
SetPVarInt(playerid, "PunishList", GetPVarInt(playerid, "PunishList")+1); // перелистываем страницу на 1
ShowPunish(playerid, GetPVarInt(playerid, "PunishID")); // Вот тут и нужен было сохранять ID; Показываем игроку наказания
} else return false;
}
}
Вроде бы так, попробуйте
Извините, но мне было лень делать проверку на то, есть ли ещё наказания, кроме показанных на странице))
Если у Вас админ выйдет за пределы показываемых наказаний, ему просто будет писать "Истории наказаний не найдено", поэтому нормально
Извините, но мне было лень делать проверку на то, есть ли ещё наказания, кроме показанных на странице))
Если у Вас админ выйдет за пределы показываемых наказаний, ему просто будет писать "Истории наказаний не найдено", поэтому нормально
Эта тема закрыта для публикации ответов.
Войдите для возможности подписаться
Подписчики
0
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
-
Похожий контент
-
От Badr
дратуте , решил сделать лаунчер самп на node.js , все норм сделал дизайн/стиль , но когда захожу абсолютно на любой сервер (заходил на онух рп ,и на свой сервер ) и пишет вронг сервер пароль ( мне лень на англиском писать ) скрин прикрепил
исходник https://disk.yandex.ru/d/D_104GFgrFO16A ( сам делал , то-есть дипсик )
я знаю все будут писать что (Слово удалено системой) ии-шное
-
trevison Активный 32
Как сделать страницы в данном диалоге? На первой странице первые 25 наказаний игрока
таблица в бд выглядит так:
Отредактировано пользователем trevison
Поделиться сообщением
Ссылка на сообщение