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

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


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

С наступающим вас, товарищи:)! Такой вопросик: какова вместимость инвентаря (не в весе а в количестве итем-мест) до того как инвентарь может быть переполнен? И можно ли её изменить (уменьшить вместимость)?

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

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

Опять траблы с нпс моим , метка на карте не ставится

 

в ТЧ, story_id для объектов задаётся в all.spawn - либо спавнить нпс через него, либо попробовать ставить метку по имени секции / профилю нпс. И ещё, подобные метки исчезают при следующей загрузки игры / смена уровня, для вечных / по условию - следует добавить нужное в имяуровня_tasks.script, функция process_info_portion.

 

Такой вопросик: какова вместимость инвентаря

 

Он в сталкере условно бесконечный (inventory_new.xml, <dragdrop_bag unlimited="1"...), т.к есть ограничение на количество игровых ид для объектов, коих максимально 65535. Из этого числа следует отнять количество секций в all.spawn, все точки графа, лут нпс из character_desc_ и лут торговцев - точнее можно посмотреть в логе при сохранении игры, там перед созданием .sav, будет текущее количество объектов в игре. Ещё следует отнять примерный резерв на будущий лут в тайниках, а также сталкеров с их лутом и монстров, которые заспавнятся, чтобы заполнить смарты. И то, что остаётся, грубо говоря, есть количество предметов, которое может таскать гг в рюкзаке.

 

А про ограничение, есть какой-то мод, где учитывается объём предметов.

  • Спасибо 2
Ссылка на комментарий

 

 

ставить метку по имени секции / профилю нпс. И ещё, подобные метки исчезают при следующей загрузки игры / смена уровня, для вечных / по условию - следует добавить нужное в имяуровня_tasks.script, функция process_info_portion.

 Спасибо за совет , не буду черезе алл спавн ибо муторно и распаковать его не могу(ибо не умею).Можно по подробнее со вторым вариантом?

 у меня секция в spawn_sections , esc_andrew.

[esc_andrew]:stalker


$spawn = "respawn\esc_andrew"
character_profile = esc_andrew
spec_rank = regular
community = stalker
custom_data = scripts\esc_andrew.ltx

 

Может я здесь где-то лажанул? Заранее спасибо . 

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

О себе : Какой-то Ноунэйм с олд форума , заядлый нарушитель общественного порядка и правил , рецидивист.

Egor4ikModMaker.gif

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

 

 

не буду черезе алл спавн ибо муторно и распаковать его не могу(ибо не умею).Можно по подробнее со вторым вариантом?
Для установки метки имя секции или профиль НПС ни как не помогут. Для установки метки через тег <object_story_id>...</object_story_id> в описании задания требуется Story_id, прописанный в соответствующем конфиге и присвоенный НПСу. Присвоить Story_id неписю можно только тремя способами: в СДК, прямой правкой all.spawn(с помощью спец. утилиты) или скриптово(правкой нет-пакета). Хотя насчет скриптового способа не уверен - Story_id является свойством объекта "только для чтения". То, что ты просто прописал  Story_id в соотв. конфиг не означает, что ты его присвоил нужному неписю, следовательно движок понятия не имеет на кого метку правильно поставить. Так, что в любом случае выбирай какой-то из способов, о которых я выше сказал.
Ссылка на комментарий

 

 

Хотя насчет скриптового способа не уверен - Story_id является свойством объекта "только для чтения".

 

И через нетпакет можно, и соотв. методом, если используется x-ray extensions. Хотя с тем методом есть свои подводные камни, на которые я наступал. Через нетпакет надежней как-то.

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

 

 

если используется x-ray extensions. Хотя с тем методом есть свои подводные камни,

Пожалуйста подробнее , юзаю х-ray extensions, так что прошу объяснить , все тонкости , включая подводные ками. 

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

О себе : Какой-то Ноунэйм с олд форума , заядлый нарушитель общественного порядка и правил , рецидивист.

Egor4ikModMaker.gif

Ссылка на комментарий
или скриптово(правкой нет-пакета).

Я бы рад , но не знаю как , подскажи будь добр.

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

Да о чем , я уж даже архив со своим "продуктом кривых рук" прикрепил . покажите конкретно что и где менять/писать/ставить нужно.

 

 

не означает, что ты его присвоил нужному неписю,

