ReHLDS/HLDS Furrien Mode

6u3oH

Пользователь
Регистрация
29 Дек 2018
Сообщения
10
Симпатии
5
Описание: мод представляет собой противостояние двух команд: фурий (бывших людей, зараженных вирусом, стремящихся убить всех оставшихся живых людей) и альянса (выживших людей, объединившихся под эгидой: "Смерть заражённым").
Автор: 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])
1) Здоровье + бронежилет
2) Щипцы
3) Взрывная граната
4) Ослепляющая граната
5) Замораживающая граната
6) Распрыжка
7) Мина
Победа/поражение команд красиво сопровождаются переливающимся DHUD'ом рандомного цвета, а также специфической музыкой.
Также присутствует информер, который отображает команду, класс, уровень; при наведении на игрока отображается соответствующая информация.
nightvision (N) - для открытия основного меню
say /shop - для открытия магазина
say_team /shop - для открытия магазина
shop - для открытия магазина
say /class - для открытия меню выбора классов
say_team /class - для открытия меню выбора классов
classes_menu - для открытия меню выбора классов
Все настройки находятся в исходнике, к настройкам прописаны подсказки.
Нативы:
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 - имя функции-обработчика, которая будет вызвана при покупке предмета
Примеры можно посмотреть в исходниках.
- Добавлены классы фурий
- Добавлена система выбора оружий для альянса
- Выдача основного оружия (1 раз за респавн) [имеются VIP-предметы]
- Выдача вторичного оружия (1 раз за респавн) [имеются VIP-предметы]
- Добавлена система уровней
- Добавлен предмет для альянса "Мина". Мина ставится на землю, наступившие на неё фурии получают урон от взрыва
- Пофикшена замораживающая граната, а также расширен её функционал
- Мелкие фиксы и повышение производительности засчёт улучшения оптимизации
- Плагин полностью теперь ориентирован на AMXX v1.8.3 (ниже версии не поддерживаются)
- Все саб-плагины зашиты в ядро (furrienmod_core.sma)
- Были исключены по возможности излишние библиотеки (fun, cstrike, csx - по просьбам пользователей)
- Расширена система API
 

Вложения

Последнее редактирование:

perfectblood0

Команда форума
Администратор
Регистрация
29 Окт 2017
Сообщения
2.399
Симпатии
846

6u3oH

Пользователь
Регистрация
29 Дек 2018
Сообщения
10
Симпатии
5
Я о том как он написан.
Можно разбавить слова конкретикой? Не нравится - критикуйте, если я с вами не согласен - поясню почему, в ином случае признаю ошибку и исправлю.
 
K

kapangaIII

Там много где можно оптимизировать все за счет использования пдаты, в которой буквально все что нужно есть.
Я конкретно о плагине - _mode.sma
 

Vaqtincha

aggressive
Разработчик
Регистрация
28 Янв 2018
Сообщения
783
Симпатии
484
Пол
Мужской
"Furrien Mode" или точнее "Furrien Mod"
 

6u3oH

Пользователь
Регистрация
29 Дек 2018
Сообщения
10
Симпатии
5
, не пойму что за дешёвые наезды. Чем вас engine не устраивает? Достаточно быстр в отличие от того же fakemeta, к тому же предоставляет удобный интерфейс, и мне не нужно обращаться к списку оффсетов для работы. Да и не помню я, чтобы я где-то писал, что "мод - балет жестокости, возведенный в абсолют своей оптимизации". Что-то из разряда хардкора, где языку делфи предпочитают ассемблер.
И вот эти вот слова "Мод - жесть" явно намекают на какой-то дичайших код, чем он по факту тупо не является.[DOUBLEPOST=1546087890][/DOUBLEPOST]
А мне напоминает predator
Забавная штука.
Но было бы круче сделать такое с захватом флага и в режиме csdm
В ближайшем планирую реализовать какие-нибудь режимы для данного мода, спасибо за идею, возьму на заметку.
 

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
403
Симпатии
277
Пол
Мужской
@kapangaIII, не пойму что за дешёвые наезды. Чем вас engine не устраивает? Достаточно быстр в отличие от того же fakemeta, к тому же предоставляет удобный интерфейс,
он имел ввиду хранение нужных данных в аттрибутах ентити. А доступ до них можно получить и с engine и с fakemeta и reapi и hamsandwich и даже cstrike (правда к определенным)
 

6u3oH

Пользователь
Регистрация
29 Дек 2018
Сообщения
10
Симпатии
5
fantom, я не понимаю к чему вы пытаетесь прицепиться, обращение идет только к 3 атрибутам (векторная скорость, бит-сумма кнопок, заданная модель). С их обработкой спокойно позволяет справиться engine (лучше той же fakemeta точно), зачем тут мне с оффсетами работать? Смысла в этом не вижу. К оффсетам я обращаюсь в крайние моменты, когда иные модули не позволяют выполнить то, что мне требуется.
И я не новичок какой-то, чтобы мне объяснять что-то про атрибуты энтити и какие модули и что позволяют получить (не грубость, просто пытаюсь скинуть амплуа новичка (то, что я только зарегистрировался на этом сайте, еще ни о чем не говорит)).
 

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
403
Симпатии
277
Пол
Мужской
6u3oH, ладно я также сливаюсь. Но суть не в модуле.
 

ThePhoenix

Пользователь
Только чтение
Регистрация
8 Июл 2017
Сообщения
186
Симпатии
31
Предупреждения
45
Пол
Мужской
Vaqtincha, а точнее "Furien mod".

, Жесть тут скорее в сливе такого мода, что более печально, нежели то, как написано. Теперь каждый дурачёк сможет им пользоваться по сути...
 

perfectblood0

Команда форума
Администратор
Регистрация
29 Окт 2017
Сообщения
2.399
Симпатии
846
Vaqtincha, а точнее "Furien mod".

, Жесть тут скорее в сливе такого мода, что более печально, нежели то, как написано. Теперь каждый дурачёк сможет им пользоваться по сути...
Так то мод в пабе давно
 

ThePhoenix

Пользователь
Только чтение
Регистрация
8 Июл 2017
Сообщения
186
Симпатии
31
Предупреждения
45
Пол
Мужской
d3m37r4, perfectblood0, Я начинал как-то раз с того, что было в пабе. Пришлось 1000 раз плюнуть и смериться, что полное ...

здесь более интересно, единственное, что сделано не очень.[DOUBLEPOST=1546165965][/DOUBLEPOST]Да и с нашими то реалиями мод не сильно юзабельный, ибо 80% игроков просто забьют, чем сделают себе нормально скорость :D
А установить низя, протекторы...
 

6u3oH

Пользователь
Регистрация
29 Дек 2018
Сообщения
10
Симпатии
5
Мод действительно гуляет в паблике давно, но именно версий от русских скриптеров нет, в основном что-то там польское, переведенное на русский с горем пополам, к тому же все подобные версии имеют множество багов, править которые никто так и не вызвался, да и написаны они в общем ужасно.
Да, проблема с ограничением скорости на стороне клиента определенно есть, с этим нужно что-то делать.
Еще раз повторюсь, это 1 версия мода. дальше будет лучше. Начиная с оптимизации, заканчивая дополнениями.
 

perfectblood0

Команда форума
Администратор
Регистрация
29 Окт 2017
Сообщения
2.399
Симпатии
846
А в чем проблема со скоростью?
 
Сверху Снизу