ChangeTeamPlayer 1.0

Позволяет переместить игрока и команды, сделать автобаланс команд.

  1. Drumanid

    Drumanid Не все так как мы 'думаем'

    Сообщения:
    1.645
    Симпатии:
    1.218
    Пользователь Lisoh разместил новый ресурс:

    ChangeTeamPlayer - Позволяет переместить игрока и команды, сделать автобаланс команд.

    Узнать больше об этом ресурсе...
     
    panikajo, Lebios321256, BaFeR и ещё 1-му нравится это.
  2. Крузяра

    Крузяра Супермодератор

    Сообщения:
    6.067
    Симпатии:
    4.822
    Ну что ж, начнём.

    Имена глобальных переменных сложно читаются...

    PHP:
    hMenu.SetTitle("Выберите игрока: \n \n");
    Тут \n последний - лишний.
    PHP:
    hMenu.SetTitle("Выберите игрока: \n ");
    PHP:
    char id[15]
    Компилятор слегка изменяет размеры массивов. В случае со строками, увеличивает, чтобы размер делился на 4 без остатка.
    Со всеми другими типами - чтобы делился на 2 без остатка.
    PHP:
    char id[16]
    PHP:
           hMenu.AddItem("спекторы""За спекторы");
           
    hMenu.AddItem("террористы""За террористов");
           
    hMenu.AddItem("контр-террористы""За контр-террористов");
    Т.к. в каллбеке не проверяется info-строка, можно оставить её пустой.
    PHP:
           hMenu.AddItem("""За спекторы");
           
    hMenu.AddItem("""За террористов");
           
    hMenu.AddItem("""За контр-террористов");
    PHP:
    void DeleteInfo(int iClient)
    {
       
    g_sQueue[iClient] = "";
       
    g_sTeam[iClient] = "";
    -->
    PHP:
    void DeleteInfo(int iClient)
    {
       
    g_sQueue[iClient][0] = 0;
       
    g_sTeam[iClient][0] = 0;
    И непонятно, зачем глобально хранятся строки, которые выводятся в меню/чате.
     
    BossKotoriiNeSmok нравится это.
  3. Drumanid

    Drumanid Не все так как мы 'думаем'

    Сообщения:
    1.645
    Симпатии:
    1.218
    И так погнали :ab:

    Не лишний, я всегда так делаю, по своим чувствам. Чекай мои плагины.

    Приму к сведению.

    Серьезно? А ну попробуй)
    PHP:
    hMenu.GetItem(optiong_sTeam[g_iTarget[iClient]], sizeof(g_sTeam[]));
    Такое чувство как будто ты все из пальца высосал :glare:
    По моему это ничего не меняет.

    Информацию в меню я как по твоему получаю? Есть другие варианты?:flood:
     
  4. R1KO

    R1KO всё тлен Супермодератор

    Сообщения:
    8.209
    Симпатии:
    5.672
    лишний. \n не работает если он последний символ в строке. Так что пробела после него достаточно.
     
  5. Drumanid

    Drumanid Не все так как мы 'думаем'

    Сообщения:
    1.645
    Симпатии:
    1.218
    [​IMG]
    об этом не знал...

    Кое что забыл вписать, маленькие поправки внесу.
     
  6. Крузяра

    Крузяра Супермодератор

    Сообщения:
    6.067
    Симпатии:
    4.822
    Не заметил, но всё равно. Можно там захардкодить нормально имя команды в зависимости от номера.
    PHP:
                   switch(option)
                   {
                       case 
    0g_iTeam[g_iTarget[iClient]] = 1g_sTeam[g_iTarget[iClient]] = "спекторы";
                       case 
    1g_iTeam[g_iTarget[iClient]] = 2g_sTeam[g_iTarget[iClient]] = "террористы";
                       case 
    2g_iTeam[g_iTarget[iClient]] = 3g_sTeam[g_iTarget[iClient]] = "контр-террористы";
                   }
    У тебя везде хранятся индексы команд, игрока и выборов. Так не проще по этим номерам и выводить нужную строку, а не хранить глобально в нескольких количествах одну и ту же информацию?
     
  7. Drumanid

    Drumanid Не все так как мы 'думаем'

    Сообщения:
    1.645
    Симпатии:
    1.218
  8. pentaxist

    pentaxist

    Сообщения:
    363
    Симпатии:
    68
    Баланс только в ручном режиме? Или автобаланс тоже присутствует при:
    mp_autoteambalance "0"
     
  9. Drumanid

    Drumanid Не все так как мы 'думаем'

    Сообщения:
    1.645
    Симпатии:
    1.218
    Сделай доброе дело, захардкорь пользователям оптимизацию, а я поучусь :acute:
    Не в коем случае не стеб, мне с гуру спорить нет смысла, в дураках останусь. :buba:

    Баланс не зависит от каких то кваров, сделает команды идентичными, если это возможно.
     
  10. pentaxist

    pentaxist

    Сообщения:
    363
    Симпатии:
    68
    @Lisoh, я немного другое имел ввиду)) сделает ли Ваш плагин автобаланс сам, без участия админа, если в одной команде будет 3 игрока а в другой 5.
     
  11. Drumanid

    Drumanid Не все так как мы 'думаем'

    Сообщения:
    1.645
    Симпатии:
    1.218
    Special Team Balancer

    Опять наверное не понял, ну да ладно... Если вы спрашиваете так...
    Если я установлю ваш плагин - он будет делать автобаланс автоматически? - Нет, не будет, пока сам администратор не сделает этого.
     
    Последнее редактирование модератором: 21 янв 2018
    pentaxist нравится это.
  12. pentaxist

    pentaxist

    Сообщения:
    363
    Симпатии:
    68
    Понял, стоит на сервере указанный плагин и swapteam, думал может Ваш плагин заменит их. Спасибо за ответ.
     
  13. LeXon

    LeXon

    Сообщения:
    233
    Симпатии:
    16
    Как на счёт запила под css ob?
     
  14. Drumanid

    Drumanid Не все так как мы 'думаем'

    Сообщения:
    1.645
    Симпатии:
    1.218
    Не играл, точнее не создавал там свои сервера... Скидывайте лог ошибок, попробую поправить.
     
  15. LeXon

    LeXon

    Сообщения:
    233
    Симпатии:
    16
    @Lisoh, чуток позже, я ещё не ставил, нет возможности. Может кто другой потестит раньше
    --- Добавлено позже ---
    @Lisoh, всё работает на css, хотелось бы изменений:
    В спекторы на позиции 3. а не 1.
    Раскрасить все сообщения {blue}
     
    Последнее редактирование: 31 янв 2018
  16. The Space

    The Space

    Сообщения:
    68
    Симпатии:
    9
    Не хочешь добавить еще функцию для рандомного перемешивания команд?)
     
  17. Gosha112

    Gosha112

    Сообщения:
    89
    Симпатии:
    2
    На какой флаг этот плагин привязан? И как изменить его?
     
  18. Terryfold

    Terryfold

    Сообщения:
    90
    Симпатии:
    51
    Код:
            g_hAdminMenu.AddItem("ChangeTeamPlayerItem", hAdminMenuChangeTeam, hCategory, "ChangeTeamPlayer", ADMFLAG_KICK);
            g_hAdminMenu.AddItem("ChangeTeamPlayerAllItem", hAdminMenuChangeTeamAll, hCategory, "ChangeTeamPlayerAll", ADMFLAG_KICK);
            g_hAdminMenu.AddItem("AutoBalanceItem", hAdminMenuAutoBalance, hCategory, "AutoBalance", ADMFLAG_KICK);
    На данный момент привязан ADMFLAG_KICK, который равняется флагу "c". Можешь изменить по примеру ниже:
    #define ADMFLAG_RESERVATION (1<<0) /**< Convenience macro for Admin_Reservation as a FlagBit */
    #define ADMFLAG_GENERIC (1<<1) /**< Convenience macro for Admin_Generic as a FlagBit */
    #define ADMFLAG_KICK (1<<2) /**< Convenience macro for Admin_Kick as a FlagBit */
    #define ADMFLAG_BAN (1<<3) /**< Convenience macro for Admin_Ban as a FlagBit */
    #define ADMFLAG_UNBAN (1<<4) /**< Convenience macro for Admin_Unban as a FlagBit */
    #define ADMFLAG_SLAY (1<<5) /**< Convenience macro for Admin_Slay as a FlagBit */
    #define ADMFLAG_CHANGEMAP (1<<6) /**< Convenience macro for Admin_Changemap as a FlagBit */
    #define ADMFLAG_CONVARS (1<<7) /**< Convenience macro for Admin_Convars as a FlagBit */
    #define ADMFLAG_CONFIG (1<<8) /**< Convenience macro for Admin_Config as a FlagBit */
    #define ADMFLAG_CHAT (1<<9) /**< Convenience macro for Admin_Chat as a FlagBit */
    #define ADMFLAG_VOTE (1<<10) /**< Convenience macro for Admin_Vote as a FlagBit */
    #define ADMFLAG_PASSWORD (1<<11) /**< Convenience macro for Admin_Password as a FlagBit */
    #define ADMFLAG_RCON (1<<12) /**< Convenience macro for Admin_RCON as a FlagBit */
    #define ADMFLAG_CHEATS (1<<13) /**< Convenience macro for Admin_Cheats as a FlagBit */
    #define ADMFLAG_ROOT (1<<14) /**< Convenience macro for Admin_Root as a FlagBit */
    #define ADMFLAG_CUSTOM1 (1<<15) /**< Convenience macro for Admin_Custom1 as a FlagBit */
    #define ADMFLAG_CUSTOM2 (1<<16) /**< Convenience macro for Admin_Custom2 as a FlagBit */
    #define ADMFLAG_CUSTOM3 (1<<17) /**< Convenience macro for Admin_Custom3 as a FlagBit */
    #define ADMFLAG_CUSTOM4 (1<<18) /**< Convenience macro for Admin_Custom4 as a FlagBit */
    #define ADMFLAG_CUSTOM5 (1<<19) /**< Convenience macro for Admin_Custom5 as a FlagBit */
    #define ADMFLAG_CUSTOM6 (1<<20) /**< Convenience macro for Admin_Custom6 as a FlagBit */
     
    Gosha112 нравится это.
  19. Gosha112

    Gosha112

    Сообщения:
    89
    Симпатии:
    2
    То есть ток по группе могу вписать?
     
  20. Terryfold

    Terryfold

    Сообщения:
    90
    Симпатии:
    51
    Не по группе, а по уровню доступа. У тебя в папке /sourcemod/configs/ лежит файлик admin_levels.cfg. Вот в нем и прописаны все дефолтные настройки уровня доступа. Если ты хочешь, чтобы доступ к этим командам был только у главного админа сервера, то поставь ADMFLAG_ROOT.