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

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


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

Почему НПС не берется под смарт, и не уходит бродить по точкам? Когда подхожу к смарту то в консоле вижу вот это.

Cannot build GAME path! (object ds_lager_1)
! CURRENT LEVEL : gz_darkscape
! CURRENT game point position : [261.295166][-0.400000][-163.168777]
! TARGET LEVEL : gz_darkvalley2205
! TARGET  game point position : [164110.468750][-107479056.000000][274200834650121210000000.000000]
! Target point mask [173][65][157][153]
! Object masks (2) :
!   [255][0][255][255]
!   [255][255][255][255]

 

Но вылета нету. Что делать?

Жить – значит делать вещи, а не приобретать их.

 

FLIKER,

прописать правильные точки ему

! TARGET game point position : [164110.468750][-107479056.000000][274200834650121210000000.000000]

Это ты его куда-то в космос отправляешь? :)

Кто нибудь понимающий в скриптах проверьте так ли сделано следующие...

 

local dark_stalker_types = {"cit_dark_stalker_1", "cit_dark_stalker_2", "cit_dark_stalker_3"}

local x, y, z, gv, lv

 

function dark_spawwner()

x =

y =

z =

gv =

lv =

alife():create(dark_stalker_types[math.random(3)],x,y,z,gv,lv)

 

будет ли это работать и что надо дописать что бы функция вызывалась не раз и куда потом встовлять вызов этой функции

 

Почитай вначале мануалы по общему программированию и по Lua на предмет получения элементарных знаний, дабы знать что такое 'функция/переменная/...'. И начни вначале с простейшего ... Начнет получаться - задавай вопросы (если они в ФАК'ах не расписаны).

--/ Artos

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

Не соответствует правилам.

abramcumner, но это совершенно другая локация, и там вообще пусто. Спавн то происходит на darkscape. Изменено пользователем FLIKER

Жить – значит делать вещи, а не приобретать их.

 

FLIKER

У тебя что для твоего darkscape допускаются координаты [164110.468750][-107479056.000000][274200834650121210000000.000000]?

Если да - то ты действительно 'космическую' локацию сваял ... вот игра и не понимает тебя. ;-)

 

Перепроверяй корректность параметров.

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

Привет Мастерам! Низкий поклон Artos(у) за его ТРУДЫ!!!

Будте добры напомните чайнику какой конфиг ковырять что-б НПС нешмаляли из ПМа как снайпера через весь полигон, ночью, сквозь кусты и камни? :russian_ru:

Доброго времени суток.

Возникла проблема с запуском мода из папки mods, но, по подсказке, проблема была решена, путем добавления в файл fsgame.ltx строки:

$mod_dir$           = false|    false|    $fs_root$|    mods\

(коей у меня не было)

 

Но возникла новая проблема, при редактировании файлов мода и добавлении измененных файлов в папку gamedata - эти изменения не вступают в силу. После долгих и нудных ковыряний, сложилось такое впечатление, что файлы из gamedata грузятся раньше, чем файлы из mods\..._. xdb1, поэтому изменения и не применяются.

Собственно вопрос: возможно ли поменять очередность загрузки из mods и gamedata?

P.S. Возникло у меня подозрение, что это настраивается в fsgame.ltx, но как пока не могу разобраться.

На всякий случай прикладываю содержание своего fsgame.ltx, вдруг кто-то знающий «тыкнет меня носом» и укажет на мои ошибки.

 

$app_data_root$=true|false|C:\Users\Ксю\Documents\STALKER-SHOC\
$mod_dir$           = false|    false|    $fs_root$|    mods\        --добавленная строка
$game_data$           = true|    false|    $fs_root$|    gamedata\
$game_ai$            = true|    false|    $game_data$|    ai\
$game_spawn$            = true|    false|    $game_data$|    spawns\
$game_anims$           = true|    true|    $game_data$|    anims\
$game_levels$           = true|    false|    $game_data$|    levels\
$game_meshes$        = true|    true|    $game_data$|    meshes\
$game_dm$            = true|    true|    $game_data$|    meshes\
$game_shaders$        = true|    true|    $game_data$|    shaders\
$game_sounds$            = true|    true|    $game_data$|    sounds\
$game_textures$        = true|    true|    $game_data$|    textures\
$game_scripts$            = true|    false|    $game_data$|    scripts\
$game_config$            = true|    false|    $game_data$|    config\
$level$              = false|    false|    $game_levels$
$game_saves$            = true|    false|    $app_data_root$|    savedgames\
$logs$              = true|    false|    $app_data_root$|    logs\
$screenshots$            = true|    false|    $app_data_root$|    screenshots\

 

P.P.S. Если мои размышления пошли не в ту сторону, подскажите верный путь :)

Callisto

Размышления действительно не совсем в ту сторону ...

Файл fsgame.ltx определяет пути до различных папок для игры, и даже позволяет несколько вмешаться в порядок чтения файлов, но не задает порядок распаковки из пак-файлов.

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

$game_data$ = true | false | $fs_root$| gamedata\

- тут 'true' - заставляет игру перечитать папку 'gamedata'.

Однако что же получается ...

1. Игра изначально не предполагает наличие папки 'gamedata'.

2. При запуске приложения (игры) распаковываются из корня игры ($fs_root$) основные пак-файлы 'gamedata.dbN'. Порядок распаковки определяется наличием маски расширения 'db' и алфавитным порядком последующих за маской символов.

3. После распаковки в виртуальную папку основных игровых архивов рекурсивно перечитываются все файлы из папки $fs_root$\gamedata\, что позволяет вносить изменения прямой правкой нужных файлов в этой папке.

4. В последнюю очередь распаковываются в виртуальную папку пак-файлы из папки указанной переменной $mod_dir$ (\mods).

Порядок распаковки аналогичен распаковке 'gamedata.dbN', но(!) тут маской является 'xdb' и имя пак-файлов также подчиняется алфавитному порядку.

Можно заметить, что в данном случае какой-либо возможности поменят порядор распаковки в виртуальную папку с которой и работает игра - невозможно. Можно только удалить *.xdb* файлы (распаковав их при необходимости в папку 'gamedata') или же запаковать в последний по алфавиту *.xdb*-файл свои актуальные правки ...

 

 

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

Bobenich

Покопаайся в '\gamedata\config\creatures\m_stalker.ltx'.

Интересующие параметры смотри в статьях/ФАК'ах (коих немало в сети и на этом сайте).

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

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

Столкнулся с такой проблемой:

 

Есть секция

[cobra]
scope_status = 0
holder_range_modifier    = 1.0
holder_fov_modifier        = 0.7
scope_zoom_factor = 75

scope_modes = none
installed_parts_1 = wpn_addon_cobra
addon_class = lastochka
addon_type = 1

 

Она находится в файле 1_scopes.ltx. Инклуд на этот файл прописан в файле 0_addons_main.ltx, который, в свою очередь, прописан в weapons.ltx и в конечном итоге в system.ltx. Наследование параметров из этой секции прекрасно работает, т.е. все прописано вроде бы правильно.

 

local ini = system_ini()

function get_table_from_config_string(section,str_name)
    qqq(section..", "..str_name) -- результат: cobra, installed_parts_1 - параметры передаются
    qqq(ini:section_exist(section)) -- 
    qqq(ini:line_exist(section,str_name))
    local tab = {}
    local str = ""
    if ini:section_exist(section) and ini:line_exist(section,str_name) then
        str = ini:r_string(section,str_name)
    end
    tab = parse_data(str)
    return tab
end

 

 

На выходе - пшик (и не только с "коброй", а со всем, что так прописано). Тестовый вывод - qqq - показывает, что параметры передаются, но результат проверки на существование секции ini:section_exist(section) - false. Проверка на существование строки - тоже false, но с "несуществующей" секцией это объяснимо.

Та же функция из конфига АК-74 прекрасно все видит и читает, значит проблема вроде бы не в ней.

 

Что же не так в этом случае? Почему игра секцию видит, а скрипты ее же - нет? Имеет ли значение глубина инклудов, расположение в папках и т.д.?

 

===

Все, разобрался - у меня самого ахинея в функцию передавалась - пробел лез перед именем секции. Ее такую и не находило...

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

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Я сталкивался с таким: Если инклуд файла находился в конце файла - приходилось создавать перед ним буферную (пустую) секцию, после неё инклуды файлов начинали инклудится нормально.

 

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

Важно не забыть давать таким секциям уникальное имя (я как-то забыл), после этого стал называть так: [includes_files_имя файла]

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

всё легко

