Вопросы

Всем привет, возникла маленькая проблема я хочу сделать команду /fakecmd(написать команду от другого игрока)

У меня уже есть исходник данный команды осталось знать.

На что надо заменить это?

zcmd_OnPlayerCommandText(targetid, params);

 

Поделиться сообщением


Ссылка на сообщение

12 ответов на этот вопрос

  • 0

@R0m4ik, а зачем это заменять чем-то? Вы указываете, что нужно вызвать команду, которая указана в params (вместе с аргументами) для игрока targetid.

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 1/25/2022 в 15:33, Cawfee сказал:

@R0m4ik, а зачем это заменять чем-то? Вы указываете, что нужно вызвать команду, которая указана в params (вместе с аргументами) для игрока targetid.

Читать далее...  

Вы меня не правильно поняли, команда создана для того чтобы написать команду от другого игрока(допустим я стою рядом с игрокам и хочу прикольнуться над ним ввожу команду /fakecmd ID /pay ID 3333) но когда я пытаюсь это сделать

мне выдает error изначально там был onplayercommandtext а zcmd_ я добавил сам.

 

C:\Users\Roma\Desktop\REVENT RP BY SOSED\gamemodes\justice.pwn(45848) : error 004: function "zcmd_OnPlayerCommandText" is not implemented

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@R0m4ik, если в вашем моде есть команда help, например:

CMD:help(playerid) {
    // неважно, что здесь
}

Тогда вызов этой команды осуществляется следующим образом:

cmd_help(playerid, params[]);

Если же команда объявлена с аргументами (ну, например, команда /goto для телепорта к игроку с указанным ID):

CMD:goto(playerid, params[]) {
    // тут какой-то код
}

Тогда вызов осуществляется следующим образом:

cmd_goto(playerid, "5"); // вызвать команду goto

Сделайте по аналогии для своей команды.

Поделиться сообщением


Ссылка на сообщение
  • 0

Я так понимаю, для этой команды нужно сделать вызов другой команды в рантайме. На момент компиляции он не знает какую именно функцию надо звать. 

@R0m4ik  А почему решили добавить zcmd к началу паблика? Попробуйте просто OnPlayerCommandText оставить, или так не работает? 

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 1/25/2022 в 17:08, DEST сказал:

Я так понимаю, для этой команды нужно сделать вызов другой команды в рантайме. На момент компиляции он не знает какую именно функцию надо звать. 

@R0m4ik  А почему решили добавить zcmd к началу паблика? Попробуйте просто OnPlayerCommandText оставить, или так не работает? 

Читать далее...  

Не-а onplayercommandtext не работает ошибку такую же выдает.

Поделиться сообщением


Ссылка на сообщение
  • 0

@R0m4ik Скидывайте полный код команды. 

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 1/26/2022 в 09:54, DEST сказал:

@R0m4ik Скидывайте полный код команды. 

Читать далее...  
  открыть спойлер

 

Поделиться сообщением


Ссылка на сообщение
  • 0

up

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@R0m4ik 

 

CMD:fakecmd(playerid, params[])
{
    if (PlayerInfo[playerid][pAdmin] < 5)
        return 1;

    new
        targetid,
        cmd_text[128];

    if (sscanf(params, "us[128]", targetid, cmd_text))
        return SendClientMessage(playerid, -1"Введите: /fakecmd [ID игрока] [команда - текст]");

    if (targetid == INVALID_PLAYER_ID)
        return SendClientMessage(playerid, -1"Игрок не найден");

    zcmd_OnPlayerCommandText(targetid, cmd_text);
    return 1;
}

 

Отредактировано пользователем LoX_1337

Поделиться сообщением


Ссылка на сообщение
  • 0
  В 1/27/2022 в 14:38, LoX_1337 сказал:

@R0m4ik 

 

CMD:fakecmd(playerid, params[])
{
    if (PlayerInfo[playerid][pAdmin] < 5)
        return 1;

    new
        targetid,
        cmd_text[128];

    if (sscanf(params, "us[128]", targetid, cmd_text))
        return SendClientMessage(playerid, -1"Введите: /fakecmd [ID игрока] [команда - текст]");

    if (targetid == INVALID_PLAYER_ID)
        return SendClientMessage(playerid, -1"Игрок не найден");

    zcmd_OnPlayerCommandText(targetid, cmd_text);
    return 1;
}

 

Читать далее...  

: error 004: function "zcmd_OnPlayerCommandText" is not implemented

Поделиться сообщением


Ссылка на сообщение
  • 0

@R0m4ik, чет поглядел в Интернете, многие жалуются на проблему с вызовом команд, записанных в текстовом виде, при использовании zcmd. Вроде как следующий вариант позволяет осуществить желаемое.

CallLocalFunction("OnPlayerCommandText""is", targetid, params);

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Cawfee, Спасибо все работает!

Отредактировано пользователем Cawfee

Заметка от Cawfee , создано

Используйте кнопку "Ответить" вместо "Цитата" для ответа пользователям.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Владислав2
      От Владислав2
      Здравствуйте, при компиляции появляется ошибка,

      Ошибка:
      error 017: undefined symbol "REP_KUZIA_TD"

      Строки:
       
          REP_KUZIA_TD[0] = TextDrawCreate(7.499990, 314.444396, "REP: 1");
          TextDrawLetterSize(REP_KUZIA_TD[0], 0.400000, 1.600000);
          TextDrawAlignment(REP_KUZIA_TD[0], 1);
          TextDrawColor(REP_KUZIA_TD[0], -1);
          TextDrawSetShadow(REP_KUZIA_TD[0], 0);
          TextDrawSetOutline(REP_KUZIA_TD[0], 1);
          TextDrawBackgroundColor(REP_KUZIA_TD[0], 255);
          TextDrawFont(REP_KUZIA_TD[0], 1);
          TextDrawSetProportional(REP_KUZIA_TD[0], 1);
          TextDrawSetShadow(REP_KUZIA_TD[0], 0);
          REP_KUZIA_TD[1] = TextDrawCreate(6.249957, 330.518493, "ASK: 0");
          TextDrawLetterSize(REP_KUZIA_TD[1], 0.400000, 1.600000);
          TextDrawAlignment(REP_KUZIA_TD[1], 1);
          TextDrawColor(REP_KUZIA_TD[1], -1);
          TextDrawSetShadow(REP_KUZIA_TD[1], 0);
          TextDrawSetOutline(REP_KUZIA_TD[1], 1);
          TextDrawBackgroundColor(REP_KUZIA_TD[1], 255);
          TextDrawFont(REP_KUZIA_TD[1], 1);
          TextDrawSetProportional(REP_KUZIA_TD[1], 1);
          TextDrawSetShadow(REP_KUZIA_TD[1], 0);
          return 1;
      }

      Буду рад если кто-то поможет