
IncognitaGames
Сталкеры-
Публикаций
99 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Тип контента
Профили
Форумы
Блоги
Календарь
Новости
Моды
Весь контент IncognitaGames
-
Всем спасибо за советы и помощь, я уже разобрался. Стоило только пойти покурить, подумать, и все получилось. Я понял структуру построения квестов) Но возник еще один вопрос: вот я создал квест на поиск двух предметов, и пока в рюкзаке не будет этих двух предметов, диалог о сдачи квеста не появится. Это все работает отлично. Но, у меня метка на нпс появляется сразу, как только взял задание. А мне нужно что бы метка появилась только при нахождении ДВУХ предметов. Если в рюкзаке один предмет - метки быть не должно. Вот текст из tm_локация, может где то здесь что нужно подправить? [toolkit_quest] ; Задание Эдельвейса - Принести два набора инструментов icon = ui_inGame2_Instrumenti prior = 115 storyline = false title = toolkit_quest_name descr = {=actor_has_item(toolkit_1) =actor_has_item(toolkit_2)} toolkit_quest_descr_4, {=actor_has_item(toolkit_2)} toolkit_quest_descr_3, {=actor_has_item(toolkit_1)} toolkit_quest_descr_2, toolkit_quest_descr_1, nil target = pred_sim_7_edem condlist_0 = {+pred_edem_dialog_toolkit_quest_end} complete И еще один немаловажный вопрос - он не относится к квестам, но тем не менее, не выходит у меня. В общем, есть у меня смарт тиррейн, в котором заспавнены два нпс - один эксклюзивный, второй дефолтный. Есть на локации так же прописанные укрытия от выброса. Короче, я специально вызываю выброс и вижу, что эксклюзивный нпс идет в укрытие, а дефолтный нет. Понятно, что у эксклюзива в логике прописано suitable = {=check_npc_name(pred_sim_3_stalker_sv_samostrel) !surge_started} И есть точки работ в укрытие. Так же есть точки работ и для дефолтного нпс, но он не идет. Как мне заставить этого дефолтного тоже идти в укрытие?
-
В общем все получилось, задание берется, все нормально. Только вот здать задания я МОГУ сдать, даже не имея в инвентаре нужный предмет. Чего то проверка не срабатывает. Вот код скрипта, что здесь не так? function toolkit_quest_edem() task_manager.get_task_manager():give_task("toolkit_quest") end function toolkit_1_has(first_speaker, second_speaker) -- функция имеет ли актер в инвентаре 1 бутылку водки return first_speaker:object("toolkit_1") ~= nil end function relocate_toolkit(first_speaker, second_speaker) -- функция передаем предмет персонажу dialogs.relocate_item_section(second_speaker, "toolkit_1", "out") end function reward_money_toolkit(first_speaker, second_speaker) -- функция получения денег dialogs.relocate_money(second_speaker, 1500, "in") end
-
Это все я сделал - квест как бы принялся, и при повторном обращении к нпс, открывается второй диалог - Вот принес пистолет. Но сам квест, когда я жму - Хорошо, принесу - не появляется, ни метки, ни звукового сигнала, ни описания в пда, ничего. А когда я жму - Вот принес пистолет - диалог закрывается как положено, но опять же таки, ни чего нет, просто диалог не повторяется, и все. Поршни я прописал где нужно.
-
Это то я все знаю. Я не понимаю как ВООБЩЕ создавать квесты через Диалог Едитор. Куда нужно прописывать precondition и action. Точнее, знаю, но вот как это сделать что бы заработало? К примеру, я создал простой типа "привет, есть работа? НПС отвечает - есть. Какая? Принеси пистолет. Берусь или не берусь." Если берусь то должно выдаться задание через tm_локация. А так создал файл локация.script и в нем прописал что нужно по уроку Бориса Шепелева. И ничего. Вылета нет. Подхожу к НПС, говорю с ним беру задание и ничего, ни звука, ни описания задания, ничего. Повторное обращение к НПС - "я принес пистолет" - и все. Никаких "задание выпонено" нет. Вообще ничего нет. Только диалог, который я принудительно закрывал после сдачи задания. Дополнено 4 минуты спустя Вот файл квеста из tm_локация ;============================ ; ПРЕДЗОННИК ;============================ [toolkit_quest] ; Задание Эдельвейса - Принести два набора инструментов icon = ui_inGame2_Instrumenti prior = 115 storyline = false title = toolkit_quest_name descr = toolkit_quest_name_text target = pred_sim_7_edem condlist_0 = {+pred_edem_dialog_toolkit_quest_end} complete Вот файл этого же квеста из dialogs_локация.script function toolkit_quest_edem() task_manager.get_task_manager():give_task("toolkit_quest") end function toolkit_1_has(first_speaker, second_speaker) return db.actor:object("toolkit_1") ~= nil function reward_money_toolkit(first_speaker, second_speaker) dialogs.relocate_money_to_actor(first_speaker, second_speaker, 1500) function toolkit_1_has(first_speaker, second_speaker) return db.actor:object("toolkit_1") ~= nil end =============================== Что не так? Какой то блин простенький квест, и тот не могу создать. А замахиваюсь на целый мод!) Да, кстати, платформа ЗП
-
Народ, не смейтесь, но я сегодня с 9.00 утра и до 20.45 вечера пытаюсь создать один обычный квест - найти и принести. И ничего не выходит. КАК СОЗДАВАТЬ ЭТИ ГРЕБАНЫЕ КВЕСТЫ???!!! Я уже готов полностью отказаться от модинга и снести все нафиг, но пока удерживает меня то, что довольно таки долго делал локацию, и она неплохо получилась. Жалко))) Я ведь никогда не занимался квестостроением, только 3Д. Но вот эти квесты... Едва клаву не разбил) Все, блин делаю по урокам, и ничего, диалоги разветвленные я делать умею, но вот скриптовые функции, типа отбирания у актера предмета, денег, давания актеру денег, предметов, проверки на наличие того или иного... да и вообще, сам квест не выдается. Прописал что нужно в tm_локация, создал файл локация.script, прописал там по урокам, и фигушки... Решил написать сюда, потому что терпение уже на исходе - чувствую, либо клаву с моником расшибу, либо все же снесу все нафиг и буду играть в сталкер 2))) Но жалко...))
-
Я не кричу))) Просто получилось и я на эмоциях, ибо задолбался решать проблему))
-
ВОПРОС СНЯТ.
-
Ну у меня вот к примеру, я поговорил с нпс (например Ходунок)- у него первый стартовый диалог, который не повторяется. При повторном с ним разговоре, идет дефолтная реплика приветствия. Это выполнено. Потом я поговорил со вторым нпс (с этим, который выше в посте))), и получаю в конце диалога инфопоршень. Он должен активировать у Ходунка второй стартовый диалог, который в свою очередь в конце диалога даст задание. И при выполнении этого задания, при диалоге с Ходунком, открывается третий стартовый диалог со всеми ветками актера. Инфопоршень я дал игроку в конце диалога со вторым нпс, так же в начале второго диалога я сделал проверку, есть ли этот поршень, но Ходунок (после первого диалога, который уже не повторяется), все равно разговаривает дефолтной стартовой фразой, и нет реплик актера, потому что не активирован второй стартовый. Как то так))
-
От души, все получилось со вторым нпс. Он больше не юзает повторно, и так же стартовый диалог у него разговора становится дефолтным. Это мне и нужно было. А у меня еще вопрос: есть у меня нпс - у него несколько стартовых приветствий. При старте игры первое приветствие проигралось при диалоге - сам диалог больше не повторяется. При втором юзе актером, должен быть второй диалог приветствия, потом третий и т.д. А у меня всегда первый стартовый.
-
А как нужно переключать стартовые диалоги? Ну, тоесть у меня их к примеру три, и я хочу, что бы после каждого выхода из диалогового окна, при повторном разговоре с нпс, у него включался уже второй стартовый диалог, потом третий... У меня почему то они все начинают диалоги с первого стартового. Я понимаю, что нужно выдать в конце каждого диалога инфопоршень, и в начало следующего сделать проверку. Но у меня не работает так((
-
Да, это я понял, вопрос, где прописать эту штуку? Понятно, что в логике, но после чего? В общем, вот логика этого второго нпс. В use стоит инфопоршень, который не дает нпс юзнуть актера до получения определенного инфопоршня. Так же и сюжетный диалог не появится, пока актер не поговорит с первым нпс. Это все работает. Только вот юзает он актера постоянно, кроме первого раза. Нужно это убрать. Один раз юзнул, рассказал что нужно, актер получил задание с меткой и все. Дальше обычный дефолтный диалог с нажатие F [logic@pred_sim_9_stalker_ne_bear] active = walker suitable = {=check_npc_name(pred_sim_9_stalker_ne_bear) !surge_started} prior = 200 [walker] path_walk = stalker_ne_bear_walk path_look = stalker_ne_bear_look use_camp = false combat_ignore_cond = false combat_ignore = combat_ignore combat_ignore_keep_when_attacked = false invulnerable = false ; бессмертие ;gather_items_enabled = false ;help_wounded_enabled = false ;corpse_detection_enabled = false meet = meet [meet] meet_on_talking = false no_move = true abuse = false allow_break = false trade_enable = false close_distance = 5 close_anim = guard_na close_victim = actor far_anim = guard use = {=actor_has_weapon} false, true snd_on_use = {=actor_has_weapon} meet_hello, nill use = {+pred_samostrel_hodunok_start_info !actor_enemy = dist_to_actor_le(7)} self, true
-
Я еще нуб в кодинге, больше занимался 3д моделированием. Как это сделать? Перевести в новую схему?
-
Платформа ЗП. Инициализация диалога второго нпс сделана так: в характере стоит один стартовый диалог (не считая диалога прощания), в котором, через диалог едитор и прописан сам диалог. У второго тоже самое, но вот в логиках в секции use у них указываются инфопоршни. Так сложно обьяснить... что скинуть?
-
Всем привет. Народ, подскажите, блин, скоро голова взорвется))) В общем, есть у меня два нпс эксклюзивных. Мне нужно что бы, если актер подойдет ко второму нпс, ничего не происходило, то есть, был обычный диалог приветствия и "бывай" - дефолтный. Но если актер подойдет к первому нпс и поговорит с ним, на определенном предложении актер должен получить инфопоршень, который активирует второго нпс. То есть, после разговора с первым нпс, актер подходит ко второму, второй его САМ юзает и ведет специальный, сюжетный диалог, по окончанию которого диалоговое окно закрывается, и если еще раз заговорить со вторым нпс, снова будет обычный дефолтный диалог. Короче, у меня это все получилось, все работает, НО когда я снова подхожу ко второму нпс, уже после диалога, он снова меня САМ юзает и ведет обычный дефолтный диалог. Именно что дефолтный. Это мне и нужно, но мне не нужно, что бы он снова (постоянно) меня юзал. Как мне избавится от этого? Фуф, надеюсь понятно объяснил. Еще мне нужно выдать задание, после оканчания этого диалога...
-
ВОПРОС СНЯТ. ПРОБЛЕМА РЕШЕНА. Народ, что это за вылет? Уже задолбался его исправлять. Бесполезно. Игра загружается нормально, чуть побегаю по локе и это вылет. Сорри, что пишу здесь, но меня уже бесит эта фигня))) Кто знает, ответьте, плиз) Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ... - call of pripyat\gamedata\scripts\state_mgr.script:489: attempt to index field '?' (a nil value) Дополнено 29 минуты спустя ========================= Переписал заново эксклюзива, который заспавнет с помощью way_points, и снова вот такой вылет, при загрузке новой игры Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....e.r - call of pripyat\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil) Я уже и не знаю что делать. Может это не мое - модострой?)) С 9 утра не могу решить эту проблему. Дополнено 51 минуты спустя
-
Код чего? Если этого сквада, где заспавнены этих два нпс, то там ведь много файлов...
-
Некоторые заспавнены с помощью smart_cover, а некоторые way_points. Те которые smart_cover - те анимации, которые в коверах, а way_points - некоторые ходят, другие сидят, третьи walker с биноклями... но они в squad_descr_локация подписаны как sim_default_stalker_0, sim_default_stalker_1 и т.д. Вот про них я говорил. То есть, эксклюзивы идут в укрытие, потому что в логике для него прописано это действие А sin_default_stalker... Не идут. Вот как их заставить тоже идти в укрытие? У меня к примеру есть смарт тиррейн, в котором заспаанены два нас - эксклюзив и дефолтный. Оба заспаанены через way_points. И вот эксклюзив идёт в укрытие а дефолтный нет.
-
Благодарствую за совет, так и сделал. Только я еще сделал way_look для этого нпс - правильно? Или можно было только одну точку walk? И еще вопрос вдогонку - эксклюзивы то прячутся от выброса, а как быть с дефолтными сквадами, которых у меня на локации больше чем эксклюзивов? Что прописывать им, если у них нет логики, которую я писал для эксклюзивов.
-
Платформа cop
-
Привет. Сорри, что тревожу, но снова нужна помощь)) Как мне заставить нпс первым заговорить с актером? Типа, как наемник на затоне, когда потребует за проход еды. В конфиге character_desc_локация, нужному персонажу прописал стартовый диалог <start_dialog>pred_samostrel_dialog_start</start_dialog> И в логике этого же перса прописал:
[logic@pred_sim_3_samostrel]
active = walker
suitable = {=check_npc_name(pred_sim_3_samostrel)}true
prior = 200[walker]
path_walk = pred_samostrel_walk
path_look = pred_samostrel_look
use_camp = false
combat_ignore_cond = false
combat_ignore = combat_ignore
combat_ignore_keep_when_attacked = false
;invulnerable = true ; бессмертие
;gather_items_enabled = false
;help_wounded_enabled = false
;corpse_detection_enabled = false
meet = meet[meet]
meet_on_talking = true
no_move = true
abuse = false
allow_break = false
trade_enable = false
close_distance = 5
close_anim = guard_na
close_victim = actor
far_anim = guard
use = {=actor_has_weapon} false, true
use = {-pred_samostrel_dialog_start !actor_enemy} true
snd_on_use = {=actor_has_weapon} meet_hello, nill -
ВОПРОС СНЯТ!!! Народ, помогите советом!!! В общем, заспавнил эксклюзива точками путей, все прописал и постоянно получаю вот такой вылет: Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....e.r - call of pripyat\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil) Хотя, перед этим заспавнил эксклюзива через смарт ковер - все работает. Кто знает?... Логика, если что, то вот такая: [logic@pred_samostrel] active = walker suitable = {=check_npc_name(pred_samostrel)}true prior = 200 [walker] path_walk = pred_samostrel_walk path_look = pred_samostrel_look use_camp = false combat_ignore_cond = false combat_ignore = combat_ignore combat_ignore_keep_when_attacked = false ;invulnerable = true ;gather_items_enabled = false ;help_wounded_enabled = false ;corpse_detection_enabled = false meet = meet [meet] meet_on_talking = false no_move = true abuse = false allow_break = false trade_enable = true close_distance = 5 close_anim = wait_na close_victim = actor use = {=actor_has_weapon} false, true snd_on_use = {=actor_has_weapon} meet_hello, nill Дополнено 46 минуты спустя Привет всем. Снова нужна помощь)) Как мне заставить нпс первым заговорить с актером? Типа, как наемник на затоне, когда потребует за проход еды. В конфиге character_desc_локация, нужному персонажу прописал стартовый диалог <start_dialog>pred_samostrel_dialog_start</start_dialog> И в логике этого же перса прописал: [logic@pred_sim_3_samostrel] active = walker suitable = {=check_npc_name(pred_sim_3_samostrel)}true prior = 200 [walker] path_walk = pred_samostrel_walk path_look = pred_samostrel_look use_camp = false combat_ignore_cond = false combat_ignore = combat_ignore combat_ignore_keep_when_attacked = false ;invulnerable = true ; бессмертие ;gather_items_enabled = false ; обыскивание трупов ;help_wounded_enabled = false ; ромощь раненым ;corpse_detection_enabled = false ; meet = meet [meet] meet_on_talking = true no_move = true abuse = false allow_break = false trade_enable = false close_distance = 5 close_anim = guard_na close_victim = actor far_anim = guard use = {=actor_has_weapon} false, true use = {-pred_samostrel_dialog_start !actor_enemy} true snd_on_use = {=actor_has_weapon} meet_hello, nill Просто первый раз делаю эту фичу и не могу понять. Кто знает - ответьте)))
-
Благодарствую за советы, но уже вопрос решился. У меня клава такая, что нужно нажать Fn и F12, тогда скринит. Уже сделал интро картинки и карту для пда. Правда, map drager как то очень странно работает. Вбиваю координаты, которые мне выдал map drager, и ни карты ни даже актера в игре нет вообще на глобалке)) Пришлось методом тыка и перебора цифр подгонять карту.
-
Да, все верно - включена.
-
Именно что в игре. А мод - это моя созданная с нуля локация, для которой я и хочу сделать скрины.