Kirag Я тоже сталкивался, секция была но вылетало :). Поменял местами файлы в систем.лтх все стало норм .

Попробуй файл 1_scopes.ltx подключить отдельно в самый верх файла систем.лтх

Главное чтобы в секцию [cobra] не было нечего подключено, типа:

[cobra]:ххх

 

7.9 B) Не знаю, так глубоко с этим всем не знаком. Просто у меня была похожая ситуация. Поменял инклуд местами и пропала болячка.

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

Мой архив

Сталкером не занимаюсь.

amik, если файл который "инклудится" содержит то, что наследует секции из файла в который "инклудишь" - его надо прописывать после секций которые наследуются. Если добавить инклуд в конец файла - могут (почему-то) "потеряться" ключи последней секции. Для этого случая нужна секция-жертва :) ... в общем, как я написал выше. Изменено пользователем 7.9

всё легко

7.9,

ужасы какие-то рассказываешь :) "секции-жерты" и прочее...

Можешь сделать тестовый примерчик, когда ключи теряются? Интересно посмотреть.

abramcumner, "жертва" - это для драматизму :)

Ситуация нерегулярная, но попробую...

 

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

всё легко

Заинтересовал такой вопрос: существует ли ограничение размера для игровых архивов (gamedata.db?)? И если есть, то какой максимальный размер может быть у него?

Просто у оригинальных размер не превышает 700 МБ, вот и стало интересно - можно ли архивы делать больше 700 МБ?

Callisto

Для всех файлов игры действует одно ограничение на размер - его определяет возможность файловой системы твоего диска.

Если игра для себя и имеешь NTFS - хоть все файлы в один db. можешь запаковать.

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

 

В общем, делать пак-файлы по 1 Gb - вполне можно для всех применений.

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

Братцы нужна помощь! Вылет при смене локи 001B:0045873E XR_3DA.exe, Kinematics::LL_SetBoneVisible()

Нашёл похожее описание проблемы, там рекомендовали в конфиге акс74у сменить скопе статус с 2 на 0. Сделал, помогло. Собственно вопрос:

Почему так происходит и как сохранить оптику на ксюхе избавившись при этом от вылета?

 

з.ы. АКСУ 74 от eXiu

39781-4.pngPartisan.gif

Почему так происходит и как сохранить оптику на ксюхе избавившись при этом от вылета?

Вариантов два:

1. Нормально сделать прицел на модели "ксюхи".

2. Проверить в алл_спавне как там эти "ксюхи" спавнятся.

Ибо вылет нам толкует о проблеме с костями модели.


256 символов

Все таки подскажите секцию спавна трупа около толика.. Что то не найду ни как..?

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

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

FANAT

[446]
; cse_abstract properties
section_name = stalker
name = esc_stalker
position = -87.1146850585938,-4.85985136032104,-79.1168365478516
direction = 0,0,0

; cse_alife_trader_abstract properties
money = 5000
character_profile = esc_stalker_novice

; cse_alife_object properties
game_vertex_id = 76
distance = 18.1999988555908
level_vertex_id = 178722
object_flags = 0xffffffff
custom_data = <<END
[spawner]
cond = {+tutorial_wounded_start}

[smart_terrains]
none = true

[known_info]
esc_tutorial_secret

[dont_spawn_character_supplies]
[dont_spawn_loot]
END

; cse_visual properties
visual_name = actors\novice\green_stalker_5

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
health = 0
dynamic_out_restrictions = 
dynamic_in_restrictions = 

upd:health = 0
upd:timestamp = 0x6e656874
upd:creature_flags = 0xd
upd:position = -87.1146850585938,-4.85985136032104,-79.1168365478516
upd:o_model = 0
upd:o_torso = 0,0,0
upd:g_team = 0
upd:g_squad = 0
upd:g_group = 0

; cse_alife_monster_abstract properties

upd:next_game_vertex_id = 65535
upd:prev_game_vertex_id = 65535
upd:distance_from_point = 0
upd:distance_to_point = 0

; cse_alife_human_abstract properties
predicate5 = 1,1,0,0,0
predicate4 = 0,1,1,1

; cse_ph_skeleton properties

upd:start_dialog = 

; se_stalker properties

 

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

Жить – значит делать вещи, а не приобретать их.

 

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

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

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

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

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

Войти

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

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

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