1. Вопрос должен соответствовать выбранной Вами темы. 2. Изучите то, что уже есть в теме (воспользуйтесь поиском на форуме). 3. Указывайте необходимую информацию: чистая игра ТЧ или с установленным модом (указать какой). 4. Для того, чтобы было понятно в чем ошибка, приводите коды (оформленные соответствующем образом). 5. Вопросы по SDK задаем в этой теме.
Репутация: 16
Регистрация: 01.11.2009
Город: Санкт-Петербург
Помогите разобраться с прекондишеном
создал диалог(текст диалога соответственно в другом файле)
<phrase id="2201"> <text>Нет, не находил.</text> <next>2202</next> </phrase> <phrase id="2202"> <text>Да я это понял. Сам его достанешь или мне тебе за деньги помочь прямо здесь?</text> <next>2203</next> </phrase> <phrase id="2203"> <text>А много возьмешь?</text> Тут при нажатии безлоговый вылет <next>2204</next> </phrase> <phrase id="2204"> <precondition>my_function.proverka_money25</precondition> <text>Тебе, из уважения 25000</text> <next>220700</next> <next>220600</next> </phrase> <phrase id="2205"> <text>У тебя и денег таких нет.</text> <next>220600</next> </phrase> <phrase id="220600"> <text>Чего уж. Спасибо подсказал. Сам достану.</text> <action>dialogs.break_dialog</action> </phrase>
function proverka_money25(actor, npc) return actor:money() >= 25000 end
Как я понял, прикондишен при "истине" выполняет действия указанные в этом id диалога. Если "ложь", то переход к следующему по возрастанию id диалога. Tак ли это? Если я не прав, то как?
Живи сам и дай жить другим!
Сообщение отредактировал Shuradan - Четверг, 28.03.2013, 15:03:04
Нельзя функции писать РУС. языком это раз, два вы не написали для этого функции в обще (Ну по крайней мере не показали нам что они написаны)
Добавлено (28.03.2013, 15:42:35) --------------------------------------------- valeras_98, можно поискать в интернете через яндекс или гугл, вопрос уже давно затертый. Скинул две ссылки по вашему, вопросу ЛС.
Сообщение отредактировал modos - Четверг, 28.03.2013, 15:43:31
Награды: 36
Регистрация: 08.11.2012
Город: Красноярск
Вставил локацию, заспавнил нпс туда, хочу забить туда переход и не знаю куда лезть. через all.spawn не хочу (не умею) знаю как-то через скрипт можно. Просветите, если кто знает.
И даже после всего прочего - мы все равно остаемся здесь.
Репутация: 16
Регистрация: 01.11.2009
Город: Санкт-Петербург
modos, В action'ах банальные функции на передачу денег и предметы. Вылет был даже без них. Вот я и подумал, что не правильно применил precondition, т.к. никогда с ним дело не имел. Убил массувремени, копаясь по разным ссылкам и понял лишь одно: прикондишен при "истине" выполняет действия указанные в этом id диалога. Если "ложь", то переход к следующему по возрастанию id диалога. Tак ли это? Если я не прав, то как?
Shuradan, если правда то он показывает этот диалог если лож то вроде убиерает.
В общем пробуй так:
Цитата
<phrase id="2201"> <text>Нет, не находил.</text> <next>2202</next> </phrase> <phrase id="2202"> <text>Да я это понял. Сам его достанешь или мне тебе за деньги помочь прямо здесь?</text> <next>2203</next> </phrase> <phrase id="2203"> <text>А много возьмешь?</text> <next>2204</next> </phrase> <phrase id="2204"> <text>Тебе, из уважения 25000</text> <next>220700</next> <next>220600</next> </phrase> <phrase id="220600"> <text>У меня нет 25000.</text> <action>dialogs.break_dialog</action> </phrase> <phrase id="220700"> <precondition>my_function.proverka_money25</precondition> <text>А. давай! Держи!</text> <action>dialogs.break_dialog</action> </phrase>
Сообщение отредактировал modos - Четверг, 28.03.2013, 21:28:40
Награды: 36
Регистрация: 08.11.2012
Город: Красноярск
Посмотрите, какой-то странный лог. Не пойму на что жалуется.
Expression : sz<(tgt_sz-1) Function : IReader::r_string File : E:\stalker\patch_1_0004\xrCore\FS.cpp Line : 349 Description : Dest string less than needed.
И даже после всего прочего - мы все равно остаемся здесь.
Награды: 36
Регистрация: 08.11.2012
Город: Красноярск
comador, нет. Просто смешал Arsenal, Freeplay и мои наработки вместе. Раньше все работало. Факт тот что дело не в папках config, scripts, levels, spawns. Вот это я и не могу понять. Хоть заново все делай
И даже после всего прочего - мы все равно остаемся здесь.
Награды: 36
Регистрация: 08.11.2012
Город: Красноярск
Так, с тем разобрался. Заново все сделал. Теперь, когда после АТП Волк мне должен дать огнемет "Гром" и ЧН-3а - он мне ничего не дает, но и вылета нет. В чем дело?
И даже после всего прочего - мы все равно остаемся здесь.
Сообщение отредактировал Dmitriy_Nekratov - Суббота, 30.03.2013, 17:25:43
А что ты там подправил мы должны догадываться сами?
N. B. Если возникают проблемы/вылеты после каких-либо "ковыряний" в кодах игры, расказывай подробнее, что делал. А еще лучше приводи коды своих изменений (обязательно используй тег code, а большие коды прячь под спойлер).
Награды: 36
Регистрация: 08.11.2012
Город: Красноярск
Callisto, вот оригинал и мой.
--' Escape dynamite for Wolf function transfer_wolf_reward(first_speaker, second_speaker) dialogs.relocate_item_section(first_speaker, "15000", "in") end
--' Escape dynamite for Wolf function transfer_wolf_reward(first_speaker, second_speaker) dialogs.relocate_item_section(first_speaker, "af_medusa", "in") end
function wolf_additional_reward(first_speaker, second_speaker) dialogs.relocate_item_section(first_speaker, "medkit", "in") dialogs.relocate_item_section(first_speaker, "bandage", "in") dialogs.relocate_item_section(first_speaker, "wpn_fort", "in") dialogs.relocate_item_section(first_speaker, "grenade_f1", "in") dialogs.relocate_item_section(first_speaker, "ammo_9x18_fmj", "in") end
Добавлено (31.03.2013, 12:51:13) --------------------------------------------- P.S. Это если одному АТП зачистить.
И даже после всего прочего - мы все равно остаемся здесь.
Возможно ли как-то сделать так, чтобы после окончания игры начинался фриплэй, и ГГ переносило, скажем, в Припять? Что нужно сделать для того, чтобы это реализовать?