С Днём России!
  • 990
  • 7
Дорогие друзья! Поздравляю вас с Днём России! Этот праздник напоминает нам о богатой истории и культуре нашей страны, о её величии и непоколебимом духе народа! Желаю вам крепкого здоровья...
Новости Анонсирован Atomic Heart II
Новости Анонсирован ремастер Final Fantasy Tactics
  • 414
  • 1
Культовая пошаговая тактическая RPG от Square Enix получит второе дыхание. На проходящей выставке State of Play, где анонсируются игры для Play Station, состоялся анонс ремастера Final Fantasy...
Новости Моддеры Oblivion Remastered нашли способ внедрения абсолютно любых скриптов
  • 530
  • 4
Сообщество моддинга Oblivion Remastered (ORM) переживает настоящий расцвет. После долгих месяцев работы, энтузиасты научили игру работать с мощным скриптовым языком Lua, открыв перед создателями...

В процессе Перенести спавн Атилы в канализации в другое место

Divik

Паладин
Участник форума
Регистрация
21 Авг 2022
Сообщения
4.190
Реакции
1.057
Баллы
273
Лучшие ответы
29
#61
Этот диалог был сделан в возвратке/нб. В оригинале это боевик обычный которого тот же Джаспер называет никчемным псом. Помню видос от одного ютубера был, ему в коментах приводили аргументы почему Стонос канон говоря что диалоги из возвратки были и в оригинале.
Тразаг не признает, что в Возвращении этот диалог был, говорит в АБ появилось.
Стоннос то конечно из возвратки, а не ванилы. Да я тоже давно в оригинал не играл, что уже забыл, что там и как там. Хотя перепрошел ее раз двадцать в свое время, доинтернетное время, поэтому взять и скачать моды было нельзя, а на дисках первая возвратка была, на диске игрового журнала, но она была сырой, очень сложной и для меня не проходимой...и еще так же неиграбельная версия Диккурика с какого-то диска, но там я немного походил, плотно застрял с квестами, а интернета нет, гайдов нет, спросить не у кого, да и тоже сырая версия, вся в багах, вероятно, была. Если вообще этот Диккурик стал потом играбельным, а вроде проект, я слышал, забросили... поэтому оригинал, еще раз оригинал, еще раз оригинал...и так раз 20 только Готика 2 и Ночь Ворона.
Но не помню, что Джаспер говорил про Аттилу, но и не исключаю, что где-то так отзывался...
"Когда он смотрел на меня, я был рад, что он пришел не за мной" - и тут даже слышится вроде как актер озвучания посмеивается с фразы...
 

osipov_jenya

Наемник
Участник форума
Регистрация
27 Окт 2018
Сообщения
725
Реакции
612
Баллы
164
Лучшие ответы
0
#62
AI_Output(self, other, "dia_attila_quest2_start_00"); // Для нас появилась новая работёнка.
AI_Output(other, self, "dia_attila_quest2_start_01"); // Что значит НАС?
AI_Output(self, other, "dia_attila_quest2_start_02"); // Не переживай ты так. Ты проявил себя надёжным, так что я могу тебе доверять.
AI_Output(other, self, "dia_attila_quest2_start_03"); // Так что за работа?
AI_Output(self, other, "dia_attila_quest2_start_04"); // С этого и нужно было начинать. В последнее время один тип стал вставлять нам палки в колёса и нужно его проучить.
AI_Output(self, other, "dia_attila_quest2_start_05"); // Зовут его Валентино и нужно преподать ему урок.
AI_Output(other, self, "dia_attila_quest2_start_06"); // И это всё? Не думал что Гильдия Воров занимается такими делами.
AI_Output(self, other, "dia_attila_quest2_start_07"); // Нет не всё. У него при себе документ, свидетельствующий против Рамиреса. Подробности раскажу после того как мы этот документ заберём.
AI_Output(other, self, "dia_attila_quest2_start_08"); // А мне что нужно делать?
AI_Output(self, other, "dia_attila_quest2_start_09"); // Завтра в 3.50 утра нам нужно встретится за домом Боспера, будем поджидать Валентино и проучим этого червя.
AI_Output(self, other, "dia_attila_quest2_start_10"); // Но имей ввиду, времени у нас мало, так что у нас времени 40 минут на возню с ним, если задержимся то придут охранники, а мне светиться нельзя.
AI_Output(self, other, "dia_attila_quest2_start_11"); // Так что без опозданий, ну ты понимаешь последствия (улыбается)

