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

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

Снова для тех, кто пользуется модулями от Artos.

На этот раз под прицел попали:

  • скрипт «Общие функции» (m_helper) от 28.09.2013 из этого поста;
  • модуль «Универсальные таймеры» (m_timers) от 23.09.2013 из этого поста.

В обоих модулях (в m_timers постольку, поскольку этот модуль содержит в себе m_helper) обнаружена и исправлена ошибка, приводившая к вылету при попытке определения типа патронов в стволе и режима стрельбы из подствольника. Какие-либо другие изменения авторского кода не производились.

 

Ссылки на скачивание архивов с исправленной ошибкой:

https://yadi.sk/d/HYBcS9iccfWMV - «Общие функции»

https://yadi.sk/d/DPa6ZiGscfWeY - «Универсальные таймеры»

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

А проверьте-ка меня, кто читать умеет (xr_gulag.script):

 

Первый акт марлезонского балета:

function gulag:availJob(job)
	if job.begin == nil or game.time() - job.begin > job.idle then
		...
	end
	return false
end
- если на работу кто-то назначен, у нее есть idle, и этот idle не вышел - возвращается false

 

Второй акт марлезонского балета:

function gulag:prepare_available_jobs()
	local Job_avail = {}
	for i, job in ipairs( self.Job_avail_in_state ) do
		if self:availJob( job ) then
			if not self:availCurrent( job ) or not self.Object_begin_job[job.object] then
				self:free_obj_and_reinit( job.object )
			end
			table.insert( Job_avail, job )
		end
	end
	return Job_avail
end
- если у работы есть таймаут, то если задано idle, и idle не истекло, он здесь не проверяется, и, соотвественно, obj с работы никогда не освобождается.

А если idlе не задан или вышел - то когда obj будет освобожден по таймауту, работа попадет в список доступных, и obj тут же снова будет на нее назначен. Так ?

 

А тетьим актом марлезонского балета будет попытка осовободить obj'а с id nil со всех доступных работ, поскольку ЭТОТ obj до них явно еще не дошел.

 

Вопрос: где я не прав, а если прав, то гуманности ли ради ?

Изменено пользователем Dennis_Chikin
Ссылка на комментарий

Нарисовал-бы диаграммой этот "xr_gulag.script", тогда, и не умеющие читать увидели-бы...

И вообще, кто какие сталкерские менеджеры хорошо знает - опубликовали-бы их алгоритмы, для "эффективности прогресса".

Изменено пользователем 7.9
  • Нравится 1
  • Согласен 2

всё легко

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

А этим занимаются в очередном, хе-хе, антисоветском подполье. ;)

Да, кстати, о птичках: Йож, как известно, птица - гордая. Пока не пнешь - не полетит.
Для неписей в офлайне таким магическим пинком является
function se_smart_terrain:task( obj ) ... return CALifeSmartTerrainTask( self.gulag.ObjectJobPathName[obj.id] ) end

При этом непись рывком перемещается на некое расстояние по-ближе к первой точке пути работы.

 

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

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

Изменено пользователем Dennis_Chikin
  • Согласен 1
Ссылка на комментарий

@Kirgudu, за луа_хелпер могу сказать, что некоторые функции там не дописаны, и некоторые приводят к вылетам, их тоже следует дополнить и/или поправить. Artos сам говорил, что это далеко не окончательный вариант, и каждый в праве править под себя все функции. Кое-что мне у него не нравится и я пишу по своему, т.е... ну неофициальной доработкой этого заниматься как-то глупо. Кто их использует - тот доделает, а кто не использует - тому и не нужно. Так же можно функционал таймеров расширить и т.п. Ошибок таких как у тебя не ловил, за исправления спасибо, заберу.

 

@7.9, у всех типов менеджеров структура одна и та же, пойми один и поймешь все. Такое расписывать - дело не благодарное, а время прогрессов прошло, кто что хотел уже все давно сделали.

Изменено пользователем Карлан
Ссылка на комментарий

Господа, может кто встречался. Хотел адаптировать свой мод под 6патч. Диалог медеджер у меня не используется. Игра запускается, все работает, в начале сохранения все грузятся, но потом через какое-то время сохранки бьются вот с таким логом.

FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: ...s\s.t.a.l.k.e.r\gamedata\scripts\xr_motivator.script:374: attempt to index a nil value
 

stack trace:

у мня это вот такая строка

self.npc_script_version = alife():object(self.object:id()).script_version

Из-за чего это может быть? Использую проводников, но они есть под 6 патч.  Скрипты Сяка используются.

 

Единственное, что здесь может дать такой вылет - отсутствие self.object - что, в общем-то, странно.

А скрипт показать (на дропбокс или еще какой ЯД) ? dc

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

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

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

@Хемуль36рус, надо адаптировать мотиватор от 6 патча, там есть разности в сохранениях, поэтому и вылеты при загрузке. так же еще таск менеджер и диалог менеджер.

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

Может это.https://www.dropbox.com/s/9xrmf89huigsocm/xr_motivator.script?dl=0

Да, он. Сейчас смотреть буду.

 

Вылет постоянный, или время - от - времени ? Попробуй посмотреть, где что портится:

 

get_console():execute( "load ~ self: ".. ( ( self.object and "ok" ) or "error" ) )

xr_logic.load_obj(self.object, reader)

get_console():execute( "load ~ self: ".. ( ( self.object and "ok" ) or "error" ) )

self.npc_script_version = alife():object(self.object:id()).script_version

 

dc

 

Нет, он не то что постоянный, он появляется через некоторое время игры. В начале все нормально и сохранки грузятся. Может что влияет. Есть ремонт из OGSM. Кроме Проводников никаких скриптовых диалогов нет.

 

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

 

Скорее всего - битые сэйвы. Прежде чем разгребать дальше, просто добавляем 2 одинаковых строчки, с выводом в лог: перед попыткой битый сэйв прочитать, и перед той, где собственно вылет. dc

 

 

 

Заметил такою вещь. Сохранки начинают биться после того, как выполним квет на нахождение флешки. Вернее как только она попадает к ГГ, сохранки бьются. Сюжет переделан, квест работает нормально на 4 патче. Перед этим квестом брал другой, все было нормально, игра сохранялась и загружалась. Что с этим не так, без понятия.

 

А в логе кроме того что было (вылет), все вроде нормально. Мне Chasi говорил, что адаптировать не получится, а вот почему, не сказал. Возможно он знает, в чем причина.

 

Входим в зону отчуждения...

* phase time: 10 ms

* phase cmem: 360555 K

* [win32]: free[1915088 K], reserved[80212 K], committed[2198940 K]

* [ D3D ]: textures[1116343 K]

* [x-ray]: crt heap[360227 K], process heap[10703 K], game lua[23780 K], engine lua[158 K], render[5164 K]

* [x-ray]: economy: strings[7035 K], smem[35900 K]

[16-9] get_xml_name for[game_tutorials.xml] returns [game_tutorials.xml]

