Вот в этом у нас и кроется главная проблема. Дашь сорцы всем - растащят в свои моды. Не дашь сорцы - недовольны. Дашь сорцы тому, у кого годный мод делается со своими собственными уровнями - он только в маппенк умеет и говно всякое ляпает в коде. Дашь сорцы тому, кто хоть как-то умеет в кодинг - этот никакого мода не выпускает, т.к. не умеет в маппенк. Вот на выходе мы и имеем корявые Порнонойи 2 с хорошей кодовой базой, говёнными картами, стрёмным геймплеем и долбо... сюжетом. Парадокс в том, что у буржуев строго наоборот: у них и карты ништяк, и модельки все свои, защищённые копиразмом, и звуки, и текстуры кавайные. Сюжет даже иногда норм (кроме Сру от Страха и AOM от тех же невменяемых авторов). А код - гавно с порчями памяти, вылетами и вообще, со всякими иными гадостями. В чём причина-то?
Интересно зачем так много комманд чтобы провести трассу на клиенте, а не одна какая-то как на сервере типа UTIL_TraceLine? И как ее правильно вызывать в эвенте для эффекта попадания снаряда, а не оружия игрока? А то тут смущяет меня EV_PlayerTrace и прочие команды с Player, оружие как бы принадлежит игроку, а снаряд может быть и монстра. Звук и эффекты для снарядов я всунул в один эвент для новых снарядов, осталось туда декали и прочие эффекты кинуть, но там трассы нет.
И насчет векторов что делают AngleVectors, и VectorMA?
Есть такой вопрос, как сделать чтоб игрок не был зависим от камеры в 3-ем виде то есть когда двигаешь мышкой крутилась только камера но никак не модель игрока, а игрок спокойно клавишами "wasd" крутился вокруг себя
__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.
Luciferchik можно устанавливать viewangles только в refdef и не вызывать SetViewAngles. Я так чинил крутящихся трупов в мультиплеере. Chyvachok *MultiDamage нужен для объединения дамага. Удобно для дробовика.
Больше функций для трейса нужно потому что в eventapi отдельно функция для выбора номера хулла и установки твёрдых игроков. Последнее вообще модифицирует стейты предиктинга, поэтому нужен вот этот Push/Pop, на случай если в данный момент выполняется предиктинг. Оружий, например.
AngleVectors -- преобразование угла в FRU векторы.
VectorMA(a,b,c,d) -- умножить c на b и сложить с a. Результат в d.
объясните пожалуйста, как использовать элементы vgui Bitmap и Image? как загрузить для них изображение? я только про загрузку tga файла знаю (из тутора BUzer'а, кажется только про tga там и было описано).
Smykov можешь, если напишешь свой загрузчик картинок в массив данных. Это будет не очень красиво архитектурно, но что поделать
Цитата:
Chyvachok писал: И насчет векторов что делают AngleVectors, и VectorMA?
AngleVectors - перевод из углов (полярные координаты, практически) в направления (декартовы координаты - origin, position, etc.).
VectorMA и прочее гуано из матлиба - это, по большому счету, макросы для часто используемых мат.операций.
А MultiDamage вообще что-то полезное делает? Он, типа, должен экономить трафик, но по сути - TraceAttack() вызывается для каждой пули и трафика всё равно много.
Smykov а в чём проблема просто использовать TGA? ~ X ~ я думаю, что это скорее из-за производительности. Он насколько я знаю ещё из кваки пришёл. Может я ошибаюсь.
Щас глянул код FireBulletsPlayer, так там в цыкле вызывается TraceAttack для каждой пульки, вотЪ. Но вызов ApplyMultiDamage в конце, после цыкла есть. Хитрая оптимизация? Расскажите, что оно делает. Получается, что подсчитывает общий урон, и наносит его сразу, а не в несколько этапов. Опять же, непонятно, дробовик ведь наносит разный урон, в зависимости от кол-ва попавших в тушку противника пулек.
Добавлено 15-04-2018 в 23:00:
Цитата:
Дядя Миша писал: если бы драбавик стрелял под водой
То, что в хл глок стреляет под водой, вообще как-то дико. Но для геймплея полезно. Я бы, на месте валвэ добавил в арсенал огнестрел, который и в реале может стрелять под водой. И отдельные патроны для него.
Ku2zoff TraceAttack() с кровищей вызывается на каждую дробинку, а в конце ApplyMultiDamage() вызывает Entity->TakeDamage(). Типа, это что-то должно облегчить. Хотя health всё равно пошлется не ранее следующего кадра. С другой стороны - между дробинками кто-то может помереть. Не знаю, насколько это важно. Может, какую-нибудь крысу одна дробинка убьет, а еще три разнесут на куски. Имхо, здесь особо экономить не на чем.
Кстати, вот мой нубский вопрос: шотган, стреляющий двумя патронами - это нонсенс т.к. не двустволка, а чем лучге заменить вторичную атаку?