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

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


KD87

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

Опять возникла проблема , слетела ОС после переустановки не не хочет декомпилировать просто мигает окошко  и все, Установлена Универсальная ACDC 1_35  ,а так же ACDC 24 перл стоит и отображается в программах , папка stkutls установлена , в батнике декомпилировать заменена строчка на  c:\Perl64\bin\perl.exe universal_acdc.pl -d all.spawn -out all  -scan config\   

 установлена all.spawns  что еще нужно сделать или проверить , раньше у меня в таком виде все работало , да на версии 1.29 такая же проблема

Изменено пользователем Орлан
  • Нравится 1
Ссылка на комментарий
Орлан

Попробуй сделать такой БАТник - Perl universal_acdc.pl -d all.spawn -out all  -scan config\

АМК..1.4.1..+..Народная..Солянка..от..19.04.10..дополнение..14.08.10..+..патч..3.09.10..+..DMX..1.3.5..+..ADDON..BY..SARUMAN

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

 

   Снайпер56  не помогло , но вот какая вещь я взял локации из пака локаций , там есть тоже ACDC с распакованным all.spawn  от ТЧ  удалил все оставив программу  вот она декомпелирует , но увы только ТЧ , а мне надо ЗП 

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

@Орлан, Сначала лучше так попробовать :

Для Win7(8) :

@echo off

Perl universal_acdc.pl -d all.spawn -scan config\ -nofatal
pause

 

Для Win XP :

@echo off

universal_acdc.pl -d all.spawn -scan config\ -nofatal
pause

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

С наступающим.

Есть проблема с работой  универсального распаковщика ACDC: universal_acdc_1_35, stkutils_09_08_2013 от камрада KD

не проходит "Разбивка all.spawn на level.spawn", даже на оригинальном (1.0006) ТЧ:

 

Universal ACDC v.1.34 


checking version of all.spawn... 
This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher) 
opening all.spawn... 
reading header... 
reading alife objects... 
reading artefact spawn places... 
reading way objects... 
reading game graph... 
reading header... 
reading levels... 
reading vertices... 
reading edges... 
preparing graph points... 
filling level.spawn with objects (plecha_selo)... 
filling level.spawn with objects (l05_bar_hw)... 
filling level.spawn with objects (l08u_brainlab)... 
filling level.spawn with objects (l06_rostok)... 
filling level.spawn with objects (ai_test_new)... 
filling level.spawn with objects (l11_pripyat)... 
filling level.spawn with objects (l08_yantar)... 
filling level.spawn with objects (l03u_agr_underground)... 
filling level.spawn with objects (stohe_selo)... 
filling level.spawn with objects (ai_test)... 
filling level.spawn with objects (_level_unknown)... 
filling level.spawn with objects (l01_escape)... 
filling level.spawn with objects (l03_agroprom)... 
filling level.spawn with objects (l03_agroprom_hw)... 
filling level.spawn with objects (jim_dark)... 
filling level.spawn with objects (l12_stancia_2)... 
filling level.spawn with objects (l04_darkvalley)... 
filling level.spawn with objects (slipch_al_test)... 
filling level.spawn with objects (l02_garbage)... 
filling level.spawn with objects (l05_bar)... 
filling level.spawn with objects (ai_test2)... 
filling level.spawn with objects (l12_stancia)... 
filling level.spawn with objects (l12u_control_monolith)... 
filling level.spawn with objects (koan_test)... 
filling level.spawn with objects (l03u_agr_underground_hw)... 
filling level.spawn with objects (l12u_sarcofag)... 
filling level.spawn with objects (l10u_bunker)... 
filling level.spawn with objects (l04u_labx18)... 
filling level.spawn with objects (l07_military)... 
filling level.spawn with objects (l10_radar)... 
preparing level folders... 
writing level spawns... 
writing alife objects... 
writing alife objects... 
writing alife objects... 
writing alife objects... 
writing alife objects... 
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 E:\S.T.A.L.K.E.R_SOC\gamedata 1.0006\spawns\uACDC\universal_acdc.pl line 446.

 

Есть какие то сображения в чём может быть затык? Спасибо.

 

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

Vadimische выдает фатальную ошибку

Function:stkutils::data_packet::error_handler

Line :1548

Description: unhandled exception

 

да сейчас стал работать decompile_scan  с этой распаковкой можно работать  или как ?

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

@Орлан, если есть ошибки, надо выкладывать полный лог.

 

Обновление:

ACDC 1.36: http://yadi.sk/d/uWlnpuGwF9zCW Исправлено сканирование конфигов и разбивка спавна

stkutils: http://yadi.sk/d/l6osH5PQF9ynj

level.sound_static unpacker: http://yadi.sk/d/hofXdTciF9yyY Поправлена работа с билдовскими файлами

  • Нравится 4
Ссылка на комментарий
Ребят вот моя ошибка.При распаковке народной солянки.Как исправить?

 

 

 

 

 

 

 

Universal ACDC v.1.29

checking version of all.spawn...

        This is a spawn of S.T.A.L.K.E.R. Shadow Of Chernobyl (1.0001 or higher)

 

opening all.spawn...

reading header...

reading alife objects...

 

FATAL ERROR!

Function: stkutils::scan::get_class

Line: 1919

Description: cannot find clsid for class zone_smallrain_average

Для продолжения нажмите любую клавишу . . .
Ссылка на комментарий

Владислав123,

ключ  -nofatal поставь.

АМК..1.4.1..+..Народная..Солянка..от..19.04.10..дополнение..14.08.10..+..патч..3.09.10..+..DMX..1.3.5..+..ADDON..BY..SARUMAN

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

К сожалению с помощью новой версии acdc 1.36 также не получается разбить all.spawn на level.spawn.

Код батника:

universal_acdc.pl -split all.spawn -way -scan configs -nofatal
pause

В папке с acdc имеется папка levels с разложенными там level.game и level.spawn в каждом уровне. Пытался разбить all.spawn от оригинала ЧН 1.5.10 и от OGSM результат один и тот же:

FATAL ERROR!
Function: stkutils::data_packet::unpack
Line: 132
Description: data [0] is shorter than template [1]

Полный лог:

 

 

E:\abc\universal_acdc_1_36>universal_acdc.pl -split all.spawn -way -scan configs
 -nofatal
defined(@array) is deprecated at stkutils/ini_file.pm line 146.
        (Maybe you should just omit the defined()?)
defined(@array) is deprecated at stkutils/data_packet.pm line 859.
        (Maybe you should just omit the defined()?)
defined(@array) is deprecated at E:\abc\universal_acdc_1_36\universal_acdc.pl li
ne 561.
        (Maybe you should just omit the defined()?)
defined(@array) is deprecated at E:\abc\universal_acdc_1_36\universal_acdc.pl li
ne 948.
        (Maybe you should just omit the defined()?)
log inited: console
Universal ACDC v.1.36
checking version of all.spawn...
        This is a spawn of S.T.A.L.K.E.R. Clear Sky (1.5.04 - 1.5.10)
opening all.spawn...
reading header...
reading alife objects...
 
WARNING!
Function: main::__ANON__
Line: 1370
Description:
WARNING!
Function: stkutils::file::entity::error
Line: 248
Description: stkutils::file::entity::read_m_update 128 $packet->resid() == 0 upd
ate data left [1] in entity mar_wpn_vintorez
 
reading artefact spawn places...
reading way objects...
reading game graph...
        reading header...
        reading levels...
        reading vertices...
splitting spawns...
reading alife objects...
filling level.spawn with objects (agroprom)...
reading alife objects...
 