[16-9] get_xml_name for[ui_credits.xml] returns [ui_credits.xml]

[16-9] get_xml_name for[ui_movies.xml] returns [ui_movies.xml]

sv destroy object [1768][stalker:esc_factory_bandit_7] [55796]

sv destroy object [1776][wpn_iz54:wpn_iz541776] [55796]

sv reject. id_parent [1768][stalker:esc_factory_bandit_7] id_entity [1776][wpn_iz54:wpn_iz541776] [55796]

sv destroy object [23044][ammo_9x18_fmj:ammo_9x18_fmj23044] [55796]

sv reject. id_parent [1768][stalker:esc_factory_bandit_7] id_entity [23044][ammo_9x18_fmj:ammo_9x18_fmj23044] [55796]

sv destroy object [1756][stalker:esc_factory_bandit4] [55796]

sv destroy object [22295][ammo_9x18_fmj:ammo_9x18_fmj22295] [55796]

sv reject. id_parent [1756][stalker:esc_factory_bandit4] id_entity [22295][ammo_9x18_fmj:ammo_9x18_fmj22295] [55796]

! Cannot find saved game ~ self: ok

! Cannot find saved game ~ self: ok

! Cannot find saved game ~ self: ok

! Cannot find saved game ~ self: ok

! Cannot find saved game ~ self: ok

! Cannot find saved game ~ self: ok

! Cannot find saved game ~ self: ok

! Cannot find saved game ~ self: ok

! Cannot find saved game ~ self: ok

! Cannot find saved game ~ self: ok

! Cannot find saved game ~ self: ok

! Cannot find saved game ~ self: ok

 

FATAL ERROR

 

[error]Expression : fatal error

[error]Function : CScriptEngine::lua_error

