[SoC] Ковыряемся в файлах - Страница 1164 - Скрипты / конфиги / движок - AMK Team
Перейти к контенту

[SoC] Ковыряемся в файлах


Рекомендуемые сообщения

Как вылечить такой вылет в ТЧ?

Expression    : error handler is invoked!
Function      : handler_base
File          : .\xrDebugNew.cpp
Line          : 753
Description   : application is aborting
Уже всю папку meshes вставил из ванили, все равно вылет при спавне нпс на локации, в основном сразу после захода на какую либо локацию.

Изменено пользователем андрей дронав
1 час назад, Norman Eisenherz сказал:

Ссылки с фразой global_flags в [_g.script] есть?

Нет.

Глянул у меня в моде - нет.

Глянул ресурсы огср для работы - тоже там нет.

 

 

1 час назад, Norman Eisenherz сказал:

Тогда попробуй просто вызвать метод set_item_untakeable(obj) со ссылкой на существующий объект – если библиотека xrgame.dll изменена, игра должна знать такую конструкцию.

Ну я же сказал что не смыслю в этом, я даже не знаю как вызывать...

  • Сомнительно 1

Попробуй так: на загрузке один предмет должен вывалиться и стать неактивным.

Spoiler
[bind_stalker.script]
(+) выше апдейта
function set_item_untakeable( item )
  local f = item:get_inventory_item_flags()
  f:set( global_flags.FCanTake, false )				-- или f:set(1, false)
  item:set_inventory_item_flags( f )
end


function actor_binder:update(delta)
	object_binder.update(self, delta)
(+)
	if not flag then
		flag = true
		local obj = db.actor:object("medkit")		-- можно любой другой предмет
		if obj then
			db.actor:drop_item(obj)			-- проверить сброс, раскомментировать следующую строку, перезагрузиться
			-- set_obj_untakeable(obj)
		end
	end

 

 

@андрей дронав было у меня такое... вроде бы из-за спавна непися с неправильно прописанным визуалом, или снарягой. Точно не могу сказать, но error_handler 100% было

@Norman Eisenherz выбрасывает, расскоментил, итог:
 

Скрытый текст

[05.10.22 23:34:31.525] [print_output([CScriptEngine::lua_pcall_failed])] SCRIPT RUNTIME ERROR:
...adow of chernobymod\gamedata\scripts\bind_stalker.script:445: attempt to call global 'set_obj_untakeable' (a nil value)
stack traceback:
    [C]: in function 'set_obj_untakeable'
    ...adow of chernobymod\gamedata\scripts\bind_stalker.script:445: in function <...adow of chernobymod\gamedata\scripts\bind_stalker.script:437>
[05.10.22 23:34:31.525] *********************************************************************************
[05.10.22 23:34:31.525] 
FATAL ERROR

[error]Expression    : FATAL ERROR
[error]Function      : CScriptEngine::lua_pcall_failed
[error]File          : F:\Repos\OGSR-Engine\ogsr_engine\COMMON_AI\script_engine.cpp
[error]Line          : 52
[error]Description   : [CScriptEngine::lua_pcall_failed]: ...adow of chernobymod\gamedata\scripts\bind_stalker.script:445: attempt to call global 'set_obj_untakeable' (a nil value)

[05.10.22 23:34:31.525] ***************************[ScriptCrashHandler]**********************************
[05.10.22 23:34:31.525] stack traceback:
    [C]: in function 'set_obj_untakeable'
    ...adow of chernobymod\gamedata\scripts\bind_stalker.script:445: in function <...adow of chernobymod\gamedata\scripts\bind_stalker.script:437>
[05.10.22 23:34:31.525]     Locals: 
[05.10.22 23:34:31.525]      string (*temporary) : ...adow of chernobymod\gamedata\scripts\bind_stalker.script:445: attempt to call global 'set_obj_untakeable' (a nil value)
[05.10.22 23:34:31.525]     End
[05.10.22 23:34:31.525]     Locals: 
[05.10.22 23:34:31.525]      Userdata: self
[05.10.22 23:34:31.525]              boolean self.bCheckStart : true
[05.10.22 23:34:31.525]              number self.next_restrictors_update_time : -10000.000000
[05.10.22 23:34:31.525]              Userdata: self.am
[05.10.22 23:34:31.525]                      boolean self.am.use_rescheduling : true
[05.10.22 23:34:31.525]                      table self.am.slots_in_process : [...]
[05.10.22 23:34:31.525]                      table self.am.signals : [...]
[05.10.22 23:34:31.525]                      string self.am.mgr_name : global
[05.10.22 23:34:31.525]              boolean self.weapon_hide : false
[05.10.22 23:34:31.525]              Table: self.st
[05.10.22 23:34:31.525]                      table self.st.pstor : [...]
[05.10.22 23:34:31.525]              Userdata: self.weather_manager
[05.10.22 23:34:31.525]                      table self.weather_manager.weather_list : [...]
[05.10.22 23:34:31.525]                      number self.weather_manager.update_time : 90000.000000
[05.10.22 23:34:31.525]                      string self.weather_manager.update_level : l01_dead_city
[05.10.22 23:34:31.525]                      number self.weather_manager.weather_change_day : 3.000000
[05.10.22 23:34:31.525]              Userdata: self.actor_detector
[05.10.22 23:34:31.525]                      number self.actor_detector.init_time : -1.000000
[05.10.22 23:34:31.525]      number delta : 0.000000
[05.10.22 23:34:31.525]      userdata obj : (game_object): 000000002E8107B0
[05.10.22 23:34:31.525]      nil (*temporary) : [not available]
[05.10.22 23:34:31.525]      number (*temporary) : 0.000000
[05.10.22 23:34:31.525]      Table: (*temporary)
[05.10.22 23:34:31.525]              function (*temporary).__gc : [[function]]
[05.10.22 23:34:31.525]              function (*temporary).__gettable : [[function]]
[05.10.22 23:34:31.525]              function (*temporary).__lt : [[function]]
[05.10.22 23:34:31.525]              function (*temporary).__concat : [[function]]
[05.10.22 23:34:31.525]              function (*temporary).__sub : [[function]]
[05.10.22 23:34:31.525]              function (*temporary).__div : [[function]]
[05.10.22 23:34:31.525]              function (*temporary).__index : [[function]]
[05.10.22 23:34:31.525]              boolean (*temporary).__luabind_class : true
[05.10.22 23:34:31.525]              function (*temporary).__call : [[function]]
[05.10.22 23:34:31.526]              function (*temporary).__newindex : [[function]]
[05.10.22 23:34:31.526]              function (*temporary).__pow : [[function]]
[05.10.22 23:34:31.526]              function (*temporary).__tostring : [[function]]
[05.10.22 23:34:31.526]              function (*temporary).__eq : [[function]]
[05.10.22 23:34:31.526]              function (*temporary).__add : [[function]]
[05.10.22 23:34:31.526]              function (*temporary).__le : [[function]]
[05.10.22 23:34:31.526]              function (*temporary).__mul : [[function]]
[05.10.22 23:34:31.526]              function (*temporary).__unm : [[function]]
[05.10.22 23:34:31.526]      function (*temporary) : [[function]]
[05.10.22 23:34:31.526]      number (*temporary) : 0.000000
[05.10.22 23:34:31.526]      Userdata: (*temporary)
[05.10.22 23:34:31.526]              userdata (*temporary).st : (game_object): 000000002F352B90
[05.10.22 23:34:31.526]              boolean (*temporary).first_update : false
[05.10.22 23:34:31.526]      string (*temporary) : object
[05.10.22 23:34:31.526]      string (*temporary) : attempt to call global 'set_obj_untakeable' (a nil value)
[05.10.22 23:34:31.526]     End
[05.10.22 23:34:31.526] *********************************************************************************
[05.10.22 23:34:31.526] ********************************************************************************
[05.10.22 23:34:31.526] !![LogStackTrace] Thread: [UNKNOWN]
[05.10.22 23:34:33.740] !!stack trace:
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrCore.dll], AddrPC.Offset: [000007FEECF13DD8], Fun: [BuildStackTrace()] + [48 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xrCore\stacktrace_collector.cpp-->152]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrCore.dll], AddrPC.Offset: [000007FEECF38F25], Fun: [LogStackTrace()] + [73 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xrCore\xrDebugNew.cpp-->74] + [13 byte(s)]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrCore.dll], AddrPC.Offset: [000007FEECF38DD7], Fun: [xrDebug::backend()] + [171 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xrCore\xrDebugNew.cpp-->182]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrCore.dll], AddrPC.Offset: [000007FEECF38D17], Fun: [xrDebug::fatal()] + [131 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xrCore\xrDebugNew.cpp-->251]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrGame.dll], AddrPC.Offset: [000007FEDBF29BF8], Fun: [CScriptEngine::lua_pcall_failed()] + [120 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\COMMON_AI\script_engine.cpp-->53]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\LuaJIT.dll], AddrPC.Offset: [000007FEDF3354D0], Fun: [lj_BC_FUNCC()] + [66 byte(s)]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\LuaJIT.dll], AddrPC.Offset: [000007FEDF37355C], Fun: [lj_err_run()] + [380 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\LuaJIT\src\lj_err.c-->849] + [33 byte(s)]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\LuaJIT.dll], AddrPC.Offset: [000007FEDF372606], Fun: [err_msgv()] + [118 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\LuaJIT\src\lj_err.c-->874] + [8 byte(s)]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\LuaJIT.dll], AddrPC.Offset: [000007FEDF373306], Fun: [lj_err_optype()] + [182 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\LuaJIT\src\lj_err.c-->908] + [34 byte(s)]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\LuaJIT.dll], AddrPC.Offset: [000007FEDF3733BF], Fun: [lj_err_optype_call()] + [111 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\LuaJIT\src\lj_err.c-->938] + [11 byte(s)]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\LuaJIT.dll], AddrPC.Offset: [000007FEDF38888A], Fun: [lj_meta_call()] + [122 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\LuaJIT\src\lj_meta.c-->447] + [11 byte(s)]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\LuaJIT.dll], AddrPC.Offset: [000007FEDF335CD2], Fun: [lj_vmeta_call()] + [38 byte(s)]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\LuaJIT.dll], AddrPC.Offset: [000007FEDF33F24A], Fun: [lua_pcall()] + [170 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\LuaJIT\src\lj_api.c-->1144]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\Luabind.dll], AddrPC.Offset: [000000018000DB1C], Fun: [luabind::detail::pcall()] + [100 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\Luabind\src\pcall.cpp-->40] + [16 byte(s)]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrGame.dll], AddrPC.Offset: [000007FEDBE7C849], Fun: [luabind::detail::proxy_member_void_caller<unsigned int const *>::~proxy_member_void_caller<unsigned int const *>()] + [73 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\Luabind\luabind\detail\call_member.hpp-->269] + [16 byte(s)]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrGame.dll], AddrPC.Offset: [000007FEDBE7C47D], Fun: [CScriptBinderObjectWrapper::shedule_Update()] + [53 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xrGame\script_binder_object_wrapper.cpp-->67]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrGame.dll], AddrPC.Offset: [000007FEDBD9533F], Fun: [CScriptBinder::shedule_Update()] + [19 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xrGame\script_binder.cpp-->119]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrGame.dll], AddrPC.Offset: [000007FEDBF938BB], Fun: [CEntity::shedule_Update()] + [27 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xrGame\Entity.cpp-->325]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrGame.dll], AddrPC.Offset: [000007FEDBF948A2], Fun: [CEntityAlive::shedule_Update()] + [18 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xrGame\entity_alive.cpp-->197]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrGame.dll], AddrPC.Offset: [000007FEDBF7A525], Fun: [CActor::shedule_Update()] + [913 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xrGame\Actor.cpp-->1077]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrEngine.exe], AddrPC.Offset: [000000013F7FA10C], Fun: [CSheduler::Update()] + [352 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xr_3da\xrSheduler.cpp-->428]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrGame.dll], AddrPC.Offset: [000007FEDBF47B78], Fun: [CGamePersistent::OnFrame()] + [720 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xrGame\GamePersistent.cpp-->582]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrEngine.exe], AddrPC.Offset: [000000013F82C548], Fun: [CRegistrator<pureAppStart>::Process()] + [84 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xr_3da\pure.h-->86]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrEngine.exe], AddrPC.Offset: [000000013F82B6C4], Fun: [CRenderDevice::FrameMove()] + [288 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xr_3da\device.cpp-->443]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrEngine.exe], AddrPC.Offset: [000000013F82B985], Fun: [CRenderDevice::on_idle()] + [181 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xr_3da\device.cpp-->214]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrEngine.exe], AddrPC.Offset: [000000013F82C11E], Fun: [CRenderDevice::message_loop()] + [98 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xr_3da\device.cpp-->316]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrEngine.exe], AddrPC.Offset: [000000013F82B7DA], Fun: [CRenderDevice::Run()] + [222 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xr_3da\device.cpp-->389]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrEngine.exe], AddrPC.Offset: [000000013F7EF0B0], Fun: [Startup()] + [296 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xr_3da\x_ray.cpp-->218]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrEngine.exe], AddrPC.Offset: [000000013F7EF426], Fun: [WinMain_impl()] + [478 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xr_3da\x_ray.cpp-->418]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrEngine.exe], AddrPC.Offset: [000000013F7ECB84], Fun: [WinMain()] + [72 byte(s)], File-->Line: [F:\Repos\OGSR-Engine\ogsr_engine\xr_3da\x_ray.cpp-->439]
! Module: [D:\S.T.A.L.K.E.R. Shadow of Chernobymod\bin_x64\xrEngine.exe], AddrPC.Offset: [000000013F84B2E2], Fun: [__scrt_common_main_seh()] + [262 byte(s)], File-->Line: [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl-->288] + [33 byte(s)]
! Module: [C:\Windows\system32\kernel32.dll], AddrPC.Offset: [000000007672651D], Fun: [BaseThreadInitThunk()] + [13 byte(s)]
! Module: [C:\Windows\SYSTEM32\ntdll.dll], AddrPC.Offset: [0000000076E1C201], Fun: [RtlUserThreadStart()] + [33 byte(s)]
[05.10.22 23:34:33.740] ********************************************************************************
[05.10.22 23:34:34.579] * [R_occlusion::occq_destroy]: fids[14] used[14] pool[14]
[05.10.22 23:34:34.579] * [R_occlusion::occq_destroy]: released [0] used and [14] pool queries


