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

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


KD87

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

Распаковал level.spawn, убрал в нем один объект, пытался запаковать обратно:

Universal ACDC v.1.38
importing alife objects...
importing alife objects from level_spawn.ltx
 
WARNING!
Function: main::__ANON__
Line: 1380
Description: Use of uninitialized value $sid in hash element at universal_acdc.pl line 1875.
 
WARNING!
Function: main::__ANON__
Line: 1380
Description: Use of uninitialized value $sid in hash element at universal_acdc.pl line 1876.
 
WARNING!
Function: main::__ANON__
Line: 1380
Description: Use of uninitialized value $sid in hash element at universal_acdc.pl line 1875.
 
WARNING!
Function: main::__ANON__
Line: 1380
Description: Use of uninitialized value $sid in numeric ne (!=) at universal_acdc.pl line 1875.
 
WARNING!
Function: main::__ANON__
Line: 1380
Description: Use of uninitialized value $sid in hash element at universal_acdc.pl line 1875.
 
WARNING!
Function: main::__ANON__
Line: 1380
Description: Use of uninitialized value $sid in concatenation (.) or string at universal_acdc.pl line 1875.
 
FATAL ERROR!
Function: main::check_story_ids
Line: 1875
Description: object dead_city_graph_point_0000 has same story id as dead_city_graph_point ()

 

 

Посмотрел в ltx-файле - все секции graph_point'ов одинаковые, за исключением имен и координат:

[25]
 
; cse_abstract properties
section_name = graph_point
name = dead_city_graph_point
s_gameid = 0xff
position = -234.163070678711, -2.0848388671875, 296.641845703125
direction = 0, 0, 0
id = 65535
version = 118
script_version = 7
spawn_id = 0
 
; cse_alife_graph_point properties
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 

На что ругается acdc? На s_gameid = 0xff ?

Если на это, то подскажите отчего такое может быть и как исправить ?

Поделиться этим сообщением


Ссылка на сообщение
Вылет при попытке разобрать all.spawn на level.spawn(perl universal_acdc.pl -split all.spawn -out levels -use -way -scan config/ -nofatal):
preparing level folders...
writing level spawns...
writing alife objects...
writing alife objects...
writing alife objects...
writing alife objects...
writing alife objects...
Can't use an undefined value as a HASH reference at universal_acdc.pl line 446.

Причем сам all.spawn был ранее собран этим-же universal_acdc  и нормально им-же распаковывается.

Поделиться этим сообщением


Ссылка на сообщение
Что за предупреждения такие, при распаковке спавна?


WARNING!

Function: main::__ANON__

Line: 1363

Description:

WARNING!

Function: stkutils::file::entity::error

Line: 248

Description: stkutils::file::entity::read_m_update 128 $packet->resid() == 0 update data left [4] in entity zone_flame_small_0005

 

 

WARNING!

Function: main::__ANON__

Line: 1363

Description:

WARNING!

Function: stkutils::file::entity::error

Line: 248

Description: stkutils::file::entity::read_m_update 128 $packet->resid() == 0 update data left [8] in entity dead_city_wpn_ak74

Поделиться этим сообщением


Ссылка на сообщение

 

 

При попытке запаковки обратно, в логе появилось про дублирующие секции в way__level_unknown.ltx (почистил), запаковал, всё вроде получилось

Опять телепатов звать надо....

Приложить к вопросу тот самый лог, пояснить что ты "почистил" - это можно ?

Поделиться этим сообщением


Ссылка на сообщение

 

 

Запустил  "acdc_compile.bat"    и он выдал вот такую ошибку 
Ну так ты забыл указать папку, откуда брать файлы спавна, исправь так:

universal_acdc.pl -compile all_spawn_files all -out new.spawn

где all_spawn_files - папка, в которой лежат файлы all.spawn'а.

Поделиться этим сообщением


Ссылка на сообщение

@flt1

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

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

Поделиться этим сообщением


Ссылка на сообщение

А откуда информация, что НПС с профилем sim_stalker_novice_neumeha - квестовый? У меня в all.spawn'е этот профиль прописан только одному неписю - gar_stalker_0006. StoryID не имеет, логики не имеет, ни в какой смарт не приписан, никаких упоминаний где-либо, кроме секции в all.spawn о нем больше нет. Кстати, частенько встречал непися с именем "Неумеха" именно на Кордоне, в деревне новичков.