WARNING!
Function: main::__ANON__
Line: 1370
Description:
WARNING!
Function: stkutils::file::entity::read_m_spawn
Line: 121
Description: state data left [28] in entity mil_level_changer_to_red_forest_1
 
 
WARNING!
Function: main::__ANON__
Line: 1370
Description:
WARNING!
Function: stkutils::file::entity::read_m_spawn
Line: 121
Description: state data left [28] in entity mil_level_changer_to_garbage_1
 
 
WARNING!
Function: main::__ANON__
Line: 1370
Description:
WARNING!
Function: stkutils::file::entity::read_m_spawn
Line: 121
Description: state data left [28] in entity mil_teleport_to_mar
 
 
WARNING!
Function: main::__ANON__
Line: 1370
Description:
WARNING!
Function: stkutils::file::entity::read_m_spawn
Line: 121
Description: state data left [28] in entity mil_teleport_to_esc
 
 
WARNING!
Function: main::__ANON__
Line: 1370
Description:
WARNING!
Function: stkutils::file::entity::read_m_spawn
Line: 121
Description: state data left [28] in entity mil_teleport_to_gar
 
 
WARNING!
Function: main::__ANON__
Line: 1370
Description:
WARNING!
Function: stkutils::file::entity::read_m_spawn
Line: 121
Description: state data left [28] in entity mil_teleport_to_val
 
 
WARNING!
Function: main::__ANON__
Line: 1370
Description:
WARNING!
Function: stkutils::file::entity::read_m_spawn
Line: 121
Description: state data left [28] in entity mil_teleport_to_agr
 
 
WARNING!
Function: main::__ANON__
Line: 1370
Description:
WARNING!
Function: stkutils::file::entity::read_m_spawn
Line: 121
Description: state data left [28] in entity mil_teleport_to_yan
 
 
WARNING!
Function: main::__ANON__
Line: 1370
Description:
WARNING!
Function: stkutils::file::entity::read_m_spawn
Line: 121
Description: state data left [28] in entity mil_teleport_to_red
 
 
FATAL ERROR!
Function: stkutils::data_packet::unpack
Line: 132
Description: data [0] is shorter than template [1]
 
E:\abc\universal_acdc_1_36>pause
Для продолжения нажмите любую клавишу . . .

 

 

Как быть? Можно где-нибудь поставить эхо-печать имен распаковываемых секций?

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

У кого нибудь получилось распаковать спавн 1472 билда?

 

Все. Разобрался. Получилось декомпилить спавн 1472.

 

П.С.:А ссылку на скачивание level_cdc можете восстановить?

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

 

 


Можно где-нибудь поставить эхо-печать имен распаковываемых секций?