з.ы. это получается можно редачить скрипты находясь в игре и проверять изменения?
И не знал...

С конфигами наверное так не пройдёт.

@андрей дронав 

Ошибка

Данный вылет - это нечто вроде "универсального описания", по факту - просто "затычка".

Происходит при нестандартной ошибке, полноценное отслеживание которой, разработчиками не было предусмотрено. А в иных случаях вылетает без лога.

Наиболее частая причина вылета — *.ogf модели (например, NPC) подключили *.omf (анимации) не от неё или под другой скелет.

Решение

После кода вылета ниже строки stack trace: могут быть адреса. Например:

stack trace:

0023:07C562E5 xrGame.dll, CxIOFile::Scanf()

По ним можно попытаться хотя бы частично догадаться\выделить вылет среди других таких-же.

Но чаще всего там будет пусто, поэтому остаётся только "метод тыка", пока вылет не исчезнет:

  1. Обратите внимание на то, что изменяли в игре последний раз.
    Если вносили изменения не вы - обратитесь к тем, кто это делал.
  2. Поэтапно откатывайте изменения, пока вылет не исчезнет.
  3. Перепроверьте, то изменение, которое вызывало вылет и исправьте его.
  • Полезно 1

народ, кто знает в чём может быть причина черезчурной засветки?

