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

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


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

Keng,

в моде расширение арены Arena Extension Mod как-то можно Арни просить чтобы он убавил или добавил света на Арену. Там свои лампочки добавлены вроде.

CON,

никак. Класс у предмета может быть только один. То же по второму вопросу.

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

CON,

Подскажите пожалуйста как сделать чтобы оружее использовало два класса

class = WP_LR300

и этот

class = D_SIMDET

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

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий
Keng: Можно ли коментить строчки в _g.script?

Можно но НЕ нужно, если ты хочешь понять отчего происходят ошибки/вылеты.

Сам _g.script никак не виноват в ошибках, а именно в нем сделана функция принудительного завершения игры (abort).

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

Иной вопрос, что многие игроки и немало модмейкеров могут только в буфере нотепада смотреть заключительную секцию лога и, конечно же, винят во всем _g.script, но подозревая, что проблема/ошибка совсем в ином месте (в строках лога чуть выше) и ее нужно бы исправить, а не комментить прерывание.

 

можно ли воздействовать на лампочки в игре, скриптом? Включать/выключать?

Запросто, если умеешь работать с нет-пакетами ..., в противном случае никак (не считая "разбить").

 

saruman_ten, убедительная просьба, поменьше "воды" в постах ...

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий
Artos, почему именно нет пакеты? Ведь есть методы
function turn_on();
function turn_off();

для класса hanging_lamp. Это рудимент?

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

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

Однако тут придется постараться, т.к. лампочки не биндятся и искать в db.storage бессмысленно, имена у лампочек по локациям зачастую дублируются ... так что придется постараться отыскать клиентский объект нужной лампочки, чтобы "турнуть" ее. ;-)

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Artos- по поводу _g.script, у меня тоже вылез лог ссылающийся на _g.script при переносе НПС из ЧН в ТЧ, проверяю луа чекером уже 1 час проверяет и еще не закончил. Собственно вопрос в каких еще строчках лога можно искать проблему? ( если не затруднит по подробнее ) За раннее благодарен.

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

Artos,

Однако тут придется постараться, т.к. лампочки не биндятся и искать в db.storage бессмысленно, имена у лампочек по локациям зачастую дублируются ... так что придется постараться отыскать клиентский объект нужной лампочки, чтобы "турнуть" ее. ;-)

лампочки биндятся как физические объекты. Для них можно прописать логику включения выключения. Можно поискать пример по ключевому слову turn_on_object/turn_off_object

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

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

Для физических объектов в биндере стоИт входной фильтр и в оригинале из объектов без логики только объекты класса прожекторов проскакивает и дроповые ящики ...

Лампочки в биндер НЕ попадают, т.к. не имею никакой логики.

Ну а если прописать логику - то это уже "полный моддинг", и возможно для вопрошавшего проще накидать им сидов в алл.спавне. ;-)

Не забываем, что чем больше забиндено предметов и чем больше задействовано логики/схем - тем прожорливее игра к ресурсам, тем более для физ.объектов работает их апдейтер (для каждого!)

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Здравствуйте уважаемые, прошу прощенья, помогите разобраться с логом

sv destroy object [64544][NOTFOUND] [15315]

!SV:ge_destroy: [64544] not found on server

* Log file has been saved successfully!

- Destroying level

* DVB created: 4096K

* DIB created: 512K

- r__tf_aniso 2

- r1_tf_mipbias 0.5

* SSample: 1920x1080

* SSample: enabled

* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)

* GPU vertex cache: recognized, 24

*** RESET [135 ms]

"d:\r.g. mechanics\s.t.a.l.k.e.r. trilogy\shoc\bin\xr_3da.exe" -noprefetch -start server(Сергей_quicksave_нлс/single/alife/load) client(localhost)

* phase time: 0 ms

* phase cmem: 221304 K

Сервер: Старт...

* phase time: 143 ms

* phase cmem: 220733 K

Сервер: Загрузка симуляции жизни...

* phase time: 7 ms

* phase cmem: 220733 K

Загрузка игры "Сергей_autosave.sav"...

* Loading spawn registry...

* 10226 spawn points are successfully loaded

* Loading objects...

* 24307 objects are successfully loaded

* Game Сергей_autosave is successfully loaded from file 'd:\r.g. mechanics\s.t.a.l.k.e.r. trilogy\shoc\userdata_nlc6\savedgames\Сергей_autosave.sav' (3.081s)

* phase time: 3081 ms

* phase cmem: 285401 K

Сервер: Соединяемся...

MaxPlayers = 32

* phase time: 36 ms

* phase cmem: 285383 K

Клиент: Соединение с localhost...

# Player not found. New player created.

* client : connection accepted - <>

