- 0
Sign in to follow this
Followers
0
[закрыто] Не работают команды (/s /me /do /try)
Question
Лучший ответ
@heazych, в OnPlayerCommandReceived с помощью флагов вы должны определять категорию команды, а потом, с помощью дополнительных условий, проверять, может ли игрок пользоваться этой категорией команд. В данный момент в OnPlayerCommandReceived написано, что если команда относится к CMD_CHAT, значит она не должна выполняться. Все остальные команды - выполняются. Ибо возврат 1 указывает на то, что следом будет вызвана требуемая команда, а возврат 0 - прерывание цепочки вызовов. Стоит сделать наоборот: если выполнились условия, вызываем команду. Нет? Прерываем цепь.
public OnPlayerCommandReceived(playerid, cmd[], params[], flags) {
if(flags & CMD_CHAT) {
return 1;
}
return 0;
}
Ну, и для того, чтобы эти флаги имели хоть какой-то смысл, вдобавок уже накручивать условия вида "Игроку не ограничена отправка сообщений в чат?" и "Игрок авторизован?".
public OnPlayerCommandReceived(playerid, cmd[], params[], flags) {
if ((flags & CMD_CHAT) && isAuthorized(playerid) && !isMuted(playerid)) {
return 1;
}
return 0;
}

This topic is now closed to further replies.
Sign in to follow this
Followers
0
-
Recently Browsing 0 members
No registered users viewing this page.
-
Similar Content
-
By tgfoscar
Требуется свободное владение C++. Античит, новый способ добавления техники на сервер, совместимость с CEF и возможность добавления полезных функций. За дополнительной информацией обращайтесь к wayne_gm в Discord. -
By enotplaysupptor
Основа для мода Samp для начинающих
Скачать файл ╔══════════════════════════════════════════════════╗
║ Test-RolePlay v0.1 ║
║ Современная основа для SA-MP серверов ║
╚══════════════════════════════════════════════════╝
✦ О ПРОЕКТЕ:
Добро пожаловать в Test-RolePlay - мод с нуля,
созданный как универсальная основа для SA-MP проектов.
Проект был создан для тех кто не знает с чего начать и начинающих разработчиков
Версия: T-RP v0.1 [Актуальная]
✦ ОСНОВНЫЕ ПЛАГИНЫ:
▸ CrashDetect - отладка ошибок
▸ MySQL R41+ - работа с базой данных
▸ Pawn.CMD - система команд
▸ Pawn.Regex - регулярные выражения
▸ SKY - улучшенные игровые функции
▸ sscanf2 - парсинг параметров
▸ Streamer - динамические объекты
▸ TOTP - двухфакторная аутентификация
✦ КЛЮЧЕВЫЕ СИСТЕМЫ:
┌──────────────────────────────────────────────┐
│ 🔹 Умная регистрация/авторизация: │
│ - Хеширование паролей │
│ - Привязка Email │
│ - Выбор пола и расы персонажа │
├──────────────────────────────────────────────┤
│ 🔹 Командная система: │
│ - Полный набор РП-команд │
│ - Расширенные админ-команды │
├──────────────────────────────────────────────┤
│ 🔹 Игровое меню: │
│ - Персональная статистика │
│ - Настройки аккаунта │
│ - Система жалоб и вопросов │
├──────────────────────────────────────────────┤
│ 🔹 Дополнительные системы: │
│ - АФК-режим с автоматическим детектом │
│ - Интегрированный античит (Nex-AC) │
└──────────────────────────────────────────────┘
✦ ПЛАНЫ РАЗРАБОТКИ:
» Добавление новых игровых систем
» Оптимизация существующего кода
» Расширение возможностей для администраторов
» Улучшение пользовательского интерфейса
Если увижу что вы хотите что бы я продолжил разработку данного мода пишите или можете проявиться большую активность
Добавил enotplaysupptor Добавлено 09.07.2025 Категория Моды Автор Я
-
By Nekit2019
Добрый день, имеется сервер в CRMP 0.3е (старичок, знаю, решил поностальгировать) . меняю погоду через ркон, но она скипается через пару минут на нулевую! Не пойму от чего, скриптом отдельно на погоду нет. Пожскажите, может в gamemod0 или где еще и куда прописать можно погоду? либо чтоб менялась сама, либо статическую. Вставлял из инета код в гейммод на рандомную погоду через пол часа с уведомлениями - результат такой же, меняется на 1-20 ,но сама сбрасывается на 0 через минуту.
-
heazych Освоившийся 2
Приветствую всех. Пишу мод с нуля на Pawn.CMD 3.3.6 и столкнулся с следующей проблемой. Написал команды /s /me /do /try, мод при компиляции ошибки не выдаёт, но при попытке задействовать данные команды в игре ничего не происходит. Что мне делать?
//================================[Ôëàãè]=======================================
flags:s(CMD_CHAT)
flags:me(CMD_CHAT)
flags:do(CMD_CHAT)
flags:try(CMD_CHAT)
//===========================[Êîìàíäû ñåðâåðà]==================================
cmd:s(playerid, params[])
{
new string[MAX_CHATBUBBLE_LENGTH];
format(string, sizeof string, "%s êðè÷èò: %s", GN(playerid), params);
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) ApplyAnimation(playerid,"RIOT","RIOT_shout",4.1,0,0,0,0,1);
ProxDetector(playerid, 30.0, string);
return 1;
}
cmd:me(playerid, params[])
{
new string[MAX_CHATBUBBLE_LENGTH];
format(string, sizeof string, "%s %s", GN(playerid), params);
ProxDetector(playerid, 20.0, string, COLOR_PURPLE, COLOR_PURPLE);
return 1;
}
cmd:do(playerid, params[])
{
new string[MAX_CHATBUBBLE_LENGTH];
format(string, sizeof string, "%s (( %s ))", params, GN(playerid));
ProxDetector(playerid, 20.0, string, COLOR_LIGHTBLUE, COLOR_LIGHTBLUE);
return 1;
}
cmd:try(playerid, params[])
{
new string[MAX_CHATBUBBLE_LENGTH];
if(random(2) == 1) format(string, sizeof(string), "%s %s - {00800}óäà÷íî", GN(playerid), params);
else format(string, sizeof(string), "%s %s - {FF0000}íåóäà÷íî", GN(playerid), params);
ProxDetector(playerid, 20.0, string, -1, -1);
return 1;
}
Share this post
Link to post