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

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


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

@_Val_, а возврат к изначальной логике сделать так?:

 

on_actor_dist_ge_iviz = 20 | walker@wait_actor

 

Чтобы непись приветствовал гг каждый раз, пока тот не поговорил с ним.

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

@Silver Raven

on_actor_dist_ge_nvis =

Конечно))

Ну и поршнями это дело (имхо) обвешать.

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

массив сохраняем.

Это вполне бессмысленное занятие, ибо овер 99.9999% всех эффектов всегда привязано к вполне конкретной ситуации. А сохранение самих эффектов - вообще вредно.

 

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

 

upd: к тому, что написано ниже - я ничего не понял. Сохранять там надо время действия паленой водки. Эффект надо включать при загрузке. ид нужен для того, чтобы эффект выключить.

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

Все, что здесь можно сделать - это научить движок понимать строку вместо u32 на случай, если зачем-то ну очень сильно захотелось писать буквами вместо цифр.

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

 

 

ибо овер 99.9999% всех эффектов всегда привязано к вполне конкретной ситуации

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

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

 

 

Вы бы хоть вики почитали, прежде чем это писать.

 

Да ты шо. Не поверишь читал. Но, видимо, просто не увидел :P

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

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

@_Val_, что-то не так. Непись лишь слегка дергается на нужной дистанции, затем, судя по всему, переходит во второй walker:

[logic]
active = walker@wait_actor
on_death = death

[walker@wait_actor]
path_walk = generators_alex_walk_1
path_look = generators_alex_look
on_actor_dist_le_inviz = 20 | remark@hello_actor
danger = danger_condition@alex
meet = no_meet
on_info  = {+generators_save_taurus} walker@after_start_task
on_info2 = {+generators_save_taurus_alternative} walker@after_start_alternative_task
on_info3 = {+generators_taurus_dead} walker@after_taurus_dead

[remark@hello_actor]
anim = hello
target = actor
on_signal = anim_end | walker@wait_talk_to_actor

[walker@wait_talk_to_actor]
path_walk = generators_alex_walk_1
path_look = generators_alex_look
danger = danger_condition@alex
meet = meet@alex_squad_need_help
on_info  = {+generators_save_taurus} walker@after_start_task
on_info2 = {+generators_save_taurus_alternative} walker@after_start_alternative_task
on_info3 = {+generators_taurus_dead} walker@after_taurus_dead

[meet@alex_squad_need_help]
meet_state = 10| guard
meet_state_wpn = 10| threat@threat_weap
victim = 10| actor
victim_wpn = 10| actor
use = true
use_wpn = false
meet_dialog = {-generators_save_taurus} generators_alex_start_dialog
Изменено пользователем Silver Raven

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

 

 

судя по всему, переходит во второй walker

Хм...А ты как-то отслеживаешь переход из секции в секцию? Ну хоть по поршням выдаваемым...я уж не знаю.

В принципе - в логике все нормально.

Я бы добавил в ремарку meet = no_meet, чтобы непись не пользовался дефолтной схемой.

Попробуй поставить таймер вместо сигнала.

А вообще - я этой анимкой всегда пользовался вкупе с какой-нить фразой. Само собой переход делал по окончанию звука. Отлично все работало :unknw: ...

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

@_Val_, судя по логу (вывод дебаг сообщения в консоль), переход в секцию remark@hello_actor выполняется успешно.

По таймеру, анимка проигралась нормально (я правда не знаю ее длину в сек. взял с запасом). Бред какой-то... on_signal всегда отрабатывал нормально.

Жаль, что еще остается анимка guard со своей озвучкой из секции meet, со своим "кривым" переключением. Но в walker-е не сделать проверку на наличие у гг ствола в руках.

 

Кто подскажет продолжительность анимации hello?

 

upd.

Я тут полностью перекинул озвучку монолитовцев из ЗП (все, кроме лишних для ТЧ папок). Проверил каждый звук в подпапках -  их имена и количество полностью соответствует аналогам из ТЧ. Но в игре, иногда, проскакивает старая озвучка. Это невозможно! За годы работы с игрой, запоминаешь все фразы наизусть - они точно заменены. Пробовал править конфиг m_stalker_monolith, - перечислял все звуки по порядку и просто, задавал общий путь (например: sound_death = fight\death\death_), чтобы игра считывала все доступные файлы. Никакой разницы. Как такое происходит?

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

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

 

 

Жаль, что еще остается анимка guard со своей озвучкой из секции meet, со своим "кривым" переключением.

Хм...А ты все-же попробуй прописать во втором волкере:

[walker@wait_talk_to_actor]
**********
**********
def_state_standing = guard

Непись, как только отыграет анимку хэлло, перейдёт волкера и встанет со стволом как положено.

в walker-е не сделать проверку на наличие у гг ствола в руках

 

А вот тут я не понял.

Причем тут вообще волкер?

Проверяй через прописанный именно этому волкеру [meet].

Там же не обязательно прописывать анимки, можно же только звук прописать...

Кстати. Вот такое дело мне никогда не нравилось.

meet_state = 10| guard
meet_state_wpn = 10| threat@threat_weap
victim = 10| actor
victim_wpn = 10| actor

Поясню. Предположительно в 10 метрах от ГГ непись обязан произвести одновременно кучу действий.

1. Посмотреть на ГГ.

2. Взять оружие на изготовку.(Произнести свою эпическую фразу). Мне иногда кажется, что неокрепшая психика неписей этого не выдерживает.

Я бы так делал:

meet_state = 10| guard
victim = 20| actor

Ссылка на комментарий
Кстати. Вот такое дело мне никогда не нравилось.
meet_state = 10| guard
meet_state_wpn = 10| threat@threat_weap
victim = 10|actor
victim_wpn = 10| actor 

Поясню. Предположительно в 10 метрах от ГГ непись обязан произвести одновременно кучу действий. 1. Посмотреть на ГГ. 2. Взять оружие на изготовку.(Произнести свою эпическую фразу). Мне иногда кажется, что неокрепшая психика неписей этого не выдерживает. Я бы так делал: meet_state = 10| guard victim = 20| actor

Допустим. А как же неписю реагировать на гг со стволом в руках (meet_state = 10| guard этого не учитывает), если meet_state_wpn = 10| threat@threat_weap - отсутствует? И куда ему смотреть, если victim_wpn = 10| actor - отсутствует?

 

def_state_standing = guard - сейчас попробую.

 

upd.

Похоже, def_state_standing = guard конфликтует с анимкой, заданной в вей-поинте непися (binocular). Пытаясь заменить ее. Он то достает бинокль, то убирает его.

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

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

"непись обязан произвести одновременно кучу действий."

 

Пф... Здесь все элементарно: https://dl.dropboxusercontent.com/u/27871782/xr_meet.script

 

 

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

Изменено пользователем Dennis_Chikin
Ссылка на комментарий
Пф... Здесь все элементарно: https://dl.dropboxus.../xr_meet.script

Я так понимаю, тут набор различных правок + рефракторинг с комментариями?

 

А еще подобное есть? А то я как раз собираю по всему инету переработанные скрипты оригинала.

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

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

Ну вот как бы делалось специально для того, чтобы было понятно.

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

@Dennis_Chikin,  я сейчас подсунул этот xr_meet заместо своего. Игра ругается на:

FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: ...e.r. - trilogy\shoc\gamedata\scripts\xr_logic.script:279: attempt to call field 'set_meet' (a nil value)

функцию set_meet. Чего ему надо то?

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

 

 

guard конфликтует с анимкой, заданной в вей-поинте непися (binocular). Пытаясь заменить ее. Он то достает бинокль, то убирает его.

Мдя...Я бы не стал прописывать в пути непися такую залихватскую анимку, если предполагается, что непись будет исполнять разнообразные анимации. Уж если надо, чтобы он в какой-то момент времени попялился в бинокль, то делать это тоже через логику.

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

@_Val_, ну изначально предполагалось, что этот непись будет все время глазеть в бинокль, изредка прерываясь на другие анимации. Этим и обусловлен выбор метода ее места прописывания.

 

Да и я не очень представляю себе, как в одном walker-е "подружить" анимку бинокля с анимкой guard? Еще один remark? Большая выходит логика (учитывая, что тут писалась лишь ее малая часть).

 

"Починил" бы кто meet, гемороя было бы меньше.

 

З.Ы.

on_actor_dist_le = 20 | remark@hello_actor
on_actor_dist_le_nviz = 10 | walker@wait_talk_to_actor

Если в одной логике стоит две проверки, они не будут между собой конфликтовать? Не хочу, чтобы непись "здоровался" с гг не видя его. Пусть тогда уже, сразу переходит к готовности к диалогу, если тот "подкрался" сзади.

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

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

 

 

Если в одной логике стоит две проверки, они не будут между собой конфликтовать?

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

 

 

 

А еще подобное есть? А то я как раз собираю по всему инету переработанные скрипты оригинала.

Отпиши мне в ЛС, если действительно заинтересован в переработке оригинальных ресурсов.

 

 

 

Да и я не очень представляю себе, как в одном walker-е "подружить" анимку бинокля с анимкой guard? Еще один remark? Большая выходит логика (учитывая, что тут писалась лишь ее малая часть).

Ты для полноты картины лучше словами человеческими опиши что тебе нужно от логики, тогда тебе проще будет дать готовое, или понять, что ты хочешь получить от того, что тут демонстрируешь. В одной схеме два стейта дружатся через этот самый кондлист, tertium non datur, а насиловать менеджер движения записывая ему несколько вариантов стейтов персонажа на один стейт менеджера занятие не совсем логичное, коли уж разговариваем о логике (не персонажей, а чуть ширше...).

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

А что будет? Поди и Прапору на Свалке аналогично?

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

 

 

on_actor_dist_le = 20 | remark@hello_actor on_actor_dist_le_nviz = 10 | walker@wait_talk_to_actor

Он первым делом у тебя уйдёт в remark@hello_actor, и так будет всегда, смешно выглядит.

 

 

on_actor_dist_le_nviz

on_actor_dist_le_nvis

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

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

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

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

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

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

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

Войти

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

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

×
×
  • Создать...