[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp

[error]Line : 73

[error]Description :

[error]Arguments : LUA error: ...s\s.t.a.l.k.e.r\gamedata\scripts\xr_motivator.script:375: attempt to index a nil value

 

 

stack trace:

 

 

@Dennis_Chikin, вот погляди. Я уже говорил, диалог менеджер не задействован в моде. Таск менеджер тоже.http://rghost.ru/59118436

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

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

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

Может быть я чего то не понимаю, но... вопрос на тему области видимости переменных.

был такой код

function trader_init(obj, data)

    local id = obj:id()
    local ft = function(tb)
        local oid = tb[1]
        local dtt = tb[2]
        local tobj = level.object_by_id(oid)
        if tobj then
            xr_logic.pstor_store(tobj, "assort", data)
        else

        end
    end
    events.add_fn1000(ft, {id, data}, nil)
end

На вход подается клиентский объект нпс, и некая строка. events.add_fn1000(ft, {id, data}, nil) -- это вызов функции ft через 1000 мс. В качестве аргумента ей будет передан второй аргумент этой, т.е. {id, data}
Смотрим внимательно на структуру функции ft. входной аргумент у нее называется tb. А в пстор непися записывается - data. Которой здесь вроде бы взяться совершенно неоткуда. Это опечатка. Странный и непонятный лично мне факт заключается в том, что это работало. Поданные на вход trader_init данные в аргументе дата, оказывались со временем записаны в пстор этого нпс, и в последующем успешно оттуда читались. Потом я случайно эту неувязку заметил - поменял код так

function trader_init(obj, data)

    local id = obj:id()
    local ft = function(tb)
        local oid = tb[1]
        local dtt = tb[2]
        local tobj = level.object_by_id(oid)
        if tobj then
            xr_logic.pstor_store(tobj, "assort", dtt)
        else

        end
    end
    events.add_fn1000(ft, {id, data}, nil)
end

Все так же все работает... то что подается в аргумент data, нигде во всех скриптах более не встречалось и не встречается. Если во втором варианте код вполне работоспособен, то вот почему он работал в 1-м варианте - я не понимаю...

Есть этому какое то объяснение?

 

 

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

function trader_init(obj, data)

xr_logic.pstor_store(tobj, "assort", data)

 

Ну вот оно и записалось. Или я чего-то не понимаю ?

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

Вторая строка находится внутри локально объявленной функции ft. И эту функцию как аргумент передали другой функции, чтобы там уже ее вызвать. Внутри этой ft - data никак не объявлена. Она (ft) что, прихватывает с собой все namespace того модуля, в котором была локально объявлена внутри другой функции?

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

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

Lua поддерживает замыкания. Я бы удивился, если бы первый вариант не работал. Вполне нормальная ситуация, как и передача функции в качестве аргумента, у кого то это вызывает непонимание. Так что в таких ситуациях (когда мы создаем функцию гдето в другой функции и т.п.) использовать замыкания самое то.

 

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

Изменено пользователем Desertir
  • Согласен 2

ТЧ 1.0004. SAP и Trans mod

github

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

А если я делаю так

class "my_SMALL_class"

...

function my_SMALL_class:Get_f()
   local f = function()
      return self
   end
   return f
end

Потом где-нибудь вызову у объекта моего класса метод Get_f, полученную функцию куда-то там передам, потом ее вызову опосля

local my_obj = my_script.my_SMALL_class()
local my_F = my_obj:Get_f()
local x = my_F()

- она мне вернет ссылку на этот объект класса, так чтоли?

Вроде такое не работало насколько я помню...

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

Вроде как да. До тех пор, пока будет существовать ссылка на переменную f - будет доступен объект в котором этот f был создан.

Кстати, можно и так вызывать функцию f:

local my_obj = my_script.my_SMALL_class()
local my_F = my_obj:Get_f()()
  • Спасибо 1
Ссылка на комментарий

@Zander_driver, у меня все прекрасно сработало.


class "my_SMALL_class"
function my_SMALL_class:__init()
    self.test_field = 5
end
function my_SMALL_class:Get_f()
   local f = function()
      return self
   end
   return f
end

local con = get_console()
local my_obj = my_SMALL_class()
local my_F = my_obj:Get_f()
local x = my_F()
con:execute("~~~"..tostring(x.test_field))

Код весьма странный, можно вполне замкнуть my_obj. Кстати, я считал, что не будет работать, пока не вспомнил, что это луабинд, и по факту селф это переменная. В яваскрипте например такое сканает только с объявлением переменной или с выкрутасами типа apply или bind, но не суть.

Сборщик мусора вполне сам позаботится про замкнутые переменные. Это же не объект луа, а юзердата. Луа выполняет функцию "удерживания ссылки на замкнутую переменную". Но если по ссылке записать невесть что (из двигла) и пытаться чтото потом сделать с полученной переменной (метод вызвать), получится вылет, и скрипты тут ни при чем.

 

  • Полезно 1

ТЧ 1.0004. SAP и Trans mod

github

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

@Dennis_Chikin, sistem исправлен, там вроде в строке

[script]
current_server_entity_version = 6
 вместо 6 прописано 7 и больше ничего.

Пробовал загрузит на 4 патче, вообще не понятно что за лог.

* Detected CPU: GenuineIntel P3 family, F6/M14/S5, 2675.00 mhz, 54-clk 'rdtsc'


* CPU Features: RDTSC, MMX, SSE, SSE2

Initializing File System...
using fs-ltx fsgame.ltx
--found external arch mp_military_2.xdb0
FS: 41258 files cached, 5519Kb memory used.
Init FileSystem 1.054415 sec
'xrCore' build 3116, Aug 15 2007

Initializing Engine...
Executing config-script "user.ltx"...
[c:\users\public\documents\mody\user.ltx] successfully loaded.
Starting INPUT device...
Loading DLL: xrRender_R2.dll
Loading DLL: xrGame.dll
* [win32]: free[4068860 K], reserved[52944 K], committed[72436 K]
* [ D3D ]: textures[0 K]
* [x-ray]: crt heap[9486 K], process heap[670 K], game lua[0 K], engine lua[0 K], render[0 K]
* [x-ray]: economy: strings[3176 K], smem[0 K]
Executing config-script "f:\stalker4\gamedata\config\default_controls.ltx"...
! cant convert dik_name for dik[16], prop=[
! cant convert dik_name for dik[17], prop=[
! cant convert dik_name for dik[18], prop=[
! cant convert dik_name for dik[19], prop=[
! cant convert dik_name for dik[20], prop=[
! cant convert dik_name for dik[21], prop=[
! cant convert dik_name for dik[22], prop=[
! cant convert dik_name for dik[23], prop=[
! cant convert dik_name for dik[24], prop=[
! cant convert dik_name for dik[25], prop=[
! cant convert dik_name for dik[26], prop=[
! cant convert dik_name for dik[27], prop=[
! cant convert dik_name for dik[30], prop=[
! cant convert dik_name for dik[31], prop=[
! cant convert dik_name for dik[32], prop=[
! cant convert dik_name for dik[33], prop=[
! cant convert dik_name for dik[34], prop=[
! cant convert dik_name for dik[35], prop=[
! cant convert dik_name for dik[36], prop=[
! cant convert dik_name for dik[37], prop=[
! cant convert dik_name for dik[38], prop=[
! cant convert dik_name for dik[39], prop=[
! cant convert dik_name for dik[40], prop=[
! cant convert dik_name for dik[41], prop=[
! cant convert dik_name for dik[44], prop=[
! cant convert dik_name for dik[45], prop=[
! cant convert dik_name for dik[46], prop=[
! cant convert dik_name for dik[47], prop=[
! cant convert dik_name for dik[48], prop=[
! cant convert dik_name for dik[49], prop=[
! cant convert dik_name for dik[50], prop=[
! cant convert dik_name for dik[51], prop=[
! cant convert dik_name for dik[52], prop=[
! cant convert dik_name for dik[144], prop=[
[f:\stalker4\gamedata\config\default_controls.ltx] successfully loaded.
Executing config-script "user.ltx"...
Executing config-script "f:\stalker4\gamedata\config\rspec_extreme.ltx"...
! Unknown command: r__dtex_range
! Unknown command: r__ssa_glod_end
! Unknown command: r__ssa_glod_start
! Unknown command: r__wallmark_ttl
! Unknown command: rs_detail
! Unknown command: rs_skeleton_update
! Unknown command: vid_bpp
[f:\stalker4\gamedata\config\rspec_extreme.ltx] successfully loaded.
Executing config-script "f:\stalker4\gamedata\config\default_controls.ltx"...
[f:\stalker4\gamedata\config\default_controls.ltx] successfully loaded.
[c:\users\public\documents\mody\user.ltx] successfully loaded.
SOUND: OpenAL: enumerate devices...
SOUND: OpenAL: EnumerationExtension Present
devices Generic Software
SOUND: OpenAL: system default SndDevice name is Generic Software
SOUND: OpenAL: All available devices:
1. Generic Software, Spec Version 1.1 (default)
SOUND: OpenAL: SelectBestDevice is Generic Software 1.1
SOUND: OpenAL: Required device: Generic Software. Created device: Generic Software.
* sound: EAX 2.0 extension: absent
* sound: EAX 2.0 deferred: absent
* sound : cache: 65538 kb, 7609 lines, 8820 bpl
Starting RENDER device...
* GPU [vendor:10DE]-[device:11C0]: NVIDIA GeForce GTX 660
* GPU driver: 9.18.13.2018
* CREATE: DeviceREF: 1
* Vertex Processor: PURE HARDWARE
* Texture memory: 4027 M
* DDI-level: 9.0
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
* GPU vertex cache: unrecognized, 16
* DVB created: 4096K
* DIB created: 512K
! Version conflict in shader 'def_shaders\def_aref'
! Version conflict in shader 'def_shaders\def_aref_v'
! Version conflict in shader 'def_shaders\def_trans'
! Version conflict in shader 'def_shaders\def_trans_v'
! Version conflict in shader 'def_shaders\def_trans_v_tuchi'
! Version conflict in shader 'def_shaders\lod_old'
! Renderer doesn't support blender 'effects\blur'
! Renderer doesn't support blender 'effects\screen_gray'
! Renderer doesn't support blender 'effects\shadow_world'
! Version conflict in shader 'effects\watertest-1'
! Version conflict in shader 'flora\leaf'
! Version conflict in shader 'flora\leaf_lm'
! Version conflict in shader 'flora\leaf_sux'
! Version conflict in shader 'flora\trunk_lm'
! Renderer doesn't support blender 'models\blur'
! Renderer doesn't support blender 'test\bbbbbbbbb'
count of .thm files=660
load time=70 ms
* NULLRT supported
* ...and used
* HWDST/PCF supported and used
* NV-DBT supported and used
- r__tf_aniso 6
- r2_tf_mipbias 0.
Starting engine...
[16-9] get_xml_name for[ui_mp_icon_rank.xml] returns [ui_mp_icon_rank.xml]
[16-9] get_xml_name for[ui_icons_map.xml] returns [ui_icons_map.xml]
[16-9] get_xml_name for[ui_common.xml] returns [ui_common.xml]
[16-9] get_xml_name for[ui_old_textures.xml] returns [ui_old_textures.xml]
[16-9] get_xml_name for[ui_ingame.xml] returns [ui_ingame.xml]
[16-9] get_xml_name for[ui_map_description.xml] returns [ui_map_description.xml]
[16-9] get_xml_name for[ui_models_multiplayer.xml] returns [ui_models_multiplayer.xml]
[16-9] get_xml_name for[ui_team_logo.xml] returns [ui_team_logo.xml]
[16-9] get_xml_name for[ui_team_logo_small.xml] returns [ui_team_logo_small.xml]
[16-9] get_xml_name for[ui_mainmenu.xml] returns [ui_mainmenu.xml]
[16-9] get_xml_name for[ui_mp_main.xml] returns [ui_mp_main.xml]
[16-9] get_xml_name for[ui_statistics.xml] returns [ui_statistics.xml]
[16-9] get_xml_name for[ui_hud.xml] returns [ui_hud.xml]
[16-9] get_xml_name for[ui_numpad.xml] returns [ui_numpad.xml]
[16-9] get_xml_name for[ui_inventory.xml] returns [ui_inventory.xml]
[16-9] get_xml_name for[ui_inventory2.xml] returns [ui_inventory2.xml]
[16-9] get_xml_name for[ui_iconstotal.xml] returns [ui_iconstotal.xml]
[16-9] get_xml_name for[ui_pda.xml] returns [ui_pda.xml]
[16-9] get_xml_name for[ui_icons_npc.xml] returns [ui_icons_npc.xml]
[16-9] get_xml_name for[ui_npc_monster.xml] returns [ui_npc_monster.xml]
[16-9] get_xml_name for[ui_npc_unique.xml] returns [ui_npc_unique.xml]
[16-9] get_xml_name for[ui_buy_menu.xml] returns [ui_buy_menu.xml]
[16-9] get_xml_name for[ui_asus_intro.xml] returns [ui_asus_intro.xml]
[16-9] get_xml_name for[amk_pda.xml] returns [amk_pda.xml]
[16-9] get_xml_name for[amk_pda_blank.xml] returns [amk_pda_blank.xml]
[16-9] get_xml_name for[amk_ui_base.xml] returns [amk_ui_base.xml]
[16-9] get_xml_name for[color_defs.xml] returns [color_defs.xml]
[16-9] get_xml_name for[hint_item.xml] returns [hint_item.xml]
Loading DLL: xrGameSpy.dll
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[ui_mm_main.xml] returns [ui_mm_main.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[ui_mm_load_dlg.xml] returns [ui_mm_load_dlg.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
* DVB created: 4096K
* DIB created: 512K
- r__tf_aniso 6
- r2_tf_mipbias 0.
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
* GPU vertex cache: recognized, 24
*** RESET [387 ms]
"f:\stalker4\bin\xr_3da.exe" -nointro
* phase time: 0 ms
* phase cmem: 126840 K
Собираюсь в дорогу...
Loading objects...
Loading models...
* [prefetch] time: 13075 ms
* [prefetch] memory: 114965Kb
* phase time: 13098 ms
* phase cmem: 232473 K
НАЧАЛО...
* phase time: 51 ms
* phase cmem: 221076 K
Зона наполняется жизнью...
* phase time: 7 ms
* phase cmem: 221076 K
Готов выйти из "t.sav"...
* Loading spawn registry...
* 11119 spawn points are successfully loaded
* Loading objects...
* 20322 objects are successfully loaded
[16-9] get_xml_name for[map_spots.xml] returns [map_spots.xml]
[16-9] get_xml_name for[map_spots_escape.xml] returns [map_spots_escape.xml]
[16-9] get_xml_name for[map_spots_garbage.xml] returns [map_spots_garbage.xml]
[16-9] get_xml_name for[map_spots_agroprom.xml] returns [map_spots_agroprom.xml]
[16-9] get_xml_name for[map_spots_darkvalley.xml] returns [map_spots_darkvalley.xml]
[16-9] get_xml_name for[map_spots_bar.xml] returns [map_spots_bar.xml]
[16-9] get_xml_name for[map_spots_military.xml] returns [map_spots_military.xml]
[16-9] get_xml_name for[map_spots_radar.xml] returns [map_spots_radar.xml]
[16-9] get_xml_name for[map_spots_mp.xml] returns [map_spots_mp.xml]
[16-9] get_xml_name for[map_spots_relations.xml] returns [map_spots_relations.xml]
[16-9] get_xml_name for[map_spots_lchangers.xml] returns [map_spots_lchangers.xml]
* Game t is successfully loaded from file 'c:\users\public\documents\mody\savedgames\t.sav' (2.505s)
* phase time: 2504 ms
* phase cmem: 256614 K
Контакт...
MaxPlayers = 32
* phase time: 79 ms
* phase cmem: 256630 K
Клиент: Соединение с localhost...
Player not found
* client : connection accepted - <>
* phase time: 28 ms
* phase cmem: 256654 K
Открытие потока...
* phase time: 25 ms
* phase cmem: 256654 K
Пора выходить...
* phase time: 2746 ms
* phase cmem: 316508 K
Проверяю снарягу...
* phase time: 424 ms
* phase cmem: 321059 K
Проверяю оружие...
* [Loading VB] 65532 verts, 2047 Kb
* [Loading VB] 65530 verts, 2047 Kb
* [Loading VB] 65531 verts, 2047 Kb
* [Loading VB] 65532 verts, 2047 Kb
* [Loading VB] 60327 verts, 1885 Kb
* [Loading VB] 65531 verts, 2047 Kb
* [Loading VB] 65534 verts, 2047 Kb
* [Loading VB] 65535 verts, 2047 Kb
* [Loading VB] 65534 verts, 2047 Kb
* [Loading VB] 65534 verts, 2047 Kb
* [Loading VB] 65534 verts, 2047 Kb
* [Loading VB] 46354 verts, 1448 Kb
* [Loading VB] 65533 verts, 2047 Kb
* [Loading VB] 65535 verts, 2047 Kb
* [Loading VB] 65535 verts, 2047 Kb
* [Loading VB] 65530 verts, 2047 Kb
* [Loading VB] 65532 verts, 2047 Kb
* [Loading VB] 65535 verts, 2047 Kb
* [Loading VB] 53153 verts, 1661 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 670515 indices, 1309 Kb
* [Loading VB] 65533 verts, 767 Kb
* [Loading VB] 65533 verts, 767 Kb
* [Loading VB] 65535 verts, 767 Kb
* [Loading VB] 65535 verts, 767 Kb
* [Loading VB] 65535 verts, 767 Kb
* [Loading VB] 65534 verts, 767 Kb
* [Loading VB] 65528 verts, 767 Kb
* [Loading VB] 16089 verts, 188 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048572 indices, 2047 Kb
* [Loading IB] 784818 indices, 1532 Kb
* phase time: 890 ms
* phase cmem: 321468 K
Собираю вещи...
* phase time: 1970 ms
* phase cmem: 325493 K
Присяду на дорожку...
* [DETAILS] VertexConsts(256), Batch(61)
* [DETAILS] 40687 v(20), 26352 p
* [DETAILS] Batch(61), VB(794K), IB(154K)
* phase time: 134 ms
* phase cmem: 325503 K
Загрузка секторов и порталов...
* Loading HOM: f:\stalker4\gamedata\levels\l01_escape\level.hom
* phase time: 27 ms
* phase cmem: 325696 K
Готовлюсь к походу...
- Loading music tracks from 'l01_escape_musics'...
* phase time: 190 ms
* phase cmem: 325730 K
Я готов......
- Game configuring : Started
- Game configuring : Finished
[16-9] get_xml_name for[maingame.xml] returns [maingame_16.xml]
[16-9] get_xml_name for[zone_map.xml] returns [zone_map_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[car_panel.xml] returns [car_panel_16.xml]
[16-9] get_xml_name for[motion_icon.xml] returns [motion_icon_16.xml]
[16-9] get_xml_name for[messages_window.xml] returns [messages_window.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[ui_custom_msgs.xml] returns [ui_custom_msgs.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[inventory_new.xml] returns [inventory_new_16.xml]
[16-9] get_xml_name for[inventory_item.xml] returns [inventory_item_16.xml]
[16-9] get_xml_name for[af_params_16.xml] returns [af_params_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[inventory_new.xml] returns [inventory_new_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[pda.xml] returns [pda.xml]
[16-9] get_xml_name for[pda_map.xml] returns [pda_map.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[hint_item.xml] returns [hint_item.xml]
[16-9] get_xml_name for[pda_contacts_new.xml] returns [pda_contacts_new.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[events_new.xml] returns [events_new.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[news.xml] returns [news.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[encyclopedia.xml] returns [encyclopedia.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[actor_statistic.xml] returns [actor_statistic.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[pda_dialog_character.xml] returns [pda_dialog_character_16.xml]
[16-9] get_xml_name for[stalkers_ranking.xml] returns [stalkers_ranking.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[stalkers_ranking_character.xml] returns [stalkers_ranking_character_16.xml]
[16-9] get_xml_name for[pda_events.xml] returns [pda_events.xml]
[16-9] get_xml_name for[pda_events.xml] returns [pda_events.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[hint_item.xml] returns [hint_item.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[job_item.xml] returns [job_item.xml]
[16-9] get_xml_name for[talk.xml] returns [talk_16.xml]
[16-9] get_xml_name for[trade_character.xml] returns [trade_character_16.xml]
[16-9] get_xml_name for[trade_character.xml] returns [trade_character_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[trade.xml] returns [trade_16.xml]
[16-9] get_xml_name for[trade_character.xml] returns [trade_character_16.xml]
[16-9] get_xml_name for[trade_character.xml] returns [trade_character_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[trade_item.xml] returns [trade_item_16.xml]
[16-9] get_xml_name for[af_params_16.xml] returns [af_params_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[carbody_new.xml] returns [carbody_new_16.xml]
[16-9] get_xml_name for[trade_character.xml] returns [trade_character_16.xml]
[16-9] get_xml_name for[trade_character.xml] returns [trade_character_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[carbody_item.xml] returns [carbody_item_16.xml]
[16-9] get_xml_name for[af_params_16.xml] returns [af_params_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[inventory_new.xml] returns [inventory_new_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
* phase time: 576 ms
* phase cmem: 334571 K
Закурю и в путь......
* t-report - base: 2192, 1063952 K
* t-report - lmap: 7, 7168 K
* phase time: 10148 ms
* phase cmem: 334573 K
Входим в зону отчуждения...
* phase time: 76 ms
* phase cmem: 334573 K
* [win32]: free[2161916 K], reserved[95900 K], committed[1936424 K]
* [ D3D ]: textures[1071121 K]
* [x-ray]: crt heap[334572 K], process heap[12244 K], game lua[24029 K], engine lua[148 K], render[0 K]
* [x-ray]: economy: strings[6064 K], smem[35100 K]
[16-9] get_xml_name for[game_tutorials.xml] returns [game_tutorials.xml]
[16-9] get_xml_name for[ui_credits.xml] returns [ui_credits.xml]
[16-9] get_xml_name for[ui_movies.xml] returns [ui_movies.xml]

FATAL ERROR

[error]Expression : hFile>0
[error]Function : FileDownload
[error]File : E:\stalker\patch_1_0004\xrCore\FS.cpp
[error]Line : 106
[error]Description : f:\stalker4\gamedata\config\


stack trace:

 

вот с 6 пачта, две загрузки и вылет

 

* Detected CPU: GenuineIntel P3 family, F6/M14/S5, 2675.00 mhz, 24-clk 'rdtsc'
* CPU Features: RDTSC, MMX, SSE, SSE2

Initializing File System...
using fs-ltx fsgame.ltx
FS: 41488 files cached, 6033Kb memory used.
Init FileSystem 1.082964 sec
'xrCore' build 3312, Feb 27 2008

Initializing Engine...
Executing config-script "user.ltx"...
[c:\users\public\documents\stalker-shoc\user.ltx] successfully loaded.
Starting INPUT device...
Loading DLL: xrRender_R2.dll
Loading DLL: xrGame.dll
* [win32]: free[4068752 K], reserved[52928 K], committed[72560 K]
* [ D3D ]: textures[0 K]
* [x-ray]: crt heap[9626 K], process heap[671 K], game lua[0 K], engine lua[0 K], render[0 K]
* [x-ray]: economy: strings[3176 K], smem[0 K]
Executing config-script "d:\games\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx"...
! cant convert dik_name for dik[16], prop=[
! cant convert dik_name for dik[17], prop=[
! cant convert dik_name for dik[18], prop=[
! cant convert dik_name for dik[19], prop=[
! cant convert dik_name for dik[20], prop=[
! cant convert dik_name for dik[21], prop=[
! cant convert dik_name for dik[22], prop=[
! cant convert dik_name for dik[23], prop=[
! cant convert dik_name for dik[24], prop=[
! cant convert dik_name for dik[25], prop=[
! cant convert dik_name for dik[26], prop=[
! cant convert dik_name for dik[27], prop=[
! cant convert dik_name for dik[30], prop=[
! cant convert dik_name for dik[31], prop=[
! cant convert dik_name for dik[32], prop=[
! cant convert dik_name for dik[33], prop=[
! cant convert dik_name for dik[34], prop=[
! cant convert dik_name for dik[35], prop=[
! cant convert dik_name for dik[36], prop=[
! cant convert dik_name for dik[37], prop=[
! cant convert dik_name for dik[38], prop=[
! cant convert dik_name for dik[39], prop=[
! cant convert dik_name for dik[40], prop=[
! cant convert dik_name for dik[41], prop=[
! cant convert dik_name for dik[44], prop=[
! cant convert dik_name for dik[45], prop=[
! cant convert dik_name for dik[46], prop=[
! cant convert dik_name for dik[47], prop=[
! cant convert dik_name for dik[48], prop=[
! cant convert dik_name for dik[49], prop=[
! cant convert dik_name for dik[50], prop=[
! cant convert dik_name for dik[51], prop=[
! cant convert dik_name for dik[52], prop=[
! cant convert dik_name for dik[144], prop=[
[d:\games\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx] successfully loaded.
Executing config-script "user.ltx"...
Executing config-script "d:\games\s.t.a.l.k.e.r\gamedata\config\rspec_extreme.ltx"...
! Unknown command: r__dtex_range
! Unknown command: r__ssa_glod_end
! Unknown command: r__ssa_glod_start
! Unknown command: r__wallmark_ttl
! Unknown command: rs_detail
! Unknown command: rs_skeleton_update
! Unknown command: vid_bpp
[d:\games\s.t.a.l.k.e.r\gamedata\config\rspec_extreme.ltx] successfully loaded.
Executing config-script "d:\games\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx"...
[d:\games\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx] successfully loaded.
[c:\users\public\documents\stalker-shoc\user.ltx] successfully loaded.
SOUND: OpenAL: enumerate devices...
SOUND: OpenAL: EnumerationExtension Present
devices Generic Software
SOUND: OpenAL: system default SndDevice name is Generic Software
SOUND: OpenAL: All available devices:
1. Generic Software, Spec Version 1.1 (default)
SOUND: OpenAL: SelectBestDevice is Generic Software 1.1
SOUND: OpenAL: Required device: Generic Software. Created device: Generic Software.
* sound: EAX 2.0 extension: present
* sound: EAX 2.0 deferred: present
* sound : cache: 65538 kb, 7609 lines, 8820 bpl
Starting RENDER device...
* GPU [vendor:10DE]-[device:11C0]: NVIDIA GeForce GTX 660
* GPU driver: 9.18.13.2018
* CREATE: DeviceREF: 1
* Vertex Processor: PURE HARDWARE
* Texture memory: 4027 M
* DDI-level: 9.0
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
* GPU vertex cache: unrecognized, 16
* DVB created: 6144K
* DIB created: 512K
! Version conflict in shader 'def_shaders\def_aref'
! Version conflict in shader 'def_shaders\def_aref_v'
! Version conflict in shader 'def_shaders\def_trans'
! Version conflict in shader 'def_shaders\def_trans_v'
! Version conflict in shader 'def_shaders\def_trans_v_tuchi'
! Version conflict in shader 'def_shaders\lod_old'
! Renderer doesn't support blender 'effects\blur'
! Renderer doesn't support blender 'effects\screen_gray'
! Renderer doesn't support blender 'effects\shadow_world'
! Version conflict in shader 'effects\watertest-1'
! Version conflict in shader 'flora\leaf'
! Version conflict in shader 'flora\leaf_lm'
! Version conflict in shader 'flora\leaf_sux'
! Version conflict in shader 'flora\trunk_lm'
! Renderer doesn't support blender 'models\blur'
! Renderer doesn't support blender 'test\bbbbbbbbb'
count of .thm files=657
load time=68 ms
* NULLRT supported
* ...and used
* HWDST/PCF supported and used
* NV-DBT supported and used
- r__tf_aniso 6
- r2_tf_mipbias 0.
Starting engine...
[16-9] get_xml_name for[ui_mp_icon_rank.xml] returns [ui_mp_icon_rank.xml]
[16-9] get_xml_name for[ui_icons_map.xml] returns [ui_icons_map.xml]
[16-9] get_xml_name for[ui_common.xml] returns [ui_common.xml]
[16-9] get_xml_name for[ui_old_textures.xml] returns [ui_old_textures.xml]
[16-9] get_xml_name for[ui_ingame.xml] returns [ui_ingame.xml]
[16-9] get_xml_name for[ui_map_description.xml] returns [ui_map_description.xml]
[16-9] get_xml_name for[ui_models_multiplayer.xml] returns [ui_models_multiplayer.xml]
[16-9] get_xml_name for[ui_team_logo.xml] returns [ui_team_logo.xml]
[16-9] get_xml_name for[ui_team_logo_small.xml] returns [ui_team_logo_small.xml]
[16-9] get_xml_name for[ui_mainmenu.xml] returns [ui_mainmenu.xml]
[16-9] get_xml_name for[ui_mp_main.xml] returns [ui_mp_main.xml]
[16-9] get_xml_name for[ui_statistics.xml] returns [ui_statistics.xml]
[16-9] get_xml_name for[ui_hud.xml] returns [ui_hud.xml]
[16-9] get_xml_name for[ui_numpad.xml] returns [ui_numpad.xml]
[16-9] get_xml_name for[ui_inventory.xml] returns [ui_inventory.xml]
[16-9] get_xml_name for[ui_inventory2.xml] returns [ui_inventory2.xml]
[16-9] get_xml_name for[ui_iconstotal.xml] returns [ui_iconstotal.xml]
[16-9] get_xml_name for[ui_pda.xml] returns [ui_pda.xml]
[16-9] get_xml_name for[ui_icons_npc.xml] returns [ui_icons_npc.xml]
[16-9] get_xml_name for[ui_npc_monster.xml] returns [ui_npc_monster.xml]
[16-9] get_xml_name for[ui_npc_unique.xml] returns [ui_npc_unique.xml]
[16-9] get_xml_name for[ui_buy_menu.xml] returns [ui_buy_menu.xml]
[16-9] get_xml_name for[ui_asus_intro.xml] returns [ui_asus_intro.xml]
[16-9] get_xml_name for[amk_pda.xml] returns [amk_pda.xml]
[16-9] get_xml_name for[amk_pda_blank.xml] returns [amk_pda_blank.xml]
[16-9] get_xml_name for[amk_ui_base.xml] returns [amk_ui_base.xml]
[16-9] get_xml_name for[color_defs.xml] returns [color_defs.xml]
[16-9] get_xml_name for[hint_item.xml] returns [hint_item.xml]
Loading DLL: xrGameSpy.dll
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
[16-9] get_xml_name for[ui_mm_main.xml] returns [ui_mm_main.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[ui_mm_load_dlg.xml] returns [ui_mm_load_dlg.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
* DVB created: 6144K
* DIB created: 512K
- r__tf_aniso 6
- r2_tf_mipbias 0.
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
* GPU vertex cache: recognized, 24
*** RESET [1496 ms]
"d:\games\s.t.a.l.k.e.r\bin\xr_3da.exe" -nointro
* phase time: 0 ms
* phase cmem: 128478 K
Собираюсь в дорогу...
Loading objects...
Loading models...
* [prefetch] time: 13908 ms
* [prefetch] memory: 112184Kb
* phase time: 13930 ms
* phase cmem: 231330 K
НАЧАЛО...
* phase time: 62 ms
* phase cmem: 219917 K
Зона наполняется жизнью...
* phase time: 7 ms
* phase cmem: 219917 K
Готов выйти из "t.sav"...
* Loading spawn registry...
* 11119 spawn points are successfully loaded
* Loading objects...
* 20322 objects are successfully loaded
[16-9] get_xml_name for[map_spots.xml] returns [map_spots.xml]
[16-9] get_xml_name for[map_spots_escape.xml] returns [map_spots_escape.xml]
[16-9] get_xml_name for[map_spots_garbage.xml] returns [map_spots_garbage.xml]
[16-9] get_xml_name for[map_spots_agroprom.xml] returns [map_spots_agroprom.xml]
[16-9] get_xml_name for[map_spots_darkvalley.xml] returns [map_spots_darkvalley.xml]
[16-9] get_xml_name for[map_spots_bar.xml] returns [map_spots_bar.xml]
[16-9] get_xml_name for[map_spots_military.xml] returns [map_spots_military.xml]
[16-9] get_xml_name for[map_spots_radar.xml] returns [map_spots_radar.xml]
[16-9] get_xml_name for[map_spots_mp.xml] returns [map_spots_mp.xml]
[16-9] get_xml_name for[map_spots_relations.xml] returns [map_spots_relations.xml]
[16-9] get_xml_name for[map_spots_lchangers.xml] returns [map_spots_lchangers.xml]
* Game t is successfully loaded from file 'c:\users\public\documents\stalker-shoc\savedgames\t.sav' (2.111s)
* phase time: 2111 ms
* phase cmem: 256162 K
Контакт...
MaxPlayers = 32
* phase time: 21 ms
* phase cmem: 256194 K
Клиент: Соединение с localhost...
# Player not found. New player created.
* client : connection accepted - <>
* phase time: 12 ms
* phase cmem: 256218 K
Открытие потока...
* phase time: 9 ms
* phase cmem: 256218 K
Пора выходить...
* phase time: 2450 ms
* phase cmem: 316057 K
Проверяю снарягу...
* phase time: 280 ms
* phase cmem: 318072 K
Проверяю оружие...
* [Loading VB] 65532 verts, 2047 Kb
* [Loading VB] 65530 verts, 2047 Kb
* [Loading VB] 65531 verts, 2047 Kb
* [Loading VB] 65532 verts, 2047 Kb
* [Loading VB] 60327 verts, 1885 Kb
* [Loading VB] 65531 verts, 2047 Kb
* [Loading VB] 65534 verts, 2047 Kb
* [Loading VB] 65535 verts, 2047 Kb
* [Loading VB] 65534 verts, 2047 Kb
* [Loading VB] 65534 verts, 2047 Kb
* [Loading VB] 65534 verts, 2047 Kb
* [Loading VB] 46354 verts, 1448 Kb
* [Loading VB] 65533 verts, 2047 Kb
* [Loading VB] 65535 verts, 2047 Kb
* [Loading VB] 65535 verts, 2047 Kb
* [Loading VB] 65530 verts, 2047 Kb
* [Loading VB] 65532 verts, 2047 Kb
* [Loading VB] 65535 verts, 2047 Kb
* [Loading VB] 53153 verts, 1661 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 670515 indices, 1309 Kb
* [Loading VB] 65533 verts, 767 Kb
* [Loading VB] 65533 verts, 767 Kb
* [Loading VB] 65535 verts, 767 Kb
* [Loading VB] 65535 verts, 767 Kb
* [Loading VB] 65535 verts, 767 Kb
* [Loading VB] 65534 verts, 767 Kb
* [Loading VB] 65528 verts, 767 Kb
* [Loading VB] 16089 verts, 188 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048572 indices, 2047 Kb
* [Loading IB] 784818 indices, 1532 Kb
* phase time: 52 ms
* phase cmem: 318512 K
Собираю вещи...
* phase time: 1919 ms
* phase cmem: 322432 K
Присяду на дорожку...
* [DETAILS] VertexConsts(256), Batch(61)
* [DETAILS] 40687 v(20), 26352 p
* [DETAILS] Batch(61), VB(794K), IB(154K)
* phase time: 42 ms
* phase cmem: 322474 K
Загрузка секторов и порталов...
* Loading HOM: d:\games\s.t.a.l.k.e.r\gamedata\levels\l01_escape\level.hom
* phase time: 15 ms
* phase cmem: 322667 K
Готовлюсь к походу...
- Loading music tracks from 'l01_escape_musics'...
* phase time: 11 ms
* phase cmem: 322701 K
Я готов......
- Game configuring : Started
- Game configuring : Finished
[16-9] get_xml_name for[maingame.xml] returns [maingame_16.xml]
[16-9] get_xml_name for[zone_map.xml] returns [zone_map_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[car_panel.xml] returns [car_panel_16.xml]
[16-9] get_xml_name for[motion_icon.xml] returns [motion_icon_16.xml]
[16-9] get_xml_name for[messages_window.xml] returns [messages_window.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[ui_custom_msgs.xml] returns [ui_custom_msgs.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[inventory_new.xml] returns [inventory_new_16.xml]
[16-9] get_xml_name for[inventory_item.xml] returns [inventory_item_16.xml]
[16-9] get_xml_name for[af_params_16.xml] returns [af_params_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[inventory_new.xml] returns [inventory_new_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[pda.xml] returns [pda.xml]
[16-9] get_xml_name for[pda_map.xml] returns [pda_map.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[hint_item.xml] returns [hint_item.xml]
[16-9] get_xml_name for[pda_contacts_new.xml] returns [pda_contacts_new.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[events_new.xml] returns [events_new.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[news.xml] returns [news.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[encyclopedia.xml] returns [encyclopedia.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[actor_statistic.xml] returns [actor_statistic.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[pda_dialog_character.xml] returns [pda_dialog_character_16.xml]
[16-9] get_xml_name for[stalkers_ranking.xml] returns [stalkers_ranking.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[stalkers_ranking_character.xml] returns [stalkers_ranking_character_16.xml]
[16-9] get_xml_name for[pda_events.xml] returns [pda_events.xml]
[16-9] get_xml_name for[pda_events.xml] returns [pda_events.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[hint_item.xml] returns [hint_item.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[job_item.xml] returns [job_item.xml]
[16-9] get_xml_name for[talk.xml] returns [talk_16.xml]
[16-9] get_xml_name for[trade_character.xml] returns [trade_character_16.xml]
[16-9] get_xml_name for[trade_character.xml] returns [trade_character_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[trade.xml] returns [trade_16.xml]
[16-9] get_xml_name for[trade_character.xml] returns [trade_character_16.xml]
[16-9] get_xml_name for[trade_character.xml] returns [trade_character_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[trade_item.xml] returns [trade_item_16.xml]
[16-9] get_xml_name for[af_params_16.xml] returns [af_params_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[carbody_new.xml] returns [carbody_new_16.xml]
[16-9] get_xml_name for[trade_character.xml] returns [trade_character_16.xml]
[16-9] get_xml_name for[trade_character.xml] returns [trade_character_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[carbody_item.xml] returns [carbody_item_16.xml]
[16-9] get_xml_name for[af_params_16.xml] returns [af_params_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[inventory_new.xml] returns [inventory_new_16.xml]
[16-9] get_xml_name for[scroll_bar.xml] returns [scroll_bar.xml]
[16-9] get_xml_name for[message_box.xml] returns [message_box.xml]
* phase time: 329 ms
* phase cmem: 331677 K
Закурю и в путь......
* t-report - base: 2193, 1063312 K
* t-report - lmap: 7, 7168 K
* phase time: 630 ms
* phase cmem: 331678 K
Входим в зону отчуждения...
* phase time: 13 ms
* phase cmem: 331678 K
* [win32]: free[2150368 K], reserved[97568 K], committed[1946304 K]
* [ D3D ]: textures[1070481 K]
* [x-ray]: crt heap[331677 K], process heap[12245 K], game lua[24298 K], engine lua[153 K], render[0 K]
* [x-ray]: economy: strings[6066 K], smem[35100 K]
[16-9] get_xml_name for[game_tutorials.xml] returns [game_tutorials.xml]
[16-9] get_xml_name for[ui_credits.xml] returns [ui_credits.xml]
[16-9] get_xml_name for[ui_movies.xml] returns [ui_movies.xml]
sv destroy object [1746][stalker:esc_factory_bandit1] [5024]
sv destroy object [1757][wpn_pm:wpn_pm1757] [5024]
sv reject. id_parent [1746][stalker:esc_factory_bandit1] id_entity [1757][wpn_pm:wpn_pm1757] [5024]
sv destroy object [22016][ammo_9x18_fmj:ammo_9x18_fmj22016] [5024]
sv reject. id_parent [1746][stalker:esc_factory_bandit1] id_entity [22016][ammo_9x18_fmj:ammo_9x18_fmj22016] [5024]
sv destroy object [4356][skuns:skuns4356] [5024]
sv destroy object [10286][ammo_9x19_fmj:ammo_9x19_fmj10286] [5024]
sv reject. id_parent [4356][skuns:skuns4356] id_entity [10286][ammo_9x19_fmj:ammo_9x19_fmj10286] [5024]
! Cannot find saved game ~ self: ok
! Cannot find saved game ~ self: ok

FATAL ERROR

[error]Expression : fatal error
[error]Function : CScriptEngine::lua_error
[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line : 73
[error]Description :
[error]Arguments : LUA error: ...s\s.t.a.l.k.e.r\gamedata\scripts\xr_motivator.script:375: attempt to index a nil value


stack trace:

Что вообще та строка  значит, по которой   вылет.

Изменено пользователем Хемуль36рус

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

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

Хемуль36рус, все, понял, что у тебя происходит.

Короче, xr_motivator трогать вообще не нужно. Верни все как было до "адаптации".

 

Нужно править 2 других файла, и делать конвертер сейвов.

Попозже распишу, что и как.

 

https://dl.dropboxusercontent.com/u/27871782/dialog_manager46.script

 

Вот так вот выглядит универсальный файл диалогов. Причем сохранение/восстановление на самом деле не нужно совсем.

 

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

 

function CRandomTask:save( p )	-- снесен "старый формат", вместе с ключом "нового"	local n, tm	local a = self.active_task_by_type	for k, v in pairs( self.task_info ) do		n = status_to_num[ v.status ] or abort( "CRandomTask:save, wrong status [%s], task: %s", v.status, k )		if v.enabled then n = n + 64 end		if v.enabled_props then n = n + 32 end		if a[v.complex_type] == k then	-- вообще-то надо вычислять по типу			n = n + 16	-- но все как-то мутно, поэтому сохраняем явно			log( "info", "CRandomTask:save, id: %s, ct: %s, active", k, v.complex_type )		end		tm = v.last_task_time	-- нужно ли писать время ?		if tm then			tm = game_time_sec - tm			if tm < v.idle_time then n = n + 8			else tm, v.last_task_time = false, 0		end	end		if v.selected_target then			p:w_u8( n + 128 )			p:w_u32( v.selected_target )			log( "info", "CRandomTask:save, id: %s, status: %s, target: %s", k, v.status, v.selected_target )		else p:w_u8( n )		end		p:w_u16( id_to_hash[k] or abort( "CRandomTask:save, no hash for id: %s", k ) )		if tm then p:w_u32( tm ) end	-- пишем время	end	p:w_u8( 0 )endfunction CRandomTask:load( p )	local n, id, v, g, tm	local t = self.task_info	local a = self.active_task_by_type	while true do		n = p:r_u8()		if n == 0 then return end	-- оно кончилось		if n >= 128 then g, n = p:r_u32(), n - 128	-- есть target, читаем		else g = nil	-- нет target'а		end		id = hash_to_id[ p:r_u16() ]		v = t[id] or abort( "CRandomTask:load, invalid entry: %s", tostring( id ) )		if n >= 64 then v.enabled, n = true, n - 64		else v.enabled = false		end		if n >= 32 then v.enabled_props, n = true, n - 32		else v.enabled_props = false		end		if n >= 16 then a[v.complex_type], n = id, n - 16 end	-- активный		if n >= 8 then tm, n = true, n - 8 end	-- нужно ли будет читать время ?		if n == 2 and v.type == "defend_lager" then			v.selected_target = g or abort( "CRandomTask:load, no target (id: %s)", id )			g = sim:object( g )			if g then				v.defend_target = g:spawn_ini():r_u32( "random_task", "defend_target" )			end		else v.selected_target = g		end		v.status = num_to_status[ n ]		if tm then v.last_task_time, tm = p:r_u32() + game_time_sec, false end	endend

 

 

Изменено пользователем Dennis_Chikin
Ссылка на комментарий

@Dennis_Chikin, то-есть тот, из 4 патча? Интересно, обычно адаптировали только эти скрипты.

 

Если честно, я вообще не понимаю, с какой целью трогали мотиватор. Все изменения нужно вносить в диалоги и таски. Причем по большому счету и там половина не нужна. Все равно в id ни кто полнотекстовые строки не использует, так же, как и номера по 10 цифр. dc

 

@Dennis_Chikin, извини не совсем понял. То что по ссылке, этим можно диалог менеджер заменит, а тот кусок что в спойлере, нужно вставить в таск, вместо оригинального куска.Так?

 

Нет, это для примера. Чтоб работали, надо откатить до твоего мода. Или твой мод поправить. Не сейчас. Пока просто верни все как есть, и занимайся чем нибудь еще на 4-й версии. dc

 

 

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

 

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

 

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

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

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

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

dc

Наверняка человек мало что понял.

Меня самого выражение ( ( ( n1:id() ~= 0 ) and n1 ) or n2 ) несколько смутило. В том смысле, что необходимо некоторое время, чтобы сопоставить - кто такой n1 и n2 по отношению к first и second speaker-ам.  Да и столько скобок, что ... ну на любителя конечно.

Наверное просто стоило сказать что speaker-ы поменялись местами, и чтобы далее не заморачиваться на эту тему, нужно написать дополнительную функцию, которая сама будет ставить first_speaker-ом actor-а. Типа :

function normalize_speakers(first_speaker, second_speaker)
    local is_actor  = first_speaker:id() == 0
    return is_actor and first_speaker or second_speaker, is_actor and second_speaker or first_speaker
end


function give_kolbasa(first_speaker, second_speaker)
    first_speaker, second_speaker = normalize_speakers(first_speaker, second_speaker)
    -- ну и далее по тексту
end

........

dc

10000. Ну а как по-другому контролировать speaker-ов?

Вызовы из логики ещё можно поправить в xr_logic. А из xml и скриптов как?

Изменено пользователем Nazgool
Ссылка на комментарий

Скобок можно меньше, но так - нагляднее.

А простыни о 10000 однотипных строк городить - зачем ? Вот уж действительно где запутаться нефиг делать.

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

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

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

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

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

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

Войти

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

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

×
×
  • Создать...