Шипэтя 0 Опубликовано 12 Апреля 2021 Поделиться Опубликовано 12 Апреля 2021 Как убрать вылет при отсутствии звука в тч? Добавлено HellRatz, 13 Апреля 2021 Это что: вопрос или заголовок к уроку? Знаки препинания и заглавные не забываем. Ссылка на комментарий
Кот Смерч 0 Опубликовано 15 Апреля 2021 Поделиться Опубликовано 15 Апреля 2021 Добрый день, кто то пытался решить проблему в ЗП с проваливаем авто под террейн после перехода на другую локацию? В каком направлении копать чтобы это исправить? Ссылка на комментарий
ARTLantist 14 Опубликовано 24 Апреля 2021 Поделиться Опубликовано 24 Апреля 2021 Платформа ЗП. Наткнулся на одну неприятную проблему. При создании нового слота (не визуализации уже существующих, а полностью нового) обнаружил, что файл inventory_space.h, в котором прописаны слоты, ни в какую не хочет воспринимать изменения. Скрытый текст #pragma once #define CMD_START (1<<0) #define CMD_STOP (1<<1) //edited by ARTLantist enum{ NO_ACTIVE_SLOT = 0, KNIFE_SLOT = 1,//btn1 INV_SLOT_2, //btn2 INV_SLOT_3, //btn3 GRENADE_SLOT, //btn4 BINOCULAR_SLOT, //btn5 BOLT_SLOT, //btn6 OUTFIT_SLOT, PDA_SLOT, DETECTOR_SLOT, TORCH_SLOT, ARTEFACT_SLOT, HELMET_SLOT, AMMO_SLOT, //начиная с этой переменной идут новые слоты MEDCINE_SLOT, GRENADEW_SLOT, DOSIMETER_SLOT, //до этой LAST_SLOT = DOSIMETER_SLOT }; #define RUCK_HEIGHT 280 #define RUCK_WIDTH 7 class CInventoryItem; class CInventory; typedef CInventoryItem* PIItem; typedef xr_vector<PIItem> TIItemContainer; enum eItemPlace { eItemPlaceUndefined = 0, eItemPlaceSlot, eItemPlaceBelt, eItemPlaceRuck }; struct SInvItemPlace { union{ struct{ u16 type : 4; u16 slot_id : 6; u16 base_slot_id : 6; }; u16 value; }; }; И чтобы я не написал, никаких изменений не воспринимается, как будто я ничего нового не вношу. LAST_SLOT всё так же равен 12, как и до этого (значению HELMET_SLOT), а мои новые переменные вообще не имеют никакого значения - их будто вообще нет. Ради интереса решил поизменять положения стандартных переменных, но в итоге их значения не изменялись: даже если поставить HELMET_SLOT на первое место, он всё равно будет равен 12, а не 0... Как данный момент можно исправить? Ссылка на комментарий
Romann 623 Опубликовано 24 Апреля 2021 Поделиться Опубликовано 24 Апреля 2021 @ARTLantist ну ты же уже заглядывал в движок CoC - вот посмотри, как сделано там, в CoC много слотов сделано, даже на запас(кастомные), чтоб потом в движок не лазать, и все работают. Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz). Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб). Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
ARTLantist 14 Опубликовано 24 Апреля 2021 Поделиться Опубликовано 24 Апреля 2021 @Romann, так ведь в том-то и дело, что я уже и в СоС поглядел, и в ОГСР, у меня точно также всё прописано, но почему-то ничего не работает. Файл будто тупо не реагирует Ссылка на комментарий
Romann 623 Опубликовано 24 Апреля 2021 Поделиться Опубликовано 24 Апреля 2021 46 минут назад, ARTLantist сказал(а): но почему-то ничего не работает. Файл будто тупо не реагирует Странно, не должно быть так, проверил и у себя, и на чистом движке ЗП, всё нормально работает, добавил слот, было 12 - стало 13: Со студией у тебя всё впорядке? Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz). Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб). Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
ARTLantist 14 Опубликовано 25 Апреля 2021 Поделиться Опубликовано 25 Апреля 2021 @Romann вот я тоже задумался на счёт того, всё ли в порядке со студией... Но прикол в том, что только в этом файле такая фигня. Во всех осатльных всё нормально работает, всё время изменял (и вчера для проверки тоже попробовал некоторые поизменять), и всё отлично. А этот файл прям вообще ни в какую. Попробую переустановить Ссылка на комментарий
xer-urg 0 Опубликовано 25 Апреля 2021 Поделиться Опубликовано 25 Апреля 2021 Приветствую! Подскажите, реализовывал ли кто у себя группировку предметов на худовой панели артефактов (group_similar) ? Сам крайне не силён во всей это XML-магии. Буду признателен за ссылку на репозиторий с целью самообразовательно подсмотреть решение. https://github.com/xer-urg/xray-1.0007rc1 Ссылка на комментарий
ARTLantist 14 Опубликовано 27 Апреля 2021 Поделиться Опубликовано 27 Апреля 2021 Каким образом можно сделать своего рода итератор для слотов, чтобы можно было перебирать все предметы в нём по очереди? У меня в слот можно помещать несколько предметов (как пояс), из этого вытекает необходимость проверки "размеров" всех предметов (т.к. они все могут занимать от 1 до 2 ячеек сетки в моём случае), которые уже есть в слоте, и которые я в него помещаю, дабы не было вылета из-за недостаточного размера ДрагДроп сетки. Ссылка на комментарий
HellRatz 2 892 Опубликовано 28 Апреля 2021 Поделиться Опубликовано 28 Апреля 2021 Может быть, кто-то не видел. Относительно свежий слив. Исходники за 2005 год: https://gitlab.com/Loxotron/stk_2005 СДК за 2005 год: https://drive.google.com/file/d/1KqtYzdO9GItdYA_r4nyZNi84r9K3C3h1/view Репозиторий исходного кода X-Ray Engine от 2000 до 2007 года (где-то до 3-4 патча): https://drive.google.com/file/d/1YkGd9mIUuwH8OMXQI-6Cm2WEjHC84u4v/view + конверт в гит: https://github.com/ugozapad/gitxray (что-то могло потеряться. Конвертировал Кирилл Юркин) За сливы благодарим Лохотрона и Vector Qt. 2 1 GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
AndreySol 215 Опубликовано 29 Апреля 2021 Поделиться Опубликовано 29 Апреля 2021 (изменено) @Шипэтя Движковая правка вылета, по отсутствию звукового файла, уже давно есть в теме "Уроки по модостроению". @ARTLantist А что мешает посмотреть реализацию ф-ции-итератора в том же рюкзаке? Изменено 29 Апреля 2021 пользователем AndreySol Ссылка на комментарий
xer-urg 0 Опубликовано 29 Апреля 2021 Поделиться Опубликовано 29 Апреля 2021 В "наследниках" репозитория 1.0007 Rc1 @alpetи @KD87 (XP-DEV) не работает контекстное меню по правой кнопке мыши в окнах обыска ящиков/трупов (не ручаюсь за оригинальные исходники). Сей вопрос кратко упоминался в теме "Мелкие правки движка", но итоговое решение для XP-DEV озвучено не было. Буду признателен за подсказку: что является причиной и как исправлять такое поведение. https://github.com/xer-urg/xray-1.0007rc1 Ссылка на комментарий
ARTLantist 14 Опубликовано 29 Апреля 2021 Поделиться Опубликовано 29 Апреля 2021 19 часов назад, AndreySol сказал(а): А что мешает посмотреть реализацию ф-ции-итератора в том же рюкзаке? Посмотреть - ничего не мешает, но там используется TIItemContainer m_ruck, а слоты - далеко не TIItemContainer... Вот я и встал в тупик. Ссылка на комментарий
ARTLantist 14 Опубликовано 25 Мая 2021 Поделиться Опубликовано 25 Мая 2021 Поймал очень неприятную проблему. Решил добавить очередной вызов функции из скрипта в движке через Скрытый текст 1>x:\sdk\include\boost/type_traits/is_polymorphic.hpp(34) : error C2504: 'CScriptGameObject' : base class undefined 1> x:\sdk\include\boost/type_traits/is_polymorphic.hpp(44) : see reference to class template instantiation 'boost::detail::is_polymorphic_imp1<T>::d2' being compiled 1> with 1> [ 1> T=CScriptGameObject 1> ] 1> x:\sdk\include\boost/type_traits/is_polymorphic.hpp(79) : see reference to class template instantiation 'boost::detail::is_polymorphic_imp1<T>' being compiled 1> with 1> [ 1> T=CScriptGameObject 1> ] 1> x:\sdk\include\boost/type_traits/is_polymorphic.hpp(84) : see reference to class template instantiation 'boost::detail::is_polymorphic_imp<T>' being compiled 1> with 1> [ 1> T=CScriptGameObject 1> ] 1> x:\sdk\include\boost/mpl/if.hpp(64) : see reference to class template instantiation 'boost::is_polymorphic<T>' being compiled 1> with 1> [ 1> T=CScriptGameObject 1> ] 1> x:\sdk\include\luabind/back_reference.hpp(177) : see reference to class template instantiation 'boost::mpl::if_<C,T1,T2>' being compiled 1> with 1> [ 1> C=boost::is_polymorphic<CScriptGameObject>, 1> T1=luabind::detail::back_reference_impl<CScriptGameObject>, 1> T2=luabind::detail::back_reference_do_nothing<CScriptGameObject> 1> ] 1> x:\sdk\include\luabind/detail/policy.hpp(670) : see reference to class template instantiation 'luabind::back_reference<T>' being compiled 1> with 1> [ 1> T=CScriptGameObject 1> ] 1> x:\sdk\include\luabind/detail/convert_to_lua.hpp(65) : see reference to function template instantiation 'void luabind::detail::pointer_converter<luabind::detail::cpp_to_lua>::apply<CScriptGameObject>(lua_State *,T *)' being compiled 1> with 1> [ 1> T=CScriptGameObject 1> ] 1> x:\sdk\include\luabind/object.hpp(72) : see reference to function template instantiation 'void luabind::detail::convert_to_lua<CScriptGameObject*>(lua_State *,const T &)' being compiled 1> with 1> [ 1> T=CScriptGameObject * 1> ] 1> x:\sdk\include\luabind/functor.hpp(283) : see reference to function template instantiation 'void luabind::detail::push_args_from_tuple<Index>::apply<T0,boost::tuples::cons<HT,TT>>(lua_State *,const boost::tuples::cons<HT,boost::tuples::cons<HT,TT>> &)' being compiled 1> with 1> [ 1> Index=1, 1> T0=CScriptGameObject *const *, 1> HT=CScriptGameObject *const *, 1> TT=boost::tuples::detail::map_tuple_to_cons<boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type>::type 1> ] 1> x:\sdk\include\luabind/functor.hpp(258) : while compiling class template member function 'luabind::detail::proxy_functor_void_caller<Tuple>::~proxy_functor_void_caller(void)' 1> with 1> [ 1> Tuple=boost::tuples::tuple<CScriptGameObject *const *,CScriptGameObject *const *,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type> 1> ] 1> .\ui\UIActorMenu_action.cpp(107) : see reference to class template instantiation 'luabind::detail::proxy_functor_void_caller<Tuple>' being compiled 1> with 1> [ 1> Tuple=boost::tuples::tuple<CScriptGameObject *const *,CScriptGameObject *const *,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type,boost::tuples::null_type> 1> ] 1>x:\sdk\include\boost/type_traits/is_polymorphic.hpp(26) : error C2504: 'CScriptGameObject' : base class undefined 1> x:\sdk\include\boost/type_traits/is_polymorphic.hpp(44) : see reference to class template instantiation 'boost::detail::is_polymorphic_imp1<T>::d1' being compiled 1> with 1> [ 1> T=CScriptGameObject 1> ] Ссылка на комментарий
xer-urg 0 Опубликовано 26 Мая 2021 Поделиться Опубликовано 26 Мая 2021 ТЧ 1.0007rc1 (xp-dev 190 rev) Задача: обрабатывать нажатие кнопок, отвечающих за разделы ПДА, если в слоте ПДА предмет с CLS_ID == CLSID_DEVICE_PDA Реализация: Скрытый текст bool CUIGameSP::IR_OnKeyboardPress(int dik) { if(inherited::IR_OnKeyboardPress(dik)) return true; if( Device.Paused() ) return false; CInventoryItem *PDA = smart_cast<CInventoryItem*>(pActor->inventory().ItemFromSlot(PDA_SLOT)); //<-Предмет в слоте ПДА if(!pActor) return false; if( pActor && !pActor->g_Alive() ) return false; switch ( get_binded_action(dik) ) { ... if (PDA->object().CLS_ID == CLSID_DEVICE_PDA) //<-проверяем есть ли PDA в слоте { case kACTIVE_JOBS: if (!MainInputReceiver() || MainInputReceiver() == PdaMenu){ PdaMenu->SetActiveSubdialog(eptQuests); m_game->StartStopMenu(PdaMenu, true); return true; }break; case kMAP: if (!MainInputReceiver() || MainInputReceiver() == PdaMenu){ PdaMenu->SetActiveSubdialog(eptMap); m_game->StartStopMenu(PdaMenu, true); return true; }break; case kCONTACTS: if (!MainInputReceiver() || MainInputReceiver() == PdaMenu){ PdaMenu->SetActiveSubdialog(eptContacts); m_game->StartStopMenu(PdaMenu, true); return true; }break; case kSCORES: { SDrawStaticStruct* ss = AddCustomStatic("main_task", true); SGameTaskObjective* o = pActor->GameTaskManager().ActiveObjective(); if (!o) ss->m_static->SetTextST("st_no_active_task"); else ss->m_static->SetTextST(*(o->description)); } break; } } return false; } Проблема: разделы ПДА открываются даже если в слоте ПДА находится предмет на соврешенно ином классе - аптечка, фонарь, etc. Если в слоте ПДА вообще нет предмета - кнопки не срабатывают, как и ожидается. Собственно вопрос - что я делаю не так? https://github.com/xer-urg/xray-1.0007rc1 Ссылка на комментарий
DoberBull 290 Опубликовано 1 Июня 2021 Поделиться Опубликовано 1 Июня 2021 @xer-urgне гарантирую, что сработает, но могу предложить: Скрытый текст Скорее всего, проверка срабатывает на сам класс CInventoryItem, а конфиг читать отказывается. Самое простое, заменить: CInventoryItem *PDA = smart_cast<CInventoryItem*>(pActor->inventory().ItemFromSlot(PDA_SLOT)); на: CPda *PDA = smart_cast<CPda*>(pActor->inventory().ItemFromSlot(PDA_SLOT)); А эту строчку: if (PDA->object().CLS_ID == CLSID_DEVICE_PDA) На эту: if (PDA) 1 Ссылка на комментарий
xer-urg 0 Опубликовано 2 Июня 2021 Поделиться Опубликовано 2 Июня 2021 @DoberBull, спасибо за предложение - с "CPda *PDA =... " так и сделал. Также было неправильно обрамлять в проверку несколько case - добавил условие "PDA" в каждый case и всё заработало. В итоговой реализации как-то так: Скрытый текст CPda* PDA = smart_cast<CPda*>(pActor->inventory().ItemFromSlot(PDA_SLOT)); ... case kACTIVE_JOBS: if ((!MainInputReceiver() || MainInputReceiver() == PdaMenu) && PDA) { ... } https://github.com/xer-urg/xray-1.0007rc1 Ссылка на комментарий
DiffForm 0 Опубликовано 2 Июня 2021 Поделиться Опубликовано 2 Июня 2021 (изменено) Народ, может хоть вы поможете, есть у кого - нибудь файлы(скомп. движок) для чистого ЗП, с редактированным hud_viewport(значения изменены от 0,2f до 0,05f),10 раз пытаюсь скомпилировать движок, и всё с ошибками, помогите, если можете Или хотя бы как правильно настроить hud_viewport(какие значения поставить), чтобы приклад при больших hud_fov не просвечивался Изменено 2 Июня 2021 пользователем DiffForm Ссылка на комментарий
ARTLantist 14 Опубликовано 7 Июня 2021 Поделиться Опубликовано 7 Июня 2021 Обнаружил весьма неприятную вещь в ЗП: Если убрать фонарик из слота, а потом положить его обратно в слот - он не включается. После перезагрузки всё возвращается на свои места - он опять работает. Как это можно пофиксить? Чёт никак не могу найти чего-то, что может быть связано с этим, в Torch.cpp Ссылка на комментарий
НаноБот 742 Опубликовано 11 Июня 2021 Поделиться Опубликовано 11 Июня 2021 Кто знает, как быстро создать CGameObject без создания серверной части? Мне надо для звезд люсткугеля, или проджектайлов (projectile). ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти