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

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


Halford

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

Larry76, у тебя вылет по диалогу Hello_dialog. Его и надо приводить, а не эту кучу. И да, в ЗП может быть только один <start_dialog>.

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


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

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

<dont_has_info>quest_af_dummy_dummy_done</dont_has_info>

<dont_has_info>quest_af_dummy_dummy_give</dont_has_info>

перенеси из условий диалога в условия какой-то ветки. <start_dialog> должен быть активен в ЛЮБОМ СЛУЧАЕ.

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

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


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

Larry76, а с чего ты взял, что не срабатывает? это же инфопоршень на взятие квеста. Инфопоршень на взятие арта ( и на открытие диалога) у тебя такой:

<has_info>quest_has_af_dummy_dummy</has_info>. Ты ж его нигде не выдаешь.

 

А причем тут этот диалог? у тебя диалог на взятие арта такой:<dialog id="af_dummy_dummy_quest_prines">

 

has_af_dummy_dummy_sidr - это что за функция?

 

Да не надо совмещать. Ты вот что. Возьми бумагу и нарисуй свое дерево диалогов, с разветвлениями, прекондишнами, одним словом, разберись хорошенько, когда какой диалог и ветки активны. Сразу все понятно станет.

 

Larry76, ты за сообщениями следишь? на следующую страницу глянь

 

dialogs_escape.is_has_af_dummy_dummy_sidr - это значит, что тут запускается функция is_has_af_dummy_dummy_sidr в файле dialogs_escape.script. Покажи ее.

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

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


Ссылка на сообщение
Larry76, Функцию покажи has_af_dummy_dummy_sidr. А лучше все используемые. С диалогами на первый взгляд теперь нормально стало. Изменено пользователем KD87

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


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

Larry76, должно быть так:

function is_has_af_dummy_dummy_sidr()
if db.actor:object("af_dummy_dummy") then
db.actor:give_info_portion("quest_has_af_dummy_dummy")
return true
end
return false
end

пробуй. И поставь прекондишн до <has_info> в диалоге.

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

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


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

Larry76, SanekKZN, ребят, вы, честное слово, делаете по методу индусского программирования. Вместо того, чтобы сделать нормальный <start_dialog>, имеющий активные ветки при любых наборах инфопоршней, вы лезете в скрипты. Ларчик-то просто открывается, зачем такие сложности?

 

Upd. Попробую еще так. У меня сейчас Сидор заспавнен на кордоне, доступна торговля, диалоги, квесты и все, что угодно - без всякой правки скриптов. Вылетов нет.

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

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


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

Larry76, Потому что инфопоршень о том, что есть арт в инвентаре, по уму надо выдавать не в прекондишне диалога, а во внешней логике, в каком-нибудь рестрикторе. Например:

 

[sr_idle]
on_info = {=actor_has_item(af_dummy_dummy)} sr_idle@nil %+quest_has_af_dummy_dummy%

[sr_idle@nil]

 

Ну и избегай случаев, когда диалог по поршням доступен,а в нем нет доступных фраз. Вот так будет лучше:

 

<dialog id="af_dummy_dummy_quest_prines">
<has_info>quest_af_dummy_dummy_give</has_info>
<has_info>quest_has_af_dummy_dummy</has_info>
<precondition>dialogs_escape.is_has_af_dummy_dummy_sidr</precondition> --если делать с рестриктором, эта строчка не нужна!
<phrase_list>
<phrase id="1">
<text>Спасибо. Выручил</text>
<give_info>quest_af_dummy_dummy_done</give_info>
</phrase>
<phrase id="0">
<text>Вот твой артефакт</text>
<action>dialogs_escape.transfer_af_dummy_dummy_to_sidr</action>
<next>1</next>
</phrase>
</phrase_list>
</dialog>

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

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


Ссылка на сообщение
Stalk15, плохо искал. Смотри dialogs_zaton.script, к примеру. Там туча примеров передачи предметов туда-сюда.

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


Ссылка на сообщение
Larry76, у тебя вылет по 622 строке, а ты в сообщении написал 662-ю. Исправь, а то неясно, что вылетает, все-таки. Изменено пользователем KD87

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


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

Jurok, можно. Делай погодные пресеты, привязывай к картам в game_maps_single.ltx.

Larry76, А дай-ка весь твой xr_logic посмотреть. Только файлом залей, не копируй.

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


Ссылка на сообщение
Larry76, с торговлей тут в порядке. Показывай тогда логику торговца и его конфиг торговли.

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


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

SanekKZN, точно говоришь) поздно я сообразил)

 

Добавлено через 2 мин.:

Larry76, и кстати, esc_trader_bye_give_habar.ltx - это что ты хотел таким сделать?

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


Ссылка на сообщение
Jurok, в spawn_sections можно прописать неписю базовую секцию stalker_sakharov.

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


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

кровоSTALKER, лезем в m_stalker от ЗП и смотрим, если уж мне не верим.

[stalker_sakharov]:stalker_trader
$spawn                            = "stalkers\stalker_sakharov"
immunities_sect                    = stalker_immunities_sakharov

[stalker_immunities_sakharov]
burn_immunity                 = 0.0            ;коэффициенты иммунитета
strike_immunity             = 0.0
shock_immunity                 = 0.0
wound_immunity                = 0.0
radiation_immunity             = 0.0
telepatic_immunity             = 0.0
chemical_burn_immunity         = 0.0
explosion_immunity             = 0.0
fire_wound_immunity          = 0.0
wound_2_immunity              = 0.0

 

Ух ты! :)

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


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

Niko1995, спавнь не как оружие, а как физический объект. Если все равно будет двигаться, придется в СДК править.

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

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

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


Ссылка на сообщение
Niko1995, модель чего именно вытащил? мало вытащить модель костюма, нужна еще модель ГГ в этом костюме. А если переносишь в ЗП - эту модель еще и править придется.

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


Ссылка на сообщение
Clayman, idle - параметры проигрывания звуков. Первое число - минимальный интервал между звуками, второе число - максимальный интервал (в секундах). Третье число - вероятность, с которой будет проигран звук, когда придет его время.

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


Ссылка на сообщение
PavelSnork, Вероятность в процентах, да. min_idle и max_idle - только для текущего звука. В коллбэке скриптового звукового класса рандомно берется время, лежащее между ними, которое и служит задержкой для следующего звука.

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


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

Clayman, погодный конфиг локе назначается в game_maps_single.ltx. Скорее всего, просто такой пресет поставил. Поставь другой или правь текущий конфиг.

Niko1995, у меня были такие вылеты. Точной причины не помню, но они происходили из-за каких-то моих ошибок в файлах. А еще может быть, что это из-за компьютера - с ним уже что-то не то.

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

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


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

Clayman, конкретно этот скрипт ставит метку на два перехода - на кордон и на свалку. Можно сделать, чтобы до обнаружения метки не появлялись, для этого измени условие (if obj:name() == "esc_level_changer_to_garbage_1" then ) на вот такое: (if obj:name() == "esc_level_changer_to_garbage_1" and db.actor:has_info_portion("got_garbage_lc") then ). И установи выдачу инфопоршня на первый переход. Тут можно по-разному сделать, наверное, первое, что приходит на ум - создай рестриктор вокруг перехода с логикой типа:

[logic]
active = sr_idle@info

[sr_idle@info]
on_actor_inside = nil %+got_garbage_lc%

 

Осталось только добавить инофпоршень в список поршней.

 

 

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


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

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