Zagolski 74 Опубликовано 18 Июля 2017 Поделиться Опубликовано 18 Июля 2017 m_eHitTypeBlowout присваевается тип урона в CCustomZone::Load непосредственно из секции самой аномалии в конфигах. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1103793
UnLoaded 313 Опубликовано 18 Июля 2017 Поделиться Опубликовано 18 Июля 2017 11 часов назад, Zagolski сказал: непосредственно из секции самой аномалии в конфигах. Да, точно ! Как-то об этом не подумал. Но, тогда, сразу вопрос в догонку: почему для радиоактивных аномалий сделано по иному - как я уже указал в исходном вопросе, тип хита указан напрямую ? Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1103917
Winsor 178 Опубликовано 19 Июля 2017 Поделиться Опубликовано 19 Июля 2017 (изменено) Уважаемые знающие, вопрос про серверные объекты. создаю некий клиентский класс class CGBox:public CInventoryItemObject експортирую в скрипты Скрытый текст void CGBox::script_register(lua_State *L) { module(L) [ class_<CGBox, CGameObject>("CGBox") .def(constructor<>()) ]; } регистрирую в class_registrator.script cs_register(object_factory, "CGBox", "se_gbox.se_gbox", "CL_GBOX_S", "game_box_s") сам серверный скриптовый класс class "se_gbox" (cse_alife_item) Так вот вопросы - 1) почему у меня для итема данного класса (CL_GBOX_S) в упор не хотят вызываться методы on_unregister/on_register/keep_saved_data_anyway/on_spawn ? при этом __init/STATE_Read/STATE_Write вызываются. 2) как в биндере объекта (object_binder) из скриптов "увидеть" переход offline/online? Для этого же объекта почему то из биндера не вызываются методы net_export/net_import. При переходе в офлайн вызывается net_destroy, но он же вызывается и при обычном release() Благодарю! p.s. зачем все это - дабы в момент перехода в оффлайн сохранить данные клиентского скриптового объекта в серверный, при онлайн - обратно. Изменено 19 Июля 2017 пользователем Winsor Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1104081
Zagolski 74 Опубликовано 19 Июля 2017 Поделиться Опубликовано 19 Июля 2017 (изменено) OnUnloaded. В ЧН и ЗП радиоактивные зоны урон тоже через m_eHitTypeBlowout наносят. А в ТЧ многое не так как нужно сделано... Winsor. Для ТЧ делаешь? Если для ТЧ, то вешай сразу на движковый класс, который в clsid определен. Изменено 19 Июля 2017 пользователем Zagolski Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1104083
Winsor 178 Опубликовано 19 Июля 2017 Поделиться Опубликовано 19 Июля 2017 (изменено) 46 минут назад, Zagolski сказал: то вешай сразу на движковый класс что именно вешать? почему то из скриптового движкового класса не вызываются методы нужные... или я немного не понял Ваш ответ. p.s. так же выяснил что, если класс наследован от CInventoryitemObject и лежит в инвентаре актора - в онлайн он не переводиться (т.е. для него не вызываются движковый метод CSE_ALifeDynamicObject::add_online) Изменено 19 Июля 2017 пользователем Winsor Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1104093
Zagolski 74 Опубликовано 19 Июля 2017 Поделиться Опубликовано 19 Июля 2017 (изменено) Не нужно ничего в скриптах регистрировать никаких классов. В движке в clsid_game.h новый класс регистрируй как какой-нибудь O_GBOX, на него в игре свой предмет и цепляй. В ТЧ для большинства так нужно делать. upd. А если скриптовые классы создавать, то да, половина глючить начинает. То в онлайн не переводится, то нет-пакеты не читаются. Но в ЧН/ЗП все с этим корректно. Изменено 19 Июля 2017 пользователем Zagolski Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1104097
Winsor 178 Опубликовано 19 Июля 2017 Поделиться Опубликовано 19 Июля 2017 3 минуты назад, Zagolski сказал: Не нужно ничего в скриптах регистрировать никаких классов. В движке в clsid_game.h новый класс регистрируй как какой-нибудь O_GBOX, на него в игре свой предмет и цепляй. В ТЧ для большинства так нужно делать. До определенного момента хватало биндера (object_binder). Но приспичило мне сохранять некие данные в нетпакете класса. save/load работают , но если выбросить такой предмет на землю - то при переходе offline/online методы save/load не вызываются. т.е. задача именно из скриптов увидеть этот переход. Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1104113
Zagolski 74 Опубликовано 19 Июля 2017 Поделиться Опубликовано 19 Июля 2017 (изменено) В ЧН/ЗП вызывается can_switch_online для этого дела. А в ТЧ лучше юзать нет-пакет от Артоса, взаимодействовать им напрямую с движковым классом. Я таким вариантом на ТЧ и пользуюсь, потому как тоже встречал проблемы с переходом в онлайн объектов на скриптовых классах. Не работают они корректно на ТЧ. Особо глубоко не разбирался почему, плюнул на них. Изменено 19 Июля 2017 пользователем Zagolski 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1104125
Карлан 1 050 Опубликовано 19 Июля 2017 Поделиться Опубликовано 19 Июля 2017 Какая-то полная печаль и уныние. 16 часов назад, UnLoaded сказал: Но, тогда, сразу вопрос в догонку: почему для радиоактивных аномалий сделано по иному - как я уже указал в исходном вопросе, тип хита указан напрямую ? Я год назад об этом сам спрашивал, и сам же потом и отвечал, поиском например можно было и найти, и ты уже даже не второй с такими вопросами. Потому-что у зоны радиации другая механика работы, она не хитует, а накапливает в акторе радиацию, т.е. непосредственно не "бьет" (хотя и проходит все этапы кроме сигнала, поэтому, например, броники от радиации защищают нормально), поэтому она и в хит-коллбеке не отрабатывает, можешь сам посмотреть. Потом уже сам апдейт начинает уменьшать здоровье, статик в игре о опасной радиации берется ведь не от того, какой величины заражение в той зоне, в которой ты находишься, что логически кстати тоже неверно и надо переделывать. @Winsor по первому вопросу текстом не знаю как быстро описать. Только что, Winsor сказал: при переходе offline/online методы save/load не вызываются. т.е. задача именно из скриптов увидеть этот переход. Мое хранилище умеет это делать (различать факт того, когда объект удален, от факта, когда объект просто ушел в оффлайн) , пример использования можешь в m_items.script посмотреть. Подробнее писал тут. 1 час назад, Zagolski сказал: А в ТЧ многое не так как нужно сделано... Перечисли несколько примеров, если не трудно. И вот здесь, что конкретно не так? И мой риторический вопрос, сообщения (очередность) хитов никто не переделывал? Косяк вроде известный, особенно после личного осознания. У меня проблем нет, просто интересно альтернативные варианты посмотреть. И еще, количество потоков никто не сокращал (после упрощения клиент-серверной фиесты)? Какие проблемы были, как решали? 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1104132
Zagolski 74 Опубликовано 19 Июля 2017 Поделиться Опубликовано 19 Июля 2017 (изменено) Только что, Карлан сказал: И вот здесь, что конкретно не так? Конкретно тут может и так, после того как ты по полочкам все разложил. Касаемо вообще аномалий, то взять хотя бы частое неразрывание тушек в карусели на ТЧ, когда тело остается крутиться в воздухе. Может кто подскажет, при включении саншафтов на зп-шном рендере R4 на дх11 образуется вот это: Т.е. солнечные лучи сами по себе функционируют корректно, но наделены сверхяркостью в виде чистого белого света, примерно как если смотреть в игре на включенную лампу. На скриншоте показан дверной проем в который светят лучи (слева окно, сверху крыша, скрин снят в помещении). Это движковая трабла скорее всего, потому как шейдеры используются родные зп-шные и без каких-либо модификаций. И да, на дх10 этой проблемы не наблюдается. Изменено 19 Июля 2017 пользователем Zagolski Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1104145
Zagolski 74 Опубликовано 19 Июля 2017 Поделиться Опубликовано 19 Июля 2017 (изменено) Только что, Карлан сказал: И еще, количество потоков никто не сокращал (после упрощения клиент-серверной фиесты)? Какие проблемы были, как решали? Тут можно поподробнее? Я у себя всю мультиплеерную шнягу повырезал, вот ищу, что еще можно удалить/упростить ненужного для облегчения. Как раз клиент-сервером сейчас занимаюсь. По-хорошему там бы вообще все переделать, от сервер-клиент отказаться, но это уже отдельный разговор. А ты в Prospectors так и оставил ТЧ-шный вариант сервера или на ЗП переделывал? Изменено 19 Июля 2017 пользователем Zagolski Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1104179
Expropriator 2 119 Опубликовано 19 Июля 2017 Поделиться Опубликовано 19 Июля 2017 (изменено) В какую тему обратиться? Интересует правка движка или скрипта, или конфига, что бы можно было включать черно-белое изображение рендера всего и вся (без всяких там спец-эффектов). Может уже существует подобное? А еще меня интересует: почему в меню нет "правильных" настроек насыщенности цветовой гаммы? Изменено 19 Июля 2017 пользователем Дизель Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1104238
Winsor 178 Опубликовано 20 Июля 2017 Поделиться Опубликовано 20 Июля 2017 14 часов назад, Дизель сказал: включать черно-белое изображение пост процесс, аналогично работе ПНВ. Где то на просторах интернета даже валялся (вроде на сталкерине) файлик с черно-белым постпроцессом. Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1104423
Winsor 178 Опубликовано 20 Июля 2017 Поделиться Опубликовано 20 Июля 2017 21 час назад, Карлан сказал: по первому вопросу текстом не знаю как быстро описать можно не быстро, главное - понять что не так. 21 час назад, Карлан сказал: Мое хранилище умеет это делать (различать факт того, когда объект удален, от факта, когда объект просто ушел в оффлайн) , пример использования можешь в m_items.script посмотреть. посмотрел очень внимательно. не увидел ничего, что относилось бы к проверке такого факта. Есть, конечно write_pstor, но она у Вас движковая - мне ничем не поможет. единственное что хоть как то наводит на мыслб о отличии удаляется объект или переходит в офлайн - это local sobj = sim:object(obj:id()). Хотя по коду движка серверный объект всегда удаляется позже клиентского (ну во всяком случае такая очередность удаления объекта и сообщения GE_DESTROY)... Не смог найти... Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1104432
Expropriator 2 119 Опубликовано 20 Июля 2017 Поделиться Опубликовано 20 Июля 2017 (изменено) @Winsor, да я думал про зелёный постпроцесс, что его можно переделать. Но потом, я подумал, а почему так печально в самом движке с гаммой. Вообще то мне надо цвет вывести из под консоли, значениями от и до (либо да или нет), для меню настроек. Изменено 20 Июля 2017 пользователем Дизель Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1104484
Expropriator 2 119 Опубликовано 23 Июля 2017 Поделиться Опубликовано 23 Июля 2017 (изменено) Мне нужно скомпилировать mixed xrSE_Factory: 7>..\..\xrServerEntities\xrServer_Objects_ALife.cpp(66) : error C3861: 'StrCmpLogicalW': identifier not found 7>..\..\xrServerEntities\xrServer_Objects_ALife.cpp(79) : error C3861: 'StrCmpLogicalW': identifier not found Корень зла тут: # include <shlwapi.h> C:\Program Files\Microsoft SDKs\Windows\v6.1\Include\Shlwapi.h LWSTDAPI_(int) StrCmpLogicalW(__in LPCWSTR psz1, __in LPCWSTR psz2); Что делать и как побороть? Я нуб еще в таких тонкостях. Что ли надо Microsoft SDKs старее? А причём тут директории 64 бита? Проект 32. Может быть причина, что проект создавался на ХР? Изменено 23 Июля 2017 пользователем Дизель Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1106582
Expropriator 2 119 Опубликовано 23 Июля 2017 Поделиться Опубликовано 23 Июля 2017 (изменено) Сменил путь на 32битную Microsoft СДК v5.0: Это пропало: 7>..\..\xrServerEntities\xrServer_Objects_ALife.cpp(66) : error C3861: 'StrCmpLogicalW': identifier not found 7>..\..\xrServerEntities\xrServer_Objects_ALife.cpp(79) : error C3861: 'StrCmpLogicalW': identifier not found Это вылезло: 7>LINK : fatal error LNK1104: cannot open file '..\..\..\..\intermediate\xrServerEntities\pch_script.obj' Причину эту смогу решить - она в косячных путях проекта. Собрал полностью xrAi - были косячные настройки проекта (под ХР). Изменено 23 Июля 2017 пользователем Дизель Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1106595
mortan 144 Опубликовано 24 Июля 2017 Поделиться Опубликовано 24 Июля 2017 Кто-нибудь правил такую вот траблу в ЗП - когда лутаешь труп или контейнер то итем не переносится в рюкзак а прыгает в тот слот который прописан в конфиге. Или же если наоборот хочешь засунуть оружее для первого слота во второй то оно само прыгает в первый слот если он свободен. Насколько я понял движок просто не выполняет след. net-packet который идёт сразу после перемещения итема от одного владельца к другому. Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1106986
UnLoaded 313 Опубликовано 24 Июля 2017 Поделиться Опубликовано 24 Июля 2017 Только что, mortan сказал: то итем не переносится в рюкзак а прыгает в тот слот который прописан в конфиге Не знаю при чем тут "след. net-packet", но дело в том, что в движке в обработчике появления у актера предмета(обычно что-то со словами "Take") происходит проверка: "а подходит ли появившийся предмет для какого-либо слота?", и если подходит и слот пуст - предмет туда и устанавливается. Траблой это назвать нельзя, т.к. это сознательно сделанная "фишка". Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1107005
mortan 144 Опубликовано 24 Июля 2017 Поделиться Опубликовано 24 Июля 2017 @UnLoaded тогда почему он не перемещается после в нужный слот? В функции SendEvent_Item2Slot сначала идёт проверка что если у актора нету итема то выполняется move_item_from_to, и уже после должна выполняется отправка пакета GEG_PLAYER_ITEM2SLOT. Но этого не происходит. Где же тут "фишка" если это самая настоящая недоработка? На ориг. игру это не шибко сильно влияет, но если создать какой-нибудь новый внешний контейнер ( скажем так какой-нибудь рюкзак ), то это вызывает определённые проблемы. Ссылка на комментарий https://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page/124/#findComment-1107014
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти