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

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


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

2 часа назад, yurv3 сказал(а):

в присвоение сида запутался. 

Если у вас не модифицированный движок, и нужно присвоить SID уже после НИ " на лету" - вам действительно в нетпакеты. 

  • Спасибо 1

След от кругов на воде - это тоже след (с)

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

Если у вас не модифицированный движок, то даже через нетпакеты ничего не выйдет - ваши манипуляции с параметром сид в нетпакете, НЕ вносят этот предмет в реестр объектов имеющих story_id, в чем и заключается смысл функции assign_story_id.

Проще говоря, на не-модифицированном движке, нормально присвоить сид - нельзя. Так чтобы объект обнаруживался по alife():story_object(ваш_сид)

Можно это сделать на X-Ray Ext, или на OGSR. Там функции для присвоения сида штатно есть в движке, и все делается легко и просто. На оригинале никак, и никакие костыли тут не помогут.

 

  • Спасибо 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
5 часов назад, Zander_driver сказал(а):

то даже через нетпакеты ничего не выйдет - ваши манипуляции с параметром сид в нетпакете, НЕ вносят этот предмет в реестр объектов имеющих story_id, в чем и заключается смысл функции assign_story_id.

В смысле? Именно через нетпакет я и присваивала стори_айди, когда было надо.
Через присвоение data.story_id  для непися значения из заранее записанного в game_story_ids.ltx. В  game_story_ids.ltx же можно ручками записать все, что нужно. 

А потом неписю, не имевшему sid-а, присвоить. 
Движок НЛС-ный, и никаких дополнительных ф-ций вида assign_story_id там конечно же не было...

  • Согласен 1

След от кругов на воде - это тоже след (с)

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

Через нет пакеты работает, но применится только после сейв-лоада. Например, при переходе на другую локацию. 

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

@dsh 

И как это будет выглядеть в игре? После спавна объекта, с присвоением через н\п sid, будете игроку типа сообщение выводить на экран, что мол сделай сэйв\лоад, так надо.

  • Согласен 1
Ссылка на комментарий
1 час назад, Okichi сказал(а):

В  game_story_ids.ltx же можно ручками записать все, что нужно. 

А потом неписю, не имевшему sid-а, присвоить. 

Ну если только так... Я бы не называл это полноценным присвоением, когда сид сам по себе УЖЕ присутствует в файлах при запуске игры. Потому и сказал, что так не работает.

Присвоение - это типа такого:

function set_story_id(sobj)
local sid = 1
while alife():story_object(sid) do sid = sid + 1 end
alife():assign_story_id(sid, sobj.id)
return sid
end -- Т.е. выполняется поиск свободного сид и его занятие, прямо при запуске функции.
--И затем сразу, а не после сейв-лоада, мы можем получать наш объект через 
alife():story_object(sid)

 

  • Согласен 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
19 минут назад, AndreySol сказал(а):

как это будет выглядеть в игре

Нормально это выглядит, когда нет других вариантов. Игрок все равно рано или поздно перейдет на другую локу и все применится. Обычно СИД назначают на "поюзать на будущее", а не "вот прям сразу присвоили и начали использовать". Для "сразу использовать" есть же много других способов.
У человека, как я поняла, не модифицированный движок, а сделать нужно. 

 

 

17 минут назад, Zander_driver сказал(а):

Присвоение - это типа такого:

Согласна, но на безрыбье каждый выкручивается так, как ему позволяют его ресурсы. КОнечно, оптимальнее использовать движковое, тут и спору нет.

  • Согласен 1

След от кругов на воде - это тоже след (с)

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

Так-с, что-то приехал. Не хватает "сала в черепе"(c).

Вводная: трансфер инвентаря ГГ в inventory_box, находящийся на другой локации. Други, ткните куда-нибудь носом на предмет реализации.

Ссылка на комментарий
8 минут назад, Купер сказал(а):

трансфер инвентаря ГГ в inventory_box, находящийся на другой локации

А в чем проблема?

При трансфере, указывается id адресата-нового владельца. Затем передаваемые итемы приобретают game_vertex_id & level_vertex_id, идентичные таковым у нового владельца. Это если смотреть на операцию "трансфер", с точки зрения движка. При трансферах там нужны именно id - что передаем, от кого передаем, кому передаем.

А вот если со стороны скриптов плясать... наверное, проблема начинается там, где в качестве аргументов/операторов, доступных скрипту функций, выступают игровые объекты (game_object), а не их id.

Можно сделать скриптовые функции с измененной сигнатурой, через движок.

 

Ну или дедовский костыльный способ - тут удаляем, там спавним, перетаскивая если надо, нетпакеты.

  • Спасибо 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

Господа, подскажите, почему может не работать добавление оружия/брони/патронов Сидоровичу через [supplies_start]? Изменение/добавление/удаление еды и медицины работает исправно, но добавить что-то своё не получается, как бы не пытался (вместо NO_TRADE ставил всё как надо)? Там изначально в разделе оружия, патронов и брони были гроза, пачка 5.45 и костюм наёмника соответственно, которые также имеют свои показатели, но не появляются.

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

Хочу убрать логику на территории Бара:

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

[logic]
active = sr_territory@outside

[sr_territory@outside]
on_actor_inside = sr_territory@inside

