Furrien Mod (2.0)

Furrien Mod (2.0)

Описание: мод представляет собой противостояние двух команд: фурий (бывших людей, зараженных вирусом, стремящихся убить всех оставшихся живых людей) и альянса (выживших людей, объединившихся под эгидой: "Смерть заражённым"). 
Автор: 6u3oH 
Версия: 2.0

Суть мода. 
В начале раунда одна из команд становится фуриями (если побеждает в предыдущем раунде или, если ничья и рандом определит её таковой), вторая - альянсом (если проигрывает в предыдущем раунде или, если ничья и рандом определит её таковой). 
Фурии имеют свою модель, высокую скорость бега, низкую гравитацию и невидимость (невидимы в том случае, если стоят на месте, полуневидимы, если передвигаются тихо (shift) или если передвигаются в присяде (ctrl)), не могут использовать оружие, только нож. 
Альянс имеет свою модель, но не имеет никаких способностей (ни скорости, ни гравитации), но имеет возможность использовать оружие. 
Одна из команд выигрывает, если перебьет всех игроков из противоположной команды либо если взорвёт/разминирует бомбу. 
Имеется разделение фурий по классам.

Классы фурий:
1) Декстер. Скилл (активируется буквой G): создает вокруг себя продолжительное кол-во времени звуковые волны расширенного частотного диапазона, что сбивает противникам прицел и наносит небольшой урон. Атаковать такую фурию стоит с расстояния, не подходя близко
2) Виндок. Скилл (активируется автоматически): ограничивает наносимый урон до N единиц, при ранении мгновенно активирует регенерацию, пока не восполнится первоначальное кол-во здоровье. Атаковать такую фурию нужно массовым огнем, единичные редкие попадания никогда не убьют её
3) Мерсер. Скилл (активируется буквой G): создает перед собой шипы в количестве N единиц (шипы находятся в небольшом рандомном разбросе), которые наносят урон противнику и замедляют его. Атаковать в лоб такую фурию крайне не рекомендуется
4) Сканер. Скилл (активируется автоматически): усиливает охотничьи инстинкты и врожденные чувства для нахождения всех сил соперников.
Для альянса имеется система уровней, которая варьирует количество здоровья и наносимый урон в зависимости от уровня.

Каждая из команд имеет свой магазин со своими различными предметами.
Магазин фурий:
1) Здоровье
2) Щипцы
3) Взрывная граната
4) Ослепляющая граната
5) Замораживающая граната
6) Артефакт D (множитель урона) (сопровождается инонкой)
7) Артефакт R (регенерация здоровья) (сопровождается инонкой)
8) Артефакт J (множитель прыжков) (сопровождается инонкой)
9) Липучки (возможность цепляться к стенам [E])

Магазин альянса:
Здоровье + бронежилет
2) Щипцы
3) Взрывная граната
4) Ослепляющая граната
5) Замораживающая граната
6) Распрыжка
7) Мина

Победа/поражение команд красиво сопровождаются переливающимся DHUD'ом рандомного цвета, а также специфической музыкой.
Также присутствует информер, который отображает команду, класс, уровень; при наведении на игрока отображается соответствующая информация.

Команды:
nightvision (N) - для открытия основного меню
say /shop - для открытия магазина
say_team /shop - для открытия магазина
shop - для открытия магазина
say /class - для открытия меню выбора классов
say_team /class - для открытия меню выбора классов
classes_menu - для открытия меню выбора классов

API:
Нативы:
is_user_furrien(id) - возвращает команду (фурия/альянс)
set_block_speed(id) - блокировка сброса скорости (для установки своей)
reset_block_speed(id) - разблокировка сброса скорости (для сброса установленной своей)
get_user_class(id) - возвращает номер текущего класса для игрока
set_user_class(id, iNum) - устанавливает класс игроку (iNum - идентификатор класса)
get_user_lvl(id) - возвращает текущий уровень игрока
set_user_lvl(id, iNum) - устанавливает уровень игроку (iNum - уровень)

Форварды:
 - register_class(const sName[], const sInfo[], const sModel[], iFlag) - регистрирует новый класс (возвращает идентификатор зарегистрированного героя, если всё успешно, иначе -1)
* sName - имя класса
* sInfo - описание класса
* sModel - модель класса
* iFlag - флаг доступа (get_user_flags) к классу (-1, если не нужно проверять флаг)
 - register_item(iTeam, sNameItem[], iCostItem, iLimitItem, sCallFuncItem[]) - register_item регистрирует предмет для добавления его в магазин
* iTeam - команда, в магазин которой будет добавлен предмет (см. выше константы команд)
* sNameItem - имя предмета, которое будет отображаться в магазине
* iCostItem - цена предмета
* iLimitItem - лимит покупки предмета на раунд (-1 - безлимитная покупка)
* sCallFuncItem - имя функции-обработчика, которая будет вызвана при покупке предмета
Примеры можно посмотреть в исходниках.

Изменения в версии 2.0:
- Добавлены классы фурий
- Добавлена система выбора оружий для альянса
* Выдача основного оружия (1 раз за респавн) [имеются VIP-предметы]
* Выдача вторичного оружия (1 раз за респавн) [имеются VIP-предметы]
- Добавлена система уровней
- Добавлен предмет для альянса "Мина". Мина ставится на землю, наступившие на неё фурии получают урон от взрыва
- Пофикшена замораживающая граната, а также расширен её функционал
- Мелкие фиксы и повышение производительности за счёт улучшения оптимизации
- Плагин полностью теперь ориентирован на AMXX v1.8.3 (ниже версии не поддерживаются)
- Все саб-плагины зашиты в ядро (furrienmod_core.sma)
- Были исключены по возможности излишние библиотеки (fun, cstrike, csx - по просьбам пользователей)
- Расширена система API

DESING написал 2019-07-28 18:01:49
god afftar_eblan
Denisio написал 2019-07-20 21:35:02
ogk75amw0fr
PyccKue написал 2019-01-17 11:47:32
ребят, простите что не по теме, скажите что такое API
Руслан написал 2018-12-29 10:16:00
За чистоту и новизну кода 4/5
За идею 5/5
SweetMilitary написал 2018-12-28 20:08:55
ya_za
maxkovtun76 написал 2018-12-28 18:39:47
Ну идея и реализованый мод уже давно гулял по интернету. Если это твой именно чисто написанный то луйс, хотелось бы увидеть систему прокачки фурий. Например выбор класса фурии
6u3oH написал 2018-12-28 19:15:20
Все написано с нуля лично мною.
Первичная задача: написать мод нормальным, с отсутствием багов (сейчас большинство серверов с этим модом именно имеют багаж багов, которые никто не исправляет), к тому же это чисто полностью отечественный мод, а не переписанный и не переведенный чей-то там.
Безусловно дополнения в ближайшее время будут. И что-то с классами фурий явно будет.
Vadimka2017 написал 2019-01-05 17:42:47
Молодец хороший мод
Oldwarx a.k.a Ragamafona написал 2018-12-28 22:37:52
Классы фурий думаю лучше реализуй через API, и выбор оружия у альянса также. Это намного упростит работу с модом)
6u3oH написал 2018-12-28 23:47:13
Ну классы фурий однозначно через API, а выбора оружия как такового же нет, его альянс покупать должен всегда, поэтому тут что-нибудь попытаюсь придумать новое.
Oldwarx a.k.a Ragamafona написал 2018-12-30 18:12:22
Можно добавлять не стандартные, написать под это дело Бай Меню. И доступ к покупке пушкам по уровням.
6u3oH написал 2018-12-30 19:05:07
Ну вообще текущее API шопа уже позволяет это сделать.
Но я уже пишу расширенный функционал, так что мб что-то такое и будет.
Oldwarx a.k.a Ragamafona написал 2018-12-28 15:31:53
Очень хорошо! Серьёзно молодец! Но лучше всего развивай API к нему) Если у меня будет время и у тебя желание то я могу помочь в разработке  az
6u3oH написал 2018-12-28 16:04:18
Если есть желание что-то писать - пожалуйста, я ни разу не против. У меня уже готовы режимы для этого мода (для них отдельно АПИ сделаю, как сейчас у шопа) и парочка плюшек в виде доп айтемов и лвл системы.
6u3oH написал 2018-12-28 16:01:37
Спасибо, API уже некоторое имеется, но о нем инфы с описанием не будет.
Не хочется, чтобы этот мод превратился в подобие серверов ZP или JB (я не про всех, есть достойные, но их мало).
А те, кто разбираются, могут прочитать инфу в инклюдах или посмотреть все по примерам, благо, код я стараюсь оформлять подобающим образом.