вот скрины с данный явлением

и чем это можно поправить?

@Houdini_one Не та ссылка в апдейте: должно быть set_item_untakeable(obj), как и в описании выше. Моя невнимательность.

@Norman Eisenherz теперь предмет выпадает с рук и перестаёт быть активным до следующего сэйв-лоада.

Ну, теперь надо отработать ситуацию "вход в комнату – водка неактивна – триггер – водка активна". Для начала, можно добавить следующий код в [_g.script] для глобального вызова:

Spoiler
function set_item_untakeable( item )
  local f = item:get_inventory_item_flags()
  f:set( global_flags.FCanTake, false )
  item:set_inventory_item_flags( f )
end

function set_item_takeable( item )
  local f = item:get_inventory_item_flags()
  f:set( global_flags.FCanTake, true )
  item:set_inventory_item_flags( f )
end

 

 

Я на расстоянии только отдельные подсказки могу дать, так что или ковыряй скрипты, или ищи кого-то с уставленным движком OGSR именно твоей версии. Замахиваться сразу на сложные моды, конечно, похвально, но это не решается за 10 строк кода.

  • Согласен 2
  • Полезно 1

не

53 минуты назад, Norman Eisenherz сказал:

или ищи кого-то с уставленным движком OGSR именно твоей версии.

