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

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

 
 
В 15.02.2022 в 21:01, shadept сказал:

Что я прописал не так?

 

В 15.02.2022 в 21:01, shadept сказал:

<phrase id="1">
                <text>Чё там?</text>
                <next>2</next>
            </phrase>
            <precondition>plateau_quest_autobus.has_item_task</precondition>
            <phrase id="2">
                <text>Вот он.</text>
                <next>3</next>
            </phrase>

Прекондишион еще странно вставлен.  Между фразами.

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


Ссылка на сообщение
Поделиться на другие сайты
 

Пишу, ибо нужна помощь в поиске качественных текстур на замену:
"Ветер Свободы", "Страж Свободы", "Берилл-5м", бандитская куртка, армейский бронежилет.
Да и любые другие крутые варианты могут подойди на замену или соединение.
А то я уже запарился чёт.

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


Ссылка на сообщение
Поделиться на другие сайты
 
4 минуты назад, Сергей Шубин сказал:

 

Прекондишион еще странно вставлен.  Между фразами.

А где его нужно ставить? Просто я не нашел ему объяснения. То есть это можно сказать "не показывай диалог пока этот скрипт не сработал"? 

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


Ссылка на сообщение
Поделиться на другие сайты
 
16 минут назад, shadept сказал:

Просто я не нашел ему объяснения

Я бы написал так. Без рестрикторов.

Спойлер

 

function item_task_give()
    -- даем игроку квест 
    task_manager.get_task_manager():give_task("find_bus_quest")
end

function quest_reward()
    -- отдаем бабло игроку
    dialogs.relocate_money_to_actor(first_speaker, second_speaker, 4000)
end

function has_item_task(first_speaker, second_speaker)
    return db.actor:object("vodka") ~= nil
end

 

Спойлер

 

Диалоги. Первый в принципе сойдет.  А второй слегка переделать.  Прекондишион в шапку диалога. Поршень убрать.

 <dialog id="plateau_debil_autobus_start">
        <dont_has_info>plateau_quest_autobus_started</dont_has_info>
        <dont_has_info>plateau_quest_autobus_smth</dont_has_info>
        <phrase_list>
        
            <!-- квест на водку начало -->
            
            <phrase id="0">
                <text>Есть дело для меня?</text>
                <next>1</next>
            </phrase>
            <phrase id="1">
                <text>Конечно. Принеси мне водку.</text>
                <next>2</next>
                <next>3</next>
            </phrase>
            <phrase id="2">
                <text>Ну нахер.</text>
            </phrase>
            <phrase id="3">
                <text>Хорошо.</text>
                <give_info>plateau_quest_autobus_started</give_info>
                <action>plateau_quest_autobus.item_task_give</action>
            </phrase>        
        </phrase_list>
    </dialog>

 <dialog id="plateau_debil_autobus_end">
            <precondition>plateau_quest_autobus.has_item_task</precondition>
        <dont_has_info>plateau_quest_autobus_end</dont_has_info>
        <phrase_list>
            <!-- квест на автобус конец -->
            
            <phrase id="0">
                <text>Насчет водки...</text>
                <next>1</next>
            </phrase>
            <phrase id="1">
                <text>Чё там?</text>
                <next>2</next>
                <next>4</next>
            </phrase>
            <phrase id="2">
                <text>Вот он.</text>
                <next>3</next>
            </phrase>
            <phrase id="3">
                <give_info>plateau_quest_autobus_end</give_info>
                <text>Хорошо. Вот, держи за работу.</text>
                <action>plateau_quest_autobus.quest_reward</action>
            </phrase>
            <phrase id="4">
                <text>Ещё занимаюсь этим делом...</text>
            </phrase>
            
        </phrase_list>
    </dialog>

 

 

Неплохо было бы добавить функцию на передачу бутылки заказчику.

Изменено пользователем Сергей Шубин

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


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, Сергей Шубин сказал:

Я бы написал так. Без рестрикторов.

  Скрипт (Показать контент)

 

function item_task_give()
    -- даем игроку квест 
    task_manager.get_task_manager():give_task("find_bus_quest")
end

function quest_reward()
    -- отдаем бабло игроку
    dialogs.relocate_money_to_actor(first_speaker, second_speaker, 4000)
end

function has_item_task(first_speaker, second_speaker)
    return db.actor:object("vodka") ~= nil
end

 

  Диалоги (Показать контент)

 

Диалоги. Первый в принципе сойдет.  А второй слегка переделать.  Прекондишион в шапку диалога. Поршень убрать.

 <dialog id="plateau_debil_autobus_start">
        <dont_has_info>plateau_quest_autobus_started</dont_has_info>
        <dont_has_info>plateau_quest_autobus_smth</dont_has_info>
        <phrase_list>
        
            <!-- квест на водку начало -->
            
            <phrase id="0">
                <text>Есть дело для меня?</text>
                <next>1</next>
            </phrase>
            <phrase id="1">
                <text>Конечно. Принеси мне водку.</text>
                <next>2</next>
                <next>3</next>
            </phrase>
            <phrase id="2">
                <text>Ну нахер.</text>
            </phrase>
            <phrase id="3">
                <text>Хорошо.</text>
                <give_info>plateau_quest_autobus_started</give_info>
                <action>plateau_quest_autobus.item_task_give</action>
            </phrase>        
        </phrase_list>
    </dialog>

 <dialog id="plateau_debil_autobus_end">
            <precondition>plateau_quest_autobus.has_item_task</precondition>
        <dont_has_info>plateau_quest_autobus_end</dont_has_info>
        <phrase_list>
            <!-- квест на автобус конец -->
            
            <phrase id="0">
                <text>Насчет водки...</text>
                <next>1</next>
            </phrase>
            <phrase id="1">
                <text>Чё там?</text>
                <next>2</next>
                <next>4</next>
            </phrase>
            <phrase id="2">
                <text>Вот он.</text>
                <next>3</next>
            </phrase>
            <phrase id="3">
                <give_info>plateau_quest_autobus_end</give_info>
                <text>Хорошо. Вот, держи за работу.</text>
                <action>plateau_quest_autobus.quest_reward</action>
            </phrase>
            <phrase id="4">
                <text>Ещё занимаюсь этим делом...</text>
            </phrase>
            
        </phrase_list>
    </dialog>

 

 

Неплохо было бы добавить функцию на передачу бутылки заказчику.

Работает, спасибо, но вот я хотел бы ещё знать как можно отметить предмет на карте, если он лежит в ящике каком-то или тайнике? 

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


Ссылка на сообщение
Поделиться на другие сайты
 
6 часов назад, shadept сказал:

Я же вроде бы создал рабочий диалог.

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

Как сделать, чтобы, когда нпс приходит в указанную точку давался инфопоршень?

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


Ссылка на сообщение
Поделиться на другие сайты
 

Boomer вариантов масса. Смотря что считать точкой и что считать приходом в неё. Если речь о волкере, то можно в конечной точки выдавать сигнал, а потом через логику выдать инфопоршень при его получении. Если об анимпоинте, то через функцию animpoint_reached можно момент отловить. Ещё как вариант - через рестриктор, тоже есть соответствующие функции для проверки.


Дополнено 2 минуты спустя

.D1mk4. Кстати, в большинстве своём весьма симпатичный пак. Откуда брал, если не секрет?

Меня смутил монолитовец в экзе на переднем плане. Полоски на груди как-то неестественно выделяются. На следующем я б убрал эту васянскую нашивку с груди бандита, смешно смотрится.

  • Спасибо 1

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


Ссылка на сообщение
Поделиться на другие сайты
 

Boomer прочитай про вейпоинты (а конкретно про sig)ТЫК

Если вкратце, то когда НПС приходит на определённый вейпоинт, то срабатывает сигнал, который можно отловить с помощью on_signal в логике НПС (важно именно в логике НПС, в любой другой сигнал не получить). И при получения сигнала, просто выдаешь инфопоршень, типо так:

on_signal = npc_wait | %+info%

 

  • Спасибо 1

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


Ссылка на сообщение
Поделиться на другие сайты
 

Здравствуйте уважаемые форумчане!

У меня такой вопрос: С чего начать делать 3Д прицелы (картинка в картинке)? Я знаю что это в игровом движке, но что именно править надо не знаю.

Кто поможет? Буду очень благодарен!

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

Мне нужно, чтобы игра могла читать японские иероглифы и выводить их на экран. Как подобное реализовать?

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


