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

[SoC] Вопросы по SDK


faniloko

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

Domosed, вылет с "Description : graph doesn't correspond to the cross table" всегда связан с одним - неверный level.gct для какой-нибудь локации (очень информативный вылет, все ясно написано). Тут вариант практически один - не скопированы level.gct после работы аивраппера в папки с локациями. Копировать новые level.gct надо для всех локаций, включенных в game.graph, не смотрите, что у них тот же размер.
Ссылка на комментарий

Люди возник такой вопрос)Скачал SDK 0.7))Есть огромное желание научиться с ним работать))Не подскажите с чего начать и вообще нужно ли что то дополнительное для редактора)))Просьба на ЗП))

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

Alex48sic

Всё зависит от того, что ты хочешь сделать. Возможно, понадобится 3D редактор с плагинами для переброски моделей в SDK . А вообще посмотри тут ссылка

Лень - двигатель прогресса!

 

Domosed.gif

 

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

Всё же не оставляю попытку вставить свой уровень в АМК мод (на чистом STALKER всё идёт и работает отлично), в связи с чем возник ряд новых (или старых, вопросов): вставить свой уровень я решил путём правки all.spawn от АМК-мода - распаковал его, распаковал свой all.spawn , перенёс необходимые секции в escape.ltx и garbage.ltx (между этими уровнями находится мой), поправил все way_***.ltx, all.ltx. При попытке собрать новый алл.спавн acdc ругнулся , мол нет какой-то аномалии от АМК- я занёс её в acdc.pl, снова запустил- требует другую, короче внёс все аномалии, что он требует, запускаю батник, получаю: "Can't use an undefined value as an ARRAY reference at stkutils/ini_file.pm line 156, <GEN1> line 30157." Что значит?

Лень - двигатель прогресса!

 

Domosed.gif

 

Ссылка на комментарий
Domosed, нет одного из обязательных параметров в какой-то секции. Перепроверяй то, что вносил. Кстати, а есть понимание, что уровень (для сингла) должен присутствовать в game.graph, а game.graph должен соответствовать all.spawn?
Ссылка на комментарий

KD87

Да я уже на 10 раз всё перепроверил, такое чувство, что проблема не в acdc.pl , а как раз в файле stkutils/ini_file.pm, на который он ссылается... ладно, покопаю ещё. Да , ещё: существует ли acdc для АМК, но не в виде ЕХЕ, а в виде перл-скрипта? Если есть- дайте ссылку.

Лень - двигатель прогресса!

 

Domosed.gif

 

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

