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

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


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

@Winsor, метод SetAccelerator в оригинале игры не экспортирован в скрипты и используется лишь в движке. Акселераторы для кнопок можно задать в xml параметрами accel и accel_ext.

 

 оживление НПС

Работает, но плохо. Лучше бы его удалить и пересоздать по номеру из спавна. Или прописать его диалоги кому-то из ещё живых.

  • Спасибо 2

 

 

А он вообще когда-нибудь работал ?

 

 

Работает, но плохо.


Да вот как раз-таки оживление работает вполне себе неплохо, если переносить заспавненный артефакт из своего инвентаря в инвентарь НПС, только при подборе с земли - вылет. Ну и косяк с квестовыми НПС (после оживления непись просто испарился с локации).
Запретить бы выбрасывание арта, но как я понял на классе артефакта это сделать невозможно, а класс II_attach нельзя не выкинуть, не перенести в инвентарь НПС/куда-то ещё...Кажется, класса подходящего под мои запросы нет.


 

Заметил сегодня такую аномалию, пропали звуки шагов гг по всем поверхностям. Исключая динамические объекты. В gamemtl.xr только одна правка - отключение замедления гг, при движении по воде. В конфиге ГГ, вроде все тоже ок. Кто-нибудь сталкивался с подобным? Есть конечно вероятность, что проблема как-то связана с правками EAX в бинарниках игры. Но аналогичных проблем, в оф. теме на форуме gameru я не встречал.

 

З.Ы. Если самостоятельно найду решение\ошибку - отпишусь.

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

  • Нравится 1

@TIGER_VLAD, да, ты прав проблема была именно в этом направлении. Я перекидывал пакеты omf анимаций из OGSE и именно они и вызвали вышеописанную проблему. Ну я не думаю, что в самом OGSE она присутствует, значит нужно чего-то еще добавить\подредактировать. Знать бы еще что... Пока предполагаю, что анимки завязаны на новых звуках.

Изменено пользователем Stalker_AleX333
  • Нравится 1

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

, если ты из OGSE взял анимации, то нужно из всех моделей костюмов удалить анимацию экзоскелета. Кажется exo_animation.omf. Под рукой компьютера нет, поэтому в названии могу ошибаться.

Всех с наступающим праздником! Товарищи подскажите что означает этот выброс игры.

 

 

 

Expression    : fatal error

Function      : CScriptEngine::lua_error
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ....r. - shadow of chernobyl\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

 

 

Изменено пользователем HellRatz
_g.script:20: bad argument #2 to 'format' (string expected, got no value)

http://stalkerin.gameru.net/wiki/index.php?title=Причины_вылетов_игры_(разбираем_логи)

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

Уважаемые, пытаюсь нарисовать окошко с границами

self.main_form=xml:InitStatic("main_form", self)
xml:InitStatic("main_form:top_border",self.main_form)
xml:InitStatic("main_form:left_border",self.main_form)
xml:InitStatic("main_form:right_border",self.main_form)
xml:InitStatic("main_form:bottom_border",self.main_form)

 

 

<main_form x="312" y="134" width="400" height="500" stretch="1">
	<texture x="312" y="134" width="400" height="500">ui\ui_fog_of_war</texture>
			
			<top_border x=0 y=0 width=400 height=5 stretch=1>
				<texture x=0 y=0 width=400 height=5 >ui\ui_frame_t</texture>
			</top_border>
			<left_border x=0 y=0 width=5 height=500 stretch=1>
				<texture  x=0 y=0 width=5 height=500>ui\ui_frame_l</texture>
			</left_border>
			
			<right_border x=300 y=0 width=5 height=500 stretch=1 complex_mode="1">
				<texture  x=300 y=0 width=5 height=500>ui\ui_frame_r</texture>
			</right_border>

			<bottom_border x=0 y=495 width=400 height=5 stretch=0>
				<texture  x=0 y=495 width=400 height=5>ui\ui_frame_b</texture>
			</bottom_border>
</main_form>

 

 

post-35264-0-22449000-1431030657_thumb.png

 

т.е. левый и верхний фреймы нормальные, а нижний и правый "расколбасило" (вернее растянуло, если не ошибаюсь - по горизонтали на непонятную величину), хотя если смотреть в dds на эти ui\ui_frame_r и ui\ui_frame_b - все нормально, stretch не влияет никак, без OriginalRect текстура еще больше корячится... в чем может быть ошибка?

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

 

 

