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

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


Halford

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

Спрошу здесь, пожалуй.

Возможно ли в чистом ТЧ переключение неписей в состояние боя помимо xr_combat_ignore.script из под вот такой логики:

[walker3@mil_dolg_soldier4_attack]
path_walk = attack_way5
path_look = attack_look1
def_state_moving1 = assault
on_info = {+mil_dolg_after_explode} camper3@mil_dolg_soldier4_attack
combat_ignore_cond = always
team = dolg
meet = no_meet

?

 

danger гарантированно false.

 

Уточняю: у меня проблема в том, что срываются в бой при виде врага. Я и не могу понять: почему ? Вроде обычные неписи.

 

Изменено пользователем Dennis_Chikin

Поделиться этим сообщением


Ссылка на сообщение

Или я куда-то не туда смотрю, или применительно к ситуации на АС (Череп идет штурмовать базу Свободы), они ни коим образом не задействованы. Равно как и скриптовый бой.

Там есть оверрайд

combat_ignore_cond = {!fighting_actor} true

, который я для наглядности заменил на

combat_ignore_cond = always

НО, до его проверки дело вообще не доходит. В этом есть что-то неправильное, и вообще странное.

 

Upd: Как выяснилось, ответ на вопрос - ДА: Неписи из под логики слетают в бой помимо xr_combat.script/xr_combat_ignore.script, если видят врага.

В частности, в том же xr_walker в preconditions присутсвует банальное:

stalker_ids.property_enemy, false

 

То есть, имеем глюк оригинала. Вопрос следующий: ну и что теперь с этим делать ?

 

Изменено пользователем Dennis_Chikin

Поделиться этим сообщением


Ссылка на сообщение

Когда-то давно был такой относительно популярный вылет:

[error]Expression    : assertion failed
[error]Function      : CSafeFixedRotationState::create
[error]File          : e:\stalker\sources\trunk\xr_3da\xrgame\phvalidevalues.h
[error]Line          : 81
[error]Description   : dBodyStateValide(b)

 

Как правило - при зомбировании неписей контролером, но не только. С оружием, вроде, тоже было.

Кто-нибудь помнит, с чем он связан ? Это хотя-бы что: код, конфиги, модели ?

 

Desertir, Ну, исторически так сложилось, что модели не могут быть кривыми в принципе. Всегда виноват кто угодно, и что угодно, кроме моделей. ;)

 

Изменено пользователем Dennis_Chikin

Поделиться этим сообщением


Ссылка на сообщение

[error]Description   : dBodyStateValide(b)

Как выяснилось, это не только модель. Может быть битый/криво разобранный нетпакет, даже если собственно визуал нормально прочитался и разобрался. Отслеживать в дебрях кода: что и на каком этапе сходит с ума - неасилил.

Не исключено, что монстры/оружие и прочее, сделанное на неправильном классе - сюда же.

 

Поделиться этим сообщением


Ссылка на сообщение

И у меня вопрос к знатокам. Есть ли возможность в ремарке запретить НПС подходить к трупам? В волкере всё без проблем - идет полный игнор трупов. Но стОит только перевести НПС в ремарку, как, отстояв 5 секунд в ней, он, при условии конечно, что поблизости есть труп с запчастью, подходит к этому трупу, не обыскивает, а просто подходит! Мне ремарка эта нужна по сюжету, без неё никак не обыграть сценку.

Уже писал Вашему коллеге:

wather_act.script, xrs_armor.script, xr_kamp.script.

Ну и еще xr_danger.script, который надо в логике запретить, и в котором я правил ошибку с взятием игнора вообще не оттуда.

Поделиться этим сообщением


Ссылка на сообщение

И давно хотел спросить -

За что отвечают эти значения из алл.спавн (не хочется тупо копипластить, а назначать целенаправленно)? -

g_team = 0

g_squad = 1

g_group = 2

И по -

health = 2

upd:health = 2

Видел и значения 3, 4... что, действительно, чем больше цифра, тем "здоровее" будет непись (или монстр с этими же значениями)?

team/squad/group - где-то даже используются. Ага, именно для групповых переключений логики/онлайна. (Возможно также при рассчете паники). Хотя при захвате под смарт - переопределяются. Так что, скорее всего, осмысленным будет выбрать свое значение для каждого сообщества/класса, а для тех, кому смарты запрещены и кто должен действовать примерно одинаково - свое уникальное.

 

А вот с health есть сильное ощущение, что при значении, отличном от 1, результат получается странный. В онлайне - чем меньше стартовое значение, тем непись/зверушка более "бронированные", чем больше - тем, наоборот, уязвимее.

Соляночные "терминаторы" весьма разностронни по происхождению и свойствам, ага.

В офлайне - при текущем способе обсчета боя и отфонарных цифрах в оруженых конфигах - в общем, ни кого ни от чего не спасает, хотя задумывалось, похоже, как замена неучитывающимся иммунитетам.

 