Прелюдия для 2 квеста)
--- Добавлено: ---

Думаю буду раскручивать и дальше идею с судебными действиями против ГВ, вплоть до задействования гильдии убийц ГУ)
--- Добавлено: ---

Готово 2 квеста Атиллы
--- Добавлено: ---

Третий квест будет выкрасть документы из сейфа судьи, дадут ключ от сундука судьи.(Этот квест даст Кассия)Всё это будет в рамках серии квестов о судебных процессов против ГВ. Из документов Кассия узнаёт имя свидетеля по этому делу. Четвёртый квест нужно будет вместе с Аттилой убить свидетеля по обвинению Рамиреса. Якобы Рамирес поставляет шпаги бандитам)). Пятый квест нужно будет подкупить судью(будет 3 варианта решения. риторика-40, убить охранника судьи и тем самым запугать (либо сами,либо поручаем квест ГУ), или заплатить.
--- Добавлено: ---

по итогу к концу цепочки квестов,кассия даст нам на выбор награду. статы на выбор +5,защита на выбор +5,владение на выбор +3
 

Вложения

Последнее редактирование:

TraZag

Полубог
Команда форума
Модератор раздела
Модостроитель
Почётный пользователь
 
Участник форума
Регистрация
6 Окт 2012
Сообщения
13.193
Реакции
11.637
Баллы
1.071
Лучшие ответы
5
#63
Он бы с таким рвением лучше бы научился сам квесты писать.для этого не нужны знания программирования.я сам научился не имея никаких знания просто изучая ка написаны уже готовве квесты,путем тысяч проб и ошибок стало получатся.примитивным квестам можно научиться за пару дней,а при желании и за вечер.
--- Добавлено: ---

Идеально бы было,если бы 100 модеррв сделало бы по 10квестов каждый к конкретному нпс,хотя бы по 2 на главу,но это никто делать не будет,потому что это не пива попить))
Дорогу осилит идущий. Так держать.:muscle: Достойная смена Ликеру растет.
 

geneyroka

Гвардеец
Участник форума
Регистрация
19 Май 2018
Сообщения
1.268
Реакции
625
Баллы
197
Лучшие ответы
4
#64
Но имей ввиду, времени у нас мало, так что у нас времени 40 минут на возню с ним, если задержимся то придут охранники, а мне светиться нельзя.
Стража же...
по итогу к концу цепочки квестов,кассия даст нам на выбор награду. статы на выбор +5,защита на выбор +5,владение на выбор +3
чет жирновато
 

geneyroka

Гвардеец
Участник форума
Регистрация
19 Май 2018
Сообщения
1.268
Реакции
625
Баллы
197
Лучшие ответы
4
#66

Divik

Паладин
Участник форума
Регистрация
21 Авг 2022
Сообщения
4.190
Реакции
1.057
Баллы
273
Лучшие ответы
29
#67
За такие по объему нужности, сложности одноактные так сказать (не продолжительные по главам, например) квесты награда должна быть 50 -100 опыта и все, ну может еще 50-100 монет, не больше...ты конечно щедрый, но баланс сломается, игра не станет от таких наград интересней, только в конкретный момент исполнения, и то с репрессиями за недостаточно ревно и резво выполненный квест, скорее повлияет в худшую сторону в целом...а если таких квестов десятки наплодить, да с такими наградами, так после первой главы сразу на Ирдорат надо ехать бить Дракона-нежить - ведь перекач будет.

Конечно для таких как я, которые не киберспортсмены, может и хорошо, но и это в меру должно быть, а то слишком легко...получается не просто легкость бытия, а можно сказать примитивность всех врагов вокруг, станут сильно слабыми по отношению к ГГ, и будет он как будто бы недоростков и детишек бить. А это просто аморально :)

Награды умеренные ставь, не перманенты и не повышение любых характеристик, с учетом, что дополнительные квесты - это дополнительный опыт, а значит быстрее рост в рамках игры все равно, а это, в свою очередь, в любом случае дополнительные ЛП, и значит, опять же в любом случае, повышение характеристик. ЛП ведь на что-то будут пущены.
Лучше так. Дело твое конечно.
 

osipov_jenya

