Уважаемые гости и новички, приветствуем Вас на нашем форуме
Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».
Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Вот. Сделал новый проект, сделал 2 файла - oCNpcEx.h и oCNpcEx.cpp, и скопировал туда код из той темы без каких либо изменений. В .cpp файле подключение в таком порядке:
C++:
#include "UnionAfx.h"
#include "oCNpcEx.h"
К слову, в основном проекте ругается !CHECK_THIS_ENGINE, так что вполне вероятно, что как-то не так подключаю все это дело, но в старых версиях всё работало ¯\_(ツ)_/¯
Добавил в шапку небольшой ролик про то, как правильно работать с файлами исходного кода в SDK 1.0h и выше.
В нем рассказывается о трёх важных вещах:
1. О правильном добавлении файлов .cpp & .h и почему следует добавлять именно Union .cpp и .h
2. О том, как правильно добавлять данные в классы готики и при этом ничего не сломать.
3. О решении проблемы, когда необходимо разделить логику кода для разных движков в одном файле исходного кода.
Grattподскажи пожалуйста как быть, я решил по пробовать сделать так как ты описал в 31 посте, и проблема заключается в том что компилятор ругается на "CFX_BASE_PROTO", подскажи пожалуйста как быть
zeratul47, тут подход требует комплексных решений. Главная проблема в том, что oCItem в первой готике не имеет части полей, пришедших в ночи ворона. И тут два варианта. Либо написать производный от oCItem, либо немного изменить поля существующего.
Последний чуть быстрее в реализации. Смотри, в скриптах никогда не используются C_ITEM.nameID и C_ITEM.weight, поэтому забираем их в свои нужды.
Для функций oCItem::ThisVobAddedToWorld и oCItem::ThisVobRemovedFromWorld определяем хуки, чтобы произвести создание эффекта в момент вставки объекта в мир
Вооот, это программа минимум. Но когда надеваешь предмет на персонажа, там нужно сделать все тоже самое, но из функций экипировки. Правда есть нюанс, в г1 матрица предмета в слоте всегда будет возвращать 0 0 0, из-за чего эффект будет всегда висеть в нулевой точке координат локации. Сравнивать движки мне пока некогда, возможно Saturas поищет разницу.
И да, важное замечание. Существуют эффекты, частицы которых порождаются на полигонах модели, в г1 такое возможно только для 3ds моделей.
Я так понял зануление происходит здесь, и связано это с тем, что после экипировки позиция предмета зависит от позиции нпс/игрока.
Если будет подсказка в какие методы посмотреть, я был бы очень благодарен.
Также столкнулся с проблемой, что если предмет выкидывается из инвентаря, то эффект начинается проигрываться не сразу, а только если повернуть камеру (убрать предмет из камеры) и навестись снова. С чем такая трабла может быть связана?
Подскажите, плз в чем может быть проблема. Свежесозданый проект на юнионе при попытке скомпилировать выдает кучу ошибок на две строки
Ошибка C2079 "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader" WeaponEffects_UnionPlugin_G1 d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h 48
Ошибка C2079 "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage" WeaponEffects_UnionPlugin_G1 d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h 49
1>------ Сборка начата: проект: WeaponEffects_UnionPlugin_G1, Конфигурация: G1 Release Win32 ------
1>DllMain.cpp
1>Interface.cpp
1>ClassDeclarators_G2A.cpp
1>Globals_G2A.cpp
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>Statics_G2A.cpp
1>ClassDeclarators_G2.cpp
1>Globals_G2.cpp
1>Statics_G2.cpp
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>ClassDeclarators_G1A.cpp
1>Globals_G1A.cpp
1>Statics_G1A.cpp
1>ClassDeclarators_G1.cpp
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>Globals_G1.cpp
1>Statics_G1.cpp
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(48): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shader" использует неопределенный class "Gothic_I_Classic::zCShader"
1>d:\gothicmodes\test\weaponeffects_unionplugin_g1\weaponeffects_unionplugin_g1\zengin\gothic_i_classic\api\zSky_Outdoor.h(49): error C2079: "Gothic_I_Classic::zCOutdoorRainFX::m_shaderStage" использует неопределенный class "Gothic_I_Classic::zCShaderStage"
1>Сборка проекта "WeaponEffects_UnionPlugin_G1.vcxproj" завершена с ошибкой.
========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Там в г1 и г1а надо просто в файлах zSky_OutDoor.h до неймспейса добавить заголовок zRenderManager.h. Сорри, мне вообще некогда заниматься обновлениями, о косяке знаю.
Ну есть длл сделанная в юнионе (то что я делал для эффектов оружия), есть модификация (новый игровой мир с квестами и тд, где есть оружие с эффектами).
Нужно из этого сделать инсталятор, чтобы простой юзер мог просто установить модификацию на чистую готику
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.