[PAWN] Как сделать систему репортов?

Хранитель Говнокода

Активный
Автор темы
128
33
Версия SA-MP
  1. Любая
приветики, я вот пишу мод, мне нужно сделать репорт, и админ чат, как реализовать систему: тот же SendClientMessage должен отправить сообщение только определенным людям, например, админам. Помогите
 
Решение
Перебирать всех игроков на сервере и делать соответствующие проверки. На основе кода ниже можешь даже сделать отдельную функцию типа SendMessageForAdmins, чтобы постоянно не прописывать кучу строк.

C:
// Подготовить сообщение на вывод
new
    sMessage[144 + 1];
format(sMessage, sizeof sMessage, "[REPORT] %s[%d]: %s",
      имя_игрока, ид_игрока, текст_сообщения);

// Перебор можно сделать с помощью foreach и итераторов, если установлен: foreach (new i: Player)
for (new i = 0; i < GetPlayerPoolSize(); i++) {
    // Прекратить выполнение этой итерации цикла, если игрок i не подключен или не является администратором
    if (!IsPlayerConnected(i) || !игрок_администратор) {
        continue;
    }
   
    // Вывести сообщение для игрока i...

savvin

Известный
406
139
Перебирать всех игроков на сервере и делать соответствующие проверки. На основе кода ниже можешь даже сделать отдельную функцию типа SendMessageForAdmins, чтобы постоянно не прописывать кучу строк.

C:
// Подготовить сообщение на вывод
new
    sMessage[144 + 1];
format(sMessage, sizeof sMessage, "[REPORT] %s[%d]: %s",
      имя_игрока, ид_игрока, текст_сообщения);

// Перебор можно сделать с помощью foreach и итераторов, если установлен: foreach (new i: Player)
for (new i = 0; i < GetPlayerPoolSize(); i++) {
    // Прекратить выполнение этой итерации цикла, если игрок i не подключен или не является администратором
    if (!IsPlayerConnected(i) || !игрок_администратор) {
        continue;
    }
   
    // Вывести сообщение для игрока i
    SendClientMessage(i, цвет, sMesssage);
}

А еще для этого есть спец раздел: https://www.blast.hk/forums/164/