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

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


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

3 часа назад, bitreceter сказал:

в каких файлах хранятся личные записи ГГ?

Имеются ввиду личные заметки, из раздела "Дневник"? Тогда посмотри файлы типа stable_storyline_info_???.xml

  • Спасибо 1

New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор

Русификатор для игры Vendetta: Curse of Raven's Cry

Ссылка на комментарий
17 часов назад, EggIeRar(V.N.S.L) сказал:

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

level.map_add_object_spot(id, 'spot_name', 'hint')

Или

level.map_add_object_spot_ser(id, 'spot_name', 'hint')

Первый вариант - метка пропадет после перезагрузки игры, второй - метка постоянная. id - id объекта, на который ставим метку, spot_name - тип метки, hint - всплывающая подсказка.

17 часов назад, EggIeRar(V.N.S.L) сказал:

можно ли это сделать по координатам

Нет, метка ставится только на объект. Можно по координатам заспавнить, например, рестриктор, а на него уже поставить метку.

Изменено пользователем naxac
Дополнил
  • Согласен 1
  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

Есть такая штука как однотипные квесты.
Как их привязать к определённой локации?

Все знают такую фигню: комбинезон увеличивает переносимый вес, но не увеличивает максимальную выносливость, чтобы нормально бегать
думал, как бы это поправить... и придумал такое:
Так как жажды нет(мб где-то есть, ибо сколько ищу - рабочей ни одной), будем юзать сытость:
Максимальный вес, после которого будет быстро тратится энергия:70.
Максимальный вес после которого быстро тратится энергия при высокой сытости(зелёный значок): 60.
Максимальный вес после которого быстро тратится энергия при средней сытости(желтый значок): 40.
Максимальный вес после которого быстро тратится энергия при низкой сытости(красный значок): 30.

Тут функция, типо:
Уровень сытости: 100% прибавка к силам = 100% = первое значение и т.д.

Вот, как такое сделать? Либо подсмотреть где можно...

Как сделать, чтобы на мини-карте, вместе с картой локации показывалась ещё глобальная?(ибо когда идёшь в конец, видно чёрное на мини-карте, тобишь текстура карты закончилась)

Нужно, что бы при загрузке сейва\перезагрузки его, убирался bolt и выдавался wpn_bolt, тобишь функции должны быть на update

Кто может показать такие функции?(обычные по удалению и по спавну(create) не подходят, все диалоги с нпс пропадают)

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

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий
16 часов назад, naxac сказал:

Нет, метка ставится только на объект.

Т.е я правильно понимаю, что если я спавню обьект (например ящик) по координатам, то потом я могу на него метку поставить.

Верно?

Подскажи пожалуйста, как это сделать.

Мне допустим нужно метку, в виде большого/среднего серого круга поставить допустим на поле аномалий рядом с бункером сидора

Мне нужно взять "level.map_add_object_spot_ser(id, 'spot_name', 'hint')" и сделать из этого примерно следущее:

level.map_add_object_spot_ser(id, 'crc_big', 'anom_near_sidr') , так? 

А что дальше с этой ф-цией делать?

Ссылка на комментарий
В 11.09.2018 в 20:17, Houdini_one сказал:

Все знают такую фигню

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

power_loss = значение (скорее всего 0.001 будет порог, после чего параметр будет считаться нулем. Не проверенно)

Можно подглядеть в файле config\misc\outfit.ltx\секции [stalker_outfit]:outfit_base, [svoboda_light_outfit]:outfit_base, а как это будет сочетаться с артефактами и тд и тп, как сочтете нужным.

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

Чистый ТЧ, бинарники X-Ray Extensions, при установке любого погодного мода уровня SWTC начинается при старте игры без конечный эффект выброса, дело в бинарниках?

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

@Guidesun, А какие моды пробовал подключать? Поройся в конфигах мода, секция "blowout" возможно есть, её попробуй закомментить. 

Оц тоц перевертоц, бабушка здорова,
Оц тоц перевертоц кушает компот.
Оц тоц перевертоц и мечтает снова
Оц тоц перевертоц пережить налет!

Ссылка на комментарий
7 часов назад, dPlayer сказал:

Вызови ее в диалоге/инфопоршне/другой функции

Я правильно понимаю что нужно сделать следущее

 

Мне нужно взять "level.map_add_object_spot_ser(id, 'spot_name', 'hint')" и сделать из этого примерно следущее:

level.map_add_object_spot_ser(id, 'crc_big', 'anom_near_sidr') , так? Где id это тот самый обьект

Конечный вид будет таков - level.map_add_object_spot_ser(esc_oleg, 'crc_big', 'anom_near_sidr'); Верно?

Поправьте если не так.

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

@EggIeRar(V.N.S.L), Открой оригинал ТЧ. Например bar_dialogs.script. И посмотри как сделаны метки на Баре. Функция - function locate_bar_bar(actor,npc)

Там всё предельно ясно. Сделаешь по аналогии и вызывай хоть из диалога, хоть экшеном из поршня или иными способами.

"Кругом зомби.....у меня кончаются патроны...."

Ссылка на комментарий
15 часов назад, gam сказал:

нивелирует

Он действует изначально или когда начинается использование дополнительного веса костюма?

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий
18 часов назад, Guidesun сказал:

начинается при старте игры без конечный эффект выброса, дело в бинарниках?

Да. Надо отключить одну правку в correction_list.txt, там даже комментарий оставлен о том, что из-за нее может глючить выброс или погода.

Изменено пользователем naxac
  • Согласен 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

Чистый ТЧ. Подскажите функцию на передачу несколько предметов, пробовал так.

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

--забираем предмет у ГГ:

function chasti_mutantov_peredal(first_speaker, second_speaker)

dialogs.relocate_item_section(second_speaker, "mutant_dog_tail", "out", 3)

end

 

--забираем предмет у ГГ:

function chasti_mutantov_peredal(first_speaker, second_speaker)

dialogs.relocate_item_section(second_speaker, "mutant_dog_tail", "out")

dialogs.relocate_item_section(second_speaker, "mutant_dog_tail", "out")

dialogs.relocate_item_section(second_speaker, "mutant_dog_tail", "out")

end

 

-- 3 попытка

function chasti_mutantov_peredal(npc, actor)

dialogs.relocate_item_section(npc, "mutant_dog_tail", "out")

dialogs.relocate_item_section(npc, "mutant_dog_tail", "out")

dialogs.relocate_item_section(npc, "mutant_dog_tail", "out")

end

Проблема в том что предметы остаются у меня в инвенторе, с передачей одного предмета все работает.

Изменено пользователем Guidesun
Ссылка на комментарий
5 часов назад, Guidesun сказал:

Подскажите функцию

Лучше юзать те что в ТТ2, попробуй так:

 


 

--забираем предмет у ГГ:

function chasti_mutantov_peredal(first_speaker, second_speaker)

dialogs.relocate_item_section(first_speaker, "mutant_dog_tail", "out")

dialogs.relocate_item_section(first_speaker, "mutant_dog_tail", "out")

dialogs.relocate_item_section(first_speaker, "mutant_dog_tail", "out")

end

функции с ТТ2:
https://yadi.sk/d/aN5M5QKEVZZUKQ
https://yadi.sk/d/_tDp83--h1XzxA

Изменено пользователем Houdini_one
  • Спасибо 1

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

Использовал функцию на проверку нескольких предметов.

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

function has_item_kanistra(first_speaker, second_speaker) 
local item_sections = {"explosive_mobiltank"} 
local needed = 2
local count = 0 
local item_section 
local function calc(temp, item) 
if item:section() == item_section then 
count = count + 1 
end 
end 
for k,v in pairs(item_sections) do 
item_section = v 
get_story_object("actor"):iterate_inventory(calc, actor) 
end 
return count >= needed 
end

Вылет ссылается на эту функцию а именно на: attempt to call global 'get_story_object' (a nil value)

Поиск не дал мне ничего конкретного.

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

Только сейчас заметил одну проблему.