Наемник
Участник форума
Регистрация
27 Окт 2018
Сообщения
725
Реакции
612
Баллы
164
Лучшие ответы
0
#68
там квесты будут идти не олин за другим,между ними будут минимум 1 день ожидания,это не будет быстрый проходняк,тратить 2 часа на 7-10 квестов,которые я планирую,получая 1000 опыта или золота никого не заинтересуют,а получить 5ловкости или силы за это не так уж и много
--- Добавлено: ---

я думаю квесты закончатся не в 1 главе,а во 2
 

osipov_jenya

Наемник
Участник форума
Регистрация
27 Окт 2018
Сообщения
725
Реакции
612
Баллы
164
Лучшие ответы
0
#69
Третий квест готов. Банально взять предмет из сундука судьи превратился в мини экшен)
Выкладываю для ознакомления. в этом виде оно не рабочее. полный скрипт выложу уже по окончанию цепочки квестов, так как в процессе написания других квестов могут быть изменения текущих.
C++:
instance DIA_Cassia_ThiefQuest3_Start(C_Info)
{
    npc         = VLK_447_Cassia;
    condition     = DIA_Cassia_ThiefQuest3_Start_Condition;
    information = DIA_Cassia_ThiefQuest3_Start_Info;
    important     = true;
};

func int DIA_Cassia_ThiefQuest3_Start_Condition()
{
    var int daynow;
    daynow = Wld_GetDay();
    if((thiefquestday + 1 <= daynow) && (MIS_Thiefquest2 == LOG_SUCCESS))
    {
        return true;
    };
};

func void DIA_Cassia_ThiefQuest3_Start_Info()
{
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_Start_00");    //Я ждала тебя. Наш осведомитель принёс важную информацию.
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_Start_01");    //Судья Ристер завёл уголовное дело против Рамиреса и этого нельзя игнорировать.
    AI_Output(other,self,"DIA_Cassia_ThiefQuest3_Start_02");    //А в чём обвиняют Рамиреса?
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_Start_03");    //В том, что он продаёт шпаги бандитам.
    AI_Output(other,self,"DIA_Cassia_ThiefQuest3_Start_04");    //Откуда они вообще узнали про него?
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_Start_05");    //Мне пока об этом не известно, но я собираюсь это узнать.
    AI_Output(other,self,"DIA_Cassia_ThiefQuest3_Start_06");    //И как же?
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_Start_07");    //У судьи Ристера есть документы по этому делу и в них есть информация о свидетеле.
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_Start_08");    //Я предполагаю, что там есть свидетельства предательства в нашей гильдии.
    AI_Output(other,self,"DIA_Cassia_ThiefQuest3_Start_09");    //Даже так...так что мне нужно сделать?
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_Start_10");    //Тебе нужно выкрасть документы из сундука Ристера. Он спрятан в стене.
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_Start_11");    //Чтобы открыть доступ к нему, нужно использовать секретный механизм, спрятанный в какой то декорации.
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_Start_12");    //Я не знаю что это за декорация, но, надеюсь, ты сам найдёшь.
    AI_Output(other,self,"DIA_Cassia_ThiefQuest3_Start_13");    //А где мне взять ключ от сундука, если он закрыт?
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_Start_14");    //Ты же член Гильдии Воров - УКРАДИ !!!
    AI_Output(other,self,"DIA_Cassia_ThiefQuest3_Start_15");    //Действительно (смеётся)
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_Start_16");    //не трать моё время и иди займись этим.
    MIS_Thiefquest3 = LOG_Running;
    Log_CreateTopic(TOPIC_Thief_quest3,LOG_MISSION);
    Log_SetTopicStatus(TOPIC_Thief_quest3,LOG_Running);
    mil_306_tuerwache.aivar[AIV_BOSS] = TRUE;
    mil_306_tuerwache.attribute[1] += 1000;
    mil_306_tuerwache.attribute += 1000;
    B_LogEntry(TOPIC_Thief_quest3, "Кассия дала мне задание выкрасть из секретного сундука судьи Ристера документы о деле против Рамиреса, в которых указаны данные свидетеля против Рамиреса.");
    Npc_ExchangeRoutine(mil_306_tuerwache,"chest");
    Mob_CreateItems("NW_CHEST_95", itwr_richterdoc, 1);
    AI_StopProcessInfos(self);
};   

instance DIA_Cassia_ThiefQuest3_End(C_Info)
{
    npc         = VLK_447_Cassia;
    nr             = 2;
    condition     = DIA_Cassia_ThiefQuest3_End_Condition;
    information = DIA_Cassia_ThiefQuest3_End_Info;
    description = "Документы Ристера у меня.";
};