Мораль: для получения вменяемых результатов онлайнового боя делайте health = 1, небольшую регенерацию, первому по порядку типу патронов - k_hit = 1, стволам - тоже подтягивайте пистолет к 0.5 или 1, и дальше уже пляшите от него. Пуле-, рано- и прочие иммунитеты - крутите до требуемого результата.

В офлайне - см. выше, + защищайте нужных вам неписей sid'ами.

Поделиться этим сообщением


Ссылка на сообщение

Это что же дает такие ощущения, которые приводят к таким "выводам"? Если у НПС иль монстра здоровье oNPC.health == 2, то как и за счет чего(?) при меньшем значении (например, oNPC.health == 0.5) объект будет более бронированным? :wacko2:

Вот и у меня была такая реакция, когда воткнул лог хитов и увидел, что самым "бронированным" монстром оказалась крыса, при том что иммунитеты у нее хуже, чем у 1000хитовых гигантов/химер, А 300-хитовый Архаровский терминатор с задранной регенерацией плюет на спасы/винчестеры но дохнет с полурожка mp5. Другого объяснения, кроме того, что где-то при расчете повреждений используются проценты от хитов - у меня нет. Ждем-с энтузиастов-экспериментаторов.

Нет никакого боя в оффлайне. Если речь о алайф-оффлайн-симуляторе (by AMK), то "бой" просто напросто сводится к "убит/ранен" без каких-либо оглядок на текущие health'ы,

if (attack_info.fp >= base_fp) then  defender.health = 0
else defender.health = defender.health - (attack_info.fp / base_fp)
 if (defender.health < 0 ) then defender.health = 0 end
end

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

А вот неписи с sid ~= -1 в офлайн "боях" не участвуют.

Поделиться этим сообщением


Ссылка на сообщение
Dennis_Chikin, взгляни на название топика(!) и не путай его с соляночным. ;-)

Применение китайской машинки для чтения мыслей, конечно же, не очень хорошо, но и неписей о 3-4 hp в чистом SoC не так, чтобы много. И, да, ООП топикстартера работает таки именно поверх солянки. Логично предположить, что вопрос к ней каким-то образом относится.

Ответ, если отжать воду, заключается в том, что эти самые 3-4 hp там вполне бессмысленны, а нужно таки снижать убойность оружия, использовать sid, и убирать эти самые 3-4 hp (равно как и 0.2hp).

 

Ну и, да, авторам не-соляночных модов не идти по соляночному пути.

По крайней мере, если используются amk-скрипты - не пытаться делать офлайн-бессмертность неписей, накручивая в конфигах параметры для онлайна. Also, если есть идея "сделать, чтобы игроку жизнь медом не казалась" - учитывать еще и взаимодействие неписей тоже.

 

По теме из lua скажу, что снижение частоты вызова функций, которые не требуется вызывать столь часто, равно как и вылизывание на предмет сокращения накладных расходов - занятие неблагодарное, но какой-то результат несомненно дает. Хотя, конечно, если дошли до состояния слайд-шоу, то, по-хорошему, начинать следует всегда с графики, затем - с количества объектов, в онлайне в частности и игре вообще (40000 офф и 5000 он - явно перебор), и, наконец, с явно индусского кода (который в смысле слайд-шоу все-таки гораздо хуже, чем китайский).

Поделиться этим сообщением


Ссылка на сообщение

Что-то где-то поломал, и не могу понять: где. Всего 400 кило лапши распутал. ;)

Монстры, general lair. В норме у них есть ограничение на удаление от определенного им места. То есть, когда побежал за кем-то или от кого-то - то добежал до определенной границы, и вернулся. Сейчас убегают черт знает куда, и где-то шляются.

Точно сидят под гулагом, точно при работах. логика:

 

[logic@pname]
active = mob_home@pname
[mob_combat@pname]
on_timer = 30000 | mob_home@pname
[mob_home@pname]
on_signal = sig_attacked | mob_combat@pname
path_home = home_?
pname и home_? - валидны.

Где на что можно посмотреть, чтобы понять, что в них может быть не так ?

Поделиться этим сообщением


Ссылка на сообщение

Кстати, о птичках: а звуки для SOC должны быть 41Kbps, или 48 ? Ни кто не пробовал разбираться ?

Поделиться этим сообщением


Ссылка на сообщение

Я просто вдруг вспомнил о фокусах с текстурами, которые начинают резко тормозить при несоблюдении требований по размерам (да и сжатие не везде какое попало можно), и подумал - а не может ли такое-же быть со звуком ?

Поделиться этим сообщением


Ссылка на сообщение

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

 

Где нибудь в сталкере вообще имеет смысл логика вида условие|<пусто> ?

Спрашиваю, по тому что нашел в одном месте такую вот красоту: на полном серьезе части разбираются, проверяются, сохраняются, а потом по выполнению условия вызывается xr_logic.switch_to_section( obj, st, xr_logic.pick_section_from_condlist( actor, obj, nil ) )

 

Понятно, что в данном случае будет вылет/висяк, и в той логике, которая скармливается этой конкретной схеме, такого нет. Но может где-то для чего-то и вправду используется ?

 

Конкретно см. sr_timer.script, хотя не факт, что это у меня сейчас под руками оригинальный.

Изменено пользователем Dennis_Chikin

Поделиться этим сообщением


Ссылка на сообщение

Да, и кстати при отсутствии кондлиста, вылет будет ещё на этапе парсинга всей строки с параметром,  в той функции, которая там прописана, как правило это одна из функций cfg_get_трямтрям_condlist.

А вот это как раз предварительно обходится. Если есть условие, но нет акции, то и разбор кондлиста не вызывается, а поле в таблице { условие, кондлист } заботливо "инициализируется" nil'ом.

То есть, когда делали - наверное, что-то хотели, возможно.

Поделиться этим сообщением


Ссылка на сообщение

Что-то не пойму: как и чем определяется то, какие картинки и надписи будут выведены при загрузке ?

Ну там всякие "загрузка объектов", "загрузка текстур", "синхронизация", смена мини-скринов с лок...

 

Это скрипт, или движок по какому-то xml'у выдает ? Если второе - а убрать картинку, и вместо нее какой скриптик дернуть - типа, действительно, менюшки - ни как не получится ?

А то level.start_stop_menu() вроде как отрабатывает, если, например, из net_spawn() актора вызвать, но менюшка появляется только после исчезновения веселых картинок. 8(

 

Saruman, не получается поиском. seq - это в куда ?

 

P.S. Кстати, чтоб 2 раза не  вставать: в ui_amk_options.script

function amk_options:on_quit()

строка self:GetHolder():start_stop_menu( self.owner, true )

у меня self.owner там почему-то nil. Ну и что она тогда делает ?

И там же не пойму смысл консольной команды main_menu off

Изменено пользователем Dennis_Chikin

Поделиться этим сообщением


Ссылка на сообщение

Я чего-то не понимаю, или одно из двух ? код:

 

        local t = get_npc_data( self )  -- читаем/разбираем нетпакет
        local c = t.custom
        for s in string_gfind( c, "([^\n]*)" ) do
            log( "info", "borman: [%s]", string.sub( s, 1, 180 ) )
        end
        local ini = self:spawn_ini()
        local n = ini:line_count( "smart_terrains" )
        log( "info", "borman, n: %s", n )
        local r, k, v
        for i = 0, n - 1 do
            r, k, v = ini:r_line( "smart_terrains", i, "", "" )
            log( "info", "borman, n: [%s]", string.sub( v, 1, 180 ) )
        end

 

результат:

 

! Cannot find saved game ~info~ [se_stalker] borman: [[smart_terrains]]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [;freedom_limansk = true]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [none = true]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [active = camper]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [combat_ignore = combat_ignore]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [on_hit = hit@borman]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [[hit@borman]]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [on_info = %+borman_hit%]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [[camper]]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [path_walk = borman_walk]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [path_look = borman_look]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [combat_ignore_cond = always]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [danger = danger_ignore@borman]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [meet = meet@borman]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [on_info = {+borman_hit} walker@borman_hit]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [on_actor_dist_le_nvis = 5 | remark@borman]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [[remark@borman]]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [anim = guard]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [target = actor]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [combat_ignore_cond = always]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [meet = meet@borman]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [danger = danger_ignore@borman]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [on_info = {+borman_hit} walker@borman_hit]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [on_timer = 60000 | camper@borman]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [[walker@borman_hit]]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [path_walk = borman_walk]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [path_look = borman_look]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [danger = danger_ignore@borman]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [meet = meet@borman]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [on_timer = 90000 | camper]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [[meet@borman]]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [meet_state = 5|guard@wait]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [meet_state_wpn = 5|backoff@threat_weap]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [victim = 5|actor]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [victim_wpn = 5|actor]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [use = true]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [use_wpn = false]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [syndata = backoff@threat_weap]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [[danger_ignore@borman]]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman: [ignore_distance = 10]
! Cannot find saved game ~info~ [se_stalker] borman: []
! Cannot find saved game ~info~ [se_stalker] borman, n: 4
! Cannot find saved game ~info~ [se_stalker] borman, n: [camper]
! Cannot find saved game ~info~ [se_stalker] borman, n: [combat_ignore]
! Cannot find saved game ~info~ [se_stalker] borman, n: [true]
! Cannot find saved game ~info~ [se_stalker] borman, n: [hit@borman]

 

Или это с allspawn чего-то не того ?

 

[12479]

; cse_abstract properties
section_name = stalker_sakharov
name = borman
position = -29.9819030761719, -0.960703611373901, -257.718200683594
direction = -0.990573108196259, 0, 0.136984959244728
version = 118
script_version = 6

; cse_alife_trader_abstract properties
character_profile = borman

; cse_alife_object properties
game_vertex_id = 2994
distance = 7.80000019073486
level_vertex_id = 10327
object_flags = 0xffffffbf
custom_data = <<END
[smart_terrains]
;freedom_limansk = true
none = true

[logic]
active = camper
combat_ignore = combat_ignore
on_hit = hit@borman

[combat_ignore]

[hit@borman]
on_info = %+borman_hit%

[camper]
path_walk = borman_walk
path_look = borman_look
combat_ignore_cond = always
danger = danger_ignore@borman
meet = meet@borman
on_info = {+borman_hit} walker@borman_hit
on_actor_dist_le_nvis = 5 | remark@borman

[remark@borman]
anim = guard
target = actor
combat_ignore_cond = always
meet = meet@borman
danger = danger_ignore@borman
on_info = {+borman_hit} walker@borman_hit
on_timer = 60000 | camper@borman

[walker@borman_hit]
path_walk = borman_walk
path_look = borman_look
danger = danger_ignore@borman
meet = meet@borman
on_timer = 90000 | camper

[meet@borman]
meet_state        = 5|guard@wait
meet_state_wpn    = 5|backoff@threat_weap
victim        = 5|actor
victim_wpn        = 5|actor
use            = true
use_wpn        = false
syndata        = backoff@threat_weap

[danger_ignore@borman]
ignore_distance = 10
END

Изменено пользователем Dennis_Chikin

Поделиться этим сообщением


Ссылка на сообщение

ColR_iTНу держи тогда, может пригодиться: https://dl.dropboxusercontent.com/u/27871782/smarts.7z

Обрашения к global namespace понятно в куда, а так кое-чего разобрано, и общую картину создает, э-эээ, концептуальную. Из резервов - очевидно, что npc_info надо запонять в se_stalker/se_monster, а из smart_terrains вынести все инициализации/проверки clsid. Ну и повторные пересчеты лишние уже хорошо видны.

 

С нечтением секции забавно то, что кроме непрочитавшейся вообще ни как секции логики, там дальше считались обственно секции как строки.

 

А вообще началось с того, что начал смотреть, чего там xr_logic разбирает. Был потрясен целой кучей, как говорится, открытий чудных.

 

upd: строчку с [logic] не видит вообще ни как.

Изменено пользователем Dennis_Chikin

Поделиться этим сообщением


Ссылка на сообщение

И что это даст, если в секции smart_terrains читаются куски от logic, а секция logic не видится вообще ? И даже просто тупо строка с logic не видится ?

 

Сделал копипасту из allspawn в скрипт, перезаписал custom_data "руками", нетпакетом - из ini все стало читаться правильно. Бред какой-то.

 

7.9, нечтение из .xml - это, пожалуй, все-таки другое. Я заметил, что он весьма чувствителен к пробелам/табуляциям/комментариям. Почему-то.

Изменено пользователем Dennis_Chikin

Поделиться этим сообщением


Ссылка на сообщение

Вообще я сейчас готов поверить даже в то, что наличие пустых строк может иметь какое-то сакральное значение. 8(

Поделиться этим сообщением


Ссылка на сообщение

Еще странное и загадочное:

НИ, "создание", "загрузка"...

лог:

! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_common, pop: 6, comed: 5, begin: 0
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_common, pop: 6, comed: 5, begin: 0
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_common, pop: 6, comed: 5, begin: 0
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_common, pop: 6, comed: 5, begin: 0
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_common, pop: 6, comed: 5, begin: 0
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_common, pop: 6, comed: 5, begin: 0
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_common, pop: 6, comed: 5, begin: 0
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_common, pop: 6, comed: 5, begin: 0
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_common, pop: 6, comed: 5, begin: 0
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_common, pop: 6, comed: 5, begin: 0
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_common, pop: 6, comed: 5, begin: 0
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_obj, nil, begin_job: true, didnt_begin_job: false
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_obj, nil, begin_job: true, didnt_begin_job: false
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_obj, nil, begin_job: true, didnt_begin_job: false
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_obj, nil, begin_job: true, didnt_begin_job: true
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_obj, nil, begin_job: true, didnt_begin_job: false
! Cannot find saved game ~info~ [xr_gulag] (esc_bridge):load_obj, nil, begin_job: true, didnt_begin_job: false

Это движок при создании дернул какую-то скриптовую функцию типа xr_gulag:beginjob(), которая успела выставить для какого-то непися Object_begin_job в true, после чего благополучно повисла, а гулаг так и сохранился ?

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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