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

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


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

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 / Начинающий игродел на Unreal Engine / Мимокрокодил.

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

 

У меня в слоте стоит предмет спавна,он спавнит в инвентарь предметы на классе 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, То есть у тебя каждые пол секунды спавнится детектор? А если такое сделать в мод с контролируемым объемом или игра лаганет от такого количества?

CON, изъясняйся в конце концов не на "своем жаргоне", а на общепонятном языке ... если конечно хочешь получать ответы а не отмазки!

Упомянутую "схему" не видел и нет особого желания.

в худы вещей скрипт спавнит ...
В худ (HUD) ничего не спавнится. "ПОстоянно" спавнит говоришь - ну-ну очень понятно ...

 

CON: как бы мне сделать
- ключевая фраза!

Если именно тебе самому сделать - выше написал как определить "пропажу" детектора из слота и как удалять ... и если что непонятно - спрашивай/уточняй (на нормальном языке!).

Если же ждешь, чтобы "дядя" тебе сделал - ... жди, может кто за тебя и сделает. (Навсякий случай напомню: мы в топике "Школа ...", а не "Стол заказов")

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

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

Какое нужно сделать условие в скрипте, чтобы при выдавании несуществующего инфопоршня, игра не вылетала, а появлялось сообщение о том что он, инфопоршень, не существует?

 

В следующий раз выбирай соответствующую тему.

ColR_iT

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

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

[error]Function : CScriptEngine::lua_error

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

[error]Line : 73

[error]Description : <no expression>

[error]Arguments : LUA error: ....r. - shadow of chernobyl\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

 

Такой же вылет получал при добавлении БМ16 полного от Псевдыча. Но там разобрался, полностью переписал конфиг, а тут что...Закомментирование строки не помогает, вылет происходит также, но уже ссылается на другой скрипт.

 

А поднять глаза и прочитать это: #8105 - религия не позволяет? --/Artos

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

Boofer, '[ как бы было хорошо, чтобы из скриптов по условию командовать чтобы игра не вылетала ... а продолжала бы не взирая ни на какие ошибки/чудачества модмейкера ... ;-)

 

Тут не на вылет условие нужно, а на наличие в игре (в конфигах) выдаваемого инфопоршня, но ... в такого нет и в ТЧ попытка выдачи несуществующего заканчивается фатально.

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

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

Artos, самому не по плечу. Но если Вы поможете.))

Принцип я понял. Нужно прописать xml-парсер с инфопоршенями, где скрипт будет искать нужный поршень, и если не найдёт, то с помощью else можно вместо вылета поставить появление сообщения, но вот как этот парсер прописать...

 

"Парсер" от английского слова parse. Переведи слово и ты поймёшь для чего это предназначается.

ColR_iT

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

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

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

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

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

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

Войти

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

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

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