А у тебя какая собственно?
Впрочем, ни в последней, ни в более ранней этих функций не было.

 

53 минуты назад, Norman Eisenherz сказал:

Замахиваться сразу на сложные моды, конечно, похвально

Да это при чём, я мод пятый год уже делаю, просто никогда не имел дела со скриптами, не было такой нужды чтобы квест адекватно работал.

Изменено пользователем Houdini_one
05.10.2022 в 18:19, Houdini_one сказал:

гг подойдёт к столу, на нём будет закуска (взять нельзя) и водка, вот эти голоса всякие, в один момент эта водка станет доступна,

Может быть для этой задачи использовать обычный physic_object с визуалом от водки и соответствующей логикой?

@WinCap я знаю как сделать её неюзабельной, сделать её как physic_object, в нужный момент удалить и заспавнить как обычную водку, вопрос только как сделать чтобы ГГ начал её пить сам, без клика по предмету.

1 час назад, Houdini_one сказал:

в нужный момент удалить и заспавнить как обычную водку,

А зачем такие сложности?

Пропиши в эту бутылку (physic_object) логику - когда ГГ её use'нет она удаляется, а настоящая водка спавнится в инвентарь.

Ну, а дальше: db.actor:eat(db.actor:object("vodka"))

  • Спасибо 1
  • Нравится 1
  • Согласен 2
  • Полезно 1

Друзья, подскажите.. Нужно сделать несколько айтемов. Один "предохранитель" от радиации, другой от пси-излучения. Подскажите переменные или функции для вышеописанных действий плс. (То есть сожрал таблетку - не берёт радиация / пси-излучение)

 

Ещё, как сделать зависимость от употребления какго либо предмета? Интересует сама функция

1 час назад, Hind сказал:

Интересует сама функция

Сигаретная зависимость

 

1 час назад, Hind сказал:

(То есть сожрал таблетку - не берёт радиация / пси-излучение)

Как в ЗП? Сделано в OGSR:GA (вроде) скриптами.

@Houdini_one Сделал такой прикол:
 

Скрытый текст

 if has_alife_info("rad_immunity") then
         db.actor.radiation = -db.actor.radiation
    return
end
end

А оно просто как антирад работает один раз.

2 минуты назад, Hind сказал:

работает один раз

Поставь на апдейт ГГ. Если нужно на время, забирай инфо по таймеру.

  • Согласен 1

@Hind такая функция:
 

Скрытый текст

function testpsy()
if (db.actor.psy_health > 0.65) and has_alife_info("yan_ustanovka_on") then
db.actor.psy_health = -0.01
end
if (db.actor.psy_health <= 0.65) and has_alife_info("yan_ustanovka_on") then
db.actor.psy_health = 0.01
   end
end

Удерживала пси-хп игрока на 65% до получения инфопоршня.
Прикрути таймер сколько оно должно работать и смени пси-хп на радиацию.

  • Полезно 1

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...