Перейти к содержанию

IncognitaGames

Сталкеры
  • Публикаций

    99
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Весь контент IncognitaGames

  1. Благодарочка, от души))) Все работает. А по поводу нпс и выбросов можешь что подсказать?
  2. Всем спасибо за советы и помощь, я уже разобрался. Стоило только пойти покурить, подумать, и все получилось. Я понял структуру построения квестов) Но возник еще один вопрос: вот я создал квест на поиск двух предметов, и пока в рюкзаке не будет этих двух предметов, диалог о сдачи квеста не появится. Это все работает отлично. Но, у меня метка на нпс появляется сразу, как только взял задание. А мне нужно что бы метка появилась только при нахождении ДВУХ предметов. Если в рюкзаке один предмет - метки быть не должно. Вот текст из 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} И есть точки работ в укрытие. Так же есть точки работ и для дефолтного нпс, но он не идет. Как мне заставить этого дефолтного тоже идти в укрытие?
  3. В общем все получилось, задание берется, все нормально. Только вот здать задания я МОГУ сдать, даже не имея в инвентаре нужный предмет. Чего то проверка не срабатывает. Вот код скрипта, что здесь не так? 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
  4. Это все я сделал - квест как бы принялся, и при повторном обращении к нпс, открывается второй диалог - Вот принес пистолет. Но сам квест, когда я жму - Хорошо, принесу - не появляется, ни метки, ни звукового сигнала, ни описания в пда, ничего. А когда я жму - Вот принес пистолет - диалог закрывается как положено, но опять же таки, ни чего нет, просто диалог не повторяется, и все. Поршни я прописал где нужно.
  5. Это то я все знаю. Я не понимаю как ВООБЩЕ создавать квесты через Диалог Едитор. Куда нужно прописывать 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 =============================== Что не так? Какой то блин простенький квест, и тот не могу создать. А замахиваюсь на целый мод!) Да, кстати, платформа ЗП
  6. Народ, не смейтесь, но я сегодня с 9.00 утра и до 20.45 вечера пытаюсь создать один обычный квест - найти и принести. И ничего не выходит. КАК СОЗДАВАТЬ ЭТИ ГРЕБАНЫЕ КВЕСТЫ???!!! Я уже готов полностью отказаться от модинга и снести все нафиг, но пока удерживает меня то, что довольно таки долго делал локацию, и она неплохо получилась. Жалко))) Я ведь никогда не занимался квестостроением, только 3Д. Но вот эти квесты... Едва клаву не разбил) Все, блин делаю по урокам, и ничего, диалоги разветвленные я делать умею, но вот скриптовые функции, типа отбирания у актера предмета, денег, давания актеру денег, предметов, проверки на наличие того или иного... да и вообще, сам квест не выдается. Прописал что нужно в tm_локация, создал файл локация.script, прописал там по урокам, и фигушки... Решил написать сюда, потому что терпение уже на исходе - чувствую, либо клаву с моником расшибу, либо все же снесу все нафиг и буду играть в сталкер 2))) Но жалко...))
  7. Я не кричу))) Просто получилось и я на эмоциях, ибо задолбался решать проблему))
  8. Ну у меня вот к примеру, я поговорил с нпс (например Ходунок)- у него первый стартовый диалог, который не повторяется. При повторном с ним разговоре, идет дефолтная реплика приветствия. Это выполнено. Потом я поговорил со вторым нпс (с этим, который выше в посте))), и получаю в конце диалога инфопоршень. Он должен активировать у Ходунка второй стартовый диалог, который в свою очередь в конце диалога даст задание. И при выполнении этого задания, при диалоге с Ходунком, открывается третий стартовый диалог со всеми ветками актера. Инфопоршень я дал игроку в конце диалога со вторым нпс, так же в начале второго диалога я сделал проверку, есть ли этот поршень, но Ходунок (после первого диалога, который уже не повторяется), все равно разговаривает дефолтной стартовой фразой, и нет реплик актера, потому что не активирован второй стартовый. Как то так))
  9. От души, все получилось со вторым нпс. Он больше не юзает повторно, и так же стартовый диалог у него разговора становится дефолтным. Это мне и нужно было. А у меня еще вопрос: есть у меня нпс - у него несколько стартовых приветствий. При старте игры первое приветствие проигралось при диалоге - сам диалог больше не повторяется. При втором юзе актером, должен быть второй диалог приветствия, потом третий и т.д. А у меня всегда первый стартовый.
  10. А как нужно переключать стартовые диалоги? Ну, тоесть у меня их к примеру три, и я хочу, что бы после каждого выхода из диалогового окна, при повторном разговоре с нпс, у него включался уже второй стартовый диалог, потом третий... У меня почему то они все начинают диалоги с первого стартового. Я понимаю, что нужно выдать в конце каждого диалога инфопоршень, и в начало следующего сделать проверку. Но у меня не работает так((
  11. Да, это я понял, вопрос, где прописать эту штуку? Понятно, что в логике, но после чего? В общем, вот логика этого второго нпс. В 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
  12. Я еще нуб в кодинге, больше занимался 3д моделированием. Как это сделать? Перевести в новую схему?
  13. Платформа ЗП. Инициализация диалога второго нпс сделана так: в характере стоит один стартовый диалог (не считая диалога прощания), в котором, через диалог едитор и прописан сам диалог. У второго тоже самое, но вот в логиках в секции use у них указываются инфопоршни. Так сложно обьяснить... что скинуть?
  14. Всем привет. Народ, подскажите, блин, скоро голова взорвется))) В общем, есть у меня два нпс эксклюзивных. Мне нужно что бы, если актер подойдет ко второму нпс, ничего не происходило, то есть, был обычный диалог приветствия и "бывай" - дефолтный. Но если актер подойдет к первому нпс и поговорит с ним, на определенном предложении актер должен получить инфопоршень, который активирует второго нпс. То есть, после разговора с первым нпс, актер подходит ко второму, второй его САМ юзает и ведет специальный, сюжетный диалог, по окончанию которого диалоговое окно закрывается, и если еще раз заговорить со вторым нпс, снова будет обычный дефолтный диалог. Короче, у меня это все получилось, все работает, НО когда я снова подхожу ко второму нпс, уже после диалога, он снова меня САМ юзает и ведет обычный дефолтный диалог. Именно что дефолтный. Это мне и нужно, но мне не нужно, что бы он снова (постоянно) меня юзал. Как мне избавится от этого? Фуф, надеюсь понятно объяснил. Еще мне нужно выдать задание, после оканчания этого диалога...
  15. ВОПРОС СНЯТ. ПРОБЛЕМА РЕШЕНА. Народ, что это за вылет? Уже задолбался его исправлять. Бесполезно. Игра загружается нормально, чуть побегаю по локе и это вылет. Сорри, что пишу здесь, но меня уже бесит эта фигня))) Кто знает, ответьте, плиз) 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 минуты спустя
  16. Код чего? Если этого сквада, где заспавнены этих два нпс, то там ведь много файлов...
  17. Некоторые заспавнены с помощью smart_cover, а некоторые way_points. Те которые smart_cover - те анимации, которые в коверах, а way_points - некоторые ходят, другие сидят, третьи walker с биноклями... но они в squad_descr_локация подписаны как sim_default_stalker_0, sim_default_stalker_1 и т.д. Вот про них я говорил. То есть, эксклюзивы идут в укрытие, потому что в логике для него прописано это действие А sin_default_stalker... Не идут. Вот как их заставить тоже идти в укрытие? У меня к примеру есть смарт тиррейн, в котором заспаанены два нас - эксклюзив и дефолтный. Оба заспаанены через way_points. И вот эксклюзив идёт в укрытие а дефолтный нет.
  18. Благодарствую за совет, так и сделал. Только я еще сделал way_look для этого нпс - правильно? Или можно было только одну точку walk? И еще вопрос вдогонку - эксклюзивы то прячутся от выброса, а как быть с дефолтными сквадами, которых у меня на локации больше чем эксклюзивов? Что прописывать им, если у них нет логики, которую я писал для эксклюзивов.
  19. Привет. Сорри, что тревожу, но снова нужна помощь)) Как мне заставить нпс первым заговорить с актером? Типа, как наемник на затоне, когда потребует за проход еды. В конфиге 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

  20. ВОПРОС СНЯТ!!! Народ, помогите советом!!! В общем, заспавнил эксклюзива точками путей, все прописал и постоянно получаю вот такой вылет: 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 Просто первый раз делаю эту фичу и не могу понять. Кто знает - ответьте)))
  21. Благодарствую за советы, но уже вопрос решился. У меня клава такая, что нужно нажать Fn и F12, тогда скринит. Уже сделал интро картинки и карту для пда. Правда, map drager как то очень странно работает. Вбиваю координаты, которые мне выдал map drager, и ни карты ни даже актера в игре нет вообще на глобалке)) Пришлось методом тыка и перебора цифр подгонять карту.
  22. Именно что в игре. А мод - это моя созданная с нуля локация, для которой я и хочу сделать скрины.