Конкретный вопрос - как присвоить ид неписю , чтоб метка отображалась корректно и вообще работала? ( без ковыряния all.spawn'a )

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

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

О себе : Какой-то Ноунэйм с олд форума , заядлый нарушитель общественного порядка и правил , рецидивист.

Egor4ikModMaker.gif

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

 

 

Пожалуйста подробнее , юзаю х-ray extensions

 

Вот рабочий пример

  local obj = dsh.create_free_npc(
    "mil_trader_gavr",
    vector():set( 25.325489, -8.35158157, -17.512226425 ), 330707, 1587
  )
  alife():assign_story_id( nil, nil, obj.id, 9623 )

 

 

Давай с примером !

 

Ну элементарно же, какие там примеры. Ну вот, например:

  local sobj = dsh.create_free_mob(
    "gar_stalker_flame_quest23",
    vector():set( 24.86, 0.40, 209.75 ), 198510, 359
  )
  local pk = get_netpk( sobj, 1 )
  ASSERT( pk:isOk(), "can't read netpacket of %s", sobj:name() )
  local data = pk:get()
  data.custom_data:setString(
    "[smart_terrains]\n"
    .. "none = true\n" ..
    "[logic]\n"
    .. "active = walker\ncombat_ignore = combat_ignore\n" ..
    "[walker]\n"
    .. "path_walk = garb_tambovski_path\npath_look = garb_tambovski_look\non_info = {+find_815} nil\ncombat_ignore_cond = {=dist_to_enemy_ge(15)}\n"
  )
  data.story_id = story_ids.gar_stalker_flame_quest23
  pk:set( data )
  level.map_add_object_spot_ser( sobj.id, "green_location", "Лёха Тамбовский" )

Вот это вот "data.story_id" - оно самое.

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

 

 

gar_stalker_flame_quest23
- секция сталкера как я понял.

 

 

dsh.create_free_mob
- файл спавна и его функция ( если не ошибаюсь)

 

 

data.custom_data:setString(
- дальше идет описание логики вроде как.

 

 

story_ids.gar_stalker_flame_quest23
- ссылка на стори ид нпс-а . секция нпс-а

 

 

"green_location", "Лёха Тамбовский"
- тип метки , имя отметки. 

 правильно?

local sobj = extasy.spawn_esc_loc(


"esc_andrew",
vector():set( 24.86, 0.40, 209.75 ), 198510, 359
)
local pk = get_netpk( sobj, 1 )
ASSERT( pk:isOk(), "can't read netpacket of %s", sobj:name() )
local data = pk:get()
data.custom_data:setString(
"[smart_terrains]\n"
.. "none = true\n" ..
"[logic]\n"
.. "active = walker\ncombat_ignore = combat_ignore\n" ..
)
data.story_id = story_ids.esc_andrew
pk:set( data )
level.map_add_object_spot_ser( sobj.id, "green_location", "Андрей" )

- все ли правильно я сделал ? мне показалось , там не хватает "end'а" , или все и так будет работать?


 

 

как я видоизменил скрипт под себя

пардон , вот  дописал , получилось так .

function testspot()

local sobj = extasy.spawn_esc_loc(
"esc_andrew",
vector():set( 24.86, 0.40, 209.75 ), 198510, 359
)
local pk = get_netpk( sobj, 1 )
ASSERT( pk:isOk(), "can't read netpacket of %s", sobj:name() )
local data = pk:get()
data.custom_data:setString(
"[smart_terrains]\n"
.. "none = true\n" ..
"[logic]\n"
.. "active = walker\ncombat_ignore = combat_ignore\n" ..
)
data.story_id = story_ids.esc_andrew
pk:set( data )
level.map_add_object_spot_ser( sobj.id, "green_location", "Андрей" )
end.

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

Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ...a.l.k.e.r - Истинный путь\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

 

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

О себе : Какой-то Ноунэйм с олд форума , заядлый нарушитель общественного порядка и правил , рецидивист.

Egor4ikModMaker.gif

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

 

 

только не работает. У меня точно.

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

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

О себе : Какой-то Ноунэйм с олд форума , заядлый нарушитель общественного порядка и правил , рецидивист.

Egor4ikModMaker.gif

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

 

 

Оно то оно - только не работает. У меня точно.

 

Ну не знаю. У меня работает и не в одном месте. А у тебя неработа выражается в чем?


 

 

Оно то оно - только не работает. У меня точно.

 

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

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

Привет - хотел спросить Universal Spawn Menu v2.1 - для ТЧ с модом из Universal Spawn с папки scripts что копировать с заменой = а то в ней как я понел и ЗП и LA до кучи - и надо ли дописывать prefetch('add_cheat_spawn')  =  СРОЧНО

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

 

 

Ну, из самого очевидного, есть ли у тебя get_netpk() и ASSERT()?

И вам Доброе Утро , Я вообще с нетпакетами не знаком ). 

 Я не могу сказать есть ли у меня , или нет , того о чем ты говоришь , ибо просто не знаю.

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

О себе : Какой-то Ноунэйм с олд форума , заядлый нарушитель общественного порядка и правил , рецидивист.

Egor4ikModMaker.gif

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

Всем привет! Подскажите как можно исправить такую проблему, прописал оружие стреляющее дробью в слот бинокля, всё работает, есть только одна проблема, допустим если убить бандита с обрезом, то обрез почему-то пропадает, наверно это из-за того что при смерти у НПС удаляется бинокль из инвентаря, а он находится в слоте 4, следовательно если у меня прописано оружие в этот слот, оно тоже удаляется при смерти, я правильно понял? Как-то можно это исправить?

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

Существует в моей голове два вопроса на данный момент , 

1)Как сделать нпс-а у которого оружие будет с модулями ( пример - наемники в дт )

2) что за вылет такого вида , и как его лечить 

 

Expression : fatal error

Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ...a.l.k.e.r - Истинный путь\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

 

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

О себе : Какой-то Ноунэйм с олд форума , заядлый нарушитель общественного порядка и правил , рецидивист.

Egor4ikModMaker.gif

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

 

 

bad argument #2 to 'format' (string expected, got no value)

 

в string.format() был передан формат с двумя плейсхолдерами, а последующий аргумент был передан только один. Даже могу точно сказать, что второй плейсхолдер был "%s".

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

 

 

в string.format() был передан формат...

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

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

Добавлено Dennis_Chikin,

А посмотреть, что там в логе ВЫШЕ этого "беспокоящего" вылета ?

[Eger.Overkill] // Ⓐ // Eкьюалити / Uнити // 

 "Burn the rich // eat the rich"

О себе : Какой-то Ноунэйм с олд форума , заядлый нарушитель общественного порядка и правил , рецидивист.

Egor4ikModMaker.gif

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

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

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

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

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

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

Войти

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

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

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