Ссылка на сообщение
Поделиться на другие сайты
 

Крим На японский ЗП не локализовывали, так что готового решения подсмотреть наверное негде. Утверждать не берусь, но тут возможно нужно лезть в движок и мудрить что-то с кодировками, а потом и шрифт соответствующий добавлять. Хз, стоит ли овчинка выделки. Если ничего серьёзного не планируешь, проще просто картинкой их вывести или транслитом на английском.

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


Ссылка на сообщение
Поделиться на другие сайты
 

Seraph Variation Mod (использовался в CoC, MISERY). Меня монолитовец устраивает, просто не хватает больше таких белых структур. Для меня лично выглядит шикарно. Ммм, это эмблема официальная бандитов.

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


Ссылка на сообщение
Поделиться на другие сайты
 

Кто работает с текстурами, может сталкивались при настройке нормалей с таким вот мыльным эффектом? 

Vlu5eXfncyk.jpg?size=1280x800&quality=95

Мне попались карты, которые выглядят нестандартным образом.

Спойлер

26878fcb842ebb178d20bb6060c94fc3.jpg

 

Синий канал там полностью чёрным залит. Я при помощи проги GameImageUtil его перевёл в привычный фиолетовый вид, и там на синем канале появилось что-то, похожее на АО карту. Но в игре это особого результата не дало. В чём может быть проблемы? 

Спойлер

b3dd2130c1da0acd013621b714e3f172.png

 

 


На ap-pro с 2010 года... 

1084705139_-1.png.e8f0b3c23bb5a679b5fd2482bfc96039.png

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


Ссылка на сообщение
Поделиться на другие сайты
 

.D1mk4. Только вот ни один бандит в трилогии такую нашивку не носит, тем более на груди)

Эмблема неплохая, но она не к месту здесь, да ещё и прифотошоплена криво.

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


Ссылка на сообщение
Поделиться на другие сайты
 

Как сделать, чтобы предмет в определенном месте заспавнился после инфопоршня?

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


Ссылка на сообщение
Поделиться на другие сайты
 

 

2 минуты назад, Boomer сказал:

Как сделать, чтобы предмет в определенном месте заспавнился после инфопоршня?

on_info = {+info} %=spawn_object(объект:точка_way)%

  • Спасибо 1

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


Ссылка на сообщение
Поделиться на другие сайты
 

Boomer Код выше правильный, конечно, но... Ты ведь где-то выдаёшь этот поршень? Почему бы сразу с ним и не заспавнить предмет? Не проще ли сделать так?

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


Ссылка на сообщение
Поделиться на другие сайты
 

Как сильно уменьшить скорость прицеливания оружия через оптический прицел или сделать так, чтобы прицеливание было мгновенным?

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

Seraph Эм... А что не так? Поч криво? Что плохого, если добавить нашивку? Почему не к месту? Ёпт, ответы излишни.

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


Ссылка на сообщение
Поделиться на другие сайты
 

.D1mk4. Ну тогда зачем ты идёшь на форум и спрашиваешь мнение людей относительно текстур, если тебя лично всё устраивает?

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


Ссылка на сообщение
Поделиться на другие сайты
 
21 час назад, Neptun сказал:

on_info = {+info} %=spawn_object(объект:точка_way)%

Сделал по этой схеме, прописал спавн артефакта "Кровь камня" для квеста, и вместо одного арта спавнится бесконечное множество и без остановки. Что сделать, чтобы заспавнился только 1?

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


Ссылка на сообщение
Поделиться на другие сайты
 

Прописал диалог через dialog editor, прописал диалог в character_desc_имя локации. При разговоре вылет с логом
   

Спойлер

Expression    : no_assert
Function      : CXML_IdToIndex<class CPhraseDialog>::GetById
File          : D:\prog_repository\sources\trunk\xrServerEntities\xml_str_id_loader.h
Line          : 112
Description   : item not found, id
Arguments     : talk_wol

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

GreatTrix2 Игра не может открыть секцию  talk_wol. Ты неправильно ввёл в character_desc_имя локации название диалога.

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

stalker032  вот, специально проверил - всё сходится с названием из dialogs_локация

Спойлер

image.thumb.png.d2398a8819f0a79d8d2afc20ffbfbdac.png

 

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   2 пользователя онлайн