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

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


Halford

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

А danger-то тут при чем ?

 

Ну, то есть, непись, конечно, срывается в бой, если ему не запрещены этот самый danger, но это именно реакция на любой раздражитель (звук, стрельбу, гранату...)

А игнор врага - это xr_combat* (собственно игнор, управляется - да, через логику) и упомянутый reactions( не дает врага увидеть).

 

Гм... Мы, кажется, про разные уровни говорим.

Поделиться этим сообщением


Ссылка на сообщение

 

 

А вот про денжер, это время забывания, больше на вики:

 

Это все переопределяется из логики.

Кроме того, что с ошибками. ;)

 

 

 

гулаге блок-поста вояк на Кордоне в загрузке состояний есть такой фрагмент

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

 

Вторая ошибка - в связке xr_combat* + xr_logic + xr_conditions - ее в соседней теме как-то Артос подробно расписывал:

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

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

 

Upd: Упс ! Ниже намекают, что я тут по принципу "у кого что болит". Это к тому, что при странном поведении монстронеписей причины могут быть разные.

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

Поделиться этим сообщением


Ссылка на сообщение

Вопрос из серии, что называется, "на вкус и цвет".

Делая самостоятельно (ну или "по образцу"), можно делать именно то, что нужно, и маленькими кусочками.

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

 

С адаптациями есть 2 варианта:

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

Поделиться этим сообщением


Ссылка на сообщение

Часть пути указывается в профилях, а окончание синтезируется на основе script_sounds.ltx

 

То есть, используется подкаталог, или нет, надо там смотреть. Типа:

 

[use_yes_default_rnd]

902 = 0,scenario\yantar\professor_talk_1

stalker = 1,talk\use\yes_default_

500 = 0,scenario\bar\barman\bar_barman_hello_

Собственно, по sid, если sid не совпал - берется сталкер.

 

Подробности - в sound_themes.script

Поделиться этим сообщением


Ссылка на сообщение

1. Теоретически - приоритеты могут быть любыми. Займут работы с наивысшими.

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

 

2. Зависит от конкретной схемы.

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

walker - будут толкаться.

Поделиться этим сообщением


Ссылка на сообщение

То, что эксклюзивы выпихиваются из смарта вообще - это немножко другой глюк. Точнее, не бага, а фича - не проходят проверку на уровень. Известен как "глюк с переодеванием" (это уже не оригинал, а amk-based). В оригинале из-за него сбегает на Агропром командир блокпоста с Кордона.

 

А с приоритетами - подзрительна gulag:updateJob() - может, конечно, там и все правильно, но у меня зрительной памяти не хватает отследить все варианты, со всем, что она вызывает. Это не то, чтобы критично, но перезанятие работ может таки обрываться, если между приоритетами есть "дырки".

 

Остальное - это как правило недостаток работ с учетом всех предикатов, idle и тайм-аутов.

Поделиться этим сообщением


Ссылка на сообщение

эфект при спавне гг

А это - как ?

 

 

AndreySol,

По первому пункту позже скажу, если до того ни кто не ответит. Посмотреть надо.

 

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

 

"combat_ignore_cond = {=check_fighting(402)} - что это означает ? Разрешение комбата только против НПСа с story_id = 402 ?" - игнор непися с sid 402.

Поделиться этим сообщением


Ссылка на сообщение

combat_ignore = combat_ignore

Это секция конфига, которая подставляется вместо combat_ignore_cond, ну вот типа:

[combat_ignore@esc_bridge]
combat_ignore_cond = {-esc_bridge_pass_fire =fighting_actor}

[logic@esc_bridge_kamp4]
active = kamp@esc_bridge_post4
combat_ignore = combat_ignore@esc_bridge
и так для десятка-другого работ.

Поделиться этим сообщением


Ссылка на сообщение

По идее ни чего живого без storage быть не должно.

 

Про обижание эксклюзивов - в норме ни какого специального обижания гулага нет. Есть чисто сценарная функция xr_gulag.setGulagEnemy()

 

На попадание по друзьям/нейтралам обижается community.

Поделиться этим сообщением


Ссылка на сообщение

 

<phrase id="4">

<text>gen_alex_start_dialog_4</text>

<next>5</next>

</phrase>

 

<phrase id="4">

<text>gen_alex_start_dialog_4</text>

<next>5</next>

</phrase>

Это так и задумано ?

 

С какой именно фразы какого диалога начинаются проблемы ? id и текст ?

В чем именно проблема, без скринов, словами ?

Поделиться этим сообщением


Ссылка на сообщение

Или у меня со зрением чего-то не то, или одно из двух, но доло пытался найти какую-нибудь текстовую строку для gen_alex_taurus_dead_dialog_

 

Не нашел.

 

"Нужна помощь, брат." - кто говорит ? Если ее изменить - она меняется ?

 

 

Бессмертие, а потом смертие ;) - только подменой непися. Когда непись в офлайне - удаляем, и создаем другого.

 

например можно на апдейте(или на хите)

Я бы не закладывался на то, что проверка "на живость" всегда будет срабатывать после on_hit().

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Инфо здесь сейчас не интересны.

 

С какой именно строки (id и текст) начинаются проблемы ? В чем выражаются ?

Если изменить текст этой строки - изменения на экране есть ?

 

 

"При изменении текстового массива, изменений в отображении самого диалога нет."

 

Отображаемый текст изменяется ? То есть, если к какой-либо проблемной строке добавить какой-нибудь символ - он выводится в этой проблемной строке ?

 

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

Надо id и текст той строки, которая выводится не от того, кого надо. Одной. Любой.

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Про приоритеты заданий все очевидно из task_manager.script

Ну вот для наглядности переписанный:

 

function CRandomTask:task_avail( actor, npc, p1, p2, p3, calc )    -- доступен ли текущий таск для выдачи    if calc == "reset" then self.current_parent_type_prior = {}; return end    local p = self.current_parent_type_prior    if not p then p = {}; self.current_parent_type_prior = p end    local id = self.task_id_by_init_phrase_id[p3]    local t = self.task_info[id]    if calc == true then    -- нужно проверять check_task_props        if t.enabled and self:check_task_props( id ) and not t.init_condition then            if t.prior < ( p[t.complex_type] or 65535 ) then                p[t.complex_type] = t.prior            end            return true        end        return false    end    if ( p[t.complex_type] or 65535 ) < t.prior then return false end    return t.enabled and t.enabled_props and t.init_condition == nilend

 

 

Мы говорим о ключе тега в xml файле таска,

Э-эээ... Тогда я совсем не понял, о каком именно ключе, и при чем здесь приоритет.

 

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

Плюс удобство перелопачивания десятка файлов - крайне сомнительно.

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

Поделиться этим сообщением


Ссылка на сообщение

А загрузка другого сэйва из такого положения нормально проходит ?

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Музафир,
npc:set_dest_level_vertex_id( vid ), и таки да, в первом посте:

"Перед тем как задать вопрос прочтите следующую информацию:
Если Вы:
Воспользовались поиском на форуме;
Изучили материалы по ссылками ниже;
Ознакомились со "всякими полезными советами по правке игры версия 6", собранными для Вас n6260 (архив 200 Кб: sendspace, ifolder);

Но так и не нашли ответ на свой вопрос, который хотите задать, задайте его здесь."

вот здесь http://www.amk-team.ru/forum/index.php?showtopic=7450 - это есть.

Установить координаты для живого непися - просто не имеет смысла.

 

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

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

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

"чарактер_деск_* файлах прописываются визуалы уникальных или жёстко заданных ребят," -

всех. Вообще всех.

 

Также может быть задано в allspawn, но для этого надо, чтобы он непись в нем вообще был. ;)

http://www.amk-team.ru/forum/index.php?showtopic=5734

http://www.amk-team.ru/forum/index.php?showtopic=6356

 

P.S. Мда, ну ведь оффтопик же получается. Самый настоящий оофтопик. В одном и том же разделе темы. 8(

 

Ну и ораторам выше - то же самые ссылки.

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

Поделиться этим сообщением


Ссылка на сообщение

2 разных квеста. Условием начала второго является завершение первого. Подробности должны быть в разделе диалогов.

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

gulag_dark_valley.script:

 

gulags.val_lager_bandits.job = function(sj, gname, type, squad, groups)

...

-- БОРОВ

t = { section = "logic@" .. gname .. "_leader_normal",

 

...

 

ltx = ltx.."[logic@" .. gname .. "_leader_normal]\n" .. и т.д.

 

ну, то есть, файл логики формируется непосредственно в скрипте. Такого на самом деле много где есть.

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

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   1 пользователь

AMK-Team.ru

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