[sr_territory@inside]
on_actor_outside = sr_territory@outside
territory_hit = {-bar_dolg_territory_1_hit -bar_arena_fight_begin -bar_arena_fight} %+bar_dolg_territory_1_hit =bar_territory_logic%, {-bar_dolg_territory_2_hit -bar_arena_fight_begin -bar_arena_fight} %+bar_dolg_territory_2_hit =bar_territory_logic%, {-bar_dolg_territory_3_hit -bar_arena_fight_begin -bar_arena_fight} %+bar_dolg_territory_3_hit =bar_territory_logic%
territory_death = {-bar_dolg_territory_kill -bar_arena_fight_begin -bar_arena_fight} %+bar_dolg_territory_kill =bar_territory_logic%

Если я сделаю так:

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

[logic]
;active = sr_territory@outside

;[sr_territory@outside]
;on_actor_inside = sr_territory@inside

;[sr_territory@inside]
;on_actor_outside = sr_territory@outside
;territory_hit = {-bar_dolg_territory_1_hit -bar_arena_fight_begin -bar_arena_fight} %+bar_dolg_territory_1_hit =bar_territory_logic%, {-bar_dolg_territory_2_hit -bar_arena_fight_begin -bar_arena_fight} %+bar_dolg_territory_2_hit =bar_territory_logic%, {-bar_dolg_territory_3_hit -bar_arena_fight_begin -bar_arena_fight} %+bar_dolg_territory_3_hit =bar_territory_logic%
;territory_death = {-bar_dolg_territory_kill -bar_arena_fight_begin -bar_arena_fight} %+bar_dolg_territory_kill =bar_territory_logic%

Правильно ли будет? Или же нужно по-другому!

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

@Fly Торговец может брать предметы себе. Появляются ли предметы в продаже, если прописать несколько штук с вероятностью 1?

Мод на "Грозу" появляется в продаже при базовых конфигах, но очень редко.

  • Согласен 1

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

@Fly , ты бы наглядно показал что, где, куда добавил. Всяко результативнее будет, чем гадать на стуках. В секцию [X_sell] предметы добавлял?

Ссылка на комментарий
11 минут назад, Купер сказал(а):

@Fly , ты бы наглядно показал что, где, куда добавил.

Вот здесь на скрине показано. AK 74 добавил заместо Грозы. Пробовал ставить другое ружие/броню и т.д. в другие секции (в Еду, в том числе). В sell всё прописал, никаких ;NO TRADE.

https://disk.yandex.ru/i/Z_A5n8gmxqCGFw - вот, ссылка. Выше не появилась и не хочется редактироваться. А изображение вставлять тоже не хочет.

33 минуты назад, Norman Eisenherz сказал(а):

@Fly  Появляются ли предметы в продаже, если прописать несколько штук с вероятностью 1?

Проверил только что. Увеличил кол-во ак до 4 и шанс поставил на 1. Ничего не появилось (но патроны  5.45 появляются).

 

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

@Fly , ёлы-палы:biggrin:, а скрин-то где?

Добавляем в продажу Сидоровичу АК-74 при начале НИ:

gamedata\config\misc\trade_trader.ltx:

[supplies_start]  - то, что будет продаваться

...

wpn_ak74 = 1,  1 - первая цифра - кол-во, вторая - вероятность появления в продаже

...

[trader_start_sell] - то, как будет продаваться

wpn_ak74 = 1, 3 - минимакс по разбросу цен.

 

Сидорович - мутант, если торговец  сделан на классе сталкера - требуется отдельная правка.

 

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

@Fly Сравниваем:
 

Spoiler

[config\misc\trade_trader.ltx]

[supplies_start]

;wpn_groza_m1            = 1,    0.1
wpn_ak74                = 1,    1

 

[trader_start_sell]

;wpn_groza_m1            = 1, 3
wpn_ak74                = 1, 3

При указанных значениях у Сидора на старте игры в продаже будет один АКС-74 с ценой x2.0 (среднее без учета репутации).

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

@Fly , >ёлы-палы:biggrin:, а скрин-то где?
Что, ссылка не работаешь что-ли? Или Яндекс блочит? Сейчас обновил ещё раз, вот эта точно должна работать - https://drive.google.com/file/d/1BofQpNvRMmePF1B9DBgF48t_nPmn4uio/view?usp=sharing


>Сидорович - мутант, если торговец  сделан на классе сталкера - требуется отдельная правка.
Можно подробнее об этом? В первый раз слышу о таком.

 

 

6 минут назад, Norman Eisenherz сказал(а):

@Fly Сравниваем:
 

  Показать

[config\misc\trade_trader.ltx]

[supplies_start]

;wpn_groza_m1            = 1,    0.1
wpn_ak74                = 1,    1

 

[trader_start_sell]

;wpn_groza_m1            = 1, 3
wpn_ak74                = 1, 3

При указанных значениях у Сидора на старте игры в продаже будет один АКС-74 с ценой x2.0 (среднее без учета репутации).

Да это всё я знаю. Уже устанавливал всё как нужно и где нужно, по гайдам из той самой мод-вики в том числе. Вот мой конфиг Сидоровича, посмотрите если не сложно, может я всё-таки упустил или у меня что-то не отображается как нужно. Потому что я помню, что месяц назад этим же методом всё добавлял и всё прекрасно продавалось и покупалось у него. Вот ссылка на конфиг - https://drive.google.com/file/d/11xEN7rDMN_1P1VhMfrZowA4qbQ5lefOm/view?usp=sharing

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

Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/

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

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

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

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

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

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

Войти

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

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

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