* phase time: 11 ms

* phase cmem: 285408 K

Открытие потока...

* phase time: 7 ms

* phase cmem: 285414 K

Загрузка формы объектов...

* phase time: 3566 ms

* phase cmem: 358069 K

Загрузка шейдеров...

* phase time: 369 ms

* phase cmem: 358921 K

Загрузка геометрии...

* [Loading VB] 65532 verts, 2047 Kb

* [Loading VB] 65525 verts, 2047 Kb

* [Loading VB] 65535 verts, 2047 Kb

* [Loading VB] 65466 verts, 2045 Kb

* [Loading VB] 17208 verts, 537 Kb

* [Loading VB] 65533 verts, 2047 Kb

* [Loading VB] 65534 verts, 2047 Kb

* [Loading VB] 65534 verts, 2047 Kb

* [Loading VB] 65531 verts, 2047 Kb

* [Loading VB] 65535 verts, 2047 Kb

* [Loading VB] 65535 verts, 2047 Kb

* [Loading VB] 46595 verts, 1456 Kb

* [Loading VB] 65534 verts, 2047 Kb

* [Loading VB] 65533 verts, 2047 Kb

* [Loading VB] 65535 verts, 2047 Kb

* [Loading VB] 65532 verts, 2047 Kb

* [Loading VB] 65533 verts, 2047 Kb

* [Loading VB] 65533 verts, 2047 Kb

* [Loading VB] 53181 verts, 1661 Kb

* [Loading IB] 1048575 indices, 2047 Kb

* [Loading IB] 1048572 indices, 2047 Kb

* [Loading IB] 1048572 indices, 2047 Kb

* [Loading IB] 1048572 indices, 2047 Kb

* [Loading IB] 1048572 indices, 2047 Kb

* [Loading IB] 1048572 indices, 2047 Kb

* [Loading IB] 1048575 indices, 2047 Kb

* [Loading IB] 1048572 indices, 2047 Kb

* [Loading IB] 1048575 indices, 2047 Kb

* [Loading IB] 228285 indices, 445 Kb

* phase time: 48 ms

* phase cmem: 359265 K

Загрузка базы пространств...

* phase time: 1154 ms

* phase cmem: 361703 K

Загрузка детальных объектов...

* [DETAILS] VertexConsts(256), Batch(61)

* [DETAILS] 40687 v(20), 26352 p

* [DETAILS] Batch(61), VB(794K), IB(154K)

* phase time: 43 ms

* phase cmem: 361714 K

Загрузка секторов и порталов...

* Loading HOM: d:\r.g. mechanics\s.t.a.l.k.e.r. trilogy\shoc\gamedata\levels\l01_escape\level.hom

* phase time: 16 ms

* phase cmem: 361855 K

Загрузка ИИ объектов...

- Loading music tracks from 'l01_escape_musics'...

* phase time: 15 ms

* phase cmem: 362302 K

Клиент: Создание...

- Game configuring : Started

- Game configuring : Finished

* phase time: 35 ms

* phase cmem: 382150 K

Загрузка текстур...

* t-report - base: 999, 338821 K

* t-report - lmap: 10, 10241 K

***FATAL***: Too many lmap-textures (limit: 8 textures or 32M).

Reduce pixel density (worse) or use more vertex lighting (better).

* phase time: 811 ms

* phase cmem: 382150 K

Клиент: Синхронизация...

* phase time: 12 ms

* phase cmem: 382150 K

* [win32]: free[754020 K], reserved[95568 K], committed[1247500 K]

* [ D3D ]: textures[349062 K]

* [x-ray]: crt heap[382150 K], process heap[10563 K], game lua[28235 K], engine lua[230 K], render[877 K]

* [x-ray]: economy: strings[53927 K], smem[8394 K]

 

FATAL ERROR

 

[error]Expression : fatal error

[error]Function : CInifile::r_section

[error]File : E:\stalker\sources\trunk\xrCore\Xr_ini.cpp

[error]Line : 342

[error]Description : <no expression>

[error]Arguments : Can't open section 'ac'

 

 

stack trace:

За ранее благодарен

 

Разбор вылетов с логом - в теме Ковыряемся в файлах, нужной игры. Кроме того, там необходима бОльшая информация, нежели просто лог. Cyclone

 

Перенёс.

ColR_iT

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

Fox

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

Artos Значит перепроверю скрипты, еше с помошью Этого.

smeh попробуй проверить по этой статье.

Изменено пользователем Keng
Всем пока я верю в вас!
Ссылка на комментарий

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

1. Смотреть нужно НЕ копипаст из памяти компа, а сам файл лога!