Если отойти от нового НПС на приличное расстояние то он исчезает в мир иной.

У меня все НПС куда то пропали, хотя в логике ясно прописано что они должны стоять колом на заданном месте.

Раньше не было такого, НПС не квестовые стоят голые без диалогов.

ЗЫ

Хотя нет один использует эти функции.

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

function has_item_af_medusa(task, objective) 
if db.actor ~= nil then
return db.actor:object("af_medusa") ~= nil
end
return false
end

function has_item_af_medusa_pes(first_speaker, second_speaker) 
dialogs.relocate_item_section(second_speaker, "af_medusa", "out")
end

function has_item_kanistra(first_speaker, second_speaker)
local n=2
local count=0
db.actor:iterate_inventory(function (dummy, item) if item:section()=="explosive_mobiltank" then count=count+1 end end, nil)
if count>=n then
return true
else
return false
end
end

function has_item_kanistra_pes(first_speaker, second_speaker)
flamethrower.relocate_n_items_section(second_speaker, "explosive_mobiltank", "out", 2)
dialogs.relocate_item_section(second_speaker, "wpn_pm", "in")
dialogs.relocate_item_section(second_speaker, "ammo_9x18_fmj", "in")
end

Когда беру канистры он в первую очередь пропадает, может что то не так с проверкой has_item_kanistra?

Изменено пользователем Guidesun
Ссылка на комментарий
3 минуты назад, Guidesun сказал:

Если отойти от нового НПС на приличное расстояние то он исчезает в мир иной.

Все неписи переходят в оффлайн, когда актор очень далеко (150+ метров). В ТЧ, вроде как, можно в работе гулага или как там ваша эта система называется, прописать флаг онлайн, чтобы непись не "исчезал в мир иной".

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

Ранее был известен под ником BoBaH_671.

Ссылка на комментарий
1 час назад, Overfirst сказал:

Все неписи переходят в оффлайн, когда актор очень далеко (150+ метров). В ТЧ, вроде как, можно в работе гулага или как там ваша эта система называется, прописать флаг онлайн, чтобы непись не "исчезал в мир иной".

Никогда не сталкивался с подобным. На всякий случай секция НПС.

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

[870]
; cse_abstract properties
section_name = stalker
name = esc_pes
position = -199.870178222656,-19.8877372741699,-137.10905456543
direction = 0,0,0
 
; cse_alife_trader_abstract properties
money = 5000
character_profile = esc_pes
 
; cse_alife_object properties
game_vertex_id = 57
distance = 0
level_vertex_id = 52330
object_flags = 0xffffffbf
custom_data = <<END
 
[logic]
active = walker@stay_at_position
combat_ignore = combat_ignore
danger = danger_condition
 
[walker@stay_at_position]
path_walk = esc_lager_wolf_walk
path_look = esc_lager_wolf_look
 
[combat_ignore]
combat_ignore_cond = always
 
[danger_condition]
ignore_distance = 0
ignore_distance_corpse = 0
END
story_id = 10000
 
; cse_visual properties
visual_name = actors\soldier\soldier_beret_1
 
; cse_alife_creature_abstract properties
g_team = 0
g_squad = 1
g_group = 2
health = 1
dynamic_out_restrictions =
dynamic_in_restrictions =
 
upd:health = 1
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -199.870178222656,-19.8877372741699,-137.10905456543
upd:o_model = 0
upd:o_torso = 0.028013030067086,0,0.9996075630188
upd:g_team = 0
upd:g_squad = 1
upd:g_group = 2
 
; 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,2,2,1,2
predicate4 = 0,1,1,1
 
; cse_ph_skeleton properties
 
upd:start_dialog =
 
; se_stalker properties

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Даже представления не имею что прописать что бы он не уходил в мир иной.

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

Продолжения поста. Ошибочка, НПС не исчезает а бежит за мной будто старается попасть в мой радиус действия А-Лайф.

У меня слов нет. Что делать ума не приложу, что ему прописать в логике что бы он тупо стоял. Думал patch_walk и patch_look будет достаточно.

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

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

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

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

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

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

Войти

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

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

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