В файле universal_acdc.pl замените функцию read_alife (ищите как sub read_alife {) на следующую:

 

 

sub read_alife {
	my $self = shift;
	my ($cf) = @_;
	my $i = 0;
	print "reading alife objects...\n";
	if ($self->get_version() > 79 && !$self->level()) {
		print "\n\n\n############ SECTIONS ############\n";
		while (1) {
			my ($index, $size) = $cf->r_chunk_open();
			defined($index) or last;
			if ($index == 0) {
				$size == 4 or fail('unexpected alife objects count size');
				my ($alife_count) = unpack('V', ${$cf->r_chunk_data()});
				$alife_count == $self->{count} or fail('alife object count mismatch');
			} elsif ($index == 1) {
				while (1) {
					($index, $size) = $cf->r_chunk_open();
					defined($index) or last;
					my $object = stkutils::file::entity->new();
					$object->{cse_object}->{flags} = $self->get_flag();
					$object->{cse_object}->{ini} =  $self->get_ini();
					$object->{cse_object}->{user_ini} =  $self->get_user_ini();
					$object->read($cf, $self->get_version());
					$self->set_flag($object->{cse_object}->{flags} & 0x1F);	# exclude entity specific flags
					$self->set_ini($object->{cse_object}->{ini});
					push @{$self->{alife_objects}}, $object;
					print "[".$object->{cse_object}->{name}."]\n";
					$cf->r_chunk_close();
				}
			} elsif ($index == 2) {
				$self->{unk_chunk} = $cf->r_chunk_data();
			}
			$cf->r_chunk_close();
		}
	} else {
		print "\n\n\n############ SECTIONS ############\n";
		while (1) {
			my ($index, $size) = $cf->r_chunk_open();
			defined $index or last;
			$index < $self->{count} or last if defined $self->{count};
			die unless $i == $index;
			my $object = stkutils::file::entity->new();
			$object->{cse_object}->{flags} = $self->get_flag();
			$object->{cse_object}->{ini} =  $self->get_ini();
			$object->read($cf, $self->get_version());
			$self->set_flag($object->{cse_object}->{flags});
			$self->set_ini($object->{cse_object}->{ini});
			print "\n[".$object->{cse_object}->{name}."]\n";
			$cf->r_chunk_close();
			$i++;
			if ($self->mode() eq 'split') {
				push (@{$self->{alife_objects}}, $object) if (ref($object->{cse_object}) eq 'cse_alife_graph_point');
			} else {
				push @{$self->{alife_objects}}, $object;
			}
		}
	}
	print "############ END ############\n\n\n";
} 

 

 

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

KD87, Ориг. СоР распаковывает без проблем, а CoP’s Level Pack (http://ap-pro.ru/forum/36-2743-1) Никак! Не хочет распаковывать,хоть убей! Может я что-то делаю не так??? Просвети "недоучку" если не трудно!!!

Вот ссылка на скрины: http://yadi.sk/d/JyMjJ_8CGjKVd Я думаю они помогут разобраться с моим вопросом. Если надо еще что нибудь.... Только скажи что???

P.S. Благодарю за ответ!!!

 

 

 

 

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

@Deimos, во-первых, кидать AC/DC в папку с Перлом необязательно) Во-вторых, у тебя даже не существует папки for_kd, которая указана в батнике. 

Добавь в батник со скрина 2014-01-26_110813.png сканирование конфигов и запускай с него. Только сами конфиги не забудь докинуть, без сканирования спавн от CoP’s Level Pack не распакуется.

yl59NI59OeI.jpg

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

Доброго времени суток! У меня такая проблема Acdc собирает all.spawn под версии 1.5.00-1.5.02, а мне нужно для 1.5.10 что делать?

  • Нравится 1
  • Не нравится 1
Ссылка на комментарий

@azrael1325, Благодарю за подсказку!!! Но главная моя ошибка оказалась в том, что разница в написании папок (config) для ТЧ и (configs) дляЗП.

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

Приветствую всех! Решил заняться модмейкерством по причине влюблённости в сталкер. На определённом этапе возникла потребность в работе со спавном. Утилита от бардака не пошла, универсальный acdc после нескольких этапов камлания все-таки распаковала all.spawn, а затем собрала, однако при этом размер файла стал меньше, и при работе выдается сообщение об ошибке. Вот конкретно:

 

all.spawn 4 474 073, после компиляции 4 450 577, при этом было изменено всего пара строк для пробы.

 

Это то, что сообщает acdc при работе:

 

C:\Downloads\1>universal_acdc.pl -compile all -out new.spawn
defined(@array) is deprecated at stkutils/ini_file.pm line 146.
        (Maybe you should just omit the defined()?)
defined(@array) is deprecated at stkutils/data_packet.pm line 859.
        (Maybe you should just omit the defined()?)
defined(@array) is deprecated at C:\Downloads\1\universal_acdc.pl line 561.
        (Maybe you should just omit the defined()?)
defined(@array) is deprecated at C:\Downloads\1\universal_acdc.pl line 948.
        (Maybe you should just omit the defined()?)
log inited: console
Universal ACDC v.1.36
importing alife objects...

 

Игра - Тень Чернобыля, версия 1.006. Сама игра запустилась и Меченый вышел из бункера, гордо сверкая новым автоматом, но все-таки хотелось бы, чтоб всё работало без ошибок и сбоев.

  • Нравится 1
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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

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