2. Если в логе упоминается про ошибку в _g.script - читать нужно 2-3 строки выше секции [FATAL ERROR].

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

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

 

Добавлено через 7 мин.:

Keng, этим не проверяют скрипты. Упомянутый тобою вариант от SkyLoader'а - довольно примитевен и без вывода собственно сообщений в нужных точках скрипов - бесполезен.

Да и не безопасен, т.к. на вход такому printf может попадать все что угодоно от nil до таблиц/объектов ... на которых он сам подавится.

Поищи за август-сентябрь в топике по скриптам нормальные варианты вывода в лог и для функции abort.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Подскажите пожалуйста,у меня стоит в слоте предмет в тоже время у меня работает скрипт спавна предметов в инвентарь,все предметы на классе II_FOOD,II_ANTIR,II_MEDKI,II_BANDG.

Если у меня спавнится предмет на классе D_SIMDET он не используется а откладывается в инвентаре!Как бы мне сделать чтобы когда убираю из слота предмет спавна все что на классе D_SIMDET убиралось из инвентаря?

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

Приветствую.

В наличии 1.004 + AMK 1.4.1 + 2 патча + "Нет автоматических заданий" (от ghost_dk, с повторением заданий)

 

Проблема по квесту Сидоровича "Уничтожить бандитов возле НИИ Агропром".

При первом спуске в подземелье (отвел Крот) автоквест не инициировался (стоит "Нет автозаданий"), бандиты были, убил всех.

При очередном посещении Сидоровича взял у него этот квест (название "Уничтожить бандитов возле НИИ Агропром"), в журнале появилась вся сопутствующая информация с меткой.

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

По результатам форум-поиска выяснил, что можно получить новых живых бандитов увеличив значение респавна (а успеть нужно за 7 дней), в результате убийства которых после нескольких итераций квест выполнится. Поиск "+увеличить +respawn" дал такое - http://www.amk-team.ru/forum/index.php?s=&...st&p=245533, где говорится о файле \gamedata\configs\misc\faction_bandit.ltx. Такого файла не нашел, видимо это только в CS.

 

Вопрос: как увеличить время (и м.б. количество) respawn'а бандитов в подземелье Агропрома ? Нашел файл \gamedata\config\creatures\spawn_sections.ltx, но там нет параметров, описанных в вышеуказанном сообщении (от Vano_Santuri, 1.7.2009, 13:18). Нашел еще такое - http://nmk-team.clan.su/publ/modostroenie/...espawn/2-1-0-69, руководствуясь этой информацией я смогу увеличить требуемый мне результат ?

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

Здраствуйте...Меня мучает все время такой вопрос.Можно ли как нибудь из левозатворного оружия сделать правозатворное, и если можно то как???Помогите пожалуйста.Заранее спасибо...

 

 

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

CON

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

 

SWoBoDoWeTH

Можно. Поменять модель) Или ищи готовую которую уже кто-то сделал, или изучай 3д-моделирование и делай сам.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

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

 

У меня в слоте стоит предмет спавна,он спавнит в инвентарь предметы на классе D_SIMDET!

Как бы мне сделать чтобы когда убираешь предмет спавна из слота все предметы на классе D_SIMDET убирались из инвентаря?

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

CON, учись все же задавать вопросы попонятнее ... :-)

 

1. D_SIMDET - это не класс, а CLSID, т.е. идентификатор (текстовая строка) класса. Имеется также script_clsid или просто clsid (числовое значение). Ну а речь, как понял, ведешь о классе cse_alife_item_detector. Еще проще - о детекторах.

 

2. Сами предметы ничего не спавнят, независимо в слоте они иль нет. И что мешает уточнить/конкретизировать понятие "предмет спавна", чтобы было хоть понятно и о каком предмете идет речь и о каком слоте. Для игры/скриптов это немаловажно, т.к. ко всему есть свои (не)разрешенные методы ...

 

Ну а по сути, что мешает проверять наличие своего предмета в слоте типа: my_item = db.actor:item_in_slot(N) - где N номер проверяемого слота.

и по "пропаже" из слота твоего предмета (if my_item == nil then ...) - итерацией по рюкзаку убирать/удалять твои D_SIMDET?

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

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий
Artos, Видел схему противогаза в "Худы вещей"?в худы вещей скрипт спавнит постоянно антирад и использует его!я сделал по той же схеме детектор,он теперь спавнит детекторы. Но как бы мне сделать чтобы когда я убираю Детектор(предмет спавна)все детекторы находящиеся в инвентаре удалялись
Ссылка на комментарий
CON, То есть у тебя каждые пол секунды спавнится детектор? А если такое сделать в мод с контролируемым объемом или игра лаганет от такого количества?
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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