А InitFrame не устраивает
- может и устраивает, но я не понял по какому принципу строятся границы. Есть у Вас пример использования InitFrame с куском описания в xml?

Благодарю!

@Winsor, 

    ...
    local xml = CScriptXmlInit()
    xml:ParseFile("any.xml") -- не знаю какой там у тебя файл
    xml:InitFrame("main_form", self)
    ...

xml

<main_form x="312" y="134" width="400" height="500" stretch="1">
    <texture>название_текстуры</texture> <!-- не знаю где она(они) располагаются -->
</main_form>
название_текстуры - на самом деле это не одна текстура, а вроде 9 штук (не помню).
Называются они соответственно :
название_текстуры_l  -- левая
название_текстуры_lt -- левый верхний угол
название_текстуры_t  -- верхняя
название_текстуры_rt -- правый верхний угол
название_текстуры_r  --  и .т.д.
название_текстуры_rb
название_текстуры_b
название_текстуры_lb
девятая текстура - заполнитель, не помню какое там у неё "расширение".
 
Примеры посмотри в файлах игры.
Так вот указывать нужно <texture>название_текстуры</texture> без "расширений".
А InitFrame дальше сам сложит всё как положено.
Изменено пользователем Nazgool
  • Спасибо 1

Подскажите, пожалуйста, для какого UI элемента используются текстуры с окончанием _e, _back, _b?


Отвечаю сам - для InitFrameLine , которые используется для создания Label (InitLabel).

<caption x="100" y="3" width="200" height="25" stretch="1">
            <texture>ui_linetext_e</texture>
            <text r="238" g="153" b="26" font="letterica18" vert_align="c" align="c" complex="1">Каптион интересный</text>
</caption>

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

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

2) как заставить игру перечитать этот список не перезапуская саму игру?

при большом размере текстуры (тестировалось на 1,2 м/б) первая загрузка такой текстуры происходит 1,5-2 секунды 

3) это мне не повезло с компом или так долго движок их кеширует?

4) все следующие обращения к данной структуре, прописанной в xml происходят очень быстро  - из скрипта InitTexture результат будет такой же или механика отличается?

5) что произойдет с кешем при загрузке 100 таких структур по очереди, например, в баграунд UIStatic?

6) можно ли этот кеш чистить принудительно? 

 

7) есть ли аналог Cursors.WaitCursor в скриптовых функциях (временное отключение реакции на события и вывод чего либо для сигнализации занятости, например, при загрузке большой структуры)? 

 

Благодарю за любую информацию и разъяснения!

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

@Winsor, 

Может уже и есть какие-то способы и информация. Тот кто знает больше поправит. А я пока могу сказать следующее :

1. Никак. Стандартных методов нет. Не стандартный - распарсить файлы xml самому с помощью io (нужно расширение Lua от RvP)

2. Никак. Полагаю что только ковырять движок.

3. Напрямую зависит от компа.

4. Деталей не знаю, но время доступа к кешу текстур не будет отличаться.

5. ? Не понял идеи. Зачем? Тем не менее сначала нужно иметь возможность доступа к процессу работы движка с текстурами (см. п.2.).

6. см.п.2.

7. Аналога нет, но думаю скриптово можно организовать.

  • Спасибо 2
  • Полезно 1

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

 

 

сделать это ну очень небыстрым
- а какие способы есть сделать это быстрее (кроме пожатия текстуры) средствами движка? 

Размеры: 256x256, 512x512, 1024x1024. Впрочем, 512x512 не нужны. Больше - тоже, реально, не нужны (нет таких объектов, где оно надо). 5645x111 - отказать однозначно.

Короткие, вменяемые имена и пути. Без kEE\/\/1-HucKeeЯsk..====+--,,,.|Ks извращений на 300 символов с путями в 100500 уровней вложенности.

Количество файлов на каталог надо на самом деле подбирать. Не совсем понятно, что хуже - 100500 подкаталогов по одному файлу в каждом, или 100500 файлов в одном каталоге, но оба варианта очевидно медленные и печальные.

 

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

Изменено пользователем Dennis_Chikin
  • Спасибо 1

Если текстура для интерфейса, то например я урезал качество, т.к. размер явно не то что нужно в этом варианте, 16мбайтную текстуру действительно не мгновенно открывал, а с ощутимыми фризами :). А текстуры которые на модели накладывают, то там 512х512 более чем достаточно, а то некоторые рисуют двухметровые, а потом удивленно пишут о фризах.

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

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

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

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

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

Войти

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

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

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