Перейти к контенту

[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

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий

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

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

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий

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

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

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

Лучше сделать мод с 0, чем пытаться залатать багованный.

DarkSnowder.gif

Ссылка на комментарий

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

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий

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

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий

Ну, теперь надо отработать ситуацию "вход в комнату – водка неактивна – триггер – водка активна". Для начала, можно добавить следующий код в [_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

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий
05.10.2022 в 18:19, Houdini_one сказал:

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

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

S.T.A.L.K.E.R. CoP Objects (upd 15.11.24)

Ссылка на комментарий

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

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий
1 час назад, Houdini_one сказал:

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

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

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

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

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

S.T.A.L.K.E.R. CoP Objects (upd 15.11.24)

Ссылка на комментарий

@WinCap если честно не догадался об этом... Но да ладно.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий

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

 

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

Ссылка на комментарий
1 час назад, Hind сказал:

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

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

 

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

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

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

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий

@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

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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