По sim_svoboda_specnaz_prut - все то-же, что и выше. Остальные не проверял.

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

Поделиться этим сообщением


Ссылка на сообщение

 

 

Информация например из "character_desc_simulation.xml", где этот "Неумеха" прописан в "Stalkers Quest Profiles".

И что за квест в оригинале, в котором этот Неумеха задействован ?

Поделиться этим сообщением


Ссылка на сообщение

 

 

У меня скрипт нормально все нумерует, подробнее можешь суть проблемы рассказать?

Гадать бесполезно, но похоже, что вопрошавший просто не очень разобрался с тем, как НПСы могут оказаться совсем не там, где он их привык встречать в игре. И приписал это неправильной работе uACDC...

Поделиться этим сообщением


Ссылка на сообщение

 

 

...который, обычно обитает на арм. складах

Ув., если Вы решили таки занятся модификацией игры, то Вам стоит подучить общие основы организации ССЖ(система симуляции жизни). Понятия "обычно обитает" в игре, которая является все-же компьютерной программой не прокатывают. Все объекты симуляции управляются движком игры в соответствии с имеющимися логическими схемами и заложенными разрабами принципами. Чтоб было понятнее, НПС после спавна на локации, может "управляться" обычно тремя основными способами:

 - собственной логикой, прописанной ему соотв. образом

 - логикой гулага\смарт_террайна - если ему позволено поступать на работы в эти самые гулаги

 - движковое управление, которое работает если запрещены оба вышеозначенных варианта

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

 

 

Поделиться этим сообщением


Ссылка на сообщение

 

 

Вопрос: Как эту проблему исправить? Судя по сообщениям форума такой вопрос уже неоднократно задавался.

Скоро уже наверное дятлом обзовут, но опять-же: СДК + xrAI...

А все эти ggrc и gg_cdc, времен, когда нормальные инструменты не были доступны - если не в топку, то где-то рядом...

Поделиться этим сообщением


Ссылка на сообщение

 

 

В SDK произвёл все необходимые этапы, вот только не сформировался all.spawn (

Эмм, all.spawn формируется не в СДК, а xrAI -s. Этот этап отработал без ошибок ?

 

 

 

заменю AIwrapper
Опять-же, если есть xrAI, зачем AIwrapper ?

Поделиться этим сообщением


Ссылка на сообщение

 

 

Подскажите пожалуйста. Как делать свои alife_**.ltx и way_**.ltx файлы?

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

Поделиться этим сообщением


Ссылка на сообщение

@kramer

В файле gamedata\scripts\class_registrator.script посмотри что прописано для БМ-16. В оригинале выглядит так:

cs_register(object_factory, "CWeaponBM16", "se_item.se_weapon_shotgun", "WP_BM16", "wpn_bm16_s")

Отпишись...

Поделиться этим сообщением


Ссылка на сообщение

 

 

и помешают ли они мне запаковать спавн назад

Ну так проверь! Чего проще - запакуй и смотри, будет ли какая ругань при запаковке или нет. Если нет, то практически 100%, что все в норме.

Поделиться этим сообщением


Ссылка на сообщение

 

 

можно ли простым помещением alife.ltx в папку gamedata вызвать его обработку игрой, или обязательно надо запаковывать обратно в all.spawn?

Эмм, а с каких таких пор alife.ltx у нас теперь в all.spawn'е находится ? Всю дорогу вроде в gamedata\config проживал...

Файлы, находящиеся в папке gamedata и вложенных папках, имеют приоритет над db-архивами. Главное сохранять раскладку по принадлежности.

Поделиться этим сообщением


Ссылка на сообщение

 

 

Если их выдернуть в папку spawn, будет у них приоритет над all.spawn или игра их вообще не увидит?

Не увидит. Необходимо, после правок в любом из спавн-файлов, заново упаковать их в all.spawn, который затем можно положить в gamedata\spawns и тогда он будет иметь приоритет над тем, что лежит в db-архиве.

Поделиться этим сообщением


Ссылка на сообщение

 

 

Что тут можно поделать?

Ну видимо внимательнее прочитать universal_acdc_readme.txt(лежит в самой папке с universal_acdc.pl), это текстовый файл справки к uACDC. Тот лог программы, что на Вашем скрине, она обычно выдает при вызове какой-то из команд без аргументов\при неверных аргументах. Т.е. при неправильном содержимом батника.

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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

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