func int DIA_Cassia_ThiefQuest3_End_Condition()
{
    if((npc_hasitems(hero,itwr_richterdoc) >= 1) && (MIS_Thiefquest3 == LOG_Running))
    {
        return true;
    };
};

func void DIA_Cassia_ThiefQuest3_End_Info()
{
    AI_Output(other,self,"DIA_Cassia_ThiefQuest3_End_00");        //Документы Ристера у меня.
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_End_01");        //Дай я посмотрю.
    AI_Output(other,self,"DIA_Cassia_ThiefQuest3_End_02");        //Вот держи.
    B_UseFakeScroll();
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_End_03");        //Чёрт...это плохо.
    AI_Output(other,self,"DIA_Cassia_ThiefQuest3_End_04");        //Что такое?
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_End_05");        //К сожалению, подтвердились мои худшие опасения. Внутри нашей организации завёлся крот, который передаёт информацию ополчению.
    AI_Output(other,self,"DIA_Cassia_ThiefQuest3_End_06");        //А кто этот осведомитель?
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_End_07");        //В этих документах осознанно не указано имени, но подробности, которые в них указаны говорят о том что этот человек из нашей организации.
    AI_Output(other,self,"DIA_Cassia_ThiefQuest3_End_08");        //Меня подозреваешь?
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_End_09");        //Это точно не ты, тебя ещё не было в гильдии в то время о котором тут много написано.
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_End_10");        //И именно поэтому я могу в данный момент только тебе поручить это дело. Нужно узнать кто именно является кротом.
    AI_Output(other,self,"DIA_Cassia_ThiefQuest3_End_11");        //А как мы это узнаем? Я думаю после того как судья увидит пропажу документов, они будут на чеку.
    AI_Output(self,other,"DIA_Cassia_ThiefQuest3_End_12");        //Я подумаю над этим. Приходи ко мне завтра.
    npc_removeinvitems(hero, itwr_richterdoc, 1);
    MIS_Thiefquest3 = LOG_SUCCESS;
    if(attila_ThiefQuest3 == 2)
    {
        Vlk_494_Attila.attribute[1] += 250;
        Vlk_494_Attila.attribute += 250;
    };
    THIEF_REPUTATION += 1;
    mil_306_tuerwache.aivar[AIV_BOSS] = false;
    Vlk_494_Attila.aivar[AIV_PARTYMEMBER] = false;
    thiefquestday = Wld_GetDay();
    Log_SetTopicStatus(TOPIC_Thief_quest3,LOG_SUCCESS);
    B_CloseTopic_Now(TOPIC_Thief_quest3,MIS_Thiefquest3,0,2);
    ai_printbonus("Репутация в Гильдии Воров +1");
    B_GivePlayerXP(500);
    B_GiveInvItems(self,other, ItMi_Gold, 400);
    AI_StopProcessInfos(self);
};   

instance Mil_306_ThiefQuest3_1(C_INFO)
{
    npc         = Mil_306_Tuerwache;
    condition     = Mil_306_ThiefQuest3_1_condition;
    information = Mil_306_ThiefQuest3_1_info;
    important     = true;
};

func int Mil_306_ThiefQuest3_1_condition()
{
    if (MIS_Thiefquest3 == LOG_Running)
    {
        return TRUE;
    };
};

func void Mil_306_ThiefQuest3_1_info()
{
    AI_Output(self, other, "Mil_306_ThiefQuest3_1_00");             // Ты что тут забыл? Проваливай отсюда.
    AI_Output(self, other, "Mil_306_ThiefQuest3_1_01");             // Ещё раз увижу и ты пожалеешь об этом.
    AI_Output(other, self, "Mil_306_ThiefQuest3_1_02");             // Понял, понял. Уже ухожу
    MIS_Thiefquest3 = 2;
    B_LogEntry(TOPIC_Thief_quest3, "Охранник судьи не пускает никого в дом. Мне нужна помощь, чтобы его выманить, нужно поговорить с Аттилой.");
    AI_StopProcessInfos(self);
};

instance Mil_306_ThiefQuest3_2(C_INFO)
{
    npc         = Mil_306_Tuerwache;
    condition     = Mil_306_ThiefQuest3_2_condition;
    information = Mil_306_ThiefQuest3_2_info;
    important     = true;
    permanent     = true;
};

