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

Компаньоны


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

Здесь легче всего с журнальньми индексами совместить.

 

Для людей - с трибуналовского чувака скопируй. (компаньоны - то есть те, с кем можно делить вещи, это только с Трибуналом) как он ходит, ждет или там и как делится вещами.

Для кричера - тот же скрипт, но самому объекту убери агрессивность.

 

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

Тема - нанять телохранителя. На нее он объясняет, как это сделать, сколько стоит какой, и все такое. Лучше создать темы соотвественно именам нанимаемым. В этих темах продавец рассказывает о них.

А в результате пишешь choice "нанять такого-то" 1 "отмена" 2.

Затем создаешь варианты ответов для трех случаев - отказ, нанять и выбрано нанять, но денег нет.

 

При удачном исходе для такого-то компаньона пишешь в результате journal "aa_companions" №

 

А у компаньона в скрипте должно быть добавление, что по такому-то журнальному индексу он начинает компаньонствовать.

 

Подходишь к компаньону. А у него в гритинге в привествии должна быть тема, ну хоть та же "нанять телохранителя". На теме также вариатны ответа. В варианте ответа, после которого он начинает идти за тобой, поставь условием Journal "aa_companions" № (когда купил)

 

Для твари можно у продавца создать про нее тему - "дать команду"

в гритинге написать что-нибудь вроде "гаф-гаф!".

Ведь, если у животного нет гритинга, диалог невозможен. Когда у твари появится тема "дать команду", прописать на нее варианты команд.

Не забыть потом для продавца в случае найма или смерти ( условие dead == 1) компаньона поставить в этих именных темах по этому поводу соотвествующие слова.

За подробностями по диалогам см. руководство или урок lord Alex про гуся.

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

Да, объяснила плохо.

Я сама с Трибуналом не работаю, предпочитаю AiFollow. Может быть и этим можно обойтись?

 

В-общем, надо создать простейший диалог с функциями choice и несколько журнальных записей (о совершении сделки с продавцом на каждого; о каждом, что он нанят - итого получается 8/ если компаньонов 4).

 

Для кричера - тот же скрипт, но самому объекту убери агрессивность.

Большинство тварей же агрессивно. если не создать особого, не занизить fight, то он сам на тебя кинется, а на него стражники.

 

Диалоги - это на твою фантазию. Но самая простая схема такая:

Продавец:

greeting: Ты хочешь {нанять компаньона}?

 

topic: Да, предлагаю твоему вниманию следующих людей - {А}, {Б}, {В} и кричера {Г}

 

Это очень сильный воин.Нужно 1000 золотых Хочешь {нанять}? || <- для остальных примерно то же

 

choice Да || нет

 

(условия диалога) Item "gold_001" >= 1000 ОК || ну и ладно

result: journal "sdelka" 1

(условия диалога - отсутсвуют): у тебя нет денег.

 

Затем еще пара фраз для продавца в топике {А}

(условие dead "A" == 1 ): какое горе! он умер.

(условия диалога journal "sdelka" >= 1 ): ты его уже нанял!

 

С самим А такой диалог:

 

greeting (условие: journal "sdelka" <=1 ) Я тут слышал, ты хочешь {нанять} меня?

topic: (условие: journal "sdelka" == 1 ) ОК, я нанят.

result: AiFollow, Player 0 0 0 0 0

journal "sdelka" 2

goodbye

 

(условие - отсутствует): ну да, ты можешь меня {нанять}. Поговори с продавцом.

 

Вроде так. Еще для него нужно написать диалог, чтобы он мог подождать игрока где-нибудь, а то неудобно.

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

greeting : (условие journal "sdelka" == 2): Мне идти с тобой или {подождать}?

topic: Ну так как мне быть?

choice "Жди здесь" 1 "Иди за мной" 2

 

1 - Только не уходи надолго.

result Aiwander (координаты какие-то)

goodbye

2 - Иду-иду.

 

С тварью будет немного сложно. Если это животное, оно же не может говриить слова, правильно? Поэтому продавцу для кричера следует написать топик "дать команду", а твари - гритинг, чтобы диалог был возможен и

