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

Universal ACDC и другие perl-скрипты


KD87

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

3 минуты назад, WolfHeart сказал:

Ну извини, ошибочка вышла, давненько я ACDC не пользовался.

Да ладно)))) https://dropmefiles.com/Z8GOs Там вроде эти файлы точно такие же. Не пришлось ничего менять:grin2:

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

Чет не то походу сделал((( Я естественно.

[error]Expression    : flags.test(flR1) || flags.test(flR2)
[error]Function      : CSE_ALifeObjectHangingLamp::match_configuration
[error]File          : c:\projects\ogsr-engine\ogsr_engine\common_ai\xrserver_objects_alife.cpp
[error]Line          : 1052
[error]Description   : no renderer type set for hanging-lamp 
[error]Arguments     : light_alarm_glass_0000

Ссылка на комментарий
7 минут назад, MADMAX666 сказал:

[error]Description   : no renderer type set for hanging-lamp

Не установлен тип рендерера для подвесной лампы.

Что то не то ты сделал.

WolfHeart.gif

AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Ссылка на комментарий
4 минуты назад, WolfHeart сказал:

Не установлен тип рендерера для подвесной лампы.

Что то не то ты сделал.

Вот шарить бы еще в этом. Я сделал по типу как писал KD в теме шейдеров.

Может распаковать ОГСЕ спавн и попробовать сделать как там?

Изменено пользователем MADMAX666
Ссылка на комментарий
5 минут назад, MADMAX666 сказал:

Вкладка про флары

Что-то вот тут не понятно:

Объемный свет включается путем выставления в light_flags флага 0x40, флары - флага 0х80.

light_flags флага 0x40 - это вроде как понятно, вместо например: light_flags = 0x2a выставить флаг 0x40

А вот что тогда: флары - флага 0х80?
Я в этом то же не шарю, это надо у кого то сведущего в этом узнать.

WolfHeart.gif

AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Ссылка на комментарий
3 минуты назад, WolfHeart сказал:

light_flags = 0x2a выставить флаг 0x40

Это я сделал. Это объемный свет как я понял.

 

3 минуты назад, WolfHeart сказал:

А вот что тогда: флары - флага 0х80?

Это я вообще не трогал. Так как то же не понял чего и куда)))

В теме с шейдерами вообще глухо. Там бесполезно.

Изменено пользователем MADMAX666
Ссылка на комментарий
17 минут назад, MADMAX666 сказал:

В теме с шейдерами вообще глухо. Там бесполезно.

Попробуй посты в той теме почитать. Я бегло пробежался, там не так все просто. Одного редактирования all.spawn не достаточно, нужно еще как минимум:

 

В 15.02.2015 в 22:35, KD87 сказал:

И должна быть текстура фларов, конечно же. Не говоря уже о шейдере  :)

 

А может и еще чего то. Опять же не все понятно с редактированием all.spawn. light_flags = 0x40 - это включение объемного света, а вот где вот это редактировать:  флары - флага 0х80 - не понятно. А без этого скорее всего и вылетает.

В общем нужно для начала разобраться с этими "флары - флага 0х80", а потом уже дальше.

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

WolfHeart.gif

AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

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

После добавления предметов в распакованный all.spawn перестали совпадать номера секций с номерами spawn_id.Из-за этого некоторые предметы просто перестали спавниться. В моём примере не заспавнилась флешка в подземелье агропрома, как сделал одинаковые номера всё стало нормально.У меня просьба, как выровнять номера автоматически, вручную переписывать все номера в локациях, неделя нужна.

Добавлено  Опричник,

Перемещено.

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

@kalabay, spawn_id это и есть номер секции, и они постоянно обновляются при пересборке спавна, если были добавлены или удалены объекты. Если тебе в процессе игры нужно будет получить spawn_id объекта, то ему можно задать spawn_story_id. Получить можно так:

local spawn_id = alife():spawn_id(<spawn_story_id>)

 

Вообще spawn_id используется для спавна ранее удалённых объектов, больше его и приспособить некуда... Как у тебя могла не появиться эта флешка, непонятно.

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

Доброго времени!

Проблема с декомпиляцией all.spawn, мод на SGM ЗП - Квестовое дополнение для SGM 2.2 CoP

Все требования из шапки темы выполнены, версия Universal acdc - 1.38, папка stkutils скопирована (не перенесена, присутствует и в папке spawn/acdc) в C:/Perl/Lib, версия ActivePerl-5.26.3 (ставил версии 5.10 и 5.28.1 - результат тот же).

Прошу помочь с проблемой.

Скрытый текст

P.S. Очень хотелось бы на будущее методику, как решать подобные проблемы. С простыми проблемами (типа не хватает секции конкретного оружия в acdc.pl разобрался, там просто, добавляешь по шаблону недостающее и всё).

С уважением...

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

@mdm64, На будущее... Как получить лог в текстовом виде из окна командной строки:

Скрытый текст

Выдели текст в окне командной строки Ctrl+C --> Ctrl+V в текстовый файл. 

Второй способ: В батнике в конце стоки, через пробел дописать  "-log"

Пример батника:


del sections.ini
universal_acdc.pl -d all.spawn -out all_cop all -scan configs/ -sort complex -nofatal -log
pause

Лог будет создан в папке с АСDC, в виде текстового файла universal_acdc.log 

 И не нужно никаких скриншотов.

Теперь по проблеме:

Судя по логу, скрипт не может найти идентификотор для класа: sgm_radioactive_field_weak

И судя по всему ты пытаешся распаковать мод без сканирования конфигов. Читай в шапке спойлер "Ридми от ACDC: universal acdc" --> спойлер "Распаковка спавна".

Или же, распаковываешь со сканированием конфигов, но в файле clsids.ini не прописан клас sgm_radioactive_field_weak и его идентификатор.

Еще бывают случаи когда в clsids.ini все прописано, но не у всех (не на всех компах) скрипт его читает, с чем это связанно не знаю, но в таких случаях, я прописываю класс на прямую в файл scan.pm в папке stkutils.

 

 

Не большой тутор: Как найти класс предмета.

  • Спасибо 1
  • Не нравится 1
  • Полезно 1

WolfHeart.gif

AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

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

@WolfHeart, сканирование конфигов включено было, а вот класс и идентификатор, естественно, прописаны не были, иначе не было бы и этой ошибки. Полагаю, это очевидно. Я ведь потому и попросил помощи не только по данному случаю, но и на будущее...

А как прописать правильно класс, из ссылки с яндекс-диска я не понял, конкретно по моему случаю . Поэтому в своём сообщении и попросил по-человечески объяснить мне на конкретном (хотя бы на моём примере), а не отправлять к общим статьям...

Но, очевидно, проще отправить человека с проблемой читать мануалы, написанные так, что после них всё равно придётся самому доходить до всего, чем просто доходчиво расписать конкретную проблему и дать необходимые рекомендации на будущее...Ладно, бестолку объяснять очевидные вещи, не в коня корм...

Да и нет у меня в файле clsids.ini вообще такого параметра "sgm_radioactive_field_weak". И что он из себя представляет, могу смутно судить лишь по переводу его названия на русский язык...

 

P.S.у меня батник отличается, по сути, только отсутствием лога - "perl universal_acdc.pl -d all.spawn -out unpack -scan ../configs/ -nofatal".

и батник для скана:

del sections.ini
perl universal_acdc.pl -d ../all.spawn -out ../unpack -scan ../../configs/
pause

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

@mdm64, О чем просили, на то и ответил.

8 часов назад, mdm64 сказал:

Прошу помочь с проблемой.

Расписал вожможные причины и указал направление поиска, копировать шапку темы в свой пост нет смысла.

8 часов назад, mdm64 сказал:

Очень хотелось бы на будущее методику, как решать подобные проблемы.

Методику предоставил как образец, принцип тот-же, хоть для вашего случая, хоть для какого другого. А то что не расписал конкретно sgm_radioactive_field_weak, так мне для этого нужны конфиги вашего мода, которых у меня нет.

И нечего строить из себя обиженного, не к каким туторам я вас не направлял, файл залит на мой Я.Диск, залил специально для вас.

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

WolfHeart.gif

AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

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

@WolfHeart, так я же полностью мод выложил по ссылке,он небольшой , какие кроме этого конфиги нужны ?

Это к слову об "обиде"...

Да не понял я ничего в этом файле применительно к моему случаю, потому и написал...

P.S. Да и лог ничего нового не выдал.

Скрытый текст

Universal ACDC v.1.38
checking version of all.spawn...
    This is a spawn of S.T.A.L.K.E.R. Call Of Pripyat (any patch)
opening all.spawn...
reading header...
reading alife objects...

FATAL ERROR!
Function: stkutils::scan::get_class
Line: 1919
Description: cannot find clsid for class sgm_radioactive_field_weak

 

Изменено пользователем mdm64
Ссылка на комментарий
24 минуты назад, mdm64 сказал:

так я же полностью мод выложил по ссылке

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

class = S_FOOD, а в вашем случае будет другой. Дальше прописываете найденый клас предмету в clsids.ini как по шаблону. Что не понятно?

24 минуты назад, mdm64 сказал:

P.S. Да и лог ничего нового не выдал.

Ну и где у вас включен скан. конфиг???

Вот мой лог с ключем: -scan configs

Universal ACDC v.1.38
checking version of all.spawn...
    This is a spawn of S.T.A.L.K.E.R. Call Of Pripyat (any patch)
scanning configs...done!
opening all.spawn...
reading header...
reading alife objects...

Сравните со своим. Где в вашем логе строчка: scanning configs...done!

Вот в этом и ваша ошибка.
 

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

WolfHeart.gif

AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

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

@WolfHeart, Как это где включен скан конфиг ? А в сообщении выше в разделе "P.S" это что ? Не скан ?

43 минуты назад, mdm64 сказал:

@WolfHeart,

P.S.у меня батник отличается, по сути, только отсутствием лога - "perl universal_acdc.pl -d all.spawn -out unpack -scan ../configs/ -nofatal".

и батник для скана:

del sections.ini
perl universal_acdc.pl -d ../all.spawn -out ../unpack -scan ../../configs/
pause

 

Как указано в шапке темы, с поправкой на место нахождения acdc в отдельной папке в папке spawns/^

universal_acdc.pl -d ../all.spawn -o ../unpack -g ../../ -scan ../../config/
Изменено пользователем mdm64
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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

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