[CS: Source] Sm Mani Bounty

Тема в разделе "Новые плагины", создана пользователем c-h-i-z-h, 3 апр 2011.

  1. c-h-i-z-h

    c-h-i-z-h

    Сообщения:
    35
    Симпатии:
    39
    Sm Ma Bounty

    Описание: плагин является клоном функции Mani плагина ma_bounty, расширенным некоторыми функциями. При достижении определенного количества убийств подряд, за голову доминирующего игрока назначается награда, с каждым убийством и раундом в котором он выжил, она возрастает. Так же меняется цвет доминирующего игрока (задается 4 составляющими - Красный, Зеленый, Синий, Прозрачность). При убийстве доминирующего игрока убийца получает награду, а цвет убитого становится нормальным.

    Требования:
    SourceMod 1.3.6 (ниже не тестил)

    Встроенные языки:
    English, Русский

    Изменения в версиях:
    Версия 1.1
    1. Исправлен баг "Нарушение работы плагина после смены карты".
    2. Добавлена возможность назначать собственную награду, с помощью меню.

    Версия 1.2
    1. Исправлен 1 не значительный баг
    2. Исправлена недоработка "Возможность получить награду за члена своей комманды"(теперь только за противника)
    3. Добавлен показ сообщения помощи (показывает в чат "Пиши bounty..." через 5 сек. после объявления каждой награды)
    4. Добавлены процентные бонусы за HeadShot, Гранату и Нож.(увеличивают размер бонуса за убийство когда доминирующий игрок кого то убил, и размер награды если убит доминирующий игрок).
    5. Добавлены серверные переменные (CVars):
    sm_ma_bounty_helpadv - Показ сообщений помощи
    sm_ma_bounty_headbonus - бонус за HeadShot
    sm_ma_bounty_grenbonus - бонус за Гранату
    sm_ma_bounty_knifebonus - бонус за Нож

    Версия 1.3
    Исправлены некоторые баги (в том числе заявленный в 6 посте от freddim)

    Версия 1.4
    1. Исправлены некоторые баги
    2. Исправлена недоработка с СелфКилом (теперь при убийстве самого себя награда теряется и в чате написано, что она потеряна)

    Версия 1.5
    Исправлен баг "Array index is out of bounds" при неполном коннекте игроков.

    Версия 1.6
    Исправлен баг Native "GetClientTeam" reported: Client index 0 is invalid

    Настройки по умолчанию(Они же серверные переменные):

    sm_ma_bounty_enabled "1" //Разрешить или запретить награды за голову.
    sm_ma_bounty_helpadv "1" //Разрешить или запретить показ помощи в чате.
    sm_ma_bounty_killsstart "5" //Минимальная серия убийств для назначения награды.
    sm_ma_bounty_startbounty "1000" //Начальная награда за голову.
    sm_ma_bounty_killbonus "250" //Бонус за убийство.
    sm_ma_bounty_roundbonus "500" //Бонус за выживание в раунде.
    sm_ma_bounty_headbonus "20" //Процентный бонус за HeadShot 0-100.
    sm_ma_bounty_grenbonus "50" //Процентный бонус за убийство гранатой 0-100.
    sm_ma_bounty_knifebonus "100" //Процентный бонус за убийство ножом 0-100.
    sm_ma_bounty_talpha "200" //Прозрачность террориста 0-255.
    sm_ma_bounty_tblue "150" //Синяя составляющая террориста 0-255.
    sm_ma_bounty_tgreen "50" //Зеленая составляющая террориста 0-255.
    sm_ma_bounty_tred "255" //Красная составляющая террориста 0-255.
    sm_ma_bounty_ctalpha "200" //Прозрачность спецназовца 0-255.
    sm_ma_bounty_ctblue "255" //Синяя составляющаа спецназовца 0-255.
    sm_ma_bounty_ctgreen "150" //Зеленая составляющаа спецназовца 0-255.
    sm_ma_bounty_ctred "50" //Красная составляющаа спецназовца 0-255.

    Команды в чате:
    bounty - Вызывает панель информации с правилами наград за голову, и списком 3 наивысших активных наград. Так же с этой панели можно вызвать меню выбора награды: 500$, 1000$, 2000$, 5000$, 10000$, Половина денег, Все деньги. После выбора награды предоставляется выбор игрока из противоположной команды.
     

    Вложения:

    Последнее редактирование: 12 апр 2011
  2. c-h-i-z-h

    c-h-i-z-h

    Сообщения:
    35
    Симпатии:
    39
    Выпустил новую версию - исправил баг со сменой карты, добавил новую функцию.
    Будет время добавлю еще функции (HeadShotBonus, KnifeBonus и GrenadeBonus)
     
    Andrey и random.81 нравится это.
  3. freddim

    freddim

    Сообщения:
    45
    Симпатии:
    1
    плагин отличный, но

    Так же меняется цвет доминирующего игрока (задается 4 составляющими - Красный, Зеленый, Синий, Прозрачность)
    я бы хотел оставить все по дефолту, т.е. не менять цвет доминирующему и т.п.
    как это сделать? какие параметры (цвета) являются дефолтными?
     
  4. c-h-i-z-h

    c-h-i-z-h

    Сообщения:
    35
    Симпатии:
    39
    все по 255 (то есть 0 означает отсутствие цветовой составляющей в окраске игрока)

    если цвета поставить по 0 игрок будет черным,
    если поставить 0 прозрачность - игрока будет не видно....
     
  5. c-h-i-z-h

    c-h-i-z-h

    Сообщения:
    35
    Симпатии:
    39
    И снова новая версия: исправлены недоработки, добавлены новые функции.

    Думаю дальнейшего развития функционала плагина не будет(не знаю что еще прикрутить), только исправление багов и недоработок.

    Поэтому жду отчетов об ошибках плагина :)
     
    Andrey и random.81 нравится это.
  6. freddim

    freddim

    Сообщения:
    45
    Симпатии:
    1
    c-h-i-z-h, поставил плагин.
    Хочу назначить награду за какого-нибудь игрока и сразу после выбора суммы 500, 1000 и т.д. меню просто пропадает.
    при этом, когда на сервере просто боты то меню работает нормально и награда ставится
     
  7. c-h-i-z-h

    c-h-i-z-h

    Сообщения:
    35
    Симпатии:
    39
    Исправлено!(v. 1.3) - сейчас вроди пашет правильно, время покажет..........
     
  8. freddim

    freddim

    Сообщения:
    45
    Симпатии:
    1
    еще одно заметил..
    1) name 1 получил награду за name 1 (т.е. игрок получил награду сам за себя)
    2) name 1 получил награду за hostname(название сервера)
     
  9. c-h-i-z-h

    c-h-i-z-h

    Сообщения:
    35
    Симпатии:
    39
    профиксил - качай 1.4 :)
     
  10. dddennnisss

    dddennnisss

    Сообщения:
    173
    Симпатии:
    159
    С чем связано, такое безобразие?

     
  11. noBap

    noBap

    Сообщения:
    196
    Симпатии:
    107
    такая же проблема + не отображается меню при написание в чат bounty а сам плагин работает
     
  12. c-h-i-z-h

    c-h-i-z-h

    Сообщения:
    35
    Симпатии:
    39
    у меня такой ошибки нет и на домашнем сервере на винде и на работе на линуксе, и единственное что приходит в голову по коду это изменение константы MAXPLAYERS во время работы сервера (например из за добавления резервного слота)

    Попробуйте провести наблюдение - если это связано с резервным слотом то когда сервер еще не полный ошибки быть не должно.

    если так - отпишитесь - попробую учесть вероятность появления резервных слотов.
     
  13. dddennnisss

    dddennnisss

    Сообщения:
    173
    Симпатии:
    159
    c-h-i-z-h, плагин для резервных слотов отключен. единственное, что мне пришло в голову, это экстраслот для сорств, который вроде как изменяет количество слотов для игроков на лету.
     
  14. c-h-i-z-h

    c-h-i-z-h

    Сообщения:
    35
    Симпатии:
    39
    Проблема найдена!!!! как оказалось появляется далеко не сразу, прикол был вот в чом:
    вместо события "player_connect" мной было выбрано "player_activate" потому что с "player_connect" были глюки с ботами. Бывает такая ситуация когда игрок нажал приконнектиться к серверу и тут же отмену - получается информацию о себе передать не успел, а отконнектиться отконнектился. При нескольких таких событиях подряд в версии 1.4 "Текущее Количество Игроков" могло уйти в минус, отсюда "Array index is out of bounds"

    в версии 1.5 баг устранен!



    З. Ы. готовьтесь к еще большему наборчегу багов - сажусь писать клон mani_stats)))))
     
    Последнее редактирование: 9 апр 2011
  15. dddennnisss

    dddennnisss

    Сообщения:
    173
    Симпатии:
    159
    c-h-i-z-h, спасибки.
     
  16. Salakis

    Salakis

    Сообщения:
    1
    Симпатии:
    0
    такое вот наблюдается:
     
  17. c-h-i-z-h

    c-h-i-z-h

    Сообщения:
    35
    Симпатии:
    39
    при каких обстоятельствах это происходит? По коду на этой строке определяется команда убийцы, при самоубийстве ID атакующего = ID убитого, при убийстве сервером (каким нибудь из плагинов) так же, а тут получается что игрок умер но его никто не убивал))).

    Сейчас проверил вариант "Игрок сменил команду - по этому умер" убийца тоже равен убитому, но не 0.

    Нарыл у ся в логах такое за 2 дня произошло 1 раз - чем было вызвано хз, пробовал вызвать по разному не получилось
     
    Последнее редактирование: 10 апр 2011
  18. dddennnisss

    dddennnisss

    Сообщения:
    173
    Симпатии:
    159
    c-h-i-z-h, такое же в логах как и у Salakis.
     
  19. FrozDark

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

    Сообщения:
    1.761
    Симпатии:
    1.915
    попробуй так
    if (attacker > 0)
    AttackerTeam = GetClientTeam(GetClientOfUserId(attacker));
     
  20. c-h-i-z-h

    c-h-i-z-h

    Сообщения:
    35
    Симпатии:
    39
    это не решит проблему - скорее всего
    не плохо было бы понять от чего так получается, исправить баг не поняв от чего он - высокий шанс вызвать другой баг. поэтому сделаю так: сделаю версию 1.6 но 1.5 тоже оставлю в релизе