topic "дать команду"

choice "Сидеть" 1 "Рядом!" 2

1 - гаф.

result Aiwander (координаты какие-то)

goodbye

2 - гаф-гаф!

;)

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

ну, хорошо :1anim_ab:

Но, возможно, для надежности следует продублировать те же вещи в виде скрипта для компаньона.

if ( GetJournalIndex "sdelka" >= 1 )

AiFollow, Player (координаты)

endif

А то я тут столкнулась с тем, что команды в результатах диалога срабатывают через раз. Так и не поняла, почему при обычной aifollow 0 0 0 0 0 у меня непись то шел за мной, то начинал... вращаться вокруг своей оси, то никак не реагировал, а один раз игра вылетела... :1anim_ac:

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

я придумал маленький скрипт

 

 

я придумал маленький скрипт

 

 

Вот начало

 

begin a_companion

 

short sat

 

if ( OnActivate == 1 )

MessageBox "Что вы хотите сделать ?", "Сказать: За мной !", "Стой тут...", "Ничего"

set stat to 1

endif

 

If ( sat == 1 )

......

 

Во полный скрипт но он почему-то неработает

 

 

begin a_companion

 

short sat

short button

 

if ( OnActivate == 1 )

MessageBox "Что вы хотите сделать ?", "Сказать: За мной !", "Стой тут...", "Ничего"

set stat to 1

endif

 

If ( sat == 1 )

setbutton to GetButtonPressed

if ( button == -1 )

return

elseif ( button == 0 )

Actors-> ;действие (за мной)

elseif ( button == 1 )

Actors-> ;действие стоять

else

MessageBox "Спасбо за покупку"

endif

endif

endif

endif

endif

endif

end

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

я придумал маленький скрипт

 

 

я придумал маленький скрипт

Неплохой замысел скрипта, но вот с этим будут сложности

short sat

 

if ( OnActivate == 1 )

MessageBox "Что вы хотите сделать ?", "Сказать: За мной !", "Стой тут...", "Ничего"

set stat to 1

endif

 

If ( sat == 1 )

Ты назначаешь переменную sat, а потом откуда-то появляется какая-то stat? Опечатка?

 

Но непись таким образом становится вещью, а не человеком - диалог невозможен, ведь при нажатии на пробел игрок увидит только окно с выбором действия. Жестоко. :1anim_ak:

Скопирую лучше скрипт с кого-нибудь стандартного, например с Рабины или Улайн Хеним.

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

Да неприятно же! Стоит человек, разговаривает при приближении, наконец элементарно прикрывает спину в бою, а вместо диалога - окна какие-то. Нигде в Морре этого нет.

Создается впечатление, что ты узнал хорошо скрипт с messagebox и short button на первой странице руководства, и теперь все пытаешься делать через него. :1anim_ak:

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

  • 2 недели спустя...
я придумал маленький скрипт

 

 

я придумал маленький скрипт

 

 

Вот начало

 

begin a_companion

 

short sat

 

if ( OnActivate == 1 )

MessageBox "Что вы хотите сделать ?", "Сказать: За мной !", "Стой тут...", "Ничего"

set stat to 1

endif

 

If ( sat == 1 )

......

 

Во полный скрипт но он почему-то неработает

 

 

begin a_companion

 

short sat

short button

 

if ( OnActivate == 1 )

MessageBox "Что вы хотите сделать ?", "Сказать: За мной !", "Стой тут...", "Ничего"

set stat to 1

endif

 

If ( sat == 1 )

setbutton to GetButtonPressed

if ( button == -1 )

return

elseif ( button == 0 )

Actors-> ;действие (за мной)

elseif ( button == 1 )

Actors-> ;действие стоять

else

MessageBox "Спасбо за покупку"

endif

endif

endif

endif

endif

endif

end

 

Чё-то endif-ов слишком много: для else и slseif их не надо ( ой-ой-ой укак всё запущено... ) :1anim_am:

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

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

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

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

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

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

Войти

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

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

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...