Domosed, в ini_file проблемы не может быть, уж поверь. Найди в ini_file.pm подпрограмму import_properties и вместо

    die unless defined $self->{sections_hash}{$section};
    foreach my $p (@_) {

вставь

    print "[$section]\n";
    die unless defined $self->{sections_hash}{$section};
    foreach my $p (@_) {
    print "$p->{name}\n";

При запуске запаковки смотри в консоль, будут выводится имена секций и параметров. Увидишь, на чем скрипт стопорится.

В виде скрипта есть, ищи на сталкер инсайд.

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

KD87

 

Я сделал, как ты сказал, при работе ACDC появляются следующие данные

 

[560]

game_vertex_id

distance

direct_control

level_vertex_id

object_flags

custom_data

story_id

spawn_story_id

[560]

visual_name

visual_flags

[560]

condition

[560]

upd:num_items

[560]

upd:ph_position

Can't use an undefined value as an ARRAY reference at stkutils/ini_file.pm line 158, <GEN1> line 30157.

 

 

Нашёл в ACDC.pl этот участок

 

package cse_alife_item;

use strict;

use constant properties_info => (

{ name => 'condition', type => 'f32', default => 0.0 }, # 0xec

);

use constant upd_properties_info => (

{ name => 'upd:num_items', type => 'h8' }, # 0x90

{ name => 'upd:ph_position', type => 'f32v3' }, # 0x58

{ name => 'upd:ph_rotation', type => 'q8v' }, # 0x70,0x74,0x78,0x7c

{ name => 'upd:ph_angular_vel', type => 'q8v' }, # 0x34,0x38,0x3c

{ name => 'upd:ph_linear_vel', type => 'q8v' }, # 0x28,0x2c,0x30

);

sub state_read {

cse_alife_dynamic_object_visual::state_read(@_);

$_[1]->unpack_properties($_[0], properties_info);

}

sub state_write {

cse_alife_dynamic_object_visual::state_write(@_);

$_[1]->pack_properties($_[0], properties_info);

}

sub update_read {

($_[0]->{'upd:num_items'}) = $_[1]->unpack('C');

return if ($_[0]->{'upd:num_items'} == 0);

@{$_[0]->{'upd:ph_position'}} = $_[1]->unpack('f3');

@{$_[0]->{'upd:ph_rotation'}} = $_[1]->unpack('C4');

my $info_mask = $_[0]->{'upd:num_items'} >> 5;

if (($info_mask & 0x02) == 0) {

die unless $_[1]->length() >= 3;

@{$_[0]->{'upd:ph_angular_vel'}} = $_[1]->unpack('C3');

}

if (($info_mask & 0x04) == 0) {

die unless $_[1]->length() >= 3;

@{$_[0]->{'upd:ph_linear_vel'}} = $_[1]->unpack('C3');

}

}

 

 

Что посоветуете??

P.S.: Под АМК-мод на Сталкер-Инсайд ACDC только в виде EXE-файла, в виде перл-скрипта не нашёл (простых полно...)

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

Лень - двигатель прогресса!

 

Domosed.gif

 

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

Люди, такой вот вопрос...

Скомпилил карту на средних. На карте есть вода. Если стрелять по воде, то брызг нету О_о

В чем может быть проблема?

Мод "Жесть"

В команду Two Team ("Жесть") требуется моделлер.

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

Domosed, а что тут советовать? Ясно, что upd:num_items не равно 0, поэтому скрипт совершенно справедливо пытается прочитать upd:ph_position, которого в секции № 560 просто нет, либо он не в формате "три числа через запятую". Выхода два - или приводи параметры апдейт-пакета cse_alife_inventory_item к правильному виду согласно логике в sub update_read {}, или выставь upd:num_items во всех секциях, где он есть, в 0.

 

Выделю отдельно для всех интересующихся. upd:num_items суть набор бинарных флагов, согласно которым составляется дальнейший апдейт-пакет класса cse_alife_inventory_item. Если не знаете, что это такое и как его правильно пользовать - всегда выставляйте этот параметр в 0, избежите проблем с запаковкой.

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

KD87

Просмотрел все alife_***.ltx-файлы и к своему удивлению обнаружил, что все upd:num_items = 0, значит дело в чём-то другом...Или я что-то не понял?...Ага нашёл,извиняюсь, на кордоне единственное значение не равно 0.Thanks!

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

Лень - двигатель прогресса!

 

Domosed.gif

 

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

Перепахав гуглом весь сталкеровский интернет, понял что придётся в очередной раз здесь позориться, а именно:

внеся все исправления в alife-файлы локаций, acdc, и т.д., как советовал KD87 вновь попробовал запаковать all.spawn, и всё вроде бы пошло нормально, как вдруг в конце :

Died at stkutils/ini_file.pm line 30, <GEN19> line 61. и досвидания!! Проверил нумерацию секций во всех алайфах - повторов нет. Поиск решения не принёс... :russian_ru:

Лень - двигатель прогресса!

 

Domosed.gif

 

Ссылка на комментарий
Domosed, ini_file line 30 - это мощно. Это значит, что acdc не может даже прочитать твои секции, не то, что импортировать :). Больше всего похоже на опечатку в номере секции. Если лень проверять, поставь перед 30ой строчкой такое: print "$section\n"; Может, номер проблемной секции увидишь.
Ссылка на комментарий

В общем, как говорил один врач: " Если микстуры не помогают- используй свечи". Свой уровень к АМК я так и не смог присовокупить. Решил секции с АМКшных алайфов переписать в свои, и ,о-чудо, алл.спавн собрался. Ещё небольшие доработки конфигов монстров (типа "Can't open section...") и.. вылет

 

[error]Expression : motion_ID.valid()

[error]Function : CKinematicsAnimated::ID_Cycle

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

[error]Line : 136

[error]Description : ! MODEL: can't find cycle:

[error]Arguments :

stack trace:

 

Какую-то безымянную анимацию найти не может. Какой файл отвечает за это??

Лень - двигатель прогресса!

 

Domosed.gif

 

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

Всем привет. Что значит этот лог в аивраппере?

 

2471765m.jpg

 

 

Вроде адаптировал под D диск, а делать все равно не хочет.

 

 

Domosed, это может быть любая модель с любой анимацией. Вспоминай что правил.

 

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

Немного подправил конфиги, спасибо Amik. Но теперь другая штука вылазиет:

 

2484068m.jpg

 

 

Так при любой команде, будь то сетка, будь то работа с графами.

 

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

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

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

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

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

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

Войти

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

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

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