Команда для использования команд от имени другого игрока

rejovs

Новичок
Автор темы
6
2
Интересует команда для того, что бы использовать команды от имени других игроков
Использование /cmd [id] [cmd] [params]
/cmd 6 s всем привет или же /cmd 6 /s всем привет
есть такая версия, но она только для вывода текста в чат, команды использовать нельзя.
Код:
CMD:cmd(playerid, params[])
{
    //ваши проверки
    if(sscanf(params, "is[128]", params[0], params[1])) return SCM(playerid, COLOR_WHITE, "Введите: /cmd [id игрока] [текст]");
    OnPlayerText(params[0], params[1]);
    return true;
}

Вариант с OnPlayerCommandText не работает из-за командного процессора dc_cmd, так что интересует именно версия переведенная под него, может у кого есть/кто-то знает как реализовать
 
Решение

repugnantbytheway

Известный
140
38
 
  • Нравится
Реакции: rejovs

rejovs

Новичок
Автор темы
6
2
Уже есть два разных одинаково рабочих варианта, но спасибо.
 

repugnantbytheway

Известный
140
38
CallLocalFunction("OnPlayerCommandText", "is", params[0], mess);
и
DC_CMD(params[0], params[1]);
CallLocalFunction я тебе и подсказал, а что касаемо второго варианта, так лучше уж перейти на Pawn.CMD и использовать нативную PC_EmulateCommand, которая выполняет те же действия.
 
Последнее редактирование:

loading.exe

Участник
84
10
Интересует команда для того, что бы использовать команды от имени других игроков
Использование /cmd [id] [cmd] [params]
/cmd 6 s всем привет или же /cmd 6 /s всем привет
есть такая версия, но она только для вывода текста в чат, команды использовать нельзя.
Код:
CMD:cmd(playerid, params[])
{
    //ваши проверки
    if(sscanf(params, "is[128]", params[0], params[1])) return SCM(playerid, COLOR_WHITE, "Введите: /cmd [id игрока] [текст]");
    OnPlayerText(params[0], params[1]);
    return true;
}

Вариант с OnPlayerCommandText не работает из-за командного процессора dc_cmd, так что интересует именно версия переведенная под него, может у кого есть/кто-то знает как реализовать
как скачать то?
 

cute_filatov

Активный
179
62
возьми лучше такой вариант:

Код:
CMD:cmd(playerid, params[])
{
    if(!Osnovat(PN(playerid))) return SCM(playerid, COLOR_RED, NO_DOSTUP_TEXT);
    if(!ADuty{playerid}) return SCM(playerid, COLOR_GREY, NO_DUTY_TEXT);
    static id, cmd[145];
    if(sscanf(params, "us[145]", id, cmd)) return SCM(playerid, COLOR_RED, !"Используй: /cmd [id] [cmd]");
    if(id == INVALID_PLAYER_ID) return SCM(playerid, COLOR_LIGHTRED, !"[Ошибка] {FFFFFF}Игрок не найден!");
    PC_EmulateCommand(id, cmd);
    return 1;
}
как скачать то?