func int Mil_306_ThiefQuest3_2_condition()
{
    if(((MIS_Thiefquest3 == 2) || (MIS_Thiefquest3 == 3)) && (Npc_KnowsInfo(other,Mil_306_ThiefQuest3_1)) && (Npc_GetDistToWP(hero, "NW_CITY_RICHTER") <= 500))
    {
        return TRUE;
    };
};

func void Mil_306_ThiefQuest3_2_info()
{
    if((attila_ThiefQuest3 > 0) && (npc_isdoingroutine(Vlk_494_Attila, "quest3")))
    {
        AI_Output(other, self, "Mil_306_ThiefQuest3_2_00");     // (кричит Аттила) Эййй клоун, у тебя рожа похожа на задницу Ристера. Так и хочется двинуть по ней ботинком!!!
        AI_Output(self, other, "Mil_306_ThiefQuest3_2_01");     // Ах ты сосунок, сейчас посмотрим чей ботинок окажется у твоей рожи.
        AI_StopProcessInfos(self);
        attila_ThiefQuest3 = 2;
        B_Attack(Mil_306_Tuerwache,Vlk_494_Attila,AR_NONE,1);
        Npc_ExchangeRoutine(Vlk_494_Attila,"quest2");
        AI_GotoWP(Vlk_494_Attila, "NW_CITY_MERCHANT_PATH_09");
        AI_SetWalkMode(Vlk_494_Attila, NPC_RUN);
    }
    else
    {
        AI_Output(self, other, "Mil_306_ThiefQuest3_2_02");     // Я смотрю ты не понял с первого раза, ну ничего, я тебе поясню.
        AI_StopProcessInfos(self);
        B_Attack(Mil_306_Tuerwache,hero,AR_NONE,2);
    };
};

var int attila_ThiefQuest3;
    
instance dia_attila_ThiefQuest3(C_INFO)
{
    npc         = Vlk_494_Attila;
    nr             = 2;
    condition     = dia_attila_ThiefQuest3_condition;
    information = dia_attila_ThiefQuest3_info;
    permanent     = true;
    description = "Мне нужна твоя помощь.";
};

func int dia_attila_ThiefQuest3_condition()
{
    if(((MIS_Thiefquest3 == 2) || (MIS_Thiefquest3 == 3)) && (npc_isdoingroutine(Vlk_494_Attila, "quest2")))
    {
        return TRUE;
    };
};

func void dia_attila_ThiefQuest3_info()
{
    if(attila_ThiefQuest3 == 0)
    {
        AI_Output(other, self, "dia_attila_ThiefQuest3_00");     // Мне нужна твоя помощь.
        AI_Output(self, other, "dia_attila_ThiefQuest3_01");     // Рассказывай.
        AI_Output(other, self, "dia_attila_ThiefQuest3_02");     // Нужно выкрасть документы в доме судьи, но там постоянно крутится охранник. Нужно чтобы ты его отвлёк.
        AI_Output(self, other, "dia_attila_ThiefQuest3_03");     // Нет проблем, пошли.
        attila_ThiefQuest3 = 1;
        B_LogEntry(TOPIC_Thief_quest3, "Аттила поможет мне выманить охранника.");
    }
    else
    {
        AI_Output(self, other, "dia_attila_ThiefQuest3_03");     // Нет проблем, пошли.
    };
    Npc_ExchangeRoutine(self,"quest3");
    AI_StopProcessInfos(self);
};
 

osipov_jenya

Наемник
Участник форума
Регистрация
27 Окт 2018
Сообщения
725
Реакции
612
Баллы
164
Лучшие ответы
0
#70
С кода трудно понять. опишу. Документы судьи лежат в скрытом сундуки за стеной, но, охранник на этом задании стоит перед сундуком всё время и его нельзя усыпить. при подходе к нему он предупреждает что даст нам по щщам. при повторном подходе атакует нас. Когда мы поговорим с ним в первый раз, то появится подсказка в журнале, что нужно поговорить с Аттилой. Просим Аттилу помочь его выманить,он соглашается и мы идём к охраннику. Как только мы подходим к охраннику Аттила обзывает его и охранник нападает на Аттилу, который уже уходит в этот момент(никак не получается заставить его убегать) и мы спокойно грабим сундук. Относим документы Кассии.
 
Сверху Снизу