Struck 61 Опубликовано 18 Марта 2012 А, теперь ясно почему у меня управление отключалось, значит надо оставить эту строку в виде use = boolean, и дописать условие на расстояние в метрах и там вызывать уже run_talk_dialog? Тогда последний вопрос чтобы 'погадалками' не заниматься, поддерживает ли meet on_actor_dist_le. Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 18 Марта 2012 Мои потуги привели к такому вылету: Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...g\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:170: C stack overflow Происходит на расстоянии ~3-ёх метров как раз Функция: function run_gopnik_dlg() local obj = alife():story_object(10003).id if obj then db.actor:run_talk_dialog(obj) end end Строчка в логике: use = %=run_gopnik_dlg% false, true Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 18 Марта 2012 (изменено) ColR_iT, все ясно, спасибо, инфопоршень можно и через remark выдать в принципе. "Спасибо" пишем в личку. А метод выдачи инфопорции выбирать тебе, главное, чтобы не далеко от оппонента. ColR_iT Изменено 18 Марта 2012 пользователем ColR_iT Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 18 Марта 2012 ColR_iT, либо я чего-то напортачил, либо self не работает, вылетаю с таким логом: Expression : fatal error Function : CScriptEngine::lua_error File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: ...shing\s.t.a.l.k.e.r\gamedata\scripts\xr_logic.script:371: attempt to call field 'set_scheme' (a nil value) [logic] active = walker [walker] path_walk = esc_gopnik_1_walk path_look = esc_gopnik_1_look on_actor_dist_le = 20| remark@infogop [remark@infogop] anim = claim on_info = {-esc_gopnik_talk} %=run_gopnik_dlg% meet [meet] meet_state = 10| {+esc_gopnik_info} threat_fire %=killactor%, claim@ {+esc_gopnik_info} talk_abuse, wait | 5 | claim %+esc_gopnik_info%; wait | 2 | claim;state meet_state_wpn = 10| {+esc_gopnik_info} threat_fire %=killactor%, claim@ {+esc_gopnik_info} talk_abuse, wait victim = 10| actor victim_wpn = 10| actor use = {+esc_gopnik_talk} self, true use_wpn = false function run_gopnik_dlg() if not has_alife_info("esc_gopnik_talk") then db.actor:give_info_portion("esc_gopnik_talk") end end Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 18 Марта 2012 (изменено) так, self значит существует, тогда пошел дальше ковыряться... Изменено 18 Марта 2012 пользователем Struck Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 19 Марта 2012 Artos, в твоем варианте диалог всегда будет начинаться если НПС находится на расстоянии ~3 метров, а не единожды, я вот такую поправку внес, на мой взгляд оптимально, потому что 'эскейпом' такой диалог завершить нельзя. --/#+# ограничение на принуждение к диалогу: if self.npc:name() == "mon_stalker" then --/ с О-Сознанием разговор 'особый' db.actor:run_talk_dialog(self.npc) elseif self.npc:position():distance_to_sqr(db.actor:position()) < 6 then --/ для остальных не далее ~2.4-x метра. if not has_alife_info("run_talk_info") then db.actor:give_info_portion("run_talk_info") db.actor:run_talk_dialog(self.npc) end elseif self.npc:position():distance_to_sqr(db.actor:position()) >6 then db.actor:disable_info_portion("run_talk_info") end --/ Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 20 Сентября 2012 Как передаются в скриптовый диалог speaker1 и speaker2, применим ли relocate_item к скриптовому диалогу? Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 20 Сентября 2012 Artos, хорошо, задам вопрос по другому, мне нужно написать похожую функцию на relocate_item для скриптового диалога, я знаю что первыми передаются два нужных мне аргумента(speaker1, speaker2). Смотрю опять же коды SIMBION'a, там сделано через transfer_item, вопрос тогда такой, данным способом будет отображатся talk_message со списком переданных вещей от одного обекта другому(на мотив функции relocate_item из news_manager.script), или нет? Просто если нет, то тогда можно просто спавнить нужному нпс список вещей в инвентарь. Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 27 Сентября 2012 (изменено) Не подскажете название инфопоршня который выдается при вылезании из подвалов х16? Просто копаться лень...предполагаю что это yan_kill_brain_done либо yantar_attack_start, но проверять это - времязатратное занятие. Ты предлагаешь проверить кому-то другому? ColT_iT Где ты увидел что я кому-то что-либо предлагаю? Я спросил, т.к. думаю, что кто-нибудь в этом возможно копался и знает наверняка, это же 'ковырялка', не? volazar, ага, я о нем, спасибо. Изменено 27 Сентября 2012 пользователем Struck 2 Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 30 Сентября 2012 gruber, а в слот ты его как положишь? Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 6 Октября 2012 Для [meet] применим target?(я про логику) Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 6 Октября 2012 Тогда как сделать, что бы НПС не смотрел на актора, а куда ему указано...без зацикливания ремарка. victim не подходит, у меня он должен в точку смотреть. Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 6 Октября 2012 Artos, ясно, спасибо, тогда остается только ремарк. ColR_iT, ну я в общем то прежде чем писать, читаю и пробую, я вроде не спрашивал как такое в [meet] сделать, ибо там даже в самой схеме берется id. Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 8 Октября 2012 1.Где находится логика Борова?(портянки нашел только в gulag_dark_valley.script) 2.Трудно-ли добавить 'свое' задание в task manager?(конкретно надо добавить "принести несколько итемов"). Есть, как вариант написать аналог find_item, только поменять проверку наличия итемов. И как для каждого НПС сделать свою строку диалога "Мне нужна работа. Есть что на примете?"? 1 1 Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 10 Октября 2012 ins33, можно написать ему самоликвидирование. --------------------------------------------------------------- Как называется анимация сидения сталкера допустим на стуле(как Шустрый в ЗП), в библиотеке анимаций этого не нашел, в SDK тоже не увидел, подскажите хоть название в SDK если есть, остальное сделаю...просто не припомню, что бы в оригинале кто-нибудь сидел просто так. 1 Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 11 Октября 2012 Страховид, а где его взять? У меня его нету. Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 11 Октября 2012 volazar, state_mgr_animation_list и state_lib я смотрел прежде чем писать. По мануалу: там указаны анимации, которых в ТЧ нету(или я не нашел). Можете носом ткнуть где анимация сидения на стуле сталкера в ТЧ?(stul, stul_0 и stul_podyem не в счет). Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 11 Октября 2012 (изменено) Как в однотипный квест на убийство рандомного сталкера можно прописать бандита?(sim_stalker_novice на что заменить?) А ты проверь, что такое sim_stalker_novice и узнаешь, что нужно вписывать. ColR_iT Изменено 11 Октября 2012 пользователем ColR_iT Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 11 Октября 2012 (изменено) А ты проверь, что такое sim_stalker_novice и узнаешь, что нужно вписывать. Ну наверное я бы не спрашивал если бы не понял что это такое, не? В менеджере русским по белому и написано obj:profile_name() == self.task_info[v].target А ты что думаешь, что эти задания только файлом task_manager.script ограничивается? В данном случае он тебе и не нужен, хотя ясно даёт понять где нужно искать sim_stalker_novice. Только вот такого имени я как раз и не нахожу, только всякие sim_stalker_novice_default1 и т.д. А это и не имя. Изменено 11 Октября 2012 пользователем ColR_iT Поделиться этим сообщением Ссылка на сообщение
Struck 61 Опубликовано 12 Октября 2012 (изменено) Ну а что это тогда?...не class же. Я так и не догоняю че надо поставить. Bingo! Именно класс. Почитай вот здесь, как выбираются профиля для спавна: >>Click Me<<, здесь принцип тот же. ColR_iT Я блин первым делом(до того как задал вопрос) класс и ставил(причем брал как из character_desc_simulation, так и из character_desc_darkvalley), и чето нихрена у меня ничего не работало...и не работает. О, вроде подобрал нужный класс..теперь выбирает как надо вроде. Раньше не те классы ставил получается. Изменено 12 Октября 2012 пользователем Struck Поделиться этим сообщением Ссылка на сообщение