1. Трейсеры и так видимые. Просто у дробовика они не используются. В какой-то старой версии ксаша, несовместимой с халфой был код трейсеров (и вроде бы ещё лучей) в клиентке. Так вот, они визуально мне больше нравились, чем халфовские. А вообще, есть особая темпэнтитя pEfxAPI->R_UserTracerParticle, которой можно задать толщину, цвет, скорость. Вот и получатся кастомные трейсеры.
2. Туторов на эту тему вагон и маленькая тележка. Даже я кое-что по молодости выкладывал здесь на форуме. ИМХО, наилучший результат даёт смешение двух БОБов: один для камеры, второй для оружия. Если сейчас выкопаю древнюю версию своего мода, запишу видео и выложу здесь.
Добавлено 25-09-2020 в 16:52:
Нашёл в загашниках папочку со старым модом, записал видео. Как я выше указал, здесь два боба с разным ритмом.
Flash cs_assault_russka. Этих клонов манзионов и ассаултов хоть жопой ешь. Попадаются даже весьма интересные, не просто с новыми деталями и текстурами, но и новыми путями. А ещё рекордсмен по клонам и римейкам - дедаст.
Плиз хелп. Я успешно перенес shock trooper'а (это который wub-wub говорит) из opfor к себе в мод (напоминаю, что у меня ксаш-мод), работает вроде бы все, но есть проблема с сейв-рестором. Когда монстр стреляет, именно в тот момент когда летит лазер и сохраниться в этот момент, в консоли вылезает:
C++ Source Code:
Saving game to save/quick.sav...
Error: Invalid function pointer in class CShock!
После этого если загрузить игру, из ориджина карты летят лазеры в разные стороны и консоль бесконечно спамится строчкой:
C++ Source Code:
Error: R_BeamComputePoint: invalid entity 4095
Вот что у меня прописано в коде: shock.cpp
C++ Source Code:
1
BEGIN_DATADESC( CShock )
2
DEFINE_FIELD(m_pBeam, FIELD_CLASSPTR),
3
DEFINE_FIELD(m_pNoise, FIELD_CLASSPTR),
4
DEFINE_FIELD(m_pSprite, FIELD_CLASSPTR),
5
END_DATADESC()
6
7
//IMPLEMENT_SAVERESTORE(CShock, CBaseAnimating)
В shock.h я удалил строчки и заменил на declare, не уверен что сделал правильно, но ксаш не понимает строчку IMPLEMENT_SAVERESTORE и не компилит ничего с ней.
C++ Source Code:
1
// virtual int Save(CSave &save);
2
// virtual int Restore(CRestore &restore);
3
// static TYPEDESCRIPTION m_SaveData[];
4
DECLARE_DATADESC();
Где же тут баг засел?
Добавлено 26-09-2020 в 13:20:
Точка с запятой после IMPLEMENT_SAVERSTORE вроде решила проблему только почему-то ее не было в опфорском сдк.
Там у него идет строчка
class CStrooper : public CHGrunt, а ссылается это дело на hgrunt.h, который я взял из опфора. Из-за этого еще пришлось и гранта переделать под этот h.
Или этот CBaseToggle в любом случае надо прописать?
Привет!
Еще вопросы:
1) Замоделил я новых голов для хгрунта, сделал дефайны в коде, убрал зависимость оружия от головы. В хаммере выставляю виды голов, вроде работают, но некоторые начинают жить своей жизнью: номер 1 путается с номером 11, вместо некоторых конкретных видов упорно ставится 1 (берет). Есть ли там какие-то лимиты на это дело?
2) У того же хгранта в анимациях есть стрейфы влево/вправо, комбатроллы всякие и прочее. Он изначально умел уворачиваться от атак? Даже ивенты остались
3) По какой-то причине у меня на monster_scientist не работают скрипт_ивенты. Все скриптовые анимации на оригинальных картах через мой мод не работают - ученый в воздухе тупо стоит, или же если это sitting_scientist, то он просто в воздухе висит с анимацией ходьбы. Сам код ученого я не трогал, НО в файле pm_defs.h для нужд мода мне пришлось закомментить одну из строчек, т.к там ограничение на переменные:
Vadiman, возможно hgrunt становится squad-leader'ом, а там для хгрунтов прописан костыль, выставляющий вариант с беретом. В общем гляди в CSquadMonster::StartMonster
Проблем с PlayerUse.
Накодил юзабельную не-solid энтитю: https://github.com/FreeSlave/hlsdk-...149c7abe8b87c76
"Непроходимость" реализуется отдельными клип-брашами на карте. В аттаче карта и исходник с 4-мя энтитями вокруг одного столба. Непосрдественно проблема: если подходить к энтитям вплотную насколько возможно и нажимать use, то вместо южного и западного экземпляра юзаются соседние. С восточным и северным данная проблема не наблюдается. В чём загвоздка?
Вложение: usable_item.zip (10.9 кб)
Этот файл был скачан 60 раз.
FreeSlave писал: если подходить к энтитям вплотную насколько возможно и нажимать use, то вместо южного и западного экземпляра юзаются соседние. С восточным и северным данная проблема не наблюдается.
они же перебираются по списку, как на карте расположены. Перемешай в исходнике и будет другой эффект.
Цитата:
Vadiman писал: Да, временно закоментил существующую, иначе игра вылетала.