[CS: Source] Bot Prefix (Only T)

Тема в разделе "Утверждённые плагины", создана пользователем Vit_ amin, 4 янв 2014.

  1. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.065
    Симпатии:
    345
    Bot Prefix (Only T)
    Текущая версия: 1.0

    Автор: Vitamin (Я)

    Описание:
    Плагин позволяет изменить AI игрокам префикс только команды Террористов (в отличае от консольной переменной bot_prefix, которая меняет префикс-имена всем AI игрокам)

    Требования:

    Поддерживаются игры:
    • Только CS: Source

    Установка:
    Извлеките содержимое архива bot_prefix_t в папку sourcemod вашего сервера.

    Переменные:
    • bot_prefix_t
      По умолчанию: ""
      Префикс-имя AI игроков террористов
     

    Вложения:

    Последнее редактирование модератором: 5 сен 2015
    CTe6eJIeK_vRn нравится это.
  2. FrozDark

    FrozDark Команда сайта HLMod Модератор

    Сообщения:
    1.761
    Симпатии:
    1.915
    ещё тогда уже добавь для КТ
    а смысл плагина в чем?
     
  3. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.065
    Симпатии:
    345
    Для Zombie Riot или иных модификаций с AI игроками
    А, если кому-то понадобиться, чтобы было и за CT такое же то не вопрос.
     
    Последнее редактирование: 4 янв 2014
  4. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    892
    Симпатии:
    659
    1. По-моему пробел не удаляется после смены значения переменной на ""

    2. Что если бот перешел в другие команды, отличные от команды Террористов

    3. Рано получаешь многие значения

    4. Замени GetClientCount на MaxClients
     
  5. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.065
    Симпатии:
    345
    1. TrimString
    2. Не думаю что кто-то будет перемешать бота в другую команду так как есть bot_add_t; bot_kick_t
    3. Спасибо за ошибку. Но не совсем понял где именно проблемы .
    4. Не вижу смысла .
     
  6. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.001
    Симпатии:
    2.993
    Смысл есть.
    Если будет GetClientCount() и на сервере 20 игроков, он вернет 20.
    А у ботов индексы могут быть и выше, например если бот был добавлен при присутствии на сервере 20 человек, его индекc будет уже 21.

    Поэтому нужно юзать MaxClients, чтобы пройтись по всем игрокам.

    Например, тут:

    PHP:
    if (GetEventInt(event"team") == CS_TEAM_T && IsFakeClient(client) && strlen(bot_prefix) != 0)
    Зачем получать команду, если игрок не бот? Или же зачем проверять на бота, если квар пустой?
    Так было бы рациональнее:
    PHP:
    if ((bot_prefix) != && IsFakeClient(client) && GetEventInt(event"team") == CS_TEAM_T)
     
    Vit_ amin нравится это.
  7. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.065
    Симпатии:
    345
    Да, есть такое тоже вспомнил о такой проблеме, спасибо действительно ошибка, в таком случае как то так.
     

    Вложения:

    • bot_prefix_t.sp
      Размер файла:
      1,9 КБ
      Просмотров:
      5
  8. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.001
    Симпатии:
    2.993
    Vit_ amin, А насчет этого:
    PHP:
    GetConVarString(h_cvar_botnamebot_prefixsizeof(bot_prefix));
    и глобального new String:bot_name[MAX_NAME_LENGTH];
    Я бы так не делал.

    Лучше сделай глобальную строку и в нее получи GetConVarString(h_cvar_botname...).
    А то смена команды происходит довольно часто, при входе и выборе команды, она вроде как тоже вызывается.
    А вместо глобального String:bot_name, создавай его перед циклом и всё.
    PHP:
    decl String:bot_name[MAX_NAME_LENGTH+*]; 
    // * - немного больше, т.к. в неё ты потом допишешь префикс.
     
  9. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.065
    Симпатии:
    345
    Не совсем понял в чем моя ошибка.