GromDron Опубликовано 16 июня, 2006 Жалоба Поделиться Опубликовано 16 июня, 2006 Мне нужно 3 скрипта на компаньена (человека (нпс)) и на компаньена кричера и еще на человека который будет их продовать. Ссылка на комментарий Поделиться на другие сайты Поделиться
LofZ Опубликовано 16 июня, 2006 Жалоба Поделиться Опубликовано 16 июня, 2006 Здесь легче всего с журнальньми индексами совместить. Для людей - с трибуналовского чувака скопируй. (компаньоны - то есть те, с кем можно делить вещи, это только с Трибуналом) как он ходит, ждет или там и как делится вещами. Для кричера - тот же скрипт, но самому объекту убери агрессивность. А для продавца создай небольшой диалог с журнальной записью. Скажем, гритинг - ты хочешь нанять телохранителя? Тема - нанять телохранителя. На нее он объясняет, как это сделать, сколько стоит какой, и все такое. Лучше создать темы соотвественно именам нанимаемым. В этих темах продавец рассказывает о них.А в результате пишешь choice "нанять такого-то" 1 "отмена" 2. Затем создаешь варианты ответов для трех случаев - отказ, нанять и выбрано нанять, но денег нет. При удачном исходе для такого-то компаньона пишешь в результате journal "aa_companions" № А у компаньона в скрипте должно быть добавление, что по такому-то журнальному индексу он начинает компаньонствовать. Подходишь к компаньону. А у него в гритинге в привествии должна быть тема, ну хоть та же "нанять телохранителя". На теме также вариатны ответа. В варианте ответа, после которого он начинает идти за тобой, поставь условием Journal "aa_companions" № (когда купил) Для твари можно у продавца создать про нее тему - "дать команду"в гритинге написать что-нибудь вроде "гаф-гаф!". Ведь, если у животного нет гритинга, диалог невозможен. Когда у твари появится тема "дать команду", прописать на нее варианты команд.Не забыть потом для продавца в случае найма или смерти ( условие dead == 1) компаньона поставить в этих именных темах по этому поводу соотвествующие слова.За подробностями по диалогам см. руководство или урок lord Alex про гуся. Ссылка на комментарий Поделиться на другие сайты Поделиться
GromDron Опубликовано 17 июня, 2006 Автор Жалоба Поделиться Опубликовано 17 июня, 2006 что-то я неврубился Ссылка на комментарий Поделиться на другие сайты Поделиться
LofZ Опубликовано 19 июня, 2006 Жалоба Поделиться Опубликовано 19 июня, 2006 Да, объяснила плохо. Я сама с Трибуналом не работаю, предпочитаю 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 (условие - отсутствует): ну да, ты можешь меня {нанять}. Поговори с продавцом. Вроде так. Еще для него нужно написать диалог, чтобы он мог подождать игрока где-нибудь, а то неудобно. Ссылка на комментарий Поделиться на другие сайты Поделиться
LofZ Опубликовано 19 июня, 2006 Жалоба Поделиться Опубликовано 19 июня, 2006 greeting : (условие journal "sdelka" == 2): Мне идти с тобой или {подождать}? topic: Ну так как мне быть? choice "Жди здесь" 1 "Иди за мной" 2 1 - Только не уходи надолго.result Aiwander (координаты какие-то)goodbye2 - Иду-иду. С тварью будет немного сложно. Если это животное, оно же не может говриить слова, правильно? Поэтому продавцу для кричера следует написать топик "дать команду", а твари - гритинг, чтобы диалог был возможен и topic "дать команду"choice "Сидеть" 1 "Рядом!" 2 1 - гаф.result Aiwander (координаты какие-то)goodbye2 - гаф-гаф! ;) Ссылка на комментарий Поделиться на другие сайты Поделиться
GromDron Опубликовано 19 июня, 2006 Автор Жалоба Поделиться Опубликовано 19 июня, 2006 спасибо, понял Ссылка на комментарий Поделиться на другие сайты Поделиться
LofZ Опубликовано 19 июня, 2006 Жалоба Поделиться Опубликовано 19 июня, 2006 ну, хорошо :1anim_ab: Но, возможно, для надежности следует продублировать те же вещи в виде скрипта для компаньона. if ( GetJournalIndex "sdelka" >= 1 )AiFollow, Player (координаты)endifА то я тут столкнулась с тем, что команды в результатах диалога срабатывают через раз. Так и не поняла, почему при обычной aifollow 0 0 0 0 0 у меня непись то шел за мной, то начинал... вращаться вокруг своей оси, то никак не реагировал, а один раз игра вылетела... :1anim_ac: Ссылка на комментарий Поделиться на другие сайты Поделиться
GromDron Опубликовано 19 июня, 2006 Автор Жалоба Поделиться Опубликовано 19 июня, 2006 я придумал маленький скрипт я придумал маленький скрипт Вот начало begin a_companion short sat if ( OnActivate == 1 ) MessageBox "Что вы хотите сделать ?", "Сказать: За мной !", "Стой тут...", "Ничего" set stat to 1endif If ( sat == 1 )...... Во полный скрипт но он почему-то неработает begin a_companion short satshort button if ( OnActivate == 1 )MessageBox "Что вы хотите сделать ?", "Сказать: За мной !", "Стой тут...", "Ничего"set stat to 1endif If ( sat == 1 ) setbutton to GetButtonPressed if ( button == -1 ) return elseif ( button == 0 ) Actors-> ;действие (за мной) elseif ( button == 1 ) Actors-> ;действие стоять else MessageBox "Спасбо за покупку" endif endif endif endifendifendifend Ссылка на комментарий Поделиться на другие сайты Поделиться
LofZ Опубликовано 19 июня, 2006 Жалоба Поделиться Опубликовано 19 июня, 2006 я придумал маленький скрипт я придумал маленький скриптНеплохой замысел скрипта, но вот с этим будут сложности short sat if ( OnActivate == 1 ) MessageBox "Что вы хотите сделать ?", "Сказать: За мной !", "Стой тут...", "Ничего" set stat to 1endif If ( sat == 1 )Ты назначаешь переменную sat, а потом откуда-то появляется какая-то stat? Опечатка? Но непись таким образом становится вещью, а не человеком - диалог невозможен, ведь при нажатии на пробел игрок увидит только окно с выбором действия. Жестоко. :1anim_ak:Скопирую лучше скрипт с кого-нибудь стандартного, например с Рабины или Улайн Хеним. Ссылка на комментарий Поделиться на другие сайты Поделиться
GromDron Опубликовано 19 июня, 2006 Автор Жалоба Поделиться Опубликовано 19 июня, 2006 когда вещь это интереснее ты же небудешь обоащаться с рабами как с президентом. Ссылка на комментарий Поделиться на другие сайты Поделиться
LofZ Опубликовано 20 июня, 2006 Жалоба Поделиться Опубликовано 20 июня, 2006 Да неприятно же! Стоит человек, разговаривает при приближении, наконец элементарно прикрывает спину в бою, а вместо диалога - окна какие-то. Нигде в Морре этого нет. Создается впечатление, что ты узнал хорошо скрипт с messagebox и short button на первой странице руководства, и теперь все пытаешься делать через него. :1anim_ak: Ссылка на комментарий Поделиться на другие сайты Поделиться
GromDron Опубликовано 20 июня, 2006 Автор Жалоба Поделиться Опубликовано 20 июня, 2006 все сделал, через диалог. Ссылка на комментарий Поделиться на другие сайты Поделиться
UraXa Опубликовано 4 июля, 2006 Жалоба Поделиться Опубликовано 4 июля, 2006 я придумал маленький скрипт я придумал маленький скрипт Вот начало begin a_companion short sat if ( OnActivate == 1 ) MessageBox "Что вы хотите сделать ?", "Сказать: За мной !", "Стой тут...", "Ничего" set stat to 1endif If ( sat == 1 )...... Во полный скрипт но он почему-то неработает begin a_companion short satshort button if ( OnActivate == 1 )MessageBox "Что вы хотите сделать ?", "Сказать: За мной !", "Стой тут...", "Ничего"set stat to 1endif If ( sat == 1 ) setbutton to GetButtonPressed if ( button == -1 ) return elseif ( button == 0 ) Actors-> ;действие (за мной) elseif ( button == 1 ) Actors-> ;действие стоять else MessageBox "Спасбо за покупку" endif endif endif endifendifendifend Чё-то endif-ов слишком много: для else и slseif их не надо ( ой-ой-ой укак всё запущено... ) :1anim_am: Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти