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

Набор скриптов будит пополняться


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

Получение профессий

 

hercules путь к скрипту /hercules-master/npc/re/jobs/1-1/acolyte.txt

Скрытый текст

 

prt_church,184,41,4    script    Священник#aco    1_M_PASTOR,{
    set $@npcnames$,"[^BC7F15Святой отец^000000]";
    if (Upper == 1) {
        if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) {
            if (Class == Job_Novice_High) {
                mes $@npcnames$;
                mes "Ох, Я чувствую, что вы пережили";
                mes "опыт прошлой жизни. Вы должны били узнать много вещей, перед тем как войти в Valhalla.";
                next;
                if (getskilllv("NV_BASIC") < 9) {
                    mes $@npcnames$;
                    mes "К сожалению, я не считаю, что вы готовы стать Послушником. Пожалуйста возвращайся когда ты закончишь своё обучение, ^4A4AFF10 Уровнь Джоба^000000. И изучишь все ^4A4AFFБазовые Навыки, они должны быть 9 Уровня^000000.";
                    next;
                    mes $@npcnames$;
                    mes "Я буду ждать тебя,";
                    mes "в тоже время, и на";
                    mes "том же месте, пока";
                    mes "ты не будишь готов.";
                    mes "Да будит с тобой Господь.";
                    close;
                }
                mes $@npcnames$;
                mes "Чтож, приветствую тебя сын мой,";
                mes "вернувшийся из Valhalla и";
                mes "желаю тебе удачи в твоих,";
                mes "новых жизненых приключениях.";
                mes "Да благославит тебя Господь.";
                next;
                skill 143,0,0;
                jobchange Job_Acolyte_High;
                skill 156,1,0;
                mes $@npcnames$;
                mes "Теперь, наберись отваги и посмотри вокруг, возможно кому-то нужна твоя помощь. Пусть Бог осветит твой путь.";
                close;
            }
            else {
                mes $@npcnames$;
                mes "Теперь, отправляйся искать людей, тех, которые нуждается в твоей помощи. Пусть Бог осветит твой путь.";
                close;
            }
        }
        else {
            mes $@npcnames$;
            mes "Я чувствую, что вы пережили опыт прошлой жизни. Вы должны били узнать много вещей, перед тем как войти в Valhalla.";
            next;
            mes $@npcnames$;
            mes "И тем не менее, я скажу тебе, что ты не подходишь, на звание быть Послушником. Пожалуйста, помни, кем ты был в прошлой жизни, и постарайся найти свой путь.";
            close;
        }
    }
    mes $@npcnames$;
    mes "Приветствую тебя сын мой. Что ты тут ищешь?";
    next;
    switch(select("Отче, я хочу быть Послушником:Каковы ваши требованиява?:Нет, просто осматриваюсь.")) {
    case 1:
        mes $@npcnames$;
        if (BaseJob == Job_Acolyte) {
            mes "ты сегодня вообще здоров? По твоему одеянию, я могу сказать тебе, что ты уже Послушник. Или ты издиваешься надо мной!!!?";
            close;
        }
        else if (BaseJob != Job_Novice) {
            mes "Извини, но мы рассматриваем только новичков в качестве кандидатов на профессию Послушника.";
            close;
        }
        if (job_acolyte_q == 0) {
            mes "Ты и в самом деле желаешь";
            mes "стать слугой Господа Бога*";
            next;
            if (select("Да, святой отец, желаю.:Нет, я солгал.") == 1) {
                mes $@npcnames$;
                mes "Хорошо " + strcharinfo(0) + ", я принимаю твоё желание стать Послушником. Ты же понимаешь, что должен будишь подвергнуться епитимии, прежде чем станешь слугой Господа, Да?";
                next;
                mes $@npcnames$;
                mes "Ну что ж, я поручаю тебе миссию...";
                switch(rand(3)) {
                default:
                    job_acolyte_q = 2;
                    mes "Пожалуйста, навести ^000077отца Rubalkabara^000000, члена Пронтерского прихода, и возвратись обратно ко мне. Он ведёт отшельнический образ жизни в ^000077руинах на северо-востоке от Пронтеры.^000000.";
                    setquest 1001;
                    break;
                case 1:
                    job_acolyte_q = 3;
                    mes "Пожалуйста, посети ^000077Мать Mathilda^000000 и потом вернись ео мне. Она ведёт отшельнический образ жизни в ^000077городе Морроке, это на юго-западе от города Пронтеры^000000.";
                    setquest 1002;
                    break;
                case 2:
                    job_acolyte_q = 4;
                    mes "Пожалуйста, навести ^000077отца Yosuke^000000 и возвращайся сюда. Он ведёт отшельнический образ жизни ^000077возле моста, где-то на северо-западе от Пронтеры^000000.";
                    setquest 1003;
                    break;
                }
                next;
                mes $@npcnames$;
                mes "Пусть благодать Божия, да осветит твой путь, и да поможет тебе Господь в твоём путешествии за паломничеством.";
                close;
            }
            mes $@npcnames$;
            mes "Ты солгал? Это не очень хорошо,";
            mes "но хорошо то, что ты признал свой";
            mes "грех, и думаю осознал свой поступок";
            mes "Иди с миром, сын мой...";
            close;
        }
        mes "Ого, ты вернулся уже. Давай ка проверим, готов ли ты служить Господу. И так...";
        next;
        mes $@npcnames$;
        if (getskilllv("NV_BASIC") < 9) {
            mes "О Боже! Так ты ещё не завершил начальную подготовку? Тебе срочно необходимо закончить её!";
            next;
            mes $@npcnames$;
            mes "Тебе нужно больше тренироваться! Возвращайся и убедись, что ты получил ^4A4AFF10 Уровнь Джоба^000000. И изучил все ^4A4AFFБазовые Навыки, они должны быть 9 Уровня^000000.";
            close;
        }
        if (job_acolyte_q < 5) {
            mes "А? Я не вижу твоего имени в Регистрационном бланке.";
            next;
            switch(job_acolyte_q) {
            case 2:
                mes $@npcnames$;
                mes "Пожалуйста, навести ^000077отца Rubalkabara^000000, члена Пронтерского прихода, и возвратись обратно ко мне.";
                next;
                mes $@npcnames$;
                mes "Он ведёт отшельнический образ жизни в ^000077руинах на северо-востоке от Пронтеры.^000000.";
                break;
            case 3:
                mes $@npcnames$;
                mes "Пожалуйста, посети ^000077Мать Mathilda^000000 и потом вернись ео мне.";
                next;
                mes $@npcnames$;
                mes "Она ведёт отшельнический образ жизни в ^000077городе Морроке, это на юго-западе от города Пронтеры^000000.";
                break;
            case 4:
                mes $@npcnames$;
                mes "Пожалуйста, навести ^000077отца Yosuke^000000 и возвращайся сюда.";
                next;
                mes $@npcnames$;
                mes "Он ведёт отшельнический образ жизни ^000077возле моста, где-то на северо-западе от Пронтеры^000000.";
                break;
            }
            next;
            mes $@npcnames$;
            mes "Милость Божия да осветит твой путь и да поможет тебе в паломничестве.";
            close;
        }
        mes "Хмм...";
        mes "Твоё имя есть в списке, ты доказал свою готовность.";
        next;
        mes $@npcnames$;
        mes "И я с гордостью подтверждаю, что теперь ты готов стать Послушником!";
        next;
        skill 143,0,0;
        callfunc "Job_Change",Job_Acolyte;
        callfunc "F_ClearJobVar";
        if (questprogress(1001)) {
            completequest 1001;
        }
        else if (questprogress(1002)) {
            completequest 1002;
        }
        else {
            completequest 1003;
        }
        mes $@npcnames$;
        mes "Никогда не забывай благодарить Бога, который всё время заботится о нас.";
        next;
        mes $@npcnames$;
        mes "Всегда используй свой дар, чтобы служить Ему, помогая и другим. В трудные времена Хаоса встречай невзгоды с непоколебимой верой.";
        next;
        mes $@npcnames$;
        mes "Наконец, я хочу искренне поздравить тебя с плодами, которые принесло твоё упорство, проявленное в ходе паломничества.";
        close;
    case 2:
        mes $@npcnames$;
        mes "Если ты надумал стать Послушником, то тогда ты должен выполнить 2 требования.";
        next;
        mes $@npcnames$;
        mes "Во-первых, ты должен изучить ^4A4AFF9 Уровней Джоба^000000 новечка, и изучить все ^4A4AFFБазовые Умения^000000. Во-вторых, тебе придётся пройти небольшое испытание.";
        next;
        mes $@npcnames$;
        if (job_acolyte_q != 0) {
            switch(job_acolyte_q) {
            case 2:
                mes "Пожалуйста, навести ^000077отца Rubalkabara^000000, члена Пронтерского прихода, и возвратись обратно ко мне.";
                next;
                mes $@npcnames$;
                mes "Он ведёт отшельнический образ жизни в ^000077руинах на северо-востоке от Пронтеры.^000000.";
                break;
            case 3:
                mes "Пожалуйста, навести ^000077Мать Mathilda^000000 and return here to me.";
                next;
                mes $@npcnames$;
                mes "She has been practicing asceticism near ^000077Morroc, located to the SouthWest of Prontera City^000000.";
                break;
            default:
                mes "Пожалуйста, посети ^000077отца Yosuke^000000 и возвращайся сюда.";
                next;
                mes $@npcnames$;
                mes "Он ведёт отшельнический образ жизни ^000077возле моста, где-то на северо-западе от Пронтеры^000000.";
                break;
            }
            next;
            mes $@npcnames$;
            mes "Милость Божия да осветит твой путь и да поможет тебе в паломничестве.";
        }
        else {
            mes "Пункт назначения твоего паломничеста оприделится, как только ты запланируешь подавать анкету.";
        }
        next;
        mes $@npcnames$;
        mes "Пожалуйста, возвращайся как только ты выполнишь 2 этих требования, о которых я только что тебе говорил. Если ты искренне желаешь служить Господу и ближнему своему, то ты сумеешь это сделать.";
        close;
    case 3:
            mes $@npcnames$;
            mes "Да прибудет с тобой благославение Одина!";
        close;
    }
}

prt_fild03,365,255,2    script    Отшельник#aco    4_M_ORIENT02,{
    set $@npcnames$,"[^BC7F15Отец Rubalkabara^000000]";
    mes $@npcnames$;
    if (BaseJob == Job_Novice) {
        if (job_acolyte_q == 6) {
            mes "Пожалуйста, береги себя. В Церкви Пронтеры будут знать о том, что мы с тобою здесь встретились, как только ты вернёшься туда.";
            next;
            mes $@npcnames$;
            mes "Я уже послал СМС-ку, пока что отчёт о доставке не пришёл, но думаю это временно. Пока ты дойдёшь до Церкви всё будит тип-топ!... Я тебе это гарантирую.";
            close;
        }
        if (job_acolyte_q != 0) {
            if (job_acolyte_q == 2) {
                mes "О...? Ты, видимо один из тех, кто стремится стать Послушником. Меня уже уведомили о том, что ты можешь придти.";
                next;
                mes $@npcnames$;
                mes "И так, Тебя зовут " + strcharinfo(0) + ", всё правильно? Превосходно, спасибо, что навестил меня.";
                next;
                mes $@npcnames$;
                mes "Уверен что Святой отец не мало рассказал тебе о профессии Послушника. Плюс ко всему, в Церкви Пронтеры всегда хватает желающих помочь.";
                next;
                mes $@npcnames$;
                mes "Так что, полагаю, мне нет нужды учить тебя чему бы то ни было. К тому же люди твоего поколения обычно не горят желанием выслушивать разглагольствования старикашки вроде меня. Хе-хе-хе~";
                next;
                mes $@npcnames$;
                mes "И всё же, уроки могут быть даны в местах, где ты меньше всего этого ожидаешь. Бог любит учить своих детей неожиданными способностями. Ты ещё убедишься в этом.";
                next;
                mes $@npcnames$;
                mes "Короче, я пошлю СМС-ку о том, что ты меня встретил. Ты можешь возвращаться в Церковь Пронтеры.";
                next;
                mes $@npcnames$;
                mes "Прощай.";
                close2;
                savepoint "prt_fild03",361,255;
                job_acolyte_q = 6;
                end;
            }
            else {
                mes "Эй, ты там.";
                mes "Кто бы ты ни был,";
                mes "выглядишь как претендент";
                mes "на звание Послушника. Я прав?";
                mes "Ну давай ка поглядим что у нас тут...";
                next;
                mes $@npcnames$;
                mes "Твоё имя ведь " + strcharinfo(0) + "?";
                mes "Всё правильно? Но как нистранно тебя нет";
                mes "в моём списке, Хмм.м...";
                next;
                mes $@npcnames$;
                mes "Почему бы тебе не вернуться обратно в Церковь Пронтеры и хорошенько всё там проверить, возможно ты где-то допустил ошибку.";
                close;
            }
        }
        else {
            mes "А? Что привело тебя сюда? Для новичка вроде тебя, это довольно опасное место!";
            close;
        }
    }
    else if (BaseJob == Job_Acolyte) callfunc "F_FatherRub";
    else {
        if (BaseJob == Job_Priest) {
            mes "Приветствую.";
            next;
            mes $@npcnames$;
            mes "Добро пожаловать в Храм. Чувствуй себя как дома, присаживайся, и мы вместе поразмышляем над посланиями Господа. Это место прекрасно даже при том, что опасность здесь идёт рука об руку с ощющением безмятежности...";
            close;
        }
        else {
            mes "Приветствую.";
            mes "А? Что привело тебя сюда? Для новичка вроде тебя, это довольно опасное место!";
            next;
            mes $@npcnames$;
            mes "Пожалуйста, позаботься о себе. Монстры в этом месте отвратительно сильны, вопреки ихниму милыму виду.";
            close;
        }
    }
}

moc_fild07,41,355,4    script    Отшельница#2aco    4_F_SISTER,{
    set $@npcnames$,"[^BC7F15Мать Mathilda^000000]";
    mes $@npcnames$;
    if (BaseJob == Job_Novice) {
        if (job_acolyte_q == 7) {
            mes "Я послала уже почтового голубя в Церковь Пронтеры. Когда ты вернёшься, священник уже получит мою записку.";
            next;
            mes $@npcnames$;
            mes "Я буду за тебя молиться Богу и надеятсья, что ты вскоре сташенешь Послушником.";
            close;
        }
        if (job_acolyte_q != 0) {
            if (job_acolyte_q == 3) {
                mes "Ах, ты, должно быть, один из притендентов на звание Послушника Я рада приветствовать тебя здесь.";
                next;
                mes $@npcnames$;
                mes "Как тебя зовут? " + strcharinfo(0) + "? Ну-ка... А-а-а да, ты есть в моём списке.";
                next;
                mes $@npcnames$;
                mes "Я отошлю сообщением в Церковь, подтверждающее, что ты, " + strcharinfo(0) + ", нашёл меня и успешно преодолел это испытание.";
                next;
                mes $@npcnames$;
                mes "Пожалуйста возвращайся в Церковь Пронтеры и поговори со священником ещё раз, к которому ты подходил ранее.";
                close2;
                savepoint "moc_fild07",35,355;
                job_acolyte_q = 7;
                end;
            }
            else {
                mes "Аа-а-а...!";
                mes "Ты, должно быть, один из";
                mes "Претендентов На звание Послушника.";
                mes "Я сердечно приветствую тебя.";
                next;
                mes $@npcnames$;
                mes "Как, говоришь тебя зовут?";
                mes "" + strcharinfo(0) + "? А ну-ка, посмотрим...";
                next;
                mes $@npcnames$;
                mes "Хммм-м...";
                mes "Похоже, тебя нет";
                mes "в моих записях...";
                next;
                mes $@npcnames$;
                mes "Возможно, тебе стоит вернутся в Церковь Пронтеры и получше разузнать, где твоё место назначение паломничества.";
                close;
            }
        }
        else {
            mes "...";
            next;
            mes $@npcnames$;
            mes "Ты ведь новичок, тебе надо в Церковь в городе Пронтера.";
            next;
            mes $@npcnames$;
            mes "А сейчас я занята, так что топай обратно в город!";
            close;
        }
    }
    else if (BaseJob == Job_Acolyte) callfunc "F_MotherMart";
    else {
        if (BaseJob == Job_Priest) {
            mes "Эй, привет~";
            next;
            mes $@npcnames$;
            mes "Ну, как продвигаются твои знания? Разумеется, и я надеюсь, что ты счастливо живёшь в милости Божией.";
            close;
        }
        else {
            mes "О!, Мой Бог";
            mes "да прибудит он с тобой...";
            close;
        }
    }
}

prt_fild00,208,218,6    script    Отшельник#3aco    4W_M_02,{
    set $@npcnames$,"[^BC7F15Отец Yosuke^000000]";
    mes $@npcnames$;
    if (BaseJob == Job_Novice) {
        if (job_acolyte_q == 8) {
            mes "Чего тебе ещё надо?";
            next;
            mes $@npcnames$;
            mes "У тебя есть ещё какое-то дело ко мне!? НЕТ? Ну вот и ступай себе обратно в Церковь!";
            close;
        }
        if (job_acolyte_q != 0) {
            if (job_acolyte_q == 4) {
                mes "Эй, ты там.";
                mes "Кто бы ты ни был,";
                mes "выглядишь как претендент";
                mes "на звание Послушника.";
                mes "Верно?";
                next;
                mes $@npcnames$;
                mes "Неплохо, неплохо Ты выдержал испытание очень неплохо.";
                mes "Как говоришь тебя зовут? " + strcharinfo(0) + ", да? Ну, чего молчишь, как партизан на допросе?";
                next;
                mes $@npcnames$;
                mes "" + strcharinfo(0) + ", Хех? ты уверен? Сейчас я гляну список...Да, точно есть такой!";
                next;
                mes $@npcnames$;
                mes "Ладно уж, пошлю я записочку в Церковь, скажу что ты " + strcharinfo(0) + ", дошёл таки и навестил меня.";
                next;
                mes $@npcnames$;
                mes "Давай, дитя, возвращайся обратно в Церковь и заканчивай с формальностями принятия тебя в Послушники.";
                close2;
                savepoint "prt_fild00",206,230;
                job_acolyte_q = 8;
                end;
            }
            else {
                mes "Эх-Хей...";
                mes "Ты у нас кандидат в Послушники?";
                mes "Ну ты вообще, молодец дитя, такую дорогу проделал. Прямо с Пронтеры идёшь, верно? Ладно, как там тебя?";
                next;
                mes $@npcnames$;
                mes "" + strcharinfo(0) + ", Да? Ну и почему я не вижу тебя в своих записях?";
                next;
                mes $@npcnames$;
                mes "Небось ошибочка вышла, малыш. Давай шагай обратно в Церковь,";
                next;
                mes $@npcnames$;
                mes "и поговори ещё разок со священником, куда он тебя там послал на самом деле.";
                close;
            }
        }
        else {
            mes "Так...";
            mes "Новенький-готовенький.";
            mes "Интересно, и что же";
            mes "ты мне хотел такого важного сообщить?";
            close;
        }
    }
    else if (BaseJob == Job_Acolyte) callfunc "F_FatherYos";
    else {
        if (BaseJob == Job_Priest) {
            mes "Брат мой...";
            next;
            mes $@npcnames$;
            mes "Если ты желаешь, то присаживайся рядом со мной, и мы в месте будем размышлять над великими истинами и могуществом величия Господня...";
            close;
        }
        else {
            mes "У тебя есть какое-то дело ко мне!? НЕТ?";
            mes "Ну вот и у меня нет никаких ответов для тебя!.";
            close;
        }
    }
}

 

 

rAthena путь к скрипту /trunk/npc/re/jobs/1-1/acolyte.txt

ВНИМАНИЕ

скрипты мало чем отличаются, друг от друга, но разница есть, не путайтесь между hA и rA!

Скрытый текст

 

prt_church,184,41,4    script    Священник#aco    60,{
    set $@npcnames$,"[^BC7F15Святой отец^000000]";
    if (Upper == 1) {
        if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) {
            if (Class == Job_Novice_High) {
                mes $@npcnames$;
                mes "Ох, Я чувствую, что вы пережили";
                mes "опыт прошлой жизни. Вы должны били узнать много вещей, перед тем как войти в Valhalla.";
                next;
                if (getskilllv("NV_BASIC") < 9) {
                    mes $@npcnames$;
                    mes "К сожалению, я не считаю, что вы готовы стать Послушником. Пожалуйста возвращайся когда ты закончишь своё обучение, ^4A4AFF10 Уровнь Джоба^000000. И изучишь все ^4A4AFFБазовые Навыки, они должны быть 9 Уровня^000000.";
                    next;
                    mes $@npcnames$;
                    mes "Я буду ждать тебя,";
                    mes "в тоже время, и на";
                    mes "том же месте, пока";
                    mes "ты не будишь готов.";
                    mes "Да будит с тобой Господь.";
                    close;
                }
                mes $@npcnames$;
                mes "Чтож, приветствую тебя сын мой,";
                mes "вернувшийся из Valhalla и";
                mes "желаю тебе удачи в твоих,";
                mes "новых жизненых приключениях.";
                mes "Да благославит тебя Господь.";
                next;
                skill "NV_TRICKDEAD",0,SKILL_PERM;
                jobchange Job_Acolyte_High;
                skill "AL_HOLYLIGHT",1,SKILL_PERM;
                mes $@npcnames$;
                mes "Теперь, наберись отваги и посмотри вокруг, возможно кому-то нужна твоя помощь. Пусть Бог осветит твой путь.";
                close;
            }
            else {
                mes $@npcnames$;
                mes "Теперь, отправляйся искать людей, тех, которые нуждается в твоей помощи. Пусть Бог осветит твой путь.";
                close;
            }
        }
        else {
            mes $@npcnames$;
            mes "Я чувствую, что вы пережили опыт прошлой жизни. Вы должны били узнать много вещей, перед тем как войти в Valhalla.";
            next;
            mes $@npcnames$;
            mes "И тем не менее, я скажу тебе, что ты не подходишь, на звание быть Послушником. Пожалуйста, помни, кем ты был в прошлой жизни, и постарайся найти свой путь.";
            close;
        }
    }
    mes $@npcnames$;
    mes "Приветствую тебя сын мой. Что ты тут ищешь?";
    next;
    switch(select("Отче, я хочу быть Послушником:Каковы ваши требованиява?:Нет, просто осматриваюсь.")) {
    case 1:
        mes $@npcnames$;
        if (BaseJob == Job_Acolyte) {
            mes "ты сегодня вообще здоров? По твоему одеянию, я могу сказать тебе, что ты уже Послушник. Или ты издиваешься надо мной!!!?";
            close;
        }
        else if (BaseJob != Job_Novice) {
            mes "Извини, но мы рассматриваем только новичков в качестве кандидатов на профессию Послушника.";
            close;
        }
        if (job_acolyte_q == 0) {
            mes "Ты и в самом деле желаешь";
            mes "стать слугой Господа Бога*";
            next;
            if (select("Да, святой отец, желаю.:Нет, я солгал.") == 1) {
                mes $@npcnames$;
                mes "Хорошо " + strcharinfo(0) + ", я принимаю твоё желание стать Послушником. Ты же понимаешь, что должен будишь подвергнуться епитимии, прежде чем станешь слугой Господа, Да?";
                next;
                mes $@npcnames$;
                mes "Ну что ж, я поручаю тебе миссию...";
                    switch(rand(3)) {
                default:
                    set job_acolyte_q,2;
                    mes "Пожалуйста, навести ^000077отца Rubalkabara^000000, члена Пронтерского прихода, и возвратись обратно ко мне. Он ведёт отшельнический образ жизни в ^000077руинах на северо-востоке от Пронтеры.^000000.";
                    setquest 1001;
                    break;
                case 1:
                    set job_acolyte_q,3;
                    mes "Пожалуйста, посети ^000077Мать Mathilda^000000 и потом вернись ео мне. Она ведёт отшельнический образ жизни в ^000077городе Морроке, это на юго-западе от города Пронтеры^000000.";
                    setquest 1002;
                    break;
                case 2:
                    set job_acolyte_q,4;
                    mes "Пожалуйста, навести ^000077отца Yosuke^000000 и возвращайся сюда. Он ведёт отшельнический образ жизни ^000077возле моста, где-то на северо-западе от Пронтеры^000000.";
                    setquest 1003;
                    break;
                }
                next;
                mes $@npcnames$;
                mes "Пусть благодать Божия, да осветит твой путь, и да поможет тебе Господь в твоём путешествии за паломничеством.";
                close;
            }
            mes $@npcnames$;
            mes "Ты солгал? Это не очень хорошо,";
            mes "но хорошо то, что ты признал свой";
            mes "грех, и думаю осознал свой поступок";
            mes "Иди с миром, сын мой...";
            close;
        }
        mes "Ого, ты вернулся уже. Давай ка проверим, готов ли ты служить Господу. И так...";
        next;
        mes $@npcnames$;
        if (getskilllv("NV_BASIC") < 9) {
            mes "О Боже! Так ты ещё не завершил начальную подготовку? Тебе срочно необходимо закончить её!";
            next;
            mes $@npcnames$;
            mes "Тебе нужно больше тренироваться! Возвращайся и убедись, что ты получил ^4A4AFF10 Уровнь Джоба^000000. И изучил все ^4A4AFFБазовые Навыки, они должны быть 9 Уровня^000000.";
            close;
        }
        if (job_acolyte_q < 5) {
            mes "А? Я не вижу твоего имени в Регистрационном бланке.";
            next;
            switch(job_acolyte_q) {
            case 2:
                mes $@npcnames$;
                mes "Пожалуйста, навести ^000077отца Rubalkabara^000000, члена Пронтерского прихода, и возвратись обратно ко мне.";
                next;
                mes $@npcnames$;
                mes "Он ведёт отшельнический образ жизни в ^000077руинах на северо-востоке от Пронтеры.^000000.";
                break;
            case 3:
                mes $@npcnames$;
                mes "Пожалуйста, посети ^000077Мать Mathilda^000000 и потом вернись ео мне.";
                next;
                mes $@npcnames$;
                mes "Она ведёт отшельнический образ жизни в ^000077городе Морроке, это на юго-западе от города Пронтеры^000000.";
                break;
            case 4:
                mes $@npcnames$;
                mes "Пожалуйста, навести ^000077отца Yosuke^000000 и возвращайся сюда.";
                next;
                mes $@npcnames$;
                mes "Он ведёт отшельнический образ жизни ^000077возле моста, где-то на северо-западе от Пронтеры^000000.";
                break;
            }
            next;
            mes $@npcnames$;
            mes "Милость Божия да осветит твой путь и да поможет тебе в паломничестве.";
            close;
        }
        mes "Хмм...";
        mes "Твоё имя есть в списке, ты доказал свою готовность.";
        next;
        mes $@npcnames$;
        mes "И я с гордостью подтверждаю, что теперь ты готов стать Послушником!";
        next;
        skill "NV_TRICKDEAD",0,SKILL_PERM;
        callfunc "Job_Change",Job_Acolyte;
        callfunc "F_ClearJobVar";
        if(checkquest(1001) != -1) {
            completequest 1001;
        }
        else if(checkquest(1002) != -1) {
            completequest 1002;
        }
        else {
            completequest 1003;
        }
        mes $@npcnames$;
        mes "Никогда не забывай благодарить Бога, который всё время заботится о нас.";
        next;
        mes $@npcnames$;
        mes "Всегда используй свой дар, чтобы служить Ему, помогая и другим. В трудные времена Хаоса встречай невзгоды с непоколебимой верой.";
        next;
        mes $@npcnames$;
        mes "Наконец, я хочу искренне поздравить тебя с плодами, которые принесло твоё упорство, проявленное в ходе паломничества.";
        close;
    case 2:
        mes $@npcnames$;
        mes "Если ты надумал стать Послушником, то тогда ты должен выполнить 2 требования.";
        next;
        mes $@npcnames$;
        mes "Во-первых, ты должен изучить 9 Уровней Джоба новечка, и изучить все Базовые Умения. Во-вторых, тебе придётся пройти небольшое испытание.";
        next;
        mes $@npcnames$;
        if (job_acolyte_q != 0) {
            switch(job_acolyte_q) {
            case 2:
                mes "Пожалуйста, навести ^000077отца Rubalkabara^000000, члена Пронтерского прихода, и возвратись обратно ко мне.";
                next;
                mes $@npcnames$;
                mes "Он ведёт отшельнический образ жизни в ^000077руинах на северо-востоке от Пронтеры.^000000.";
                break;
            case 3:
                mes "Пожалуйста, навести ^000077Мать Mathilda^000000 and return here to me.";
                next;
                mes $@npcnames$;
                mes "She has been practicing asceticism near ^000077Morroc, located to the SouthWest of Prontera City^000000.";
                break;
            default:
                mes "Пожалуйста, посети ^000077отца Yosuke^000000 и возвращайся сюда.";
                next;
                mes $@npcnames$;
                mes "Он ведёт отшельнический образ жизни ^000077возле моста, где-то на северо-западе от Пронтеры^000000.";
                break;
            }
            next;
            mes $@npcnames$;
            mes "Милость Божия да осветит твой путь и да поможет тебе в паломничестве.";
        }
        else {
            mes "Пункт назначения твоего паломничеста оприделится, как только ты запланируешь подавать анкету.";
        }
        next;
        mes $@npcnames$;
        mes "Пожалуйста, возвращайся как только ты выполнишь 2 этих требования, о которых я только что тебе говорил. Если ты искренне желаешь служить Господу и ближнему своему, то ты сумеешь это сделать.";
        close;
    case 3:
            mes $@npcnames$;
            mes "Да прибудет с тобой благославение Одина!";
        close;
    }
}

prt_fild03,365,255,2    script    Отшельник#aco    89,{
    set $@npcnames$,"[^BC7F15Отец Rubalkabara^000000]";
    mes $@npcnames$;
    if (BaseJob == Job_Novice) {
        if (job_acolyte_q == 6) {
            mes "Пожалуйста, береги себя. В Церкви Пронтеры будут знать о том, что мы с тобою здесь встретились, как только ты вернёшься туда.";
            next;
            mes $@npcnames$;
            mes "Я уже послал СМС-ку, пока что отчёт о доставке не пришёл, но думаю это временно. Пока ты дойдёшь до Церкви всё будит тип-топ!... Я тебе это гарантирую.";
            close;
        }
        if (job_acolyte_q != 0) {
            if (job_acolyte_q == 2) {
                mes "О...? Ты, видимо один из тех, кто стремится стать Послушником. Меня уже уведомили о том, что ты можешь придти.";
                next;
                mes $@npcnames$;
                mes "И так, Тебя зовут " + strcharinfo(0) + ", всё правильно? Превосходно, спасибо, что навестил меня.";
                next;
                mes $@npcnames$;
                mes "Уверен что Святой отец не мало рассказал тебе о профессии Послушника. Плюс ко всему, в Церкви Пронтеры всегда хватает желающих помочь.";
                next;
                mes $@npcnames$;
                mes "Так что, полагаю, мне нет нужды учить тебя чему бы то ни было. К тому же люди твоего поколения обычно не горят желанием выслушивать разглагольствования старикашки вроде меня. Хе-хе-хе~";
                next;
                mes $@npcnames$;
                mes "И всё же, уроки могут быть даны в местах, где ты меньше всего этого ожидаешь. Бог любит учить своих детей неожиданными способностями. Ты ещё убедишься в этом.";
                next;
                mes $@npcnames$;
                mes "Короче, я пошлю СМС-ку о том, что ты меня встретил. Ты можешь возвращаться в Церковь Пронтеры.";
                next;
                mes $@npcnames$;
                mes "Прощай.";
                close2;
                savepoint "prt_fild03",361,255;
                set job_acolyte_q,6;
                end;
            }
            else {
                mes "Эй, ты там.";
                mes "Кто бы ты ни был,";
                mes "выглядишь как претендент";
                mes "на звание Послушника. Я прав?";
                mes "Ну давай ка поглядим что у нас тут...";
                next;
                mes $@npcnames$;
                mes "Твоё имя ведь " + strcharinfo(0) + "?";
                mes "Всё правильно? Но как нистранно тебя нет";
                mes "в моём списке, Хмм.м...";
                next;
                mes $@npcnames$;
                mes "Почему бы тебе не вернуться обратно в Церковь Пронтеры и хорошенько всё там проверить, возможно ты где-то допустил ошибку.";
                close;
            }
        }
        else {
            mes "А? Что привело тебя сюда? Для новичка вроде тебя, это довольно опасное место!";
            close;
        }
    }
    else if (BaseJob == Job_Acolyte) callfunc "F_FatherRub";
    else {
        if (BaseJob == Job_Priest) {
            mes "Приветствую.";
            next;
            mes $@npcnames$;
            mes "Добро пожаловать в Храм. Чувствуй себя как дома, присаживайся, и мы вместе поразмышляем над посланиями Господа. Это место прекрасно даже при том, что опасность здесь идёт рука об руку с ощющением безмятежности...";
            close;
        }
        else {
            mes "Приветствую.";
            mes "А? Что привело тебя сюда? Для новичка вроде тебя, это довольно опасное место!";
            next;
            mes $@npcnames$;
            mes "Пожалуйста, позаботься о себе. Монстры в этом месте отвратительно сильны, вопреки ихниму милыму виду.";
            close;
        }
    }
}

moc_fild07,41,355,4    script    Отшельница#2aco    95,{
    set $@npcnames$,"[^BC7F15Мать Mathilda^000000]";
    mes $@npcnames$;
    if (BaseJob == Job_Novice) {
        if (job_acolyte_q == 7) {
            mes "Я послала уже почтового голубя в Церковь Пронтеры. Когда ты вернёшься, священник уже получит мою записку.";
            next;
            mes $@npcnames$;
            mes "Я буду за тебя молиться Богу и надеятсья, что ты вскоре сташенешь Послушником.";
            close;
        }
        if (job_acolyte_q != 0) {
            if (job_acolyte_q == 3) {
                mes "Ах, ты, должно быть, один из притендентов на звание Послушника Я рада приветствовать тебя здесь.";
                next;
                mes $@npcnames$;
                mes "Как тебя зовут? " + strcharinfo(0) + "? Ну-ка... А-а-а да, ты есть в моём списке.";
                next;
                mes $@npcnames$;
                mes "Я отошлю сообщением в Церковь, подтверждающее, что ты, " + strcharinfo(0) + ", нашёл меня и успешно преодолел это испытание.";
                next;
                mes $@npcnames$;
                mes "Пожалуйста возвращайся в Церковь Пронтеры и поговори со священником ещё раз, к которому ты подходил ранее.";
                close2;
                savepoint "moc_fild07",35,355;
                set job_acolyte_q,7;
                end;
            }
            else {
                mes "Аа-а-а...!";
                mes "Ты, должно быть, один из";
                mes "Претендентов На звание Послушника.";
                mes "Я сердечно приветствую тебя.";
                next;
                mes $@npcnames$;
                mes "Как, говоришь тебя зовут?";
                mes "" + strcharinfo(0) + "? А ну-ка, посмотрим...";
                next;
                mes $@npcnames$;
                mes "Хммм-м...";
                mes "Похоже, тебя нет";
                mes "в моих записях...";
                next;
                mes $@npcnames$;
                mes "Возможно, тебе стоит вернутся в Церковь Пронтеры и получше разузнать, где твоё место назначение паломничества.";
                close;
            }
        }
        else {
            mes "...";
            next;
            mes $@npcnames$;
            mes "Ты ведь новичок, тебе надо в Церковь в городе Пронтера.";
            next;
            mes $@npcnames$;
            mes "А сейчас я занята, так что топай обратно в город!";
            close;
        }
    }
    else if (BaseJob == Job_Acolyte) callfunc "F_MotherMart";
    else {
        if (BaseJob == Job_Priest) {
            mes "Эй, привет~";
            next;
            mes $@npcnames$;
            mes "Ну, как продвигаются твои знания? Разумеется, и я надеюсь, что ты счастливо живёшь в милости Божией.";
            close;
        }
        else {
            mes "О!, Мой Бог";
            mes "да прибудит он с тобой...";
            close;
        }
    }
}

prt_fild00,208,218,6    script    Отшельник#3aco    98,{
    set $@npcnames$,"[^BC7F15Отец Yosuke^000000]";
    mes $@npcnames$;
    if (BaseJob == Job_Novice) {
        if (job_acolyte_q == 8) {
            mes "Чего тебе ещё надо?";
            next;
            mes $@npcnames$;
            mes "У тебя есть ещё какое-то дело ко мне!? НЕТ? Ну вот и ступай себе обратно в Церковь!";
            close;
        }
        if (job_acolyte_q != 0) {
            if (job_acolyte_q == 4) {
                mes "Эй, ты там.";
                mes "Кто бы ты ни был,";
                mes "выглядишь как претендент";
                mes "на звание Послушника.";
                mes "Верно?";
                next;
                mes $@npcnames$;
                mes "Неплохо, неплохо Ты выдержал испытание очень неплохо.";
                mes "Как говоришь тебя зовут? " + strcharinfo(0) + ", да? Ну, чего молчишь, как партизан на допросе?";
                next;
                mes $@npcnames$;
                mes "" + strcharinfo(0) + ", Хех? ты уверен? Сейчас я гляну список...Да, точно есть такой!";
                next;
                mes $@npcnames$;
                mes "Ладно уж, пошлю я записочку в Церковь, скажу что ты " + strcharinfo(0) + ", дошёл таки и навестил меня.";
                next;
                mes $@npcnames$;
                mes "Давай, дитя, возвращайся обратно в Церковь и заканчивай с формальностями принятия тебя в Послушники.";
                close2;
                savepoint "prt_fild00",206,230;
                set job_acolyte_q,8;
                end;
            }
            else {
                mes "Эх-Хей...";
                mes "Ты у нас кандидат в Послушники?";
                mes "Ну ты вообще, молодец дитя, такую дорогу проделал. Прямо с Пронтеры идёшь, верно? Ладно, как там тебя?";
                next;
                mes $@npcnames$;
                mes "" + strcharinfo(0) + ", Да? Ну и почему я не вижу тебя в своих записях?";
                next;
                mes $@npcnames$;
                mes "Небось ошибочка вышла, малыш. Давай шагай обратно в Церковь,";
                next;
                mes $@npcnames$;
                mes "и поговори ещё разок со священником, куда он тебя там послал на самом деле.";
                close;
            }
        }
        else {
            mes "Так...";
            mes "Новенький-готовенький.";
            mes "Интересно, и что же";
            mes "ты мне хотел такого важного сообщить?";
            close;
        }
    }
    else if (BaseJob == Job_Acolyte) callfunc "F_FatherYos";
    else {
        if (BaseJob == Job_Priest) {
            mes "Брат мой...";
            next;
            mes $@npcnames$;
            mes "Если ты желаешь, то присаживайся рядом со мной, и мы в месте будем размышлять над великими истинами и могуществом величия Господня...";
            close;
        }
        else {
            mes "У тебя есть какое-то дело ко мне!? НЕТ?";
            mes "Ну вот и у меня нет никаких ответов для тебя!.";
            close;
        }
    }
}

 

 

скриншоты

 

Скрытый текст

 

s-76.png

s-74.png

s-75.png

 

Корм для питомца

 

hercules путь к скрипту /hercules-master/npc/merchants/wander_pet_food.txt

 

Скрытый текст

 

prontera,218,218,3    script    Заводчица    4W_KID,{
    set $@npcnames$,"[^BC7F15Заводчица^000000]";
    mes $@npcnames$;
    mes "Ой, Привет, привет!";
    mes "Ты тоже любишь животных?";
    mes "так же как и я?";
    next;
    mes $@npcnames$;
    mes "Я знаю, тяжело сделать так, чтобы";
    mes "питомцы всегда были счастливыми.";
    mes "Для этого нужно обеспечить им";
    mes "правильное питание.";
    next;
    mes $@npcnames$;
    mes "Но, иногда очень трудно достать нужный корм питомцу.";
    next;
    mes $@npcnames$;
    mes "А ты! ищешь какой-то особый корм для своего питомца?";
    next;
    switch(select("Да ищю:Нет")) {
    case 1:
        if ((countitem(Broken_Wine_Vessel) > 19) && (countitem(Alchol) > 0)) {
            mes $@npcnames$;
            mes "Ах, отлично у тебя есть ^ff000020 Broken Liquor Jar^000000s и ^ff00001 Alcohol^000000!";
            mes "Значить ты хочешь чтобы я обменяла их тебе на";
            mes "^ff000020 Spirit Liquor^000000 для твоего питомца Wanderer ?";
            next;
            switch(select("Да, обменяй пожалуйста:Нет, спасибо")) {
            case 1:
                mes $@npcnames$;
                mes "Всё отлично вот держи, и не стоит благодарностей :-)";
                mes "Я надеюсь ты и твой питомец будите счастливы!!!";
                delitem Broken_Wine_Vessel,20;
                delitem Alchol,1;
                getitem Spirit_Liquor,20;
                close;
            case 2:
                mes $@npcnames$;
                mes "Хе-хе, ну, просто дай мне знать, если передумаешь.";
                close;
            }
        }
        else {
            mes $@npcnames$;
            mes "Вообще-то, я могу помочь тебе";
            mes "и достать ^3355FFSpirit Liquor^000000 для питомца Wanderer.";
            next;
            mes $@npcnames$;
            mes "Тебе надо всего лишь принести мне";
            mes "^FF000020 Broken Liquor Jar^000000 и ^FF00001 Alcohol^000000.";
            mes "И я обменяю их тебе ^FF000020 Spirit Liquor^000000.";
            next;
            mes $@npcnames$;
            mes "Broken Liquor Jar можно получить убивая монстра Tengu, в подземелье Джана Аматсу.";
            close;
        }
    case 2:
                mes $@npcnames$;
                mes "Хе-хе, ну, просто дай мне знать, если передумаешь.";
        close;
    }
}

prontera,220,218,3    script    Дружелюбный Ослик    4_DONKEY,{
    specialeffect EF_CHANGEDARK;
    end;
}

 

 

 

rAthena путь к скрипту /trunk/npc/merchants/wander_pet_food.txt

ВНИМАНИЕ

скрипты мало чем отличаются, друг от друга, но разница есть, не путайтесь между hA и rA!

 

Скрытый текст

 

prontera,218,218,3    script    Заводчица    96,{
    set $@npcnames$,"[^BC7F15Заводчица^000000]";
    mes $@npcnames$;
    mes "Ой, Привет!";
    mes "Ты тоже любишь животных?";
    mes "так же как и я?";
    next;
    mes $@npcnames$;
    mes "Я знаю, тяжело сделать так, чтобы";
    mes "питомцы всегда были счастливыми.";
    mes "Для этого нужно обеспечить им";
    mes "правильное питание.";
    next;
    mes $@npcnames$;
    mes "Но, иногда очень трудно достать нужный корм питомцу.";
    next;
    mes $@npcnames$;
    mes "А ты!? ищешь какой-то особый корм для своего питомца?";
    next;
    switch(select("Да ищю:Нет.")) {
    case 1:
        if ((countitem(7158) > 19) && (countitem(970) > 0)) {
            mes $@npcnames$;
            mes "Ах, отлично у тебя есть ^ff000020 Broken Liquor Jar^000000s и ^ff00001 Alcohol^000000!";
            mes "Значить ты хочешь чтобы я обменяла их тебе на";
            mes "^ff000020 Spirit Liquor^000000 для твоего питомца Wanderer?";
            next;
            switch(select("Да, обменяй мне!:Нет, спасибо.")) {
            case 1:
                mes $@npcnames$;
                mes "Всё отлично вот держи, и не стоит благодарностей :-)";
                mes "Я надеюсь ты и твой питомец будите счастливы!!!";
                delitem 7158,20; //Broken_Wine_Vessel
                delitem 970,1; //Alchol
                getitem 7824,20; //Spirit_Liquor
                close;
            case 2:
                mes $@npcnames$;
                mes "Хе-хе, ну, просто дай мне знать, если передумаешь.";
                close;
            }
        }
        else {
            mes $@npcnames$;
            mes "Вообще-то, я могу помочь достать Spirit Liquor для питомца Wanderer.";
            next;
            mes $@npcnames$;
            mes "Тебе надо лишь принести ^FF0000 20 Broken Liquor Jar^000000 и ^FF0000 1 Alcohol^000000.";
            mes "И я обменяю их тебе на ^FF0000 20 Spirit Liquor^000000.";
            next;
            mes "Broken Liquor Jar можешь получить убивая монстра Тенгу в подземелье Джана Аматсу.";
            close;
        }
    case 2:
            mes $@npcnames$;
            mes "Хе-хе, ну, просто дай мне знать, если передумаешь.";
        close;
    }
}

prontera,220,218,3    script    Дружелюбный Ослик    955,{
    specialeffect EF_CHANGEDARK;
    end;
}

 

 

скриншот

 

Скрытый текст

 

s-66.png

 

 

Получение профессий

 

hercules путь к скрипту /hercules-master/npc/re/jobs/1-1/swordman.txt

 

Скрытый текст

 

izlude_in,74,172,4    script    Мечник#swd_1    2_M_SWORDMASTER,{
    set $@npcnames$,"[^BC7F15Ассоциатор Мечников^000000]";
    if (Upper == 1) {
        if (Class == Job_Novice_High && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) {
            mes $@npcnames$;
            mes "О_о...";
            mes "Не могу в это поверить...";
            mes "Ты уже успел переродиться, верно?";
            next;
            mes $@npcnames$;
            mes "Вижу, ты хочешь возобновить свой путь мечника! Однажды помахав мечом, уже невозможно от этого отказаться!!";
            next;
            if (getskilllv("NV_BASIC") < 9) {
                mes $@npcnames$;
                mes "Хм-м? ты ещё не изучил все ^4A4AFFБазовые Навыки^000000. Тебе нужно сделать это до того, как стать Мечником.";
                next;
                mes $@npcnames$;
                mes "Проверь требования для смены профессии и возвращайся, когда будешь готов.";
                close;
            }
            mes $@npcnames$;
            mes "Превосходно! Позволь мне повысить тебя до мечника прямо сейчас!";
            next;
            skill 143,0,0;
            jobchange Job_Swordman_High;
            skill 144,1,0;
            skill 145,1,0;
            skill 146,1,0;
            mes $@npcnames$;
            mes "Хмм... Ты выглядишь как хорошо обученый мечник. Но все-же, я уверен, что тебе необходимо много тренироваться, чтобы повысить свои умения и набраться силы!";
            close;
        }
        else {
            mes $@npcnames$;
            mes "Хм ...?";
            mes "Ведь ты уже перерождённый";
            mes "воин, или я не прав?";
            next;
            mes $@npcnames$;
            mes "Хмм...";
            mes "Кажется, быть настоящим мечником";
            mes "тебе не суждено.";
            mes "Мне очень жаль,";
            mes "но я больше ничем";
            mes "не могу тебе помочь.";
            close;
        }
    }
    mes $@npcnames$;
    mes "Добро пожаловать в Ассоциацию";
    mes "Мечников!";
    next;
    mes $@npcnames$;
    mes "И так...";
    mes "Что привело тебя к нам?";
    next;
    switch(select("Смена профессии.:О Мечниках.:О требованиях.:Нет, просто осматриваюсь.")) {
    case 1:
        if (BaseJob == Job_Swordman) {
            mes $@npcnames$;
            mes "Смена профессии? Мухахаха! Да ты";
            mes "уже Мечник! Будь сильным и гордым!";
            close;
        }
        else if (BaseJob != Job_Novice) {
            mes $@npcnames$;
            mes "Аха-х! Я конечно польщён, твоей упёртости, но у тебя уже есть";
            mes "профессия. Впрочем, я не могу тебя в этом обвинять...";
            close;
        }
        if (job_sword_q == 0) {
            mes $@npcnames$;
            mes "Хочешь стать Мечником?";
            mes "Мы непременно оформим сейчас твою заявку!";
            next;
            if (select("Подписать заявку.:Я подумаю ещё.") == 1) {
                savepoint "izlude_in",65,165;
                job_sword_q = 1;
                setquest 1014;
                mes $@npcnames$;
                mes "Хорошо. Твоя заявка будет";
                mes "рассмотрена в ближайшее время.";
                next;
                mes $@npcnames$;
                mes "Если ты уже соответствуешь";
                mes "требованиям, можешь пройти собеседование прямо сейчас.";
                mes "Хочешь?";
                next;
                if (select("Да, хочу.:Нет, не хочу.") == 1) {
                    mes $@npcnames$;
                    mes "Неплохо, очень хорошо.";
                    mes "А ну, давай ка посмотрим что у нас тут...";
                    next;
                }
                else {
                    mes $@npcnames$;
                    mes "Хорошо. Можешь возвращаться в любой";
                    mes "момент, когда подготовишься. Всё, что тебе нужно, это соответствовать нашим требованиям.";
                    mes "Удачи тебе!";
                    close;
                }
            }
            else {
                mes $@npcnames$;
                mes "Хм? Хорошо, подумай пока. Возвращайся в любой";
                mes "момент когда ты наконец надумаешь. В мире всегда найдётся место очередному Мечнику!";
                close;
            }
        }
        mes $@npcnames$;
        if (getskilllv("NV_BASIC") < 9) {
            mes "Хм, прости дружище, но ты ещё не достиг ^4A4AFF10 Уровня Джоба^000000.";
            mes "или не изучил все ^4A4AFFБазовые Навыки должны быть 9 Уровня^000000.";
            next;
            mes $@npcnames$;
            mes "Глянь ещё раз требования для смены";
            mes "профессии и возвращайся, когда будешь готов.";
            close;
        }
        else if (job_sword_q <= 3) {
            mes "Хм, ты уже изучил все ^4A4AFFБазовые Навыки^000000, но ты ещё не проходил тест.";
            mes "Ты должен будишь сейчас сдать экзамен перед тем, как сможешь сменить профессию на Мечника.";
            next;
            mes $@npcnames$;
            mes "Тест можно пройти в комнате справа.";
            mes "Тебе нужно будит поговорить с моим помощником, чтобы войти туда.";
            close;
        }
        else if (job_sword_q == 4) {
            mes "Ахахахахх! Поздравляю! Теперь ты полностью готов стать настоящим Мечником! Я выдам тебе прямо сейчас обмундирование!";
            next;
            callfunc "Job_Change",Job_Swordman;
            job_sword_q = 0;
            completequest 1014;
            mes $@npcnames$;
            mes "И ещё раз, мои поздравления. Надеюсь, из тебя получится хороший представитель Ассоциации Мечников.";
            close;
        }
    case 2:
        mes $@npcnames$;
        mes "Так ты хочешь знать больше о великой профессии Мечника? Ну что же...";
        next;
        mes $@npcnames$;
        mes "Среди профессии Первого класса Мечник - лучший боец ближнего боя.";
        mes "На то есть три причины.";
        next;
        mes $@npcnames$;
        mes "Во-первых, мечник получает преимущество от дополнительного HP";
        mes "Во-вторых, в целом у Мечников есть доступ к более широкому";
        mes "выбору оружия, чем у остальных профессий Первого класса.";
        next;
        mes $@npcnames$;
        mes "Ну и наконец в-третьих, большинство навыков Мечника - разрушительные физические атаки!";
        mes "На мой взгляд, Мечник - самая лучшая профессия из всех!.";
        close;
    case 3:
        mes $@npcnames$;
        mes "Хмм-м...";
        if (BaseJob != Job_Novice) {
            if (BaseJob == Job_Swordman)
                mes "Во-первых, тебе нужно изучить все 9 Базовых Навыков. Если ты не сделаешь этого, то ты вообще не сможешь сменить профессию.";
            else
                mes "Тебе уже слишком поздно становиться Мечником. У тебя уже есть другая профессия. Ну а в прочем, ничего плохого не будит, если я расскажу тебе об этих требованиях...";
        }
        next;
        mes $@npcnames$;
        mes "Во-первых, тебе нужно изучить все 9 Базовых Навыков. Если ты не сделаешь этого, то ты вообще не сможешь сменить профессию.";
        next;
        mes $@npcnames$;
        mes "Во-вторых, тебе нужно будит пройти тест на Мечника. Можешь узнать подробности у экзаменатора в комнате ожидания Теста на Мечника.";
        next;
        mes $@npcnames$;
        mes "Если ты сможешь выполнить эти 2 требования, то ты сможешь поменять профессию на Мечника в любой момент, когда захочешь.";
        close;
    case 4:
        mes $@npcnames$;
        mes "Ха-ха-ха!";
        mes "Ах, молодёжь!";
        close;
    }
}

izlude_in,62,170,6    script    Предводитель#swd_2    4_M_03,{
    set $@npcnames$,"[^BC7F15Предводитель теста Мечников^000000]";
    mes $@npcnames$;
    if (BaseJob == Job_Swordman) {
        mes "Прости приятель, но кроме новичков которые хотят стать Мечниками, сюда не допускаются.";
        close;
    }
    else if (BaseJob != Job_Novice) {
        mes "Кто, ты ещё такой черт тебя побери?! Никто, кроме Новичков, в этот Зал не допускается!";
        mes "Так что проваливай пока живой!";
        close;
    }
    else if (getskilllv("NV_BASIC") < 9) {
        mes "Так! Стоять! Я не пропущю тебя до тех пор, пока ты не изучишь все ^4A4AFFБазовые Навыки^000000. Тестовый зал - это тебе не майку в трусы заправлять!";
        close;
    }
    else if (job_sword_q == 4) {
        mes "Эй. Тебе надо поговорить с Мечником стоящего в центре комнаты, а не со мной. Ты это хорошо усёк?";
        close;
    }
    else if (job_sword_q == 0) {
        mes "Так! Стоять! Я смотрю ты успел освоить все ^4A4AFFБазовые Навыки^000000. Но...";
        next;
        mes $@npcnames$;
        mes "Тебе надо поговорить с Мечником стоящего в центре комнаты, а не со мной.";
        close;
    }
    else {
        savepoint "izlude_in",65,165;
        warp "izlude_in",39,170;
        end;
    }
}

izlude_in,30,175,4    script    Учительница теста#swd_3    4_F_03,{
    set $@npcnames$,"[^BC7F15Учительница по тесту^000000]";
    mes $@npcnames$;
    mes "Послушай меня, я расскажу тебе про тест. Только слушай внимательно, я повторять не собираюсь.";
    next;
    mes $@npcnames$;
    mes "Смысл этого теста - убедиться в том, что ты обладаешь навыками для того чтобы стать Мечником. Как тебе известно, чтобы быть Мечником, требуется физический дух!";
    next;
    mes $@npcnames$;
    mes "Без этих качеств ты не сможешь стать настоящим Мечником. Что касается условий для сдачи теста, то они очень просты.";
    next;
    mes $@npcnames$;
    mes "Тебе нужно будет пройти три отрезка путей, и достичь финиша в течении ^FF000010 минут^000000.";
    next;
    mes $@npcnames$;
    mes "Если ты выберешь 'Сдаться' или не уложишься во времени, то твой тест будет естественно провален!.";
    next;
    mes $@npcnames$;
    mes "Если ты уверен, что у тебя хватит сил, чтобы пройти данный тест, то иди ко входу и поговори с Сотрудником зала.";
    next;
    mes $@npcnames$;
    mes "В ходе своего пути ты можешь падать в случайно расставленные ямы. Однако курс придуман именно так, нужно пройти мимо этих расставленных ям.";
    next;
    mes $@npcnames$;
    mes "Тем не менее, будь осторожен с ними, ведь это будит тратить твоё драгоценное время. Я тебе всё объяснила, давай Вперёд!";
    close;
}

izlude_in,30,163,0    script    Сотрудник Зала#swd_1    8W_SOLDIER,{
    set $@npcnames$,"[^BC7F15Сотрудник тренировочного Зала^000000]";
    mes $@npcnames$;
    if (BaseJob == Job_Swordman) {
        mes "Хм? Как вы тут оказались? Вы не должны находиться здесь, поэтому пожалуйста, уходите отсюда немедленно.";
        close2;
        warp "izlude_in",66,170;
        end;
    }
    else if (BaseJob != Job_Novice) {
        mes "Кто ты такой?! Этот Тренировочный зал только для Меченосцев! Тебе не разрешено быть здесь! Уходи! Проваливай!";
        close2;
        warp "izlude_in",66,170;
        end;
    }
    if (job_sword_q == 1) {
        mes "А вот и долгожданный кандидат в Мечники. Отлично! Ты выглядишь многообещающе!";
        next;
        mes $@npcnames$;
        mes "Попробуй расслабиться и сделай всё, что сможешь. Тест он не такой уж и сложный.";
        job_sword_q = 2;
    }
    else if (job_sword_q == 2) {
        mes "Перездача? Ты не волнуйся о ней. Ничего с тобой плохого не случится. Вот, лучше возьми яблочек и взбодрись!";
        getitem Apple,5;
        job_sword_q = 3;
    }
    else if (job_sword_q == 3)
        mes "Никогда не сдавайся!";
    close2;
    warp "job_sword1",10,245;
    end;
}


job_sword1,230,245,2    script    Медик#swd_1    8W_SOLDIER,{
    set $@npcnames$,"[^BC7F15Медик^000000]";
    callfunc "F_JobSwdMedic","1st!";
}
job_sword1,230,242,2    script    Сотрудник Зала#swd_2    8W_SOLDIER,{
    set $@npcnames$,"[^BC7F15Сотрудник тренировочного Зала^000000]";
    callfunc "F_JobSwdStaff",1;
}
job_sword1,230,207,2    script    Медик#2swd_2    8W_SOLDIER,{
    set $@npcnames$,"[^BC7F15Медик^000000]";
    callfunc "F_JobSwdMedic","2nd!";
}
job_sword1,230,204,2    script    Сотрудник Зала#2swd_3    8W_SOLDIER,{
    set $@npcnames$,"[^BC7F15Сотрудник тренировочного Зала^000000]";
    callfunc "F_JobSwdStaff",1;
}
job_sword1,223,167,2    script    Мэй#swd_1_success    4_F_03,{
    set $@npcnames$,"[^BC7F15Экзаменатор Мэй^000000]";
    mapannounce "job_sword1","Кандидат " + strcharinfo(0) + ". Вы успешно завершили тест.",bc_map;
    job_sword_q = 4;
    mes $@npcnames$;
    mes "Я искренне поздравляю Вас со сдачей этого не лёгкого Теста!";
    mes "Я уже отправила Ваш результат в Департамент Профессий. Пожалуйста, проследуйте к Офицеру в центре. Спасибо.";
    close2;
    warp "izlude_in",66,173;
    end;
}

function    script    F_JobSwdMedic    {
    percentheal 100,0;
    mes $@npcnames$;
    mes "Это контрольная точка номер "+getarg(0)+" Не унывай!";
    close;
}

function    script    F_JobSwdStaff    {
    mes $@npcnames$;
    mes "Ты сдаёшься?";
    next;
    if (select("Да.:Нет.") == 1) {
        mapannounce "job_sword1","Кандидат " + strcharinfo(0) + " завалил тест.",bc_map;
        warp "izlude_in",65,165;
        end;
    }
    mes $@npcnames$;
    mes "Браво! Тогда вперёд!";
    close;
}

function    script    F_JobSwdTestStaff    {
OnTouch:
    mes $@npcnames$;
    mes "Кандидат " + strcharinfo(0) + ". Ты сдаёшься??";
    next;
    if (select("Да.:Нет.") == 1) {
        mapannounce "job_sword1","Кандидат " + strcharinfo(0) + " завалил тест..",bc_map;
        warp "izlude_in",65,165;
        end;
    }
    warp "job_sword1",getarg(0),getarg(1);
    end;
}

function    script    F_JobSwdTestStaff2    {
OnTouch:
    mapannounce "job_sword1","Кандидат " + strcharinfo(0) + ". Вы прошли "+getarg(0)+" этап.",bc_map;
    warp "job_sword1",getarg(1),getarg(2);
    end;
}

job_sword1,223,243,0    warp    checkp1-2#swd_1    1,1,job_sword1,11,206
job_sword1,223,205,0    warp    checkp2-3#swd_1    1,1,job_sword1,11,168

job_sword1,7,245,0    script    Сотрудник Зала#swd_4    WARPNPC,1,3,{
    callfunc "F_JobSwdTestStaff",10,245;
}

job_sword1,8,207,0    script    Сотрудник Зала#swd_5    WARPNPC,1,6,{
    callfunc "F_JobSwdTestStaff",11,207;
}

job_sword1,8,169,0    script    Сотрудник Зала#swd_6    WARPNPC,1,6,{
    callfunc "F_JobSwdTestStaff",11,169;
}

job_sword1,192,244,0    script    Сотрудник Зала#swd_7    WARPNPC,1,3,{
    callfunc "F_JobSwdTestStaff2","1st",215,244;
}

job_sword1,193,207,0    script    Сотрудник Зала#swd_8    WARPNPC,1,3,{
    callfunc "F_JobSwdTestStaff2","2nd",215,205;
    warp "job_sword1",215,205;
}

job_sword1,193,168,0    script    Сотрудник Зала#swd_9    WARPNPC,1,3,{
    callfunc "F_JobSwdTestStaff2","3rd",215,167;
}

job_sword1,65,117,0    warp    pitfall01-01    1,1,job_sword1,10,245
job_sword1,98,27,0    warp    pitfall02-01    1,1,job_sword1,11,207
job_sword1,161,27,0    warp    pitfall02-02    1,1,job_sword1,11,207
job_sword1,239,117,0    warp    pitfall03-01    1,1,job_sword1,11,169

job_sword1,16,251,0    script    1_blank_1_a::SwdTrap1    FAKE_NPC,0,1,{
OnTouch:
    switch(rand(1,5)) {
    case 1: warp "job_sword1",65,56; end;
    case 2: warp "job_sword1",29,26; end;
    case 3: warp "job_sword1",43,16; end;
    case 4: warp "job_sword1",23,112; end;
    case 5: warp "job_sword1",58,83; end;
    }
}
job_sword1,19,251,0    duplicate(SwdTrap1)    1_blank_1_b    FAKE_NPC,0,1
job_sword1,17,250,0    duplicate(SwdTrap1)    1_blank_1_c    FAKE_NPC,1,0
job_sword1,16,238,0    duplicate(SwdTrap1)    1_blank_2_a    FAKE_NPC,0,1
job_sword1,19,238,0    duplicate(SwdTrap1)    1_blank_2_b    FAKE_NPC,0,1
job_sword1,17,239,0    duplicate(SwdTrap1)    1_blank_2_c    FAKE_NPC,0,1
job_sword1,28,247,0    duplicate(SwdTrap1)    1_blank_3_a    FAKE_NPC,4,0
job_sword1,33,245,0    duplicate(SwdTrap1)    1_blank_3_b    FAKE_NPC,0,2
job_sword1,29,242,0    duplicate(SwdTrap1)    1_blank_3_c    FAKE_NPC,4,0
job_sword1,24,244,0    duplicate(SwdTrap1)    1_blank_3_d    FAKE_NPC,0,2
job_sword1,38,251,0    duplicate(SwdTrap1)    1_blank_4_a    FAKE_NPC,0,1
job_sword1,41,251,0    duplicate(SwdTrap1)    1_blank_4_b    FAKE_NPC,0,1
job_sword1,39,250,0    duplicate(SwdTrap1)    1_blank_4_c    FAKE_NPC,1,0
job_sword1,38,238,0    duplicate(SwdTrap1)    1_blank_5_a    FAKE_NPC,0,1
job_sword1,41,238,0    duplicate(SwdTrap1)    1_blank_5_b    FAKE_NPC,0,1
job_sword1,39,239,0    duplicate(SwdTrap1)    1_blank_5_c    FAKE_NPC,1,0
job_sword1,54,251,0    duplicate(SwdTrap1)    1_blank_6_a    FAKE_NPC,0,1
job_sword1,71,251,0    duplicate(SwdTrap1)    1_blank_6_b    FAKE_NPC,0,1
job_sword1,62,250,0    duplicate(SwdTrap1)    1_blank_6_c    FAKE_NPC,9,0
job_sword1,62,247,0    duplicate(SwdTrap1)    1_blank_7_a    FAKE_NPC,8,0
job_sword1,71,244,0    duplicate(SwdTrap1)    1_blank_7_b    FAKE_NPC,0,2
job_sword1,63,242,0    duplicate(SwdTrap1)    1_blank_7_c    FAKE_NPC,8,0
job_sword1,54,244,0    duplicate(SwdTrap1)    1_blank_7_d    FAKE_NPC,0,2
job_sword1,54,238,0    duplicate(SwdTrap1)    1_blank_8_a    FAKE_NPC,0,1
job_sword1,71,238,0    duplicate(SwdTrap1)    1_blank_8_b    FAKE_NPC,0,1
job_sword1,62,239,0    duplicate(SwdTrap1)    1_blank_8_c    FAKE_NPC,9,0
job_sword1,102,247,0    duplicate(SwdTrap1)    1_blank_9_a    FAKE_NPC,2,0
job_sword1,105,245,0    duplicate(SwdTrap1)    1_blank_9_b    FAKE_NPC,0,2
job_sword1,103,242,0    duplicate(SwdTrap1)    1_blank_9_c    FAKE_NPC,2,0
job_sword1,100,244,0    duplicate(SwdTrap1)    1_blank_9_d    FAKE_NPC,0,2
job_sword1,156,249,0    duplicate(SwdTrap1)    1_blank_10_a    FAKE_NPC,14,0
job_sword1,156,248,0    duplicate(SwdTrap1)    1_blank_10_b    FAKE_NPC,14,0
job_sword1,170,249,0    duplicate(SwdTrap1)    1_blank_10_c    FAKE_NPC,1,0
job_sword1,170,248,0    duplicate(SwdTrap1)    1_blank_10_d    FAKE_NPC,1,0
job_sword1,156,245,0    duplicate(SwdTrap1)    1_blank_11_a    FAKE_NPC,14,0
job_sword1,156,244,0    duplicate(SwdTrap1)    1_blank_11_b    FAKE_NPC,14,0
job_sword1,170,245,0    duplicate(SwdTrap1)    1_blank_11_c    FAKE_NPC,1,0
job_sword1,170,244,0    duplicate(SwdTrap1)    1_blank_11_d    FAKE_NPC,1,0
job_sword1,156,241,0    duplicate(SwdTrap1)    1_blank_12_a    FAKE_NPC,14,0
job_sword1,156,240,0    duplicate(SwdTrap1)    1_blank_12_b    FAKE_NPC,14,0
job_sword1,170,241,0    duplicate(SwdTrap1)    1_blank_12_c    FAKE_NPC,1,0
job_sword1,170,240,0    duplicate(SwdTrap1)    1_blank_12_d    FAKE_NPC,1,0
job_sword1,180,251,0    duplicate(SwdTrap1)    1_blank_13_a    FAKE_NPC,0,1
job_sword1,183,251,0    duplicate(SwdTrap1)    1_blank_13_b    FAKE_NPC,0,1
job_sword1,181,250,0    duplicate(SwdTrap1)    1_blank_13_c    FAKE_NPC,1,0
job_sword1,180,238,0    duplicate(SwdTrap1)    1_blank_14_a    FAKE_NPC,0,1
job_sword1,183,238,0    duplicate(SwdTrap1)    1_blank_14_b    FAKE_NPC,0,1
job_sword1,181,239,0    duplicate(SwdTrap1)    1_blank_14_c    FAKE_NPC,1,0

job_sword1,193,245,0    warp    1_rest    1,3,job_sword1,215,244

job_sword1,56,212,0    script    2_blank_1_a::SwdTrap2    FAKE_NPC,40,0,{
OnTouch:
    switch(rand(1,5)) {
    case 1: warp "job_sword1",162,120; end;
    case 2: warp "job_sword1",94,120; end;
    case 3: warp "job_sword1",94,85; end;
    case 4: warp "job_sword1",162,85; end;
    case 5: warp "job_sword1",130,47; end;
    }
}
job_sword1,95,212,0    duplicate(SwdTrap2)    2_blank_1_b    FAKE_NPC,2,0
job_sword1,56,210,0    duplicate(SwdTrap2)    2_blank_2_a    FAKE_NPC,40,0
job_sword1,95,210,0    duplicate(SwdTrap2)    2_blank_2_b    FAKE_NPC,2,0
job_sword1,16,206,0    duplicate(SwdTrap2)    2_blank_2_c    FAKE_NPC,0,3
job_sword1,97,206,0    duplicate(SwdTrap2)    2_blank_2_d    FAKE_NPC,0,3
job_sword1,56,203,0    duplicate(SwdTrap2)    2_blank_2_e    FAKE_NPC,40,0
job_sword1,95,203,0    duplicate(SwdTrap2)    2_blank_2_f    FAKE_NPC,2,0
job_sword1,56,201,0    duplicate(SwdTrap2)    2_blank_3_a    FAKE_NPC,40,0
job_sword1,95,201,0    duplicate(SwdTrap2)    2_blank_3_b    FAKE_NPC,2,0

job_sword1,113,212,0    duplicate(SwdTrap2)    2_blank_4_a    FAKE_NPC,14,0
job_sword1,125,212,0    duplicate(SwdTrap2)    2_blank_4_b    FAKE_NPC,2,0
job_sword1,113,210,0    duplicate(SwdTrap2)    2_blank_5_a    FAKE_NPC,14,0
job_sword1,125,210,0    duplicate(SwdTrap2)    2_blank_5_b    FAKE_NPC,2,0
job_sword1,100,206,0    duplicate(SwdTrap2)    2_blank_5_c    FAKE_NPC,0,3
job_sword1,127,206,0    duplicate(SwdTrap2)    2_blank_5_d    FAKE_NPC,0,3
job_sword1,113,203,0    duplicate(SwdTrap2)    2_blank_5_e    FAKE_NPC,14,0
job_sword1,125,210,0    duplicate(SwdTrap2)    2_blank_5_f    FAKE_NPC,2,0
job_sword1,113,201,0    duplicate(SwdTrap2)    2_blank_6_a    FAKE_NPC,14,0
job_sword1,113,201,0    duplicate(SwdTrap2)    2_blank_6_b    FAKE_NPC,2,0

job_sword1,155,212,0    duplicate(SwdTrap2)    2_blank_7_a    FAKE_NPC,21,0
job_sword1,181,212,0    duplicate(SwdTrap2)    2_blank_7_b    FAKE_NPC,2,0
job_sword1,155,210,0    duplicate(SwdTrap2)    2_blank_8_a    FAKE_NPC,21,0
job_sword1,181,210,0    duplicate(SwdTrap2)    2_blank_8_b    FAKE_NPC,2,0
job_sword1,130,206,0    duplicate(SwdTrap2)    2_blank_8_c    FAKE_NPC,0,3
job_sword1,183,206,0    duplicate(SwdTrap2)    2_blank_8_d    FAKE_NPC,0,3
job_sword1,155,203,0    duplicate(SwdTrap2)    2_blank_8_e    FAKE_NPC,21,0
job_sword1,181,203,0    duplicate(SwdTrap2)    2_blank_8_f    FAKE_NPC,2,0
job_sword1,155,201,0    duplicate(SwdTrap2)    2_blank_9_a    FAKE_NPC,40,0
job_sword1,181,201,0    duplicate(SwdTrap2)    2_blank_9_b    FAKE_NPC,2,0

job_sword1,17,174,0    script    3_blank_1_a::SwdTrap3    FAKE_NPC,2,0,{
OnTouch:
    switch(rand(1,5)) {
    case 1: warp "job_sword1",195,15; end;
    case 2: warp "job_sword1",195,38; end;
    case 3: warp "job_sword1",231,30; end;
    case 4: warp "job_sword1",198,65; end;
    case 5: warp "job_sword1",196,116; end;
    }
}
job_sword1,17,163,0    duplicate(SwdTrap3)    3_blank_2_a    FAKE_NPC,2,0
job_sword1,29,171,0    duplicate(SwdTrap3)    3_blank_3_a    FAKE_NPC,2,0
job_sword1,31,168,0    duplicate(SwdTrap3)    3_blank_3_b    FAKE_NPC,0,2
job_sword1,28,166,0    duplicate(SwdTrap3)    3_blank_3_c    FAKE_NPC,2,0
job_sword1,26,168,0    duplicate(SwdTrap3)    3_blank_3_d    FAKE_NPC,0,2
job_sword1,36,169,0    duplicate(SwdTrap3)    3_blank_4_a    FAKE_NPC,0,0
job_sword1,37,169,0    duplicate(SwdTrap3)    3_blank_4_b    FAKE_NPC,0,0
job_sword1,37,168,0    duplicate(SwdTrap3)    3_blank_4_c    FAKE_NPC,0,0
job_sword1,36,168,0    duplicate(SwdTrap3)    3_blank_4_c2    FAKE_NPC,0,0
job_sword1,40,175,0    duplicate(SwdTrap3)    3_blank_5_a    FAKE_NPC,0,1
job_sword1,41,175,0    duplicate(SwdTrap3)    3_blank_5_b    FAKE_NPC,0,1
job_sword1,41,171,0    duplicate(SwdTrap3)    3_blank_6_a    FAKE_NPC,1,0
job_sword1,41,170,0    duplicate(SwdTrap3)    3_blank_6_b    FAKE_NPC,1,0
job_sword1,41,167,0    duplicate(SwdTrap3)    3_blank_6_c    FAKE_NPC,1,0
job_sword1,41,166,0    duplicate(SwdTrap3)    3_blank_6_d    FAKE_NPC,1,0
job_sword1,42,169,0    duplicate(SwdTrap3)    3_blank_6_e    FAKE_NPC,0,1
job_sword1,43,170,0    duplicate(SwdTrap3)    3_blank_6_f    FAKE_NPC,0,1
job_sword1,43,167,0    duplicate(SwdTrap3)    3_blank_6_g    FAKE_NPC,0,1
job_sword1,40,162,0    duplicate(SwdTrap3)    3_blank_7_a    FAKE_NPC,0,1
job_sword1,41,162,0    duplicate(SwdTrap3)    3_blank_7_b    FAKE_NPC,0,1
job_sword1,46,175,0    duplicate(SwdTrap3)    3_blank_8_a    FAKE_NPC,0,1
job_sword1,51,175,0    duplicate(SwdTrap3)    3_blank_8_b    FAKE_NPC,0,1
job_sword1,47,174,0    duplicate(SwdTrap3)    3_blank_8_c    FAKE_NPC,1,0
job_sword1,50,174,0    duplicate(SwdTrap3)    3_blank_8_d    FAKE_NPC,1,0
job_sword1,48,173,0    duplicate(SwdTrap3)    3_blank_8_e    FAKE_NPC,0,1
job_sword1,49,173,0    duplicate(SwdTrap3)    3_blank_8_f    FAKE_NPC,0,1
job_sword1,46,162,0    duplicate(SwdTrap3)    3_blank_9_a    FAKE_NPC,0,1
job_sword1,51,162,0    duplicate(SwdTrap3)    3_blank_9_b    FAKE_NPC,0,1
job_sword1,47,163,0    duplicate(SwdTrap3)    3_blank_9_c    FAKE_NPC,1,0
job_sword1,50,163,0    duplicate(SwdTrap3)    3_blank_9_d    FAKE_NPC,1,0
job_sword1,48,164,0    duplicate(SwdTrap3)    3_blank_9_e    FAKE_NPC,0,1
job_sword1,49,164,0    duplicate(SwdTrap3)    3_blank_9_f    FAKE_NPC,0,1
job_sword1,54,170,0    duplicate(SwdTrap3)    3_blank_10_a    FAKE_NPC,0,1
job_sword1,55,170,0    duplicate(SwdTrap3)    3_blank_10_b    FAKE_NPC,0,1
job_sword1,54,167,0    duplicate(SwdTrap3)    3_blank_10_c    FAKE_NPC,0,1
job_sword1,55,167,0    duplicate(SwdTrap3)    3_blank_10_d    FAKE_NPC,0,1
job_sword1,53,169,0    duplicate(SwdTrap3)    3_blank_10_e    FAKE_NPC,1,0
job_sword1,53,168,0    duplicate(SwdTrap3)    3_blank_10_f    FAKE_NPC,1,0
job_sword1,56,169,0    duplicate(SwdTrap3)    3_blank_10_g    FAKE_NPC,1,0
job_sword1,56,168,0    duplicate(SwdTrap3)    3_blank_10_h    FAKE_NPC,1,0
job_sword1,58,175,0    duplicate(SwdTrap3)    3_blank_11_a    FAKE_NPC,0,1
job_sword1,59,174,0    duplicate(SwdTrap3)    3_blank_11_b    FAKE_NPC,1,0
job_sword1,60,173,0    duplicate(SwdTrap3)    3_blank_11_c    FAKE_NPC,0,1
job_sword1,61,172,0    duplicate(SwdTrap3)    3_blank_11_d    FAKE_NPC,1,0
job_sword1,58,162,0    duplicate(SwdTrap3)    3_blank_12_a    FAKE_NPC,0,1
job_sword1,59,163,0    duplicate(SwdTrap3)    3_blank_12_b    FAKE_NPC,1,0
job_sword1,60,164,0    duplicate(SwdTrap3)    3_blank_12_c    FAKE_NPC,0,1
job_sword1,61,165,0    duplicate(SwdTrap3)    3_blank_12_d    FAKE_NPC,1,0
job_sword1,76,172,0    duplicate(SwdTrap3)    3_blank_13_a    FAKE_NPC,1,0
job_sword1,77,173,0    duplicate(SwdTrap3)    3_blank_13_b    FAKE_NPC,0,1
job_sword1,78,174,0    duplicate(SwdTrap3)    3_blank_13_c    FAKE_NPC,1,0
job_sword1,79,175,0    duplicate(SwdTrap3)    3_blank_13_d    FAKE_NPC,0,1
job_sword1,76,165,0    duplicate(SwdTrap3)    3_blank_14_a    FAKE_NPC,1,0
job_sword1,77,164,0    duplicate(SwdTrap3)    3_blank_14_b    FAKE_NPC,0,1
job_sword1,78,163,0    duplicate(SwdTrap3)    3_blank_14_c    FAKE_NPC,1,0
job_sword1,79,162,0    duplicate(SwdTrap3)    3_blank_14_d    FAKE_NPC,0,1
job_sword1,94,175,0    duplicate(SwdTrap3)    3_blank_15_a    FAKE_NPC,0,1
job_sword1,95,174,0    duplicate(SwdTrap3)    3_blank_15_b    FAKE_NPC,1,0
job_sword1,98,174,0    duplicate(SwdTrap3)    3_blank_15_c    FAKE_NPC,1,0
job_sword1,99,175,0    duplicate(SwdTrap3)    3_blank_16_d    FAKE_NPC,0,1
job_sword1,96,169,0    duplicate(SwdTrap3)    3_blank_17_a    FAKE_NPC,0,0
job_sword1,97,169,0    duplicate(SwdTrap3)    3_blank_17_b    FAKE_NPC,0,0
job_sword1,97,168,0    duplicate(SwdTrap3)    3_blank_17_c    FAKE_NPC,0,0
job_sword1,96,168,0    duplicate(SwdTrap3)    3_blank_17_d    FAKE_NPC,0,0
job_sword1,94,162,0    duplicate(SwdTrap3)    3_blank_18_a    FAKE_NPC,0,1
job_sword1,95,163,0    duplicate(SwdTrap3)    3_blank_18_b    FAKE_NPC,1,0
job_sword1,98,163,0    duplicate(SwdTrap3)    3_blank_18_c    FAKE_NPC,1,0
job_sword1,99,162,0    duplicate(SwdTrap3)    3_blank_18_d    FAKE_NPC,0,1
job_sword1,114,175,0    duplicate(SwdTrap3)    3_blank_19_a    FAKE_NPC,0,1
job_sword1,115,175,0    duplicate(SwdTrap3)    3_blank_19_b    FAKE_NPC,0,1
job_sword1,114,162,0    duplicate(SwdTrap3)    3_blank_20_a    FAKE_NPC,0,1
job_sword1,115,162,0    duplicate(SwdTrap3)    3_blank_20_b    FAKE_NPC,0,1
job_sword1,126,175,0    duplicate(SwdTrap3)    3_blank_21_a    FAKE_NPC,0,1
job_sword1,127,175,0    duplicate(SwdTrap3)    3_blank_21_b    FAKE_NPC,0,1
job_sword1,126,162,0    duplicate(SwdTrap3)    3_blank_23_a    FAKE_NPC,0,1
job_sword1,127,162,0    duplicate(SwdTrap3)    3_blank_23_b    FAKE_NPC,0,1
job_sword1,160,174,0    duplicate(SwdTrap3)    3_blank_24_a    FAKE_NPC,0,2
job_sword1,161,174,0    duplicate(SwdTrap3)    3_blank_24_b    FAKE_NPC,0,2
job_sword1,160,163,0    duplicate(SwdTrap3)    3_blank_25_a    FAKE_NPC,0,2
job_sword1,161,163,0    duplicate(SwdTrap3)    3_blank_25_b    FAKE_NPC,0,2
job_sword1,168,175,0    duplicate(SwdTrap3)    3_blank_26_a    FAKE_NPC,0,2
job_sword1,169,175,0    duplicate(SwdTrap3)    3_blank_26_b    FAKE_NPC,0,2
job_sword1,168,162,0    duplicate(SwdTrap3)    3_blank_27_a    FAKE_NPC,0,2
job_sword1,169,162,0    duplicate(SwdTrap3)    3_blank_27_b    FAKE_NPC,0,2
job_sword1,176,174,0    duplicate(SwdTrap3)    3_blank_28_a    FAKE_NPC,0,2
job_sword1,177,174,0    duplicate(SwdTrap3)    3_blank_28_b    FAKE_NPC,0,2
job_sword1,178,173,0    duplicate(SwdTrap3)    3_blank_28_c    FAKE_NPC,1,0
job_sword1,178,172,0    duplicate(SwdTrap3)    3_blank_28_d    FAKE_NPC,1,0
job_sword1,181,174,0    duplicate(SwdTrap3)    3_blank_28_e    FAKE_NPC,2,0
job_sword1,179,169,0    duplicate(SwdTrap3)    3_blank_29_a    FAKE_NPC,3,0
job_sword1,179,168,0    duplicate(SwdTrap3)    3_blank_29_b    FAKE_NPC,3,0
job_sword1,182,169,0    duplicate(SwdTrap3)    3_blank_29_c    FAKE_NPC,0,2
job_sword1,183,169,0    duplicate(SwdTrap3)    3_blank_29_d    FAKE_NPC,0,2
job_sword1,181,167,0    duplicate(SwdTrap3)    3_blank_29_e    FAKE_NPC,1,0
job_sword1,181,166,0    duplicate(SwdTrap3)    3_blank_29_f    FAKE_NPC,1,0
job_sword1,183,167,0    duplicate(SwdTrap3)    3_blank_29_g    FAKE_NPC,0,1
job_sword1,176,163,0    duplicate(SwdTrap3)    3_blank_30_a    FAKE_NPC,0,2
job_sword1,177,163,0    duplicate(SwdTrap3)    3_blank_30_b    FAKE_NPC,0,2
job_sword1,181,163,0    duplicate(SwdTrap3)    3_blank_30_c    FAKE_NPC,2,0

job_sword1,0,0,0,0    monster    Chonchon    1183,20,0,0,0
job_sword1,35,79,0,0    monster    Fabre    1184,3,60000,30000,0
job_sword1,50,108,0,0    monster    Fabre    1184,3,60000,30000,0
job_sword1,61,28,0,0    monster    Fabre    1184,3,60000,30000,0
job_sword1,61,92,0,0    monster    Fabre    1184,3,60000,30000,0
job_sword1,110,112,0,0    monster    Fabre    1184,2,60000,30000,0
job_sword1,161,94,0,0    monster    Fabre    1184,2,60000,30000,0
job_sword1,130,76,0,0    monster    Fabre    1184,2,60000,30000,0
job_sword1,103,58,0,0    monster    Fabre    1184,2,60000,30000,0
job_sword1,130,24,0,0    monster    Fabre    1184,5,60000,30000,0
job_sword1,201,36,0,0    monster    Fabre    1184,2,60000,30000,0
job_sword1,201,16,0,0    monster    Fabre    1184,2,60000,30000,0
job_sword1,239,44,0,0    monster    Fabre    1184,3,60000,30000,0
job_sword1,239,76,0,0    monster    Fabre    1184,2,60000,30000,0
job_sword1,231,101,0,0    monster    Fabre    1184,2,60000,30000,0
job_sword1,234,117,0,0    monster    Fabre    1184,2,60000,30000,0
job_sword1,198,91,0,0    monster    Fabre    1184,2,60000,30000,0
job_sword1,200,63,0,0    monster    Fabre    1184,2,60000,30000,0

 

 

 

rAthena путь к скрипту /trunk/npc/re/jobs/1-1/swordman.txt

ВНИМАНИЕ

скрипты мало чем отличаются, друг от друга, но разница есть, не путайтесь между hA и rA!

 

Скрытый текст

 

izlude_in,74,172,4    script    Мечник#swd_1    119,{
    set $@npcnames$,"[^BC7F15Ассоциатор Мечников^000000]";
    if (Upper == 1) {
        if (Class == Job_Novice_High && (ADVJOB == Job_Lord_Knight || ADVJOB == Job_Paladin)) {
            mes $@npcnames$;
            mes "О_о...";
            mes "Не могу в это поверить...";
            mes "Ты уже успел переродиться, верно?";
            next;
            mes $@npcnames$;
            mes "Вижу, ты хочешь возобновить свой путь мечника! Однажды помахав мечом, уже невозможно от этого отказаться!!";
            next;
            if (getskilllv("NV_BASIC") < 9) {
                mes $@npcnames$;
                mes "Хм-м? ты ещё не изучил все ^4A4AFFБазовые Навыки^000000. Тебе нужно сделать это до того, как стать Мечником.";
                next;
                mes $@npcnames$;
                mes "Проверь требования для смены профессии и возвращайся, когда будешь готов.";
                close;
            }
            mes $@npcnames$;
            mes "Превосходно! Позволь мне повысить тебя до мечника прямо сейчас!";
            next;
            skill "NV_TRICKDEAD",0,SKILL_PERM;
            jobchange Job_Swordman_High;
            skill "SM_MOVINGRECOVERY",1,SKILL_PERM;
            skill "SM_FATALBLOW",1,SKILL_PERM;
            skill "SM_AUTOBERSERK",1,SKILL_PERM;
            mes $@npcnames$;
            mes "Хм ... Вы посмотрите, какой хороший, опытный из тебя вышел Мечник. Тем не менее, я уверен, что ты должнен больше тренироваться, чтобы улучшить свои навыки и набраться сил!";
            close;
        }
        else {
            mes $@npcnames$;
            mes "Hm...?";
            mes "You're a reborn";
            mes "warrior, aren't you?";
            next;
            mes $@npcnames$;
            mes "Хмм...";
            mes "Кажется, что, будучи";
            mes "настоящим Мечником ты";
            mes "не можешь управлять судьбой своей.";
            mes "Я конечно извиняюсь, но";
            mes "к великому несчастью, я ничем не смогу тебе помочь.";
            close;
        }
    }
    mes $@npcnames$;
    mes "Добро пожаловать в Ассоциацию";
    mes "Мечников!";
    next;
    mes $@npcnames$;
    mes "И так...";
    mes "Что привело тебя к нам?";
    next;
    switch(select("Смена профессии.:О Мечниках.:О требованиях.:Нет, просто осматриваюсь.")) {
    case 1:
        if (BaseJob == Job_Swordman) {
            mes $@npcnames$;
            mes "Смена профессии? Мухахаха! Да ты";
            mes "уже Мечник! Будь сильным и гордым!";
            close;
        }
        else if (BaseJob != Job_Novice) {
            mes $@npcnames$;
            mes "Аха-х! Я конечно польщён, твоей упёртости, но у тебя уже есть";
            mes "профессия. Впрочем, я не могу тебя в этом обвинять...";
            close;
        }
        if (job_sword_q == 0) {
            mes $@npcnames$;
            mes "Хочешь стать Мечником?";
            mes "Мы непременно оформим сейчас твою заявку!";
            next;
            if (select("Подписать заявку.:Я подумаю ещё.") == 1) {
                savepoint "izlude_in",65,165;
                set job_sword_q,1;
                setquest 1014;
                mes $@npcnames$;
                mes "Хорошо. Твоя заявка будет";
                mes "рассмотрена в ближайшее время.";
                next;
                mes $@npcnames$;
                mes "Если ты уже соответствуешь";
                mes "требованиям, можешь пройти собеседование прямо сейчас.";
                mes "Хочешь?";
                next;
                if (select("Да, хочу.:Нет, не хочу.") == 1) {
                    mes $@npcnames$;
                    mes "Неплохо, очень хорошо.";
                    mes "А ну, давай ка посмотрим что у нас тут...";
                    next;
                }
                else {
                    mes $@npcnames$;
                    mes "Хорошо. Можешь возвращаться в любой";
                    mes "момент, когда подготовишься. Всё, что тебе нужно, это соответствовать нашим требованиям.";
                    mes "Удачи тебе!";
                    close;
                }
            }
            else {
                mes $@npcnames$;
                mes "Хм? Хорошо, подумай пока. Возвращайся в любой";
                mes "момент когда ты наконец надумаешь. В мире всегда найдётся место очередному Мечнику!";
                close;
            }
        }
        mes $@npcnames$;
        if (getskilllv("NV_BASIC") < 9) {
            mes "Хм, прости дружище, но ты ещё не достиг ^4A4AFF10 Уровня Джоба^000000.";
            mes "или не изучил все ^4A4AFFБазовые Навыки должны быть 9 Уровня^000000.";
            next;
            mes $@npcnames$;
            mes "Глянь ещё раз требования для смены";
            mes "профессии и возвращайся, когда будешь готов.";
            close;
        }
        else if (job_sword_q <= 3) {
            mes "Хм, ты уже изучил все ^4A4AFFБазовые Навыки^000000, но ты ещё не проходил тест.";
            mes "Ты должен будишь сейчас сдать экзамен перед тем, как сможешь сменить профессию на Мечника.";
            next;
            mes $@npcnames$;
            mes "Тест можно пройти в комнате справа.";
            mes "Тебе нужно будит поговорить с моим помощником, чтобы войти туда.";
            close;
        }
        else if (job_sword_q == 4) {
            mes "Ахахахахх! Поздравляю! Теперь ты полностью готов стать настоящим Мечником! Я выдам тебе прямо сейчас обмундирование!";
            next;
            callfunc "Job_Change",Job_Swordman;
            set job_sword_q,0;
            completequest 1014;
            mes $@npcnames$;
            mes "И ещё раз, мои поздравления. Надеюсь, из тебя получится хороший представитель Ассоциации Мечников.";
            close;
        }
    case 2:
        mes $@npcnames$;
        mes "Так ты хочешь знать больше о великой профессии Мечника? Ну что же...";
        next;
        mes $@npcnames$;
        mes "Среди профессии Первого класса Мечник - лучший боец ближнего боя.";
        mes "На то есть три причины.";
        next;
        mes $@npcnames$;
        mes "Во-первых, мечник получает преимущество от дополнительного HP";
        mes "Во-вторых, в целом у Мечников есть доступ к более широкому";
        mes "выбору оружия, чем у остальных профессий Первого класса.";
        next;
        mes $@npcnames$;
        mes "Ну и наконец в-третьих, большинство навыков Мечника - разрушительные физические атаки!";
        mes "На мой взгляд, Мечник - самая лучшая профессия из всех!.";
        close;
    case 3:
        mes $@npcnames$;
        mes "Хмм-м...";
        if (BaseJob != Job_Novice) {
            if (BaseJob == Job_Swordman)
                mes "Во-первых, тебе нужно изучить все 9 Базовых Навыков. Если ты не сделаешь этого, то ты вообще не сможешь сменить профессию.";
            else
                mes "Тебе уже слишком поздно становиться Мечником. У тебя уже есть другая профессия. Ну а в прочем, ничего плохого не будит, если я расскажу тебе об этих требованиях...";
        }
        next;
        mes $@npcnames$;
        mes "Во-первых, тебе нужно изучить все 9 Базовых Навыков. Если ты не сделаешь этого, то ты вообще не сможешь сменить профессию.";
        next;
        mes $@npcnames$;
        mes "Во-вторых, тебе нужно будит пройти тест на Мечника. Можешь узнать подробности у экзаменатора в комнате ожидания Теста на Мечника.";
        next;
        mes $@npcnames$;
        mes "Если ты сможешь выполнить эти 2 требования, то ты сможешь поменять профессию на Мечника в любой момент, когда захочешь.";
        close;
    case 4:
        mes $@npcnames$;
        mes "Ха-ха-ха!";
        mes "Ах, молодёжь!";
        close;
    }
}

izlude_in,62,170,6    script    Предводитель#swd_2    85,{
    set $@npcnames$,"[^BC7F15Предводитель теста Мечников^000000]";
    mes $@npcnames$;
    if (BaseJob == Job_Swordman) {
        mes "Прости приятель, но кроме новичков которые хотят стать Мечниками, сюда не допускаются.";
        close;
    }
    else if (BaseJob != Job_Novice) {
        mes "Кто, ты ещё такой черт тебя побери?! Никто, кроме Новичков, в этот Зал не допускается!";
        mes "Так что проваливай пока живой!";
        close;
    }
    else if (getskilllv("NV_BASIC") < 9) {
        mes "Так! Стоять! Я не пропущю тебя до тех пор, пока ты не изучишь все ^4A4AFFБазовые Навыки^000000. Тестовый зал - это тебе не майку в трусы заправлять!";
        close;
    }
    else if (job_sword_q == 4) {
        mes "Эй. Тебе надо поговорить с Мечником стоящего в центре комнаты, а не со мной. Ты это хорошо усёк?";
        close;
    }
    else if (job_sword_q == 0) {
        mes "Так! Стоять! Я смотрю ты успел освоить все ^4A4AFFБазовые Навыки^000000. Но...";
        next;
        mes $@npcnames$;
        mes "Тебе надо поговорить с Мечником стоящего в центре комнаты, а не со мной.";
        close;
    }
    else {
        savepoint "izlude_in",65,165;
        warp "izlude_in",39,170;
        end;
    }
}

izlude_in,30,175,4    script    Учительница теста#swd_3    92,{
    set $@npcnames$,"[^BC7F15Учительница по тесту^000000]";
    mes $@npcnames$;
    mes "Послушай меня, я расскажу тебе про тест. Только слушай внимательно, я повторять не собираюсь.";
    next;
    mes $@npcnames$;
    mes "Смысл этого теста - убедиться в том, что ты обладаешь навыками для того чтобы стать Мечником. Как тебе известно, чтобы быть Мечником, требуется физический дух!";
    next;
    mes $@npcnames$;
    mes "Без этих качеств ты не сможешь стать настоящим Мечником. Что касается условий для сдачи теста, то они очень просты.";
    next;
    mes $@npcnames$;
    mes "Тебе нужно будет пройти три отрезка путей, и достичь финиша в течении ^FF000010 минут^000000.";
    next;
    mes $@npcnames$;
    mes "Если ты выберешь 'Сдаться' или не уложишься во времени, то твой тест будет естественно провален!.";
    next;
    mes $@npcnames$;
    mes "Если ты уверен, что у тебя хватит сил, чтобы пройти данный тест, то иди ко входу и поговори с Сотрудником зала.";
    next;
    mes $@npcnames$;
    mes "В ходе своего пути ты можешь падать в случайно расставленные ямы. Однако курс придуман именно так, нужно пройти мимо этих расставленных ям.";
    next;
    mes $@npcnames$;
    mes "Тем не менее, будь осторожен с ними, ведь это будит тратить твоё драгоценное время. Я тебе всё объяснила, давай Вперёд!";
    close;
}

izlude_in,30,163,0    script    Сотрудник Зала#swd_1    105,{
    set $@npcnames$,"[^BC7F15Сотрудник тренировочного Зала^000000]";
    mes $@npcnames$;
    if (BaseJob == Job_Swordman) {
        mes "Хм? Как вы тут оказались? Вы не должны находиться здесь, поэтому пожалуйста, уходите отсюда немедленно.";
        close2;
        warp "izlude_in",66,170;
        end;
    }
    else if (BaseJob != Job_Novice) {
        mes "Кто ты такой?! Этот Тренировочный зал только для Меченосцев! Тебе не разрешено быть здесь! Уходи! Проваливай!";
        close2;
        warp "izlude_in",66,170;
        end;
    }
    if (job_sword_q == 1) {
        mes "А вот и долгожданный кандидат в Мечники. Отлично! Ты выглядишь многообещающе!";
        next;
        mes $@npcnames$;
        mes "Попробуй расслабиться и сделай всё, что сможешь. Тест он не такой уж и сложный.";
        set job_sword_q,2;
    }
    else if (job_sword_q == 2) {
        mes "Перездача? Ты не волнуйся о ней. Ничего с тобой плохого не случится. Вот, лучше возьми яблочек и взбодрись!";
        getitem 512,5; //Apple
        set job_sword_q,3;
    }
    else if (job_sword_q == 3)
        mes "Никогда не сдавайся!";
    close2;
    warp "job_sword1",10,245;
    end;
}

job_sword1,230,245,2    script    Медик#swd_1    105,{
    set $@npcnames$,"[^BC7F15Медик^000000]";
    callfunc "F_JobSwdMedic","1st!";
}
job_sword1,230,242,2    script    Сотрудник Зала#swd_2    105,{
    set $@npcnames$,"[^BC7F15Сотрудник тренировочного Зала^000000]";
    callfunc "F_JobSwdStaff",1;
}
job_sword1,230,207,2    script    Медик#2swd_2    105,{
    set $@npcnames$,"[^BC7F15Медик^000000]";
    callfunc "F_JobSwdMedic","2nd!";
}
job_sword1,230,204,2    script    Сотрудник Зала#2swd_3    105,{
    set $@npcnames$,"[^BC7F15Сотрудник тренировочного Зала^000000]";
    callfunc "F_JobSwdStaff",1;
}
job_sword1,223,167,2    script    Мэй#swd_1_success    92,{
    set $@npcnames$,"[^BC7F15Экзаменатор Мэй^000000]";
    mapannounce "job_sword1","Кандидат " + strcharinfo(0) + ". Вы успешно завершили тест.",bc_map;
    set job_sword_q,4;
    mes $@npcnames$;
    mes "Я искренне поздравляю Вас со сдачей этого не лёгкого Теста!";
    mes "Я уже отправила Ваш результат в Департамент Профессий. Пожалуйста, проследуйте к Офицеру в центре. Спасибо.";
    close2;
    warp "izlude_in",66,173;
    end;
}

function    script    F_JobSwdMedic    {
    percentheal 100,0;
    mes $@npcnames$;
    mes "Это контрольная точка номер "+getarg(0)+" Не унывай!";
    close;
}

function    script    F_JobSwdStaff    {
    mes $@npcnames$;
    mes "Ты сдаёшься?";
    next;
    if (select("Да.:Нет.") == 1) {
        mapannounce "job_sword1","Кандидат " + strcharinfo(0) + " завалил тест.",bc_map;
        warp "izlude_in",65,165;
        end;
    }
    mes $@npcnames$;
    mes "Браво! Тогда вперёд!";
    close;
}

function    script    F_JobSwdTestStaff    {
OnTouch:
    mes $@npcnames$;
    mes "Кандидат " + strcharinfo(0) + ". Ты сдаёшься??";
    next;
    if (select("Да.:Нет.") == 1) {
        mapannounce "job_sword1","Кандидат " + strcharinfo(0) + " завалил тест...",bc_map;
        warp "izlude_in",65,165;
        end;
    }
    warp "job_sword1",getarg(0),getarg(1);
    end;
}

function    script    F_JobSwdTestStaff2    {
OnTouch:
    mapannounce "job_sword1","Кандидат " + strcharinfo(0) + ". Вы прошли "+getarg(0)+" этап.",bc_map;
    warp "job_sword1",getarg(1),getarg(2);
    end;
}

job_sword1,223,243,0    warp    checkp1-2#swd_1    1,1,job_sword1,11,206
job_sword1,223,205,0    warp    checkp2-3#swd_1    1,1,job_sword1,11,168

job_sword1,7,245,0    script    Сотрудник Зала#swd_4    45,1,3,{
    callfunc "F_JobSwdTestStaff",10,245;
}

job_sword1,8,207,0    script    Сотрудник Зала#swd_5    45,1,6,{
    callfunc "F_JobSwdTestStaff",11,207;
}

job_sword1,8,169,0    script    Сотрудник Зала#swd_6    45,1,6,{
    callfunc "F_JobSwdTestStaff",11,169;
}

job_sword1,192,244,0    script    Сотрудник Зала#swd_7    45,1,3,{
    callfunc "F_JobSwdTestStaff2","1st",215,244;
}

job_sword1,193,207,0    script    Сотрудник Зала#swd_8    45,1,3,{
    callfunc "F_JobSwdTestStaff2","2nd",215,205;
    warp "job_sword1",215,205;
}

job_sword1,193,168,0    script    Сотрудник Зала#swd_9    45,1,3,{
    callfunc "F_JobSwdTestStaff2","3rd",215,167;
}

job_sword1,65,117,0    warp    pitfall01-01    1,1,job_sword1,10,245
job_sword1,98,27,0    warp    pitfall02-01    1,1,job_sword1,11,207
job_sword1,161,27,0    warp    pitfall02-02    1,1,job_sword1,11,207
job_sword1,239,117,0    warp    pitfall03-01    1,1,job_sword1,11,169

job_sword1,16,251,0    script    1_blank_1_a::SwdTrap1    -1,0,1,{
OnTouch:
    switch(rand(1,5)) {
    case 1: warp "job_sword1",65,56; end;
    case 2: warp "job_sword1",29,26; end;
    case 3: warp "job_sword1",43,16; end;
    case 4: warp "job_sword1",23,112; end;
    case 5: warp "job_sword1",58,83; end;
    }
}
job_sword1,19,251,0    duplicate(SwdTrap1)    1_blank_1_b    -1,0,1
job_sword1,17,250,0    duplicate(SwdTrap1)    1_blank_1_c    -1,1,0
job_sword1,16,238,0    duplicate(SwdTrap1)    1_blank_2_a    -1,0,1
job_sword1,19,238,0    duplicate(SwdTrap1)    1_blank_2_b    -1,0,1
job_sword1,17,239,0    duplicate(SwdTrap1)    1_blank_2_c    -1,0,1
job_sword1,28,247,0    duplicate(SwdTrap1)    1_blank_3_a    -1,4,0
job_sword1,33,245,0    duplicate(SwdTrap1)    1_blank_3_b    -1,0,2
job_sword1,29,242,0    duplicate(SwdTrap1)    1_blank_3_c    -1,4,0
job_sword1,24,244,0    duplicate(SwdTrap1)    1_blank_3_d    -1,0,2
job_sword1,38,251,0    duplicate(SwdTrap1)    1_blank_4_a    -1,0,1
job_sword1,41,251,0    duplicate(SwdTrap1)    1_blank_4_b    -1,0,1
job_sword1,39,250,0    duplicate(SwdTrap1)    1_blank_4_c    -1,1,0
job_sword1,38,238,0    duplicate(SwdTrap1)    1_blank_5_a    -1,0,1
job_sword1,41,238,0    duplicate(SwdTrap1)    1_blank_5_b    -1,0,1
job_sword1,39,239,0    duplicate(SwdTrap1)    1_blank_5_c    -1,1,0
job_sword1,54,251,0    duplicate(SwdTrap1)    1_blank_6_a    -1,0,1
job_sword1,71,251,0    duplicate(SwdTrap1)    1_blank_6_b    -1,0,1
job_sword1,62,250,0    duplicate(SwdTrap1)    1_blank_6_c    -1,9,0
job_sword1,62,247,0    duplicate(SwdTrap1)    1_blank_7_a    -1,8,0
job_sword1,71,244,0    duplicate(SwdTrap1)    1_blank_7_b    -1,0,2
job_sword1,63,242,0    duplicate(SwdTrap1)    1_blank_7_c    -1,8,0
job_sword1,54,244,0    duplicate(SwdTrap1)    1_blank_7_d    -1,0,2
job_sword1,54,238,0    duplicate(SwdTrap1)    1_blank_8_a    -1,0,1
job_sword1,71,238,0    duplicate(SwdTrap1)    1_blank_8_b    -1,0,1
job_sword1,62,239,0    duplicate(SwdTrap1)    1_blank_8_c    -1,9,0
job_sword1,102,247,0    duplicate(SwdTrap1)    1_blank_9_a    -1,2,0
job_sword1,105,245,0    duplicate(SwdTrap1)    1_blank_9_b    -1,0,2
job_sword1,103,242,0    duplicate(SwdTrap1)    1_blank_9_c    -1,2,0
job_sword1,100,244,0    duplicate(SwdTrap1)    1_blank_9_d    -1,0,2
job_sword1,156,249,0    duplicate(SwdTrap1)    1_blank_10_a    -1,14,0
job_sword1,156,248,0    duplicate(SwdTrap1)    1_blank_10_b    -1,14,0
job_sword1,170,249,0    duplicate(SwdTrap1)    1_blank_10_c    -1,1,0
job_sword1,170,248,0    duplicate(SwdTrap1)    1_blank_10_d    -1,1,0
job_sword1,156,245,0    duplicate(SwdTrap1)    1_blank_11_a    -1,14,0
job_sword1,156,244,0    duplicate(SwdTrap1)    1_blank_11_b    -1,14,0
job_sword1,170,245,0    duplicate(SwdTrap1)    1_blank_11_c    -1,1,0
job_sword1,170,244,0    duplicate(SwdTrap1)    1_blank_11_d    -1,1,0
job_sword1,156,241,0    duplicate(SwdTrap1)    1_blank_12_a    -1,14,0
job_sword1,156,240,0    duplicate(SwdTrap1)    1_blank_12_b    -1,14,0
job_sword1,170,241,0    duplicate(SwdTrap1)    1_blank_12_c    -1,1,0
job_sword1,170,240,0    duplicate(SwdTrap1)    1_blank_12_d    -1,1,0
job_sword1,180,251,0    duplicate(SwdTrap1)    1_blank_13_a    -1,0,1
job_sword1,183,251,0    duplicate(SwdTrap1)    1_blank_13_b    -1,0,1
job_sword1,181,250,0    duplicate(SwdTrap1)    1_blank_13_c    -1,1,0
job_sword1,180,238,0    duplicate(SwdTrap1)    1_blank_14_a    -1,0,1
job_sword1,183,238,0    duplicate(SwdTrap1)    1_blank_14_b    -1,0,1
job_sword1,181,239,0    duplicate(SwdTrap1)    1_blank_14_c    -1,1,0

job_sword1,193,245,0    warp    1_rest    1,3,job_sword1,215,244

job_sword1,56,212,0    script    2_blank_1_a::SwdTrap2    -1,40,0,{
OnTouch:
    switch(rand(1,5)) {
    case 1: warp "job_sword1",162,120; end;
    case 2: warp "job_sword1",94,120; end;
    case 3: warp "job_sword1",94,85; end;
    case 4: warp "job_sword1",162,85; end;
    case 5: warp "job_sword1",130,47; end;
    }
}

job_sword1,95,212,0    duplicate(SwdTrap2)    2_blank_1_b    -1,2,0
job_sword1,56,210,0    duplicate(SwdTrap2)    2_blank_2_a    -1,40,0
job_sword1,95,210,0    duplicate(SwdTrap2)    2_blank_2_b    -1,2,0
job_sword1,16,206,0    duplicate(SwdTrap2)    2_blank_2_c    -1,0,3
job_sword1,97,206,0    duplicate(SwdTrap2)    2_blank_2_d    -1,0,3
job_sword1,56,203,0    duplicate(SwdTrap2)    2_blank_2_e    -1,40,0
job_sword1,95,203,0    duplicate(SwdTrap2)    2_blank_2_f    -1,2,0
job_sword1,56,201,0    duplicate(SwdTrap2)    2_blank_3_a    -1,40,0
job_sword1,95,201,0    duplicate(SwdTrap2)    2_blank_3_b    -1,2,0

job_sword1,113,212,0    duplicate(SwdTrap2)    2_blank_4_a    -1,14,0
job_sword1,125,212,0    duplicate(SwdTrap2)    2_blank_4_b    -1,2,0
job_sword1,113,210,0    duplicate(SwdTrap2)    2_blank_5_a    -1,14,0
job_sword1,125,210,0    duplicate(SwdTrap2)    2_blank_5_b    -1,2,0
job_sword1,100,206,0    duplicate(SwdTrap2)    2_blank_5_c    -1,0,3
job_sword1,127,206,0    duplicate(SwdTrap2)    2_blank_5_d    -1,0,3
job_sword1,113,203,0    duplicate(SwdTrap2)    2_blank_5_e    -1,14,0
job_sword1,125,210,0    duplicate(SwdTrap2)    2_blank_5_f    -1,2,0
job_sword1,113,201,0    duplicate(SwdTrap2)    2_blank_6_a    -1,14,0
job_sword1,113,201,0    duplicate(SwdTrap2)    2_blank_6_b    -1,2,0

job_sword1,155,212,0    duplicate(SwdTrap2)    2_blank_7_a    -1,21,0
job_sword1,181,212,0    duplicate(SwdTrap2)    2_blank_7_b    -1,2,0
job_sword1,155,210,0    duplicate(SwdTrap2)    2_blank_8_a    -1,21,0
job_sword1,181,210,0    duplicate(SwdTrap2)    2_blank_8_b    -1,2,0
job_sword1,130,206,0    duplicate(SwdTrap2)    2_blank_8_c    -1,0,3
job_sword1,183,206,0    duplicate(SwdTrap2)    2_blank_8_d    -1,0,3
job_sword1,155,203,0    duplicate(SwdTrap2)    2_blank_8_e    -1,21,0
job_sword1,181,203,0    duplicate(SwdTrap2)    2_blank_8_f    -1,2,0
job_sword1,155,201,0    duplicate(SwdTrap2)    2_blank_9_a    -1,40,0
job_sword1,181,201,0    duplicate(SwdTrap2)    2_blank_9_b    -1,2,0

job_sword1,17,174,0    script    3_blank_1_a::SwdTrap3    -1,2,0,{
OnTouch:
    switch(rand(1,5)) {
    case 1: warp "job_sword1",195,15; end;
    case 2: warp "job_sword1",195,38; end;
    case 3: warp "job_sword1",231,30; end;
    case 4: warp "job_sword1",198,65; end;
    case 5: warp "job_sword1",196,116; end;
    }
}

job_sword1,17,163,0    duplicate(SwdTrap3)    3_blank_2_a    -1,2,0
job_sword1,29,171,0    duplicate(SwdTrap3)    3_blank_3_a    -1,2,0
job_sword1,31,168,0    duplicate(SwdTrap3)    3_blank_3_b    -1,0,2
job_sword1,28,166,0    duplicate(SwdTrap3)    3_blank_3_c    -1,2,0
job_sword1,26,168,0    duplicate(SwdTrap3)    3_blank_3_d    -1,0,2
job_sword1,36,169,0    duplicate(SwdTrap3)    3_blank_4_a    -1,0,0
job_sword1,37,169,0    duplicate(SwdTrap3)    3_blank_4_b    -1,0,0
job_sword1,37,168,0    duplicate(SwdTrap3)    3_blank_4_c    -1,0,0
job_sword1,36,168,0    duplicate(SwdTrap3)    3_blank_4_c2    -1,0,0
job_sword1,40,175,0    duplicate(SwdTrap3)    3_blank_5_a    -1,0,1
job_sword1,41,175,0    duplicate(SwdTrap3)    3_blank_5_b    -1,0,1
job_sword1,41,171,0    duplicate(SwdTrap3)    3_blank_6_a    -1,1,0
job_sword1,41,170,0    duplicate(SwdTrap3)    3_blank_6_b    -1,1,0
job_sword1,41,167,0    duplicate(SwdTrap3)    3_blank_6_c    -1,1,0
job_sword1,41,166,0    duplicate(SwdTrap3)    3_blank_6_d    -1,1,0
job_sword1,42,169,0    duplicate(SwdTrap3)    3_blank_6_e    -1,0,1
job_sword1,43,170,0    duplicate(SwdTrap3)    3_blank_6_f    -1,0,1
job_sword1,43,167,0    duplicate(SwdTrap3)    3_blank_6_g    -1,0,1
job_sword1,40,162,0    duplicate(SwdTrap3)    3_blank_7_a    -1,0,1
job_sword1,41,162,0    duplicate(SwdTrap3)    3_blank_7_b    -1,0,1
job_sword1,46,175,0    duplicate(SwdTrap3)    3_blank_8_a    -1,0,1
job_sword1,51,175,0    duplicate(SwdTrap3)    3_blank_8_b    -1,0,1
job_sword1,47,174,0    duplicate(SwdTrap3)    3_blank_8_c    -1,1,0
job_sword1,50,174,0    duplicate(SwdTrap3)    3_blank_8_d    -1,1,0
job_sword1,48,173,0    duplicate(SwdTrap3)    3_blank_8_e    -1,0,1
job_sword1,49,173,0    duplicate(SwdTrap3)    3_blank_8_f    -1,0,1
job_sword1,46,162,0    duplicate(SwdTrap3)    3_blank_9_a    -1,0,1
job_sword1,51,162,0    duplicate(SwdTrap3)    3_blank_9_b    -1,0,1
job_sword1,47,163,0    duplicate(SwdTrap3)    3_blank_9_c    -1,1,0
job_sword1,50,163,0    duplicate(SwdTrap3)    3_blank_9_d    -1,1,0
job_sword1,48,164,0    duplicate(SwdTrap3)    3_blank_9_e    -1,0,1
job_sword1,49,164,0    duplicate(SwdTrap3)    3_blank_9_f    -1,0,1
job_sword1,54,170,0    duplicate(SwdTrap3)    3_blank_10_a    -1,0,1
job_sword1,55,170,0    duplicate(SwdTrap3)    3_blank_10_b    -1,0,1
job_sword1,54,167,0    duplicate(SwdTrap3)    3_blank_10_c    -1,0,1
job_sword1,55,167,0    duplicate(SwdTrap3)    3_blank_10_d    -1,0,1
job_sword1,53,169,0    duplicate(SwdTrap3)    3_blank_10_e    -1,1,0
job_sword1,53,168,0    duplicate(SwdTrap3)    3_blank_10_f    -1,1,0
job_sword1,56,169,0    duplicate(SwdTrap3)    3_blank_10_g    -1,1,0
job_sword1,56,168,0    duplicate(SwdTrap3)    3_blank_10_h    -1,1,0
job_sword1,58,175,0    duplicate(SwdTrap3)    3_blank_11_a    -1,0,1
job_sword1,59,174,0    duplicate(SwdTrap3)    3_blank_11_b    -1,1,0
job_sword1,60,173,0    duplicate(SwdTrap3)    3_blank_11_c    -1,0,1
job_sword1,61,172,0    duplicate(SwdTrap3)    3_blank_11_d    -1,1,0
job_sword1,58,162,0    duplicate(SwdTrap3)    3_blank_12_a    -1,0,1
job_sword1,59,163,0    duplicate(SwdTrap3)    3_blank_12_b    -1,1,0
job_sword1,60,164,0    duplicate(SwdTrap3)    3_blank_12_c    -1,0,1
job_sword1,61,165,0    duplicate(SwdTrap3)    3_blank_12_d    -1,1,0
job_sword1,76,172,0    duplicate(SwdTrap3)    3_blank_13_a    -1,1,0
job_sword1,77,173,0    duplicate(SwdTrap3)    3_blank_13_b    -1,0,1
job_sword1,78,174,0    duplicate(SwdTrap3)    3_blank_13_c    -1,1,0
job_sword1,79,175,0    duplicate(SwdTrap3)    3_blank_13_d    -1,0,1
job_sword1,76,165,0    duplicate(SwdTrap3)    3_blank_14_a    -1,1,0
job_sword1,77,164,0    duplicate(SwdTrap3)    3_blank_14_b    -1,0,1
job_sword1,78,163,0    duplicate(SwdTrap3)    3_blank_14_c    -1,1,0
job_sword1,79,162,0    duplicate(SwdTrap3)    3_blank_14_d    -1,0,1
job_sword1,94,175,0    duplicate(SwdTrap3)    3_blank_15_a    -1,0,1
job_sword1,95,174,0    duplicate(SwdTrap3)    3_blank_15_b    -1,1,0
job_sword1,98,174,0    duplicate(SwdTrap3)    3_blank_15_c    -1,1,0
job_sword1,99,175,0    duplicate(SwdTrap3)    3_blank_16_d    -1,0,1
job_sword1,96,169,0    duplicate(SwdTrap3)    3_blank_17_a    -1,0,0
job_sword1,97,169,0    duplicate(SwdTrap3)    3_blank_17_b    -1,0,0
job_sword1,97,168,0    duplicate(SwdTrap3)    3_blank_17_c    -1,0,0
job_sword1,96,168,0    duplicate(SwdTrap3)    3_blank_17_d    -1,0,0
job_sword1,94,162,0    duplicate(SwdTrap3)    3_blank_18_a    -1,0,1
job_sword1,95,163,0    duplicate(SwdTrap3)    3_blank_18_b    -1,1,0
job_sword1,98,163,0    duplicate(SwdTrap3)    3_blank_18_c    -1,1,0
job_sword1,99,162,0    duplicate(SwdTrap3)    3_blank_18_d    -1,0,1
job_sword1,114,175,0    duplicate(SwdTrap3)    3_blank_19_a    -1,0,1
job_sword1,115,175,0    duplicate(SwdTrap3)    3_blank_19_b    -1,0,1
job_sword1,114,162,0    duplicate(SwdTrap3)    3_blank_20_a    -1,0,1
job_sword1,115,162,0    duplicate(SwdTrap3)    3_blank_20_b    -1,0,1
job_sword1,126,175,0    duplicate(SwdTrap3)    3_blank_21_a    -1,0,1
job_sword1,127,175,0    duplicate(SwdTrap3)    3_blank_21_b    -1,0,1
job_sword1,126,162,0    duplicate(SwdTrap3)    3_blank_23_a    -1,0,1
job_sword1,127,162,0    duplicate(SwdTrap3)    3_blank_23_b    -1,0,1
job_sword1,160,174,0    duplicate(SwdTrap3)    3_blank_24_a    -1,0,2
job_sword1,161,174,0    duplicate(SwdTrap3)    3_blank_24_b    -1,0,2
job_sword1,160,163,0    duplicate(SwdTrap3)    3_blank_25_a    -1,0,2
job_sword1,161,163,0    duplicate(SwdTrap3)    3_blank_25_b    -1,0,2
job_sword1,168,175,0    duplicate(SwdTrap3)    3_blank_26_a    -1,0,2
job_sword1,169,175,0    duplicate(SwdTrap3)    3_blank_26_b    -1,0,2
job_sword1,168,162,0    duplicate(SwdTrap3)    3_blank_27_a    -1,0,2
job_sword1,169,162,0    duplicate(SwdTrap3)    3_blank_27_b    -1,0,2
job_sword1,176,174,0    duplicate(SwdTrap3)    3_blank_28_a    -1,0,2
job_sword1,177,174,0    duplicate(SwdTrap3)    3_blank_28_b    -1,0,2
job_sword1,178,173,0    duplicate(SwdTrap3)    3_blank_28_c    -1,1,0
job_sword1,178,172,0    duplicate(SwdTrap3)    3_blank_28_d    -1,1,0
job_sword1,181,174,0    duplicate(SwdTrap3)    3_blank_28_e    -1,2,0
job_sword1,179,169,0    duplicate(SwdTrap3)    3_blank_29_a    -1,3,0
job_sword1,179,168,0    duplicate(SwdTrap3)    3_blank_29_b    -1,3,0
job_sword1,182,169,0    duplicate(SwdTrap3)    3_blank_29_c    -1,0,2
job_sword1,183,169,0    duplicate(SwdTrap3)    3_blank_29_d    -1,0,2
job_sword1,181,167,0    duplicate(SwdTrap3)    3_blank_29_e    -1,1,0
job_sword1,181,166,0    duplicate(SwdTrap3)    3_blank_29_f    -1,1,0
job_sword1,183,167,0    duplicate(SwdTrap3)    3_blank_29_g    -1,0,1
job_sword1,176,163,0    duplicate(SwdTrap3)    3_blank_30_a    -1,0,2
job_sword1,177,163,0    duplicate(SwdTrap3)    3_blank_30_b    -1,0,2
job_sword1,181,163,0    duplicate(SwdTrap3)    3_blank_30_c    -1,2,0

job_sword1,0,0,0,0    monster    Чончон    1183,20,0,0,0
job_sword1,35,79,0,0    monster    Фабре    1184,3,60000,30000,0
job_sword1,50,108,0,0    monster    Фабре    1184,3,60000,30000,0
job_sword1,61,28,0,0    monster    Фабре    1184,3,60000,30000,0
job_sword1,61,92,0,0    monster    Фабре    1184,3,60000,30000,0
job_sword1,110,112,0,0    monster    Фабре    1184,2,60000,30000,0
job_sword1,161,94,0,0    monster    Фабре    1184,2,60000,30000,0
job_sword1,130,76,0,0    monster    Фабре    1184,2,60000,30000,0
job_sword1,103,58,0,0    monster    Фабре    1184,2,60000,30000,0
job_sword1,130,24,0,0    monster    Фабре    1184,5,60000,30000,0
job_sword1,201,36,0,0    monster    Фабре    1184,2,60000,30000,0
job_sword1,201,16,0,0    monster    Фабре    1184,2,60000,30000,0
job_sword1,239,44,0,0    monster    Фабре    1184,3,60000,30000,0
job_sword1,239,76,0,0    monster    Фабре    1184,2,60000,30000,0
job_sword1,231,101,0,0    monster    Фабре    1184,2,60000,30000,0
job_sword1,234,117,0,0    monster    Фабре    1184,2,60000,30000,0
job_sword1,198,91,0,0    monster    Фабре    1184,2,60000,30000,0
job_sword1,200,63,0,0    monster    Фабре    1184,2,60000,30000,0

 

 

 

скриншот

 

 

Скрытый текст

 

knight2.jpg

knight3.jpg

knight5.jpg

knight6.jpg

 

Изменено пользователем ucell-uz
  • Upvote 2
Ссылка на комментарий
Поделиться на другие сайты

Магические растворы солюшены

 

hercules путь к скрипту /hercules-master/npc/quests/mage_solution.txt

 

Скрытый текст

 

pay_arche,122,100,0    script    Доллшой    4_M_ORIENT01,{
    set $@npcnames$,"[^BC7F15Член гильдии магов^000000]";
    mes $@npcnames$;
    mes "Хочешь хаствор? Хм.. не проблема. Принеси мне 50 Зеней и одну пустую Колбу (1 Empty Test Tube). И Пайонский раствор твой.";
    mes "Ну? о чём задумался? по рукам или как?";
    next;
    if (select("По рукам!:Не, прости друг") == 1) {
        mes $@npcnames$;
        if (Zeny < 50) {
            mes "Эй! А где бабло? Меня не кинешь, тащи за мои услуги 50 Зеней, я много и не прошу.";
            close;
        }
        if (countitem(Empty_Cylinder) == 0) {
            mes "Интересно, ты собрался уносить раствор без колбы в руках? Я же сказал, принеси мне одну пустую Колбу (1 Empty Test Tube).";
            close;
        }
        delitem Empty_Cylinder,1;
        Zeny -= 50;
        getitem Payon_Potion,1;
    }
    close;
}

moc_ruins,91,150,0    script    Понка-хонтас    4_F_04,{
    set $@npcnames$,"[^BC7F15Член гильдии магов^000000]";
    mes $@npcnames$;
    mes "Хочешь хаствор? могу в этом помочь. Если ты принесёшь мне 50 Зеней и одну пустую Колбу (1 Empty Test Tube). То я для тебя сделаю Моррокский раствор.";
    mes "Ну? что скажешь по рукам?";
    next;
    if (select("По рукам!:Забудь об этом") == 1) {
        mes $@npcnames$;
        if (Zeny < 50) {
            mes "Извини, но у тебя недостаток Зеней, принеси мне всего 50 Зеней, для оплаты моих услуг, не всё тут бесплатно делается :-)";
            close;
        }
        if (countitem(Empty_Cylinder) == 0) {
            mes "Интересно, и куда я по твоему должна наливать всё это? Я же тебе сказала, принеси мне одну пустую Колбу (1 Empty Test Tube).";
            close;
        }
        delitem Empty_Cylinder,1;
        Zeny -= 50;
        getitem Morocc_Potion,1;
    }
    close;
}

 

 

rAthena путь к скрипту /trunk/npc/quests/mage_solution.txt

ВНИМАНИЕ

скрипты мало чем отличаются, друг от друга, но разница есть, не путайтесь между hA и rA!

 

Скрытый текст

 

под rAthena я не делал, переделывайте сами!

 

 

 

скриншот

 

Скрытый текст

 

b-203.png

b-204.png

 

 

 

Получение профессии Мага

 

hercules путь к скрипту /hercules-master/npc/re/jobs/1-1/mage.txt

 

geffen_in,164,124,4    script    Член Гильдии Магов    2_F_MAGICMASTER,{
    set $@npcnames$,"[^BC7F15Член гильдии магов^000000]";
    if (Upper == 1) {
        if (ADVJOB == Job_High_Wizard || ADVJOB == Job_Professor) {
            if (Class == Job_Novice_High) {
                mes $@npcnames$;
                mes "Ого, давненько мы с тобою не виделись! а я уж подумала что ты умер давно?";
                next;
                mes $@npcnames$;
                mes "";
                if (Sex)
                mes "Ух, я смотрю ты переродился уже. Что ж, я очень рада за тебя, это хорошо что ты вернулся.";
                else {
                mes "Вау!, я смотрю ты переродилась уже. Что же, я очень рада за тебя, это хорошо что ты вернулась к нам.";
                }
                next;
                if (getskilllv("NV_BASIC") < 9) {
                    mes $@npcnames$;
                mes "";
                if (Sex)
                mes "Хм-м? ты ещё не изучил все ^4A4AFFБазовые Навыки^000000. Тебе нужно сделать это до того, как стать Магом!";
                else {
                mes "Хм-м? ты ещё не изучила ещё все ^4A4AFFБазовые Навыки^000000. Тебе нужно сделать это до того, как станешь Магом!";
                }
                    next;
                    mes $@npcnames$;
                    mes "Не торопись. Чем больше ты узнаёшь обо всём, тем больше изучишь магию сново.";
                    close;
                }
                mes $@npcnames$;
                mes "Well, since you have passed the Mage test once, I will not question your qualification. You want to have your magic skills back immediately, don't you?";
                next;
                skill 143,0,0;
                jobchange Job_Mage_High;
                skill 157,1,0;
                mes $@npcnames$;
                mes "Wow, for some reason, you look way better than you did before. Anyway, I believe you will do a better job being a Mage as well.";
                close;
            }
            else {
                mes $@npcnames$;
                mes "Is there anything more I can help you with? If not, why don't you go test your skills? The world is waiting for you~!";
                close;
            }
        }
        else {
            mes $@npcnames$;
            mes "What, are you interested in the Mage guild? I didn't want to tell you this, but you don't belong here.";
            next;
            mes $@npcnames$;
            mes "I am not sure why you're still standing in front of me, but I can tell that you're not meant to be a Mage.";
            close;
        }
    }
    mes $@npcnames$;
    mes "";
    if (Sex)
    mes "Чего тебе дружище?";
    else {
    mes "Чего хотела подруга?";
    }
    next;
    switch(select("Я хочу стать магом.:Требования, чтобы стать магом.:Ничего особенного.")) {
    case 1:
        mes $@npcnames$;
        if (BaseJob == Job_Mage) {
                mes "";
                if (Sex)
                mes "Ты разве не понял ещё? Ты уже стал магом, глупыш! )))";
                else {
                mes "Ты что, не поняла ещё? Ты уже стала магом, глупенькая :-D";
                }
            next;
            mes $@npcnames$;
            mes "Скоро ты увидишь в себе скрытую силу и сможешь управлять Огнём с помощью силы своего разума!";
            close;
        }
        if (BaseJob != Job_Novice) {
            mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job.";
            close;
        }
        if (job_magician_q == 0) {
            mes "Хочешь стать магом? Хм-м...";
            if (Sex)
                mes "Ну-ка, посмотрим на тебя! Симпатичный~! Впрочем, не в моём вкусе...";
            else {
                mes "Ооох, какая ты горячая штучка~!";
                mes "Мне нравится твой пыл~";
            }
            next;
            mes $@npcnames$;
            mes "";
            if (Sex)
            mes "Перейдём, сразу к делу. Ты сказал, что хочешь быть магом? Давай заполняй тогда вот эту заявку.";
            else {
            mes "Впрочем, перейдём сразу к делу. Ты сказала, что хочешь быть магом? Давай заполняй тогда вот эту заявку.";
            }
            next;
            if (select("Заполнить.:Не заполнять.") == 1) {
                mes $@npcnames$;
                mes "О-кей. Подпиши вот тут ещё. О, У тебя красивый почерк. Отлично. Значит, тебя зовут... ^3355FF" + strcharinfo(0) + "^000000.";
                next;
                mes $@npcnames$;
                mes "Ну! пришло время проверить тебя.";
                switch(rand(3)) {
                case 1:
                    mes "Сделай и принеси мне Магическую Смесь № 1 ^3355FFMixed Solution № 1^000000.";
                    job_magician_q = 1;
                    break;
                case 2:
                    mes "Сделай и принеси мне Магическую Смесь № 2 ^3355FFMixed Solution № 2^000000.";
                    job_magician_q = 2;
                    break;
                case 3:
                    mes "Сделай и принеси мне Магическую Смесь № 3 ^3355FFMixed Solution № 3^000000.";
                    job_magician_q = 3;
                    break;
                default:
                    mes "Сделай и принеси мне Магическую Смесь № 4 ^3355FFMixed Solution № 4^000000.";
                    job_magician_q = 4;
                }
                next;
                getitem Empty_Cylinder,1;
                mes $@npcnames$;
                mes "Необходимые ингридиенты написаны в книжках, глянь вот в том шкафу.";
                next;
                mes $@npcnames$;
                mes "Когда соберёшь все ингридиенты, подойди к магической машине в центре комнаты и смешай всё с её помощью. Удачки..!";
                close;
            }
            mes $@npcnames$;
            if (Sex)
            mes "О_о что-о, что-о-о~! Ты сказал мне, что хочешь стать магом, и сразу же передумал!? Может, тебе надо стать более ответственным !?...";
            else {
            mes "О_о что-о~?! Ты сказала мне, что хочешь стать магом, и сразу же передумала!? Может, тебе надо стать более ответственной !?...";
            }
            close;
        }
        mes "";
        if (Sex)
        mes "Ну что? Ты готов уже...?";
        else {
        mes "Ну что? Ты готова...?";
        }
        if (getskilllv("NV_BASIC") < 9) {
            mes "";
            if (Sex)
            mes "Ох, дак ты в добавок и лентяй. Ты ещё и не соответствуешь требованиям.";
            else {
            mes "Ах, ты лентяйка. Ты ещё и не соответствуешь требованиям.";
            }
            next;
            mes $@npcnames$;
            mes "Возвращайся, когда возмёшь ^FF00009й джоб новичком^000000. И не забудь выучить все ^FF0000Базовые навыки^000000 перед тем, как вернёшься.";
            close;
        }
        mes "Так, ты же у нас ^3355FF" + strcharinfo(0) + "^000000 и тебе надо было сделать...";
        if (job_magician_q == 1)
            mes "Магическую Смесь № 1.";
        else if (job_magician_q == 2)
            mes "Магическую Смесь № 2.";
        else if (job_magician_q == 3)
            mes "Магическую Смесь № 3.";
        else
            mes "Магическую Смесь № 4.";
        next;
        mes $@npcnames$;
            mes "";
            if (Sex)
            mes "Хорошо, давай-ка я посмотрю правильно ли ты сделал свою смесь.";
            else {
            mes "Хорошо, давай-ка я посмотрю правильно ли ты сделала свою смесь.";
            }
        next;
        mes $@npcnames$;
        if (countitem(Mage_Test_1) == 0 && countitem(Mage_Test_2) == 0 && countitem(Mage_Test_3) == 0 && countitem(Mage_Test_4) == 0 && countitem(Mage_Test_Etc) == 0) {
            mes "Эй, а сама смесь-то где, которую я просила сделать...?";
            mes "Я же не могу проверить, если ты мне её не покажешь!";
            close;
        }
        else {
            if ((job_magician_q == 1 && countitem(Mage_Test_1) == 0) || (job_magician_q == 2 && countitem(Mage_Test_2) == 0) || (job_magician_q == 3 && countitem(Mage_Test_3) == 0) || (job_magician_q == 4 && countitem(Mage_Test_4) == 0)) {
                mes "Стоп. Но это не та смесь, которую я просила!";
                next;
                mes $@npcnames$;
                if (job_magician_q == 1)
                    mes "Тебе же чётко и ясно было сказано, сделать Магическую Смесь № 1. А вот это вот что? Вообщем я ничего не знаю, неси мне то что я просила.";
                else if (job_magician_q == 2)
                    mes "Тебе же чётко и ясно было сказано, сделать Магическую Смесь № 2. А вот это вот что? Вообщем я ничего не знаю, неси мне то что я просила.";
                else if (job_magician_q == 3)
                    mes "Тебе же чётко и ясно было сказано, сделать Магическую Смесь № 3. А вот это вот что? Вообщем я ничего не знаю, неси мне то что я просила.";
                else
                    mes "Тебе же чётко и ясно было сказано, сделать Магическую Смесь № 4. А вот это вот что? Вообщем я ничего не знаю, неси мне то что я просила.";

                if (countitem(Mage_Test_1) != 0) delitem Mage_Test_1,1;
                else if (countitem(Mage_Test_2) != 0) delitem Mage_Test_2,1;
                else if (countitem(Mage_Test_3) != 0) delitem Mage_Test_3,1;
                else if (countitem(Mage_Test_4) != 0) delitem Mage_Test_4,1;
                else delitem Mage_Test_Etc,1;
                close;
            }
        }
        if (countitem(Mage_Test_1) != 0) delitem Mage_Test_1,1;
        else if (countitem(Mage_Test_2) != 0) delitem Mage_Test_2,1;
        else if (countitem(Mage_Test_3) != 0) delitem Mage_Test_3,1;
        else if (countitem(Mage_Test_4) != 0) delitem Mage_Test_4,1;
        else delitem Mage_Test_Etc,1;
        mes "Хм-м. Я вижу твои старания. Для новичка - очень неплохой результат.";
        mes "Отличная работа!";
        next;
        mes $@npcnames$;
        mes "";
        if (Sex)
        mes "Так вот! Я с радостью сообщаю, что ты прошёл Тест на Мага!";
        else {
        mes "Так вот! Я с радостью сообщаю, что ты прошла Тест на Мага!";
        }
        next;
        mes $@npcnames$;
        mes "* Гхм *";
        mes "Мои поздравления!";
        mes "Теперь ты Маг !";
        next;
        callfunc "Job_Change",Job_Mage;
        callfunc "F_ClearJobVar";
        Zeny += 50;
        if (questprogress(1005)) {
            completequest 1005;
        }
        else if (questprogress(1006)) {
            completequest 1006;
        }
        else if (questprogress(1007)) {
            completequest 1007;
        }
        else if (questprogress(1008)) {
            completequest 1008;
        }
        mes $@npcnames$;
        mes "Добро пожаловать в Мой Мир~";
        mes "Хе хе, как мне нравится это говорить. Ты в курсе, что эта цитата из популярного фильма~";
        next;
        mes $@npcnames$;
        mes "Теперь, когда ты Маг, как и я, мы с тобой обязательно подружимся~";
        close;
    case 2:
        mes $@npcnames$;
        mes "Хочешь стать магом, м-м?";
        if (Sex)
            mes "Для такого симпатяги, как ты, с удовольствием расскажу условия!";
        else
            mes "Для такой няшки как ты, я всегда рада рассказать о требованиях!";
        next;
        mes $@npcnames$;
        mes "Во-первых, тебе нужно достичь 10го Джоба (профессионального уровня) на Новичке и потратить все очки навыка. Потом тебе надо будет пройти Тест на Мага.";
        next;
        if (job_magician_q != 0) {
            mes $@npcnames$;
            mes "Твой тест заключается в том, чтобы";
            switch(job_magician_q) {
            case 1:
                mes "изготовить Магическую Смесь";
                mes "^3355FFMixed Solution № 1^000000";
                mes "и принести её мне. Всё понятно?";
                setquest 1005;
                break;
            case 2:
                mes "изготовить Магическую Смесь";
                mes "^3355FFMixed Solution № 2^000000";
                mes "и принести её мне. Всё понятно?";
                setquest 1006;
                break;
            case 3:
                mes "изготовить Магическую Смесь";
                mes "^3355FFMixed Solution № 3^000000";
                mes "и принести её мне. Всё понятно?";
                setquest 1007;
                break;
            default:
                mes "изготовить Магическую Смесь";
                mes "^3355FFMixed Solution № 4^000000";
                mes "и принести её мне. Всё понятно?";
                setquest 1008;
            }
            next;
            mes $@npcnames$;
            mes "Ты можешь посмотреть, какие ингридиенты необходимы, вон в том шкафу.";
        }
        else {
            mes $@npcnames$;
            mes "Тебе нужно будет сделать какую-нибудь специальную Магическую Смесь после того, как оформишь заявку.";
        }
        next;
        mes $@npcnames$;
        mes "";
            if (Sex)
                mes "Скажи мне, когда будешь готов стать магом, хорошо?";
            else {
                mes "Скажи мне, когда будешь готова стать магом, хорошо!";
            }
        close;
    case 3:
        mes $@npcnames$;
        mes "Ничего...? и это всё...?";
        close;
    }
}

geffen_in,164,112,4    script    Магический Миксер    HIDDEN_NPC,{
    set $@npcnames$,"[^BC7F15Магический миксер^000000]";
    mes $@npcnames$;
    mes "^3355FFЭта машина является собственностью Геффенской Академии Магов, и используется только для смешивания в магических целях^000000.";
    next;
    if (select("Использовать машину.:Не использовать.") == 1) {
        mes $@npcnames$;
        mes "^3355FFВыберайте раствор для Магической Смеси (Mixed Solution)^000000.";
        next;
        switch(select("Пайонский раствор.:Моррокский раствор.:Нет раствора.")) {
        case 1:
            if (countitem(Payon_Potion) == 0) {
                mes $@npcnames$;
                mes "^3355FFОшибка. Раствор не найден^000000.";
                mes "^3355FFПожалуйста проверьте ещё раз^000000.";
                mes "^3355FFПроцесс остановлен^000000.";
                close;
            }
            .@mixitem2 = 1;
            break;
        case 2:
            if (countitem(Morocc_Potion) == 0) {
                mes $@npcnames$;
                mes "^3355FFОшибка. Раствор не найден^000000.";
                mes "^3355FFПожалуйста проверьте ещё раз^000000.";
                mes "^3355FFПроцесс остановлен^000000.";
                close;
            }
            .@mixitem2 = 2;
            break;
        case 3:
            .@mixitem2 = 0;
            break;
        }
        while (1) {
            if (.@progress == 2) {
                mes $@npcnames$;
                if (.@mixitem1_1 != 0) mes "Jellopy: " + .@mixitem1_1 + " шт.";
                if (.@mixitem1_2 != 0) mes "Fluff: " + .@mixitem1_2 + " шт.";
                if (.@mixitem1_3 != 0) mes "Milk: " + .@mixitem1_3 + " шт.";
                if (.@mixitem2 == 0) mes "^3355FFРаствор: Отсутствует^000000.";
                if (.@mixitem2 == 1) mes "^3355FFРаствор: Пайонский^000000.";
                if (.@mixitem2 == 2) mes "^3355FFРаствор: Моррокский^000000.";
                next;
                mes $@npcnames$;
                mes "^3355FFПожалуйста, подтвердите введёные вами параметры^000000.";
                next;
                switch(select("Всё верно, смешать.:Ввести другие параметры.:Отменить.")) {
                case 1:
                    mes $@npcnames$;
                    mes "^3355FFПожалуйста, вставьте вещи в Магический миксер и убедитесь, что все данные верны^000000.";
                    next;
                    mes $@npcnames$;
                    mes "^3355FFВнимание! Вы не сможете восстановить вещи после их смешивания^000000.";
                    next;
                    mes $@npcnames$;
                    mes "^3355FFЕсли всё верно, нажмите кнопку 'Смешать'. В противном случае, нажмите 'Отмена'^000000.";
                    next;
                    if (select("Нажать кнопку 'Смешать:Нажать кнопку 'Отмена'") == 1) {
                        mes $@npcnames$;
                        mes "^3355FFБыли вставлены вещи в Магический миксер. Пожалуйста ждите^000000.";
                        next;
                        mes $@npcnames$;
                        if (countitem(Jellopy) < .@mixitem1_1) {
                                mes "^3355FFНедостаточно Jellopy^000000.";
                                mes "^3355FFПожалуйста проверьте ещё раз^000000.";
                                mes "^3355FFПроцесс остановлен^000000.";
                            close;
                        }
                        else if (countitem(Fluff) < .@mixitem1_2) {
                                mes "^3355FFНедостаточно Fluff^000000.";
                                mes "^3355FFПожалуйста проверьте ещё раз^000000.";
                                mes "^3355FFПроцесс остановлен^000000.";
                            close;
                        }
                        else if (countitem(Milk) < .@mixitem1_3) {
                                mes "^3355FFНедостаточно Milk^000000.";
                                mes "^3355FFПожалуйста проверьте ещё раз^000000.";
                                mes "^3355FFПроцесс остановлен^000000.";
                            close;
                        }
                        else if (.@mixitem2 == 1 || .@mixitem2 == 2) {
                            if (countitem(Payon_Potion) == 0 && countitem(Morocc_Potion) == 0) {
                                mes "^3355FFОшибка. Раствор не найден^000000.";
                                mes "^3355FFПожалуйста проверьте ещё раз^000000.";
                                mes "^3355FFПроцесс остановлен^000000.";
                                close;
                            }
                        }
                        if (.@mixitem1_1 != 0) delitem Jellopy,.@mixitem1_1;
                        if (.@mixitem1_2 != 0) delitem Fluff,.@mixitem1_2;
                        if (.@mixitem1_3 != 0) delitem Milk,.@mixitem1_3;
                        if (.@mixitem2 == 1) delitem Payon_Potion,1;
                        if (.@mixitem2 == 2) delitem Morocc_Potion,1;
                        mes "^3355FFВещи готовы^000000.";
                        mes "^3355FFЗакройте крышку^000000.";
                        .@progress = 3;
                        next;
                    }
                    break;
                case 2:
                    .@continue = 0;
                    next;
                    break;
                case 3:
                    .@mixitem1_1 = 0;
                    .@mixitem1_2 = 0;
                    .@mixitem1_3 = 0;
                    .@progress = 0;
                    .@continue = 0;
                    mes $@npcnames$;
                    mes "^3355FFПерезагрузка завершена успешно^000000.";
                    mes "^3355FFНачать инициализацию сново?^000000";
                    next;
                    if (select("Да.:Нет.") == 1)
                    break;
                    mes $@npcnames$;
                    mes "^3355FFПроцесс отменён. Спасибо^000000.";
                    close;
                }
                if (.@progress == 3) break;
            }
            else if (.@progress == 1) {
                mes $@npcnames$;
                mes "^3355FFНичего не найдено^000000.";
                next;
            }
            mes $@npcnames$;
            mes "^3355FFВыберите вещи для смешивания^000000.";
            while(1) {
                switch(select("Джеллопи(Jellopy):Пушинка(Fluff):Молоко(Milk):Начать смешивание")) {
                case 1:
                    while(1) {
                        input .@input;
                        if (.@input > 10000) {
                            next;
                            mes $@npcnames$;
                            mes "^3355FFОшибка: предел товара превышен. Пожалуйста, введите значения менее 10,000 и повторите попытку^000000.";
                            next;
                        }
                        else {
                            if (countitem(Jellopy) > 0) .@mixitem1_1 += .@input;
                            .@progress = 2;
                            break;
                        }
                    }
                    break;
                case 2:
                    while(1) {
                        input .@input;
                        if (.@input > 10000) {
                            next;
                            mes $@npcnames$;
                            mes "^3355FFОшибка: предел товара превышен. Пожалуйста, введите значения менее 10,000 и повторите попытку^000000.";
                            next;
                        }
                        else {
                            if (countitem(Fluff) > 0) .@mixitem1_2 += .@input;
                            .@progress = 2;
                            break;
                        }
                    }
                    break;
                case 3:
                    while(1) {
                        input .@input;
                        if (.@input > 10000) {
                            next;
                            mes $@npcnames$;
                            mes "^3355FFОшибка: предел товара превышен. Пожалуйста, введите значения менее 10,000 и повторите попытку^000000.";
                            next;
                        }
                        else {
                        if (countitem(Milk) > 0) .@mixitem1_3 += .@input;
                            .@progress = 2;
                            break;
                        }
                    }
                    break;

                case 4:
                    if (.@progress != 2)
                        .@progress = 1;
                    .@continue = 1;
                    next;
                }
                if (.@continue) break;
            }
        }
        mes $@npcnames$;
        mes "^3355FFПожалуйста, введите серийный номер Магической Пыльцы^000000.";
        next;
        while(1) {
            input .@input;
            if (.@input < 1000 || .@input > 9999) {
                mes $@npcnames$;
                if (.@input == 0) {
                    mes "^3355FFХотите пропустить это меню?^000000";
                    next;
                    if (select("Пропустить:Нет") == 1) {
                    break;
                    }
                }
                else {
                    mes "^3355FFНеверный серийный номер^000000.";
                    mes "^3355FFПожалуйста, попробуйте снова^000000.";
                    next;
                }
            }
            else {
                mes $@npcnames$;
                mes "^3355FFВведён серийный номер^000000 ^FF0000#" + .@input + "^000000 Это правильный серийный номер?";
                next;
                if (select("Подтвердить:Отменить") == 1) {
                    if (.@input == 8472)
                        .@magic_powder = 1;
                    else if (.@input == 3735)
                        .@magic_powder = 2;
                    else if (.@input == 2750)
                        .@magic_powder = 3;
                    else if (.@input == 5429)
                        .@magic_powder = 4;
                    else
                        .@magic_powder = 5;
                }
                break;
            }
        }
        mes $@npcnames$;
        mes "^3355FFВыберите камень-катализатор^000000.";
        next;
        switch(select("Yellow Gemstone:Red Gemstone:Blue Gemstone:Алмаз 1 карат(1carat Diamond):Пропустить")) {
        case 1: .@mixitem3 = 1; break;
        case 2: .@mixitem3 = 2; break;
        case 3: .@mixitem3 = 3; break;
        case 4: .@mixitem3 = 4; break;
        case 5: break;
        }
        mes $@npcnames$;
        mes "^3355FFВсё готово. Инициируется процесс смешивания^000000.";
        mes "^3355FFПожалуйста, подождите^000000...";
        next;
        mes $@npcnames$;
        mes "^3355FF - Пословица дня!  - ^000000.";
        switch(rand(1,5)) {
        case 1:
            mes "^3355FFХороший сосед лучше, чем далёкий брат: когда тебе понадобится помощь, можешь положиться на тех, кто рядом с тобой^000000.";
            break;
        case 2:
            mes "^3355FFЧто посеешь, то и пожнёшь: к тебе всегда будут относиться так, как ты относишься к другим^000000.";
            mes "^3355FFЭто означает что если ты причинил боль другому, то обязательно эта боль к тебе и вернётся^000000.";
            break;
        case 3:
            mes "^3355FFОко за око: когда берёшь что-то у человека, ты должен вернуть или же возместить взятое^000000.";
            break;
        case 4:
            mes "^3355FFСвой свояка видит издалека: ты можешь посмотреть на друзей человека, чтобы сделать выводы о нём самом^000000.";
            break;
        default:
            mes "^3355FFДоверие - наше всё: искренняя вера - качество, которое ничто не заменит^000000.";
        }
        next;
        if (.@mixitem1_1 == 2 && .@mixitem1_2 == 3 && .@mixitem1_3 == 1 && .@mixitem2 == 1 && .@mixitem3 == 1 && .@magic_powder == 1) {
            mes $@npcnames$;
            mes "Магическая Смесь №. 1 готова";
            getitem Mage_Test_1,1;
            next;
        }
        else if (.@mixitem1_1 == 3 && .@mixitem1_2 == 1 && .@mixitem1_3 == 1 && .@mixitem2 == 0 && .@mixitem3 == 2 && .@magic_powder == 2) {
            mes $@npcnames$;
            mes "Магическая Смесь №. 2 готова";
            getitem Mage_Test_2,1;
            next;
        }
        else if (.@mixitem1_1 == 6 && .@mixitem1_2 == 1 && .@mixitem1_3 == 0 && .@mixitem2 == 1 && .@mixitem3 == 3 && .@magic_powder == 3) {
            mes $@npcnames$;
            mes "Магическая Смесь №. 3 готова";
            getitem Mage_Test_3,1;
            next;
        }
        else if (.@mixitem1_1 == 2 && .@mixitem1_2 == 3 && .@mixitem1_3 == 0 && .@mixitem2 == 2 && .@mixitem3 == 4 && .@magic_powder == 4) {
            mes $@npcnames$;
            mes "Магическая Смесь №. 4 готова";
            getitem Mage_Test_4,1;
            next;
        }
        else {
            mes $@npcnames$;
            mes "^3355FFПроизошла непредвиденная ошибка^000000.";
            getitem Mage_Test_Etc,1;
            next;
        }
        mes $@npcnames$;
        mes "^3355FFСмешивание завершено успешно. Спасибо^000000.";
        close;
    }
    close;
}

// The Morroc Solution and Payon Solution traders
// are also used in the Sage skill quests, and have
// been moved to npc/quests/mage_solution.txt.
//
// pay_arche,122,100,0    script    Dollshoi    4_M_ORIENT01,{}
// moc_ruins,91,150,0    script    Ponka-Hontas    4_F_04,{}

geffen_in,177,112,4    script    Книжная полка    HIDDEN_NPC,{
    set $@npcnames$,"[^BC7F15Инструкция смесей^000000]";
    mes $@npcnames$;
    mes "Наши книги сохранились все в превосходном состоянии, их могут почитать все путешественники.";
    next;
    switch(select("Магическая Смесь № 1:Магическая Смесь № 2:Магическая Смесь № 3:Магическая Смесь № 4:Закрыть")) {
    case 1:
        set $@npcnames$,"[^BC7F15Магическая Смесь № 1^000000]";
        mes $@npcnames$;
        mes "* Список ингридиентов *";
        mes "2 Jellopy - Джеллопи";
        mes "3 Fluff  -  Пушинка";
        mes "1 Milk  -   Молоко";
        next;
        mes $@npcnames$;
        mes "* Раствор *";
        mes "Пайонский раствор.";
        mes "Где найти: источник Пайон,";
        mes "в Деревне Лучников.";
        next;
        mes $@npcnames$;
        mes "* Серийный номер *";
        mes "^FF00008472^000000";
        next;
        mes $@npcnames$;
        mes "* Катализатор *";
        mes "Yellow Gemstone";
        mes "(производится Магическим Миксером).";
        break;
    case 2:
        set $@npcnames$,"[^BC7F15Магическая Смесь № 2^000000]";
        mes $@npcnames$;
        mes "* Список ингридиентов *";
        mes "3 Jellopy - Джеллопи";
        mes "1 Fluff  -  Пушинка";
        mes "1 Milk  -   Молоко";
        next;
        mes $@npcnames$;
        mes "* Раствор *";
        mes "Не требуется";
        next;
        mes $@npcnames$;
        mes "* Серийный номер *";
        mes "^FF00003735^000000";
        next;
        mes $@npcnames$;
        mes "* Катализатор *";
        mes "Red Gemstone";
        mes "(производится Магическим Миксером).";
        break;
    case 3:
        set $@npcnames$,"[^BC7F15Магическая Смесь № 3^000000]";
        mes $@npcnames$;
        mes "* Список ингридиентов *";
        mes "6 Jellopy - Джеллопи";
        mes "1 Fluff  -  Пушинка";
        next;
        mes $@npcnames$;
        mes "* Раствор *";
        mes "Пайонский раствор.";
        mes "Где найти: источник Пайон,";
        mes "в Деревне Лучников.";
        next;
        mes $@npcnames$;
        mes "* Серийный номер *";
        mes "^FF00002750^000000";
        next;
        mes $@npcnames$;
        mes "* Катализатор *";
        mes "Blue Gemstone";
        mes "(производится Магическим Миксером).";
        break;
    case 4:
        set $@npcnames$,"[^BC7F15Магическая Смесь № 4^000000]";
        mes $@npcnames$;
        mes "* Список ингридиентов *";
        mes "2 Jellopy - Джеллопи";
        mes "3 Fluff  -  Пушинка";
        next;
        mes $@npcnames$;
        mes "* Раствор *";
        mes "Моррокский раствор";
        mes "Где найти: источник Моррок,";
        mes "возле входа в пираммиды Моррока.";
        next;
        mes $@npcnames$;
        mes "* Серийный номер *";
        mes "^FF00005429^000000";
        next;
        mes $@npcnames$;
        mes "* Катализатор *";
        mes "1 carat Diamond";
        mes "(производится Магическим Миксером).";
        close;
    }
    close;
}

 

скриншоты

 

b-205.png

b-206.png

b-207.png

Изменено пользователем ucell-uz
  • Upvote 2
Ссылка на комментарий
Поделиться на другие сайты

Разговор волшебника

 

hercules путь к скрипту /hercules-master/npc/cities/geffen.txt

 

geffen,59,143,0    script    Меера    4_F_02,{
    set $@npcnames$,"[^BC7F15Жительница Меера^000000]";
    mes $@npcnames$;
    mes "Добро пожаловать в город Геффен, в город Магии!";
    next;
    mes $@npcnames$;
    mes "Я не слишком хорошо разбираюсь в магии, но знаешь, что имеет поистине магический вкус? ^CC6600Honey - Мёд^000000!";
    next;
    mes $@npcnames$;
    mes "Он такооой вкусный и сладкий! Но я не уверена, что он является афродизиаком, но точно знаю, что мёд снимает усталость и помогает оправиться от ран!";
    next;
    mes $@npcnames$;
    mes "Живущие в лугах шершни проводят всю жизнь, собирая нектар по приказу Пчелиной Королевы. Мёд делается из собранного нектара.";
    next;
    mes $@npcnames$;
    mes "Но это ещё не всё: есть особый вид мёда, который идёт исключительно в пищу Пчелиной Королеве это - ^CC6600Royal Jelly - Королевское желе^000000!";
    next;
    mes $@npcnames$;
    mes "Ничто не может сравниться с чудесным ароматом Королевского желе. И я думаю, что и для тебя он будет полезней обычного Мёда!";
    close;
}

geffen,156,190,0    script    Орволк    4_KID01,{
    set $@npcnames$,"[^BC7F15Житель Геффена Орволк^000000]";
    mes $@npcnames$;
    mes "...Интересно. Очень интригующе. ЫЫ-ы! Позволь я расскажу тебе эту удивительную историю~";
    next;
    mes $@npcnames$;
    mes "В процессе изучения магии, я обнаружил этот таинственный свиток. В нём описывается три компонента под название Yggdrasil - Иггдрасиль.";
    next;
    mes $@npcnames$;
    mes "Листья, семена и плоды Иггдрасиля связывают всё живое в нашем мире. Согласно этому свитку, Иггдрасиль так же поучаствовал в создании мира.";
    next;
    mes $@npcnames$;
    mes "К слову, до меня доходили слухи об удивительном дерере где-то рядом с Комодо. Между ними должна быть связь, я в этом уверен!";
    close;
}

geffen_in,164,109,0    script    Волшебник Станза    1_M_WIZARD,{
    set $@npcnames$,"[^BC7F15Станза^000000]";
    mes $@npcnames$;
    mes "Я чувствую присутствие могущественного духа. Возможно, это ты...?";
    next;
    mes $@npcnames$;
            mes "";
    if (BaseJob == Job_Mage) {
            mes "";
            if (Sex)
            mes "Кажется, ты обучен мистическому искусству. Магия... И её сила, обусловлена законом причины и следствия.";
            else
            mes "Кажется, ты обучена мистическому искусству. Магия... И её сила, обусловлена законом причины и следствия.";
            }
    else if (BaseJob == Job_Acolyte) {
            mes "";
            if (Sex)
            mes "Ох, брат...Я вижу что ты, так или иначе обладаешь Святой Силой. Предположу, что Святая Сила считается одной из форм мистической энергии...";
            else
            mes "Ах, систра...Я вижу что ты, так или иначе обладаешь Святой Силой. Могу предположить, что Святая Сила считается одной из форм мистической энергии.";
            }
    else if (Class == Job_Novice)
            mes "Хотя сейчас ты, и не можешь использовать магию или другие могущественные навыки но, эти знания могут пригодиться в будущем, юный Новичок......";
            else
            mes "Хоть официально ты и не можешь использовать магию, но ты пользуешься навыками, черпающими потустороннюю энергию, знаешь ты это или нет...";
    next;
    mes $@npcnames$;
            mes "Если ты используешь мистическую энергию, чтобы наносить вред другим, или идти против правил Матери Природы, эта сила обратится против тебя. Запомни, что посеешь то и пожнёшь.";
    next;
    mes $@npcnames$;
            mes "Правда, есть вещь, которая может защитить колдующего от дурних последствий, позволяя безнаказанно пользоваться конкретными видами магии. Это таинственные сияющие камни, известные как";
    next;
    mes $@npcnames$;
            mes "";
            if (Sex)
            mes "Драгоценные камни (Gemstone)... Если хочешь в полной мере пользоваться своей силой то, запомни про эту вещь дружок!";
            else
            mes "Драгоценные камни (Gemstone)... Если хочешь в полной мере пользоваться своей силой то, запомни про эту вещь подруга!";
    close;
}

 

скриншоты

 

Скрытый текст

 

b-208.png

b-209.png

 

 

Изменено пользователем ucell-uz
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...

Украсим нашу консоль Запуска

 

hercules путь к скрипту /hercules-master/src/common/console.c

как это выглядит, решил просто замутить от нефиг делать =)

 

 

Скрытый текст

 

b-249.png

 

 

Исходный код

 

Скрытый текст

/*======================================
 * CORE : Display title
 *--------------------------------------*/
void display_title(void) {
    const char *vcstype = sysinfo->vcstype();

    ShowMessage("\n");
    ShowMessage(""CL_BG_RED""CL_BT_WHITE"     =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=     "CL_CLL""CL_NORMAL"\n");
    ShowMessage(""CL_BG_RED""CL_BT_WHITE"                                                               "CL_CLL""CL_NORMAL"\n");
    ShowMessage(""CL_BG_RED""CL_BT_GREEN"                 Hercules Development Team presents            "CL_CLL""CL_BOLD"\n");
    ShowMessage(""CL_BG_RED""CL_BT_WHITE"                _   _                     _                    "CL_CLL""CL_BOLD"\n");
    ShowMessage(""CL_BG_RED""CL_BT_WHITE"               | | | |                   | |                   "CL_CLL""CL_BOLD"\n");
    ShowMessage(""CL_BG_RED""CL_BT_WHITE"               | |_| | ___ _ __ ___ _   _| | ___  ___          "CL_CLL""CL_BOLD"\n");
    ShowMessage(""CL_BG_RED""CL_BT_WHITE"               |  _  |/ _ \\ '__/ __| | | | |/ _ \\/ __|       "CL_CLL""CL_BOLD"\n");
    ShowMessage(""CL_BG_RED""CL_BT_WHITE"               | | | |  __/ | | (__| |_| | |  __/\\__ \\       "CL_CLL""CL_BOLD"\n");
    ShowMessage(""CL_BG_RED""CL_BT_WHITE"               \\_| |_/\\___|_|  \\___|\\__,_|_|\\___||___/    "CL_CLL""CL_BOLD"\n");
    ShowMessage(""CL_BG_RED""CL_BT_WHITE"                                                               "CL_CLL""CL_BOLD"\n");
    ShowMessage(""CL_BG_RED""CL_BT_CYAN"                     http://herc.ws/board/                     "CL_CLL""CL_BOLD"\n");
    ShowMessage(""CL_BG_RED""CL_BT_WHITE"                                                               "CL_CLL""CL_BOLD"\n");
    ShowMessage(""CL_BG_RED""CL_BT_CYAN"      / \\ / \\ / \\ / \\ / \\ / \\ / \\   / \\ / \\ / \\ / \\ / \\ / \\     "CL_CLL""CL_BOLD"\n");
    ShowMessage(""CL_BG_RED""CL_BT_CYAN"     ( R | U | S | S | I | A | N ) ( A | t | h | e | n | a )     "CL_CLL""CL_BOLD"\n");
    ShowMessage(""CL_BG_RED""CL_BT_CYAN"      \\_/ \\_/ \\_/ \\_/ \\_/ \\_/ \\_/   \\_/ \\_/ \\_/ \\_/ \\_/ \\_/     "CL_CLL""CL_BOLD"\n");
    ShowMessage(""CL_BG_RED""CL_BT_BLUE"                     http://ea-support.ws/                     "CL_CLL""CL_NORMAL"\n");
    ShowMessage(""CL_BG_RED""CL_BT_WHITE"     =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=     "CL_CLL""CL_NORMAL"\n");

    ShowInfo("%s revision : '"CL_WHITE"%s"CL_RESET"'\n", vcstype, sysinfo->vcsrevision_scripts());
    ShowInfo("OS version: '"CL_CYAN"%s"CL_RESET"'\n", sysinfo->osversion());
    ShowInfo("CPU: '"CL_YELLOW"%s [%d]"CL_RESET""CL_BOLD"'\n", sysinfo->cpu(), sysinfo->cpucores());
    ShowInfo("Compiled with %s\n", sysinfo->compiler());

 

Изменено пользователем ucell-uz
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...

Прохождение Квеста Юно (Киель Кайр)

 

hercules путь к скрипту /hercules-master/npc/quests/kiel_hyre_quest.txt

Руссификация выполнена на 95%, работаю над остатком 5%

скриншоты

 

Скрытый текст

b-267.png

b-266.png

Ссылка для загрузки скрипта в шапке, под спойлером, ставим лайки кому не в падлу ^_^

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

 

Скрытый текст

Дирижабль

 

hercules путь к скрипту /hercules-master/npc/airports/airships.txt

Руссификация выполнена на 98.8%

скриншоты

 

Скрытый текст

 

b-268.png

 

 

Ссылка для загрузки скрипта в шапке, под спойлером, ставим лайки кому не в падлу ^_^

не стал сюда втыкать весь скрипт...

 

Скрытый текст

 

airships.txt

 

 

[src] @dance, @petinfo, @emotion

 

hercules путь к скрипту /hercules-master/src/map/atcommand.c

команды в шапке под спойлером

 

Скрытый текст

 

ACMD(petinfo) {
    struct pet_data *pd;

    if (!sd->status.pet_id || !sd->pd )
    {
        clif->message(fd, msg_txt(184));
        return false;
    }

    pd = sd->pd;

    snprintf(atcmd_output, sizeof(atcmd_output), "Pet name: %s | Intimate: %u | Hungry: %d",
        pd->pet.name,
        pd->pet.intimate,
        pd->pet.hungry);
    clif_disp_onlyself(sd, atcmd_output, (int)strlen(atcmd_output));
}         // * спасибо пользователю shaitobu * \\

// ========================================================================================= \\

ACMD(dance){

    if (!message || !*message)
{
    snprintf(atcmd_output, sizeof(atcmd_output), "usage: @dance 1-9");
    return -1;
}
    if ( atoi(message) == 1 )
{
    clif->specialeffect(&sd->bl, 413, ALL_CLIENT);
    }
    else if ( atoi(message) == 2 )
    {
    clif->specialeffect(&sd->bl, 414, ALL_CLIENT);
    }
    else if ( atoi(message) == 3 )
    {
    clif->specialeffect(&sd->bl, 415, ALL_CLIENT);
    }
    else if ( atoi(message) == 4 )
    {
    clif->specialeffect(&sd->bl, 426, ALL_CLIENT);
    }
    else if ( atoi(message) == 5 )
    {
    clif->specialeffect(&sd->bl, 458, ALL_CLIENT);
    }
    else if ( atoi(message) == 6 )
    {
    clif->specialeffect(&sd->bl, 466, ALL_CLIENT);
    }
    else if ( atoi(message) == 7 )
    {
    clif->specialeffect(&sd->bl, 501, ALL_CLIENT);
    } else if ( atoi(message) == 8 )
    {
    clif->specialeffect(&sd->bl, 540, ALL_CLIENT);
    }
    else if ( atoi(message) == 9 )
    {
    clif->specialeffect(&sd->bl, 550, ALL_CLIENT);
    }
    else    {
    clif_disp_onlyself(sd, atcmd_output, (int)strlen(atcmd_output));
    }
    return true;
} /* Server Startup */

 // ========================================================================================= \\

ACMD(emo){
    int emotion_max = 81; // Set las emotion number available forr this command
    nullpo_retr(-1, sd);

    if(!message || !*message || atoi(message) < 0 ||  atoi(message) > emotion_max)
    {
        snprintf(atcmd_output, sizeof(atcmd_output), "usage: @emotion 0-%d", emotion_max);
        clif_disp_onlyself(sd, atcmd_output, (int)strlen(atcmd_output));
        return -1;
    }
    
    clif->emotion(&sd->bl,atoi(message));
    return 1;
} /* Server Startup */

// ========================================================================================= \\

ACMD(heart) {
    nullpo_retr(-1, sd);

    if(!message || !*message || atoi(message) < 0 ||  atoi(message) > 2)
    {
        snprintf(atcmd_output, sizeof(atcmd_output), "usage: @heart 1 or 2");
        clif_disp_onlyself(sd, atcmd_output, (int)strlen(atcmd_output));
        return -1;
    }
    
    if(atoi(message)==1)
    {
        clif->specialeffect(&sd->bl,364,0);
    } 
    else if(atoi(message)==2)
    {
        clif->specialeffect(&sd->bl,509,0);
    }
    
    return 1;
} /* Server Startup */

далее спускаемся  чуток ниже, находим строчку void atcommand_basecommands(void) { и вписываем команды

        ACMD_DEF(petinfo),
        ACMD_DEF(dance),
        ACMD_DEF(emo),
        ACMD_DEF(heart),

Изменено пользователем ucell-uz
  • Upvote 1
  • Downvote 1
Ссылка на комментарий
Поделиться на другие сайты

  • 4 месяца спустя...

Секретарь Группы Эдем + Телепортер

 

hercules путь к скрипту /hercules-master/npc/re/quest/eden/eden_common.txt

 

Скрытый текст

// ================================================================================================= \\
// ========================== Eden Group Quests - Service NPCs ===================================== \\
// ================================================================================================= \\
// == Перевод выполнил: Александр Белов, специально для форума Русскоязычная поддержка эмуляторов == \\
// ==  Athena http://ea-support.ws/index.php?/user/2527-ucell-uz/ ================================== \\

moc_para01,27,35,5	script	Секретарь Эдема	4_F_EDEN_OFFICER,{
		if(#language == 1) {
	set $@npcnames$,"^BC7F15[ Секретарь Лим Эвенор ]^000000";
		if (checkweight(Knife,1) == 0 || (MaxWeight - Weight) < 2000) {
	mes $@npcnames$;
	mes "- Погоди минуточку !! -";
	mes "- У тебя сейчас с собой -";
	mes "- слишком много предметов. -";
	mes "- Пожалуйста, попробуй снова -";
	mes "- но после того, как избавишься от лишнего веса. -";
		close;
		}
		if (countitem(Para_Team_Mark) > 0) {
	mes $@npcnames$;
	mes "Привет, коллега! Как настроение сегодня?";
		next;
	mes $@npcnames$;
	mes "Пожалуйста, проверь на доске справа от тебя, какие квесты доступны тебе на твоём ^FF0000Базовом Уровне,^000000 или же поговори с ^3355FFИнструкторами,^000000 они подскажут, есть ли для тебя какие квесты.";
		close;
		}
	mes $@npcnames$;
	mes "Приветствую тебя! Ты находишься в ^31CE31Центральном офисе Группы Эдем^000000.";
		next;
	mes $@npcnames$;
	mes "Мы можем предложить прохождение квестов с ^3355FFнаградой в виде опыта, экипировки и некоторых видов зелий.^000000 Однако каждый из квестов доступен только на определённом ^FF0000Базовом Уровне^000000.";
		next;
	mes $@npcnames$;
	mes "^3355FFИнструкторы^000000 могут предложить тебе свои наборы квестов, а наградой будет ^3355FFразнообразная экипировка, в том числе и оружие для твоей профессии!^000000";
		next;
	mes $@npcnames$;
	mes "Хочешь ли ты присоединиться к нам и стать участником ^31CE31Группы Эдем?^000000";
		next;
		switch(select("Да, запишите меня!:Нет, спасибо")) {
	case 1:
	mes $@npcnames$;
	mes "Отлично! Всё, что от тебя требуется, - это вписать своё имя~";
		next;
		input .@input$;
		if (.@input$ == strcharinfo(0)) {
	mes $@npcnames$;
		emotion e_no1;
	mes "Ну вот и всё! Прими мои поздравления, ^3131FF"+strcharinfo(0)+",^000000 теперь";
		if(Sex == 1)
	mes "ты стал участником ^31CE31Группы Эдем!^000000";
		else {
	mes "ты стала участницей ^31CE31Группы Эдем!^000000";
		}
		next;
	mes $@npcnames$;
		getitem Para_Team_Mark,1;
	mes "Пусть этот <ITEMLINK>Eden Group<INFO>6219</INFO></ITEMLINK> будет всегда ";
	mes "при тебе, и тогда все вокруг будут знать, что ты с нами.";
		next;
	mes $@npcnames$;
	mes "Ну а теперь можешь начать какие-нибудь квесты, для этого проверь доску или поговори с ^3131FFИнструкторами^000000.";
		next;
	mes $@npcnames$;
	mes "Удачи! И помни, ты теперь часть Группы Эдем, наслаждайся этим!";
		close;
		} else {
	mes $@npcnames$;
	mes "Как же так, ты неправильно вводишь своё имя. Попробуй ещё раз.";
		emotion e_pif;
		close;
		}
	case 2:
	mes $@npcnames$;
	mes "Согласна, Квесты ^31CE31Группы Эдем^000000 не для всех.";
		close;
	}
	}

		if(#language == 2) {
	set $@npcnames$,"^BC7F15[ Secretary Lime Evenor ]^000000";
	mes $@npcnames$;
		if (checkweight(Knife,1) == 0 || (MaxWeight - Weight) < 2000) {
	mes "- Wait a minute !! -";
	mes "- Currently you're carrying -";
	mes "- too many items with you. -";
	mes "- Please try again -";
	mes "- after you loose some weight. -";
		close;
	}
		if (countitem(Para_Team_Mark) > 0) {
	mes "Hello member! How are you today?";
		next;
	mes $@npcnames$;
	mes "Please check the boards to your right to see which quest are available at your current ^FF0000Base Level,^000000 or talk to the ^3355FFInstructors,^000000 to see if they any quests for you.";
		close;
		}
	mes $@npcnames$;
	mes "Welcome! Dear adventurer, this is the ^31CE31Paradise Group Headquarters.^000000.";
		next;
	mes $@npcnames$;
	mes "We offer a number of quest that ^3355FFgive experience points, equipment, and sometimes points.^000000 But the quests available are limited by your ^FF0000Base Level^000000.";
		next;
	mes $@npcnames$;
	mes "The ^3355FFInstructors^000000 will also offer their own set of quests and reward you with ^3355FFmany gears, including weapons for your class!^000000";
		next;
	mes $@npcnames$;
	mes "Would you like join us and become a member of the ^31CE31Paradise Group?^000000";
		next;
		switch(select("Yes, sign my up!:No, thanks")) {
	case 1:
	mes $@npcnames$;
	mes "Great! All. I need is for you to - wtite your name here~";
		next;
		input .@input$;
		if (.@input$ == strcharinfo(0)) {
	mes $@npcnames$;
	mes "Well that's all! Congratulations, ^3131FF"+strcharinfo(0)+",^000000 you are now a member of the ^31CE31Paradise Group!^000000";
		next;
	mes $@npcnames$;
		getitem Para_Team_Mark,1;
	mes "Keep this <ITEMLINK>Eden Group<INFO>6219</INFO></ITEMLINK> with you";
	mes "at all times to let others know you are with us.";
		next;
	mes $@npcnames$;
	mes "Now you can check the boards or talking to the ^3131FFInstructors^000000 to start some quests.";
		next;
	mes $@npcnames$;
	mes "Good luck! and enjoy, your time with us in the Paradise Group!";
		close;
		} else {
	mes $@npcnames$;
	mes "How can you spell your name wrong? Write it again.";
		close;
		}
	case 2:
	mes $@npcnames$;
	mes "I understand, Quests the ^31CE31Paradise Group^000000 are not meant for everyone.";
		close;
	}
	}
	}

prontera,124,76,3	script	Сотрудник Группы Эдем#0::eto	4_F_NOVICE,{
		if(#language == 1) {
	set $@npcnames$,"^BC7F15[ Сотрудник Группы Эдем ]^000000";
	mes $@npcnames$;
	mes "Привет, не желаешь посетить ^31CE31Центральный офис Группы Эдем?^000000";
		next;
	mes $@npcnames$;
	mes "Мы можем предложить тебе ряд квестов с ^3131FFнаградой в виде опыта, экипировки, оружия.^000000";
		next;
		switch (select("Я хочу отправиться туда:Нет, спасибо не нужно")) {
	case 1:
	mes $@npcnames$;
	mes "Чудесно! Я отправляю тебя туда прямо сейчас.";
		nak_warp = strnpcinfo(2);
		close2;
		warp "moc_para01",31,14;
		OnInit:
		questinfo 1001, QTYPE_QUEST2, 2;
		end;
	case 2:
	mes $@npcnames$;
	mes "Согласна, Квесты ^31CE31Группы Эдем^000000 не для всех.";
		close;
		}
	}
		if(#language == 2) {
	set $@npcnames$,"^BC7F15[ Eden Teleport Officer ]^000000";
	mes $@npcnames$;
	mes "Hello, would you like to visit the ^31CE31Paradise Group Headquarters?^000000";
		next;
	mes $@npcnames$;
	mes "We offer a number of quest that ^3355FFgive experience points, equipment, and weapons.^000000";
		next;
		switch (select("Take me there:No, thanks")) {
	case 1:
	mes $@npcnames$;
	mes "Great! I will send you there now.";
		nak_warp = strnpcinfo(2);
		close2;
		warp "moc_para01",31,14;
		end;
	case 2:
	mes $@npcnames$;
	mes "I understand, Quests the ^31CE31Paradise Group^000000 are not meant for everyone.";
		close;
		}
	}
}
//prontera,124,76,3	duplicate(eto)	Eden Teleport Officer#1	4_F_NOVICE
moc_ruins,68,164,3	duplicate(eto)	Сотрудник Группы Эдем#2	4_F_NOVICE
geffen,132,66,3	duplicate(eto)	Сотрудник Группы Эдем#3	4_F_NOVICE
alberta,124,67,3	duplicate(eto)	Сотрудник Группы Эдем#4	4_F_NOVICE
aldebaran,133,119,5	duplicate(eto)	Сотрудник Группы Эдем#5	4_F_NOVICE
izlude_in,68,162,1	duplicate(eto)	Сотрудник Группы Эдем#6	4_F_NOVICE
prt_church,103,78,3	duplicate(eto)	Сотрудник Группы Эдем#7	4_F_NOVICE
geffen_in,160,104,5	duplicate(eto)	Сотрудник Группы Эдем#8	4_F_NOVICE
moc_prydb1,53,126,3	duplicate(eto)	Сотрудник Группы Эдем#9	4_F_NOVICE
alberta_in,75,39,3	duplicate(eto)	Сотрудник Группы Эдем#10	4_F_NOVICE
payon_in02,58,58,1	duplicate(eto)	Сотрудник Группы Эдем#11	4_F_NOVICE
payon,177,111,3	duplicate(eto)	Сотрудник Группы Эдем#12	4_F_NOVICE
que_ng,33,73,3	duplicate(eto)	Сотрудник Группы Эдем#13	4_F_NOVICE
que_ng,144,161,5	duplicate(eto)	Сотрудник Группы Эдем#14	4_F_NOVICE
yuno,144,189,5	duplicate(eto)	Сотрудник Группы Эдем#15	4_F_NOVICE
rachel,125,144,3	duplicate(eto)	Сотрудник Группы Эдем#16	4_F_NOVICE
comodo,202,151,4	duplicate(eto)	Сотрудник Группы Эдем#17	4_F_NOVICE
hugel,93,153,4	duplicate(eto)	Сотрудник Группы Эдем#18	4_F_NOVICE
veins,220,109,4	duplicate(eto)	Сотрудник Группы Эдем#19	4_F_NOVICE
einbroch,250,211,4	duplicate(eto)	Сотрудник Группы Эдем#20	4_F_NOVICE
lighthalzen,164,86,4	duplicate(eto)	Сотрудник Группы Эдем#21	4_F_NOVICE
amatsu,100,145,5	duplicate(eto)	Сотрудник Группы Эдем#22	4_F_NOVICE
ayothaya,221,191,3	duplicate(eto)	Сотрудник Группы Эдем#23	4_F_NOVICE
louyang,224,107,3	duplicate(eto)	Сотрудник Группы Эдем#24	4_F_NOVICE
gonryun,162,122,5	duplicate(eto)	Сотрудник Группы Эдем#25	4_F_NOVICE
moscovia,209,197,5	duplicate(eto)	Сотрудник Группы Эдем#26	4_F_NOVICE
brasilis,191,224,3	duplicate(eto)	Сотрудник Группы Эдем#27	4_F_NOVICE
dewata,192,193,5	duplicate(eto)	Сотрудник Группы Эдем#28	4_F_NOVICE
morocc,161,97,5	duplicate(eto)	Сотрудник Группы Эдем#29	4_F_NOVICE
izlude,131,148,4	duplicate(eto)	Сотрудник Группы Эдем#30	4_F_NOVICE
izlude_a,131,148,4	duplicate(eto)	Сотрудник Группы Эдем#30::eto_iz_a	4_F_NOVICE
izlude_b,131,148,4	duplicate(eto)	Сотрудник Группы Эдем#30::eto_iz_b	4_F_NOVICE
izlude_c,131,148,4	duplicate(eto)	Сотрудник Группы Эдем#30::eto_iz_c	4_F_NOVICE
izlude_d,131,148,4	duplicate(eto)	Сотрудник Группы Эдем#30::eto_iz_d	4_F_NOVICE
umbala,105,158,3	duplicate(eto)	Сотрудник Группы Эдем#31	4_F_NOVICE
malaya,238,206,6	duplicate(eto)	Сотрудник Группы Эдем#32	4_F_NOVICE

moc_para01,30,10,0	script	#eden_out	WARPNPC,1,1,{
OnTouch:
	switch (nak_warp) {
		case 1: warp "prontera",116,72; end;
		case 2: warp "moc_ruins",64,161; end;
		case 3: warp "geffen",120,39; end;
		case 4: warp "alberta",117,56; end;
		case 5: warp "aldebaran",168,112; end;
		case 6: warp "izlude_in",73,165; end;
		case 7: warp "prt_church",99,78; end;
		case 8: warp "geffen_in",162,99; end;
		case 9: warp "moc_prydb1",51,118; end;
		case 10: warp "alberta_in",73,43; end;
		case 11: warp "payon_in02",64,60; end;
		case 12: warp "payon",161,58; end;
		case 13: warp "que_ng",33,63; end;
		case 14: warp "que_ng",144,166; end;
		case 15: warp "yuno",158,125; end;
		case 16: warp "rachel",115,125; end;
		case 17: warp "comodo",192,145; end;
		case 18: warp "hugel",88,148; end;
		case 19: warp "veins",216,104; end;
		case 20: warp "einbroch",246,204; end;
		case 21: warp "lighthalzen",159,95; end;
		case 22: warp "amatsu",110,150; end;
		case 23: warp "ayothaya",217,178; end;
		case 24: warp "louyang",217,103; end;
		case 25: warp "gonryun",155,120; end;
		case 26: warp "moscovia",218,198; end;
		case 27: warp "brasilis",190,220; end;
		case 28: warp "dewata",192,182; end;
		case 29: warp "morocc",161,97; end;
		case 30: warp "izlude",134,118; end;	// Old coordinates: (127,142)
		case 31: warp "umbala",94,154; end;
		case 32: warp "malaya",234,199; end;
		default: warp "prontera",116,72; end;
		}
	end;
	}

moc_para01,47,39,3	script	Задняя Комната	HIDDEN_NPC,{
		if(#language == 1) {
		if (countitem(Para_Team_Mark) > 0) {
	mes "Хочешь пройти в заднюю комнату?";
		next;
		switch (select("Войти:Не входить")) {
	case 1:
	mes "^FF0000Сюда, пожалуйста.^000000";
		close2;
		warp "moc_para01",106,14;
		end;
	case 2:
	mes "^3355FFПриходи ещё.^000000";
		close;
		}
	}
	mes "Ох, ты не можешь войти сюда, это доступно только участникам ^31CE31Группы^000000";
	mes "Если хочешь получить доступ ко всем местам Эдема, подойди к ^3355FFСекретарю^000000";
		close;
}
		if(#language == 2) {
		if (countitem(Para_Team_Mark) > 0) {
	mes "Would you like enter the back room?";
		next;
		switch (select("Enter:Don't Enter")) {
	case 1:
	mes "^FF0000This way please.^000000";
		close2;
		warp "moc_para01",106,14;
		end;
	case 2:
	mes "^3355FFCome again.^000000";
		close;
		}
	}
	mes "Oh, this is an exclusive place for members only ^31CE31Eden's^000000";
	mes "If you want to go inside, you have to join the Eden Group on the ^3355FFSecretary^000000";
		close;
}
}

moc_para01,15,27,3	trader	Tool Dealers	4_M_HUMERCHANT,{
OnInit:
	sellitem Spectacles;
	sellitem Arrow;
	sellitem Wing_Of_Fly;
	sellitem Wing_Of_Butterfly;
	sellitem Booby_Trap;
	sellitem Leaf_Of_Yggdrasil;
}

 

 

Изменено пользователем ucell-uz
  • Downvote 1
Ссылка на комментарий
Поделиться на другие сайты

11 час назад, Кеник сказал:

С отступами все плохо.. Малочитаемо (:

кеник это ты имеешь в виду то что идёт через таб?

ну если да я не думаю что это проблема -)

Изменено пользователем ucell-uz
Ссылка на комментарий
Поделиться на другие сайты

ппц там много )) как бы с ума не сойти, от этих квестов + ещё приходится срезать лишнее и добавлять

заканчиваю с переводом нпц Инструктора ура и те квесты которые он даёт.. полностью перевёл квест.. в айсе которая связана с нпц наоми

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

предлагаю тестовый вариант, естественно всё ещё в процессе, но если кто-то хочет взглянуть на сам скрипт

 

Скрытый текст

moc_para01,23,35,5	script	Инструктор Ура#2nd01	4_M_KNIGHT_BLACK,{
	set $@npcnames$,"^BC7F15[ Инструктор Ура ]^000000";

		if (countitem(Para_Team_Mark) < 1) {
	mes $@npcnames$;
	mes "Пожалуйста, зарегистрируйся у ^3355FFСекретаря Эдема^000000.";
		}
		else if (para_2nd01 == 0) {
		if (BaseLevel < 60) {
	mes $@npcnames$;
	mes "";
		if(Sex == 1)
	mes "Сожалею, но ты должен достигнуть, как минимум, ^FF000060 Базового Уровня,^000000 чтобы начать мои квесты.";
		else {
	mes "Сожалею, но ты должна достигнуть, как минимум, ^FF000060 Базового Уровня,^000000 чтобы начать мои квесты.";
		}
		close;
		}
		else if (BaseLevel < 70) {
	mes $@npcnames$;
	mes "Ты как раз вовремя! у меня для тебя есть новый квест. Что скажешь, готов начать его сейчас?";
		next;
		switch(select("Да:Нет")) {
	case 1:
	mes $@npcnames$;
	mes "Отлично! Найди ^3131FFРомео в Комодо.^000000";
		next;
	mes $@npcnames$;
	mes "Он находится близ входа в ^3131FFПещеру на Севере Комодо^000000";
		para_2nd01 = 1;
		setquest 7214;	// Advanced Training at Comodo
		close;
	case 2:
	mes $@npcnames$;
	mes "Плохо, очень плохо. А я как раз припас такую хорошую награду для тебя...";
		}
		close;
}
		else if (BaseLevel < 80) {
			mes "Let's see...";
			mes "Your level would suggest that Comodo is just too easy for you.";
			mes "Yeah, here we go.";
			next;
			mes "[Instructor Ur]";
			mes "Do you know where Glast Heim is?";
			mes "If there was a tragic accident now, the capital of the Rune-Midgarts Kingdom could revert back to there.";
			next;
			mes "[Instructor Ur]";
			mes "Well, if it wasn't infested with undead monsters, it would become the new capitol of Rune-Midgarts.";
			next;
			mes "[Instructor Ur]";
			mes "Please, come back alive.";
			para_2nd01 = 7;
			setquest 7219;	// Advanced Training at Glast Heim
		}
		else if (BaseLevel < 90) {
			mes "Ah, ok so for you...";
			mes "Hmm where do I send you?";
			next;
			mes "[Instructor Ur]";
			mes "There an industrial city called Einbroch.";
			mes "You know it? It's a city covered in smog.";
			mes "It's a pretty gloomy city come to think of it.";
			next;
			mes "[Instructor Ur]";
			mes "Anyways, go to Einbroch and find the Dispatched Instructor there. He should be in the field south of the main city.";
			setquest 7223;	// Advanced Training in Einbroch
			para_2nd01 = 12;
		}
		else
			callsub S_Quest89100;
	}
	else if (para_2nd01 == 5) {
		mes "Oh, there he is.";
		mes "Romeo seems to be back from his field report.";
		next;
		mes "[Instructor Ur]";
		mes "We have rewards for you.";
		mes "I'm sure Romeo gave you some items, but we brought more useful things.";
		next;
		mes "[Instructor Ur]";
		mes "Do you know where the weapon storage is at?";
		mes "Go out through that large blue door and walk to the end of the hallway.";
		mes "Ask the Blacksmith, and he will give you new equipment.";
		next;
		mes "[Instructor Ur]";
		mes "And the 2nd stage training and missions start at level 70, so come back then.";
		mes "Don't forget, I'll be waiting for you.";
		para_2nd01 = 6;
		para_2nd02 = 1;
		erasequest 7218;	// Report to Instructor Ur
	}
	else if (para_2nd01 == 6) {
		if (BaseLevel > 69) {
			mes "Hey, buddy~";
			mes "What's going on?";
			next;
			switch( select( "I want to start training.", "I'm just visiting." ) ) {
				mes "[Instructor Ur]";
			case 1:
				mes "Hmm... You have a good form!";
				mes "Let me see....";
				mes "Which location would suit you...?";
				next;
				mes "[Instructor Ur]";
				if (BaseLevel < 80) {
					mes "Ah, this place should be good!";
					mes "Do you know where Glast Heim is?";
					mes "If it wasn't for that terrible accident, Glast Heim would still be";
					mes "the capital of Rune Midgard, not Prontera.";
					next;
					mes "[Instructor Ur]";
					mes "Anyways, that ancient castle is now full of undead monsters .";
					mes "It's especially bad around the Abbey in the south.";
					next;
					mes "[Instructor Ur]";
					mes "All of those undead monsters come from the underground graveyard";
					mes "Well... I guess you don't have to go all the way into the graveyard...";
					next;
					mes "[Instructor Ur]";
					mes "Once you get to the Abbey you'll see our unit member stationed in front of the entrance.";
					mes "Follow his instructions to help clear out that area.";
					next;
					mes "[Instructor Ur]";
					mes "Please come back alive.";
					para_2nd01 = 7;
					setquest 7219;	// Advanced Training at Glast Heim
				}
				else if (BaseLevel < 90)
					callsub S_Quest7990;
				else
					callsub S_Quest89100;
				close;
			case 2:
				mes "Really? At your level, I think you can easily complete the top class missions..";
				mes "I'll be here if you change your mind.";
				close;
			}
		}
		else {
			mes "2nd stage training missions start at level 70.";
			mes "I'll see you then.";
			mes "Did you pick up the necessary equipment from the storage?";
			mes "Hahaha!";
		}
	}
	else if (para_2nd01 == 10) {
		mes "Oh! You're here!";
		mes "I just got a message from Johan.";
		mes "I think he's not telling me something, but I can't figure out what that is.";
		next;
		mes "[Instructor Ur]";
		mes "Anyways, good job. I'm glad you're not hurt";
		mes "The Blacksmith BK said he'll reinforce your weapon.";
		next;
		callsub S_Para2;
		mes "[Instructor Ur]";
		mes "You know where the Blacksmith is at right??";
		mes "Go out through the blue door, to the end of the hallway.";
		mes "BK is a great blacksmith, he'll make your weapon stronger.";
		mes "What are you waiting for?";
		para_2nd01 = 11;	// Report to Instructor Ur
		erasequest 7222;
	}
	else if (para_2nd01 == 11) {
		if (BaseLevel > 79) {
			mes "Ah, ever so improving "+ strcharinfo(0) +"?";
			mes "To what do I owe this pleasure?";
			next;
			switch( select( "I came for more training.", "I'm just visiting." ) ) {
				mes "[Instructor Ur]";
			case 1:
				mes "Hmm... You have a good form!";
				mes "Let me see....";
				next;
				mes "[Instructor Ur]";
				if (BaseLevel < 90)
					callsub S_Quest7990;
				else
					callsub S_Quest89100;
				close;
			case 2:
				mes "Really? At your level, I think you can easily complete the top class missions..";
				mes "I'll be here if you change your mind.";
				close;
			}
		}
		else {
			mes "3rd stage training starts at level 80.";
			mes "I'll see you then.";
			mes "Oh, if you haven't reinforced your weapon yet, go talk to BK.";
		}
	}
	else if (para_2nd01 == 15) {
		mes "Ah, you've come.";
		mes "I just received a message from Kiren.";
		mes "How was he? He didn't throw a tantrum for waking him up?";
		mes "I wouldn't be surprised if he did";
		next;
		mes "[Instructor Ur]";
		mes "Anyways, good job. I'm glad you're not hurt.";
		mes "The Blacksmith BK said he'll reinforce your weapon.";
		next;
		callsub S_Para2;
		mes "[Instructor Ur]";
		mes "You know where the Blacksmith is at right??";
		mes "Go out through the blue door, to the end of the hallway.";
		mes "BK is a great blacksmith, he'll make your weapon stronger.";
		mes "What are you waiting for?";
		erasequest 7228;	// Report to Instructor Ur
		para_2nd01 = 16;
	}
	else if (para_2nd01 == 16) {
		if (BaseLevel > 89) {
			mes "It's nice to see you still strong!";
			mes "What brings you today?";
			next;
			if (select( "I want to continue training.", "I'm just visiting." ) == 2) {
				mes "[Instructor Ur]";
				mes "Really? At your level, I think you can easily complete the top class missions..";
				mes "I'll be here if you change your mind.";
				close;
			}
			mes "[Instructor Ur]";
			callsub S_Quest89100;
		}
		else {
			mes "4th stage training starts at level 90.";
			mes "I'll see you then.";
			mes "Oh, if you haven't reinforced your weapon yet, go talk to BK.";
		}
	}
	else if (para_2nd01 == 20) {
	mes $@npcnames$;
		callsub S_Para2;
		mes "Пройди в заднюю комнату, и поговори ";
		mes "там с <NAVI>Тореном<INFO>moc_para01,47,37,0,000,0</INFO></NAVI> ^3131FFи с Экспертом по Оружию^000000 и получишь награду.";
		para_2nd01 = 30;
		erasequest 7232;	//Report to Instructor Ur
	}
	else if (para_2nd01 == 29) {
	mes $@npcnames$;
		mes "Ты уже всё? Отличная работа!";
		next;
	mes $@npcnames$;
		callsub S_Para2;
		mes "Пройди в заднюю комнату, и поговори ";
		mes "там с <NAVI>Майклом<INFO>moc_para01,47,37,0,000,0</INFO></NAVI> ^3131FFи с Экспертом по Оружию^000000 и получишь награду.";
		para_2nd01 = 30;
		erasequest 7237;	// Report to Instructor Ur
	}
	else if (para_2nd01 == 30) {
	mes $@npcnames$;
		mes "Пройди в заднюю комнату, и поговори ";
		mes "там с <NAVI>Тореном<INFO>moc_para01,47,37,0,000,0</INFO></NAVI> ^3131FFи с Экспертом по Оружию^000000 и получишь награду.";
	}
	else if (para_2nd01 < 5)
		callsub S_Direction,"Ромео в Комодо";
	else if (para_2nd01 < 10)
		callsub S_Direction,"Glast Heim Castle";
	else if (para_2nd01 < 15)
		callsub S_Direction,"Einbroch";
	else if (para_2nd01 < 20)
		callsub S_Direction,"Наоми в Ледяном Подземелье";
	else if (para_2nd01 < 29) {
		mes "You have to travel very far to get to the ^4d4dffRune Midgard Expedition Camp^000000!";
		mes "If you want to stay there then earn your keep by doing missions. Got it?";
	}
	close;
S_Para2:
	if (para_2nd02 == 0) {
		mes "Ты уже всё? Отличная работа!";
		para_2nd02 = 1;
		next;
	}
	return;
S_Direction:
	mes $@npcnames$;
	mes "Чего же ты ждёшь? Ступай и найди ^4d4dff"+ getarg(0) +"^000000";
	return;

S_Quest7990:
	mes "Hmm.. Not bad ...";
	mes "You must be getting a hang of this..";
	mes "Let's go with a simple mission this time";
	next;
	mes "[Instructor Ur]";
	mes "There is a industrial city called Einbroch.";
	mes "You've heard of it? It's a city clouded with pollution.";
	mes "You'll appreciate the environment here so much more after visiting that city...";
	mes "We should all be thankful.";
	next;
	mes "[Instructor Ur]";
	mes "Anyways, go out to the field south of Einbroch and you'll see the Dispatched Instructor.";
	mes "I'm sure he'll recognize you first.";
	mes "Don't forget to bring the Eden Group badge.";
	next;
	mes "[Instructor Ur]";
	mes "The city's pollution is unbearable";
	mes "But the surrounding fields are relatively clean...";
	mes "This should be pretty easy for you.";
	para_2nd01 = 12;
	setquest 7223;	// Advanced Training in Einbroch
	return;

S_Quest89100:
		if (BaseLevel < 100) {
	mes $@npcnames$;
	mes "Ты как раз вовремя! у меня для тебя есть новый квест. Что скажешь, готов начать его сейчас?";
		next;
		switch(select("Да:Нет")) {
	case 1:
	mes $@npcnames$;
	mes "Отлично! Найди ^3131FFНаоми в Ледяном Подземелье.^000000";
		next;
	mes $@npcnames$;
	mes "Она находится недалеко от ^3131FFВхода^000000 внутри самого Подземелья";
		para_2nd01 = 17;
		setquest 7229;	// Advanced Training in Ice Dungeon
		close;
	case 2:
	mes $@npcnames$;
	mes "Плохо, очень плохо. А я как раз припас такую хорошую награду для тебя...";
		}
		close;
}
	else {
		mes "Well, well...";
		mes "I don't even know where to send you now.";
		mes "I'm sure you are familiar with most places around here";
		next;
		mes "[Instructor Ur]";
		mes "Then, should I send you somewhere farther this time?";
		mes "There is a cat hand agent here.";
		mes "Do you see him over there?";
		next;
		mes "[Instructor Ur]";
		mes "Through him, you can get to Ash Vacuum pretty easily .";
		mes "Since there is a Expedition Camp there...";
		next;
		mes "[Instructor Ur]";
		mes "All you have to do is find the Eden Group agent there.";
		mes "Tell him I sent you, and he'll give you instructions.";
		mes "You can explore the new world";
		mes "It's like a vacation isn't it?";
		next;
		mes "[Instructor Ur]";
		mes "Hahaha!";
		mes ".. Maybe I'll go instead of sending you.";
		mes "Anyways, their names are Ma~ something... I don't know.";
		next;
		mes "[Instructor Ur]";
		mes "So, the mission, once again, is finding our agent at the Midgard Expedition Camp.";
		mes "Isn't this the easiest mission you've ever had?";
		mes "Don't forget my present when you come back~!";
		para_2nd01 = 22;
		setquest 7233;	// Advanced Training at Ash Vacuum
	}
	return;
}

//- 90~99 -
ice_dun01,154,13,5	script	Наоми#05	4_F_JOB_BLACKSMITH,{
	set $@npcnames$,"^BC7F15[ Наоми ]^000000";
	mes $@npcnames$;
		if (para_2nd01 <= 17) {
		if (para_2nd01 < 17) {
	mes "Т-так-к... Х-х-холод-д-дн-н-н-о...";
			close;
		}
	mes "Как же тут холодно.";
		next;
	mes $@npcnames$;
	mes "Ещё эти надоедливые Сиромы со своим ледяным дыханием...";
		next;
	mes $@npcnames$;
	mes "Можешь убить ^3131FF30 шт. Siroma^000000 для меня?";
		para_2nd01 = 18;
		erasequest 7229;	// Advanced Training in Ice Dungeon
		setquest 7230;	// Siroma hunting
		}
		else if (para_2nd01 == 18) {
		if (questprogress(7230,HUNTING) == 2) {
	mes "Спасибо, но этих Сиром по-прежнему полно здесь!";
		next;
	mes $@npcnames$;
	mes "Мне нужно сделать кое-какой горячительный напиток. Ну... чтобы не замёрзнуть совсем. Поможешь?";
		next;
	mes $@npcnames$;
	mes "Нужно ещё убить ^3131FF30 шт. Siroma^000000 и";
	mes "принести мне ^3131FF30 шт. <ITEMLINK>Ice Cubic<INFO>7066</INFO></ITEMLINK>";
	mes "1 шт. <ITEMLINK>Milk<INFO>519</INFO></ITEMLINK> и 1шт. <ITEMLINK>Sweet Sauce<INFO>7453</INFO></ITEMLINK>^000000";
	mes "Ладно?";
		para_2nd01 = 19;
		erasequest 7230;	// Siroma hunting
		setquest 7231;	// Hunting and Gathering
		getexp 40000,40000;
		npcskill "AL_HEAL",10,99,60;
		percentheal 0,100;
		}
		else {
	mes "Пожалуйста, убей ^3131FF30 шт. Siroma^000000. Терпеть их не могу.";
		}
	}
		else if (para_2nd01 == 19) {
		if (questprogress(7231,HUNTING) == 2 && countitem(Ice_Piece) > 29 && countitem(Sweet_Sauce) > 0 && countitem(Milk) > 0) {
	mes "Ура-ура, ты справился!";
		next;
	mes $@npcnames$;
	mes "Ну теперь-то я буду в порядке, можешь обо мне не беспокоиться.";
		next;
	mes $@npcnames$;
	mes "Возвращайся в ^31CE31Центральный офис Группы Эдем^000000 за наградой.";
		delitem Ice_Piece,30;
		delitem Sweet_Sauce,1;
		delitem Milk,1;
		para_2nd01 = 20;
		erasequest 7231;	// Hunting and Gathering
		setquest 7232;	// Report to Instructor Ur
		getexp 40000,40000;
		}
		else {
	mes "Нужно ещё убить ^3131FF30 шт. Siroma^000000 и";
	mes "принести мне ^3131FF30 шт. <ITEMLINK>Ice Cubic<INFO>7066</INFO></ITEMLINK>";
	mes "1 шт. <ITEMLINK>Milk<INFO>519</INFO></ITEMLINK> и 1шт. <ITEMLINK>Sweet Sauce<INFO>7453</INFO></ITEMLINK>^000000";
	mes "Ладно?";
		}
	}
		else if (para_2nd01 == 20) {
	mes "Возвращайся в ^31CE31Центральный офис Группы Эдем^000000 за наградой.";
		}
	else
		mes "Alas, is there anywhere where the buildup of ice caps is more than here?";
	close;
}

moc_para01,112,96,5	script	Administrator Michael	4_M_RUSMAN1,{
	mes "[Michael]";
	mes "Why did you come here?";
	next;
	switch (select("To get supplies:Where is here?:Upgrade equipment")) {
		mes "[Michael]";
	case 1:
		if (para_suv01 == 11) {
			mes "If you've completed step 1";
			mes "we can supply you with a Eden Group Hat, Uniform, Manteau and Boots.";
			mes "^4d4dffCheck your inventory first.^000000";
			next;
			if (select("Let me check my inventory:I have enough room.") == 1) {
				mes "[Michael]";
				mes "Make sure you have enough room for the supplies.";
				close;
			}
			mes "[Michael]";
			mes "Two of the supplies, the ^4d4dffHat and Manteau^000000,";
			mes "will only be given out once.";
			mes "So treat them with caution and care.";
			next;
			mes "[Michael]";
			mes "As for the Boots and the Uniforms, you will receive better quality ones based on your course grades.";
			next;
			mes "[Michael]";
			mes "One Eden Group Hat.";
			mes "One Eden Group Uniform I.";
			mes "One pair of Eden Group Boots I.";
			mes "One Eden Group Manteau.";
			mes "A total of 4 supplies, that's all.";
			para_suv01 = 12;
			para_suv02 = 1;
			getitem Para_Team_Hat,1;
			getitem Para_Team_Manteau,1;
			getitem Para_Team_Boots1,1;
			getitem Para_Team_Uniform1,1;
			next;
			mes "[Michael]";
			mes "Is that correct?";
			mes "It is manufactured for beginners so they don't have the best effect but they're still cheaper than equipment in the shops.";
			next;
			mes "[Michael]";
			mes "We made them especially for the Eden Group.";
		}
		else if (para_suv01 == 22) {
			mes "If you've completed step 2, we offer extra weapons including the basic equipment.";
			next;
			mes "[Michael]";
			mes "We have chosen the proper weapon for each class.";
			mes "But we can't support some classes that can't join us.";
			next;
			mes "[Michael]";
			mes "We can't manufacture all of the weapons in the world, don't you agree?";
			next;
			mes "[Michael]";
			mes "We will supply 1 Weapon, Shoes and Uniform so a total of three things.";
			mes "Also we supply extra things to consider some members who can't use some of the supplies.";
			next;
			mes "[Michael]";
			mes "^4d4dffPlease check your inventory to get those items.^000000";
			next;
			if (select("I will make more space.:I have got enough space.") == 1) {
				mes "[Michael]";
				mes "Make enough space.";
				close;
			}
			mes "[Michael]";
			if (Class == Job_Swordman || Class == Job_Swordman_High || Class == Job_Knight || Class == Job_Crusader) {
				callsub S_Select,"We have one and Two-handed swords",
					P_Slayer1,"Eden Slayer I","Two-handed sword","Attack 162","",
					P_Sabre1,"Eden Saber I","One-handed sword","Attack 147","This is what we strive for.";
			}
			if (Class == Job_Thief || Class == Job_Thief_High || Class == Job_Assassin || Class == Job_Rogue || Class == Job_Ninja || Class == Job_Novice || Class == Job_Novice_High) {
				callsub S_Select,"",
					P_Dagger1,"Eden Dagger I","Dagger","MATK+60, attack 124","This is what we strive for.";
			}
			if (Class == Job_Merchant || Class == Job_Merchant_High || Class == Job_Blacksmith || Class == Job_Alchemist) {
				callsub S_Select,"We have a mace and a One-handed sword",
					P_Sabre1,"Eden Saber I","One-handed sword","Attack 147","This is what we strive for.",
					P_Mace1,"Eden Mace I","Mace","Attack 142","";
			}
			if (Class == Job_Archer || Class == Job_Archer_High || Class == Job_Hunter || Class == Job_Dancer || Class == Job_Bard) {
				callsub S_Select,"",
					P_Bow1,"Eden Bow I","Bow","Attack 82","";
			}
			if (Class == Job_Acolyte || Class == Job_Acolyte_High || Class == Job_Priest || Class == Job_Monk) {
				callsub S_Select,"We have a mace and a staff",
					P_Mace1,"Eden Mace I","Mace","Attack 142","",
					P_Staff1,"Eden Staff I","Staff","INT+2, MATK+125, attack 60","";
			}
			if (Class == Job_Mage || Class == Job_Mage_High || Class == Job_Wizard || Class == Job_Sage) {
				callsub S_Select,"",
					P_Staff1,"Eden Staff I","Staff","INT+2, MATK+125, attack 60","";
			}
			if (Class == Job_Gunslinger) {
				callsub S_Select,"",
					P_Revolver1,"Eden Revolver I","Revolver","HIT-5, attack 44","";
			}

			mes "Let me see... you will receive..";
			mes "the Eden Group Boots II and Uniform II.";
			next;
			mes "[Michael]";
			para_suv01 = 23;
			getitem P_Dagger1,1;
			getitem Para_Team_Boots2,1;
			getitem Para_Team_Uniform2,1;
			if (para_suv02 == 0) {
				mes "I don't know what weapon will suit you so, you'll get a Dagger.";
				mes "You don't have a record of receiving any supplies";
				mes "so, you'll receive the Eden Group Hat and Manteau aswell.";
				getitem Para_Team_Hat,1;
				getitem Para_Team_Manteau,1;
				para_suv02 = 2;
				next;
				mes "[Michael]";
				mes "Check your supplies again and look after it.";
				close;
			}
			para_suv02 = 2;
			mes "A Weapon, Uniform and Boots all 3 supplies.";
			mes "I don't know what weapon will suit you so, you'll get a Dagger.";
			mes "Please check it again.";
			next;
			mes "[Michael]";
			mes "I hope they're useful to you.";
		}
		else if (para_suv01 == 37) {
			mes "You've completed the last training course.";
			mes "It's time for you to receive a new weapon.";
			next;
			mes "[Michael]";
			mes "We have more upgraded weapons, uniforms and boots.";
			mes "Ah, in case of the weapon that was made only for 1st jobs.";
			mes "So, I can't offer them to higher jobs.";
			next;
			mes "[Michael]";
			mes "^4d4dffPlease check you inventory to get those supplies.^000000";
			next;
			if (select("I'll come back.:I have enough room.") == 1) {
				mes "[Michael]";
				mes "Make sure you have enough room.";
				close;
			}
			mes "[Michael]";
			if (Class == Job_Swordman || Class == Job_Swordman_High || Class == Job_Knight || Class == Job_Crusader) {
				callsub S_Select,"We have one and Two-handed swords",
					P_Sabre2,"Eden Saber II","One-handed sword","Attack 170","",
					P_Slayer2,"Eden Slayer II","Two-handed sword","Attack 185","";
			}
			if (Class == Job_Thief || Class == Job_Thief_High || Class == Job_Assassin || Class == Job_Rogue || Class == Job_Novice || Class == Job_Novice_High || Class == Job_SuperNovice || Class == Job_Soul_Linker || Class == Job_Ninja) {
				callsub S_Select,"",
					P_Dagger2,"Eden Dagger II","Dagger","MATK+70, attack 158","";
			}
			if (Class == Job_Acolyte || Class == Job_Acolyte_High || Class == Job_Priest || Class == Job_Monk) {
				callsub S_Select,"We have a mace and a staff",
					P_Mace2,"Eden Mace II","Mace","Attack 163","",
					P_Staff2,"Eden Staff II","Staff","INT+3, MATK+150, attack 60","";
			}
			if (Class == Job_Archer || Class == Job_Archer_High || Class == Job_Hunter || Class == Job_Dancer || Class == Job_Bard) {
				callsub S_Select,"",
					P_Bow2,"Eden Bow II","Bow","Attack 82","";
			}
			if (Class == Job_Mage || Class == Job_Mage_High || Class == Job_Wizard || Class == Job_Sage) {
				callsub S_Select,"",
					P_Staff2,"Eden Staff II","Staff","INT+3, MATK+155, attack 60","";
			}
			if (Class == Job_Merchant || Class == Job_Merchant_High || Class == Job_Blacksmith || Class == Job_Alchemist) {
				callsub S_Select,"We have a mace and a One-handed sword",
					P_Sabre2,"Eden Saber II","One-handed sword","Attack 170","",
					P_Mace2,"Eden Mace II","Mace","Attack 163","";
			}
			if (Class == Job_Gunslinger) {
				callsub S_Select,"",
					P_Revolver2,"Eden Revolver II","Revolver","HIT-5, attack 60","";
			}
			mes "Let me see... you will receive..";
			mes "the Eden Group Boots III and Uniform III.";
			next;
			para_suv01 = 38;
			getitem Para_Team_Boots3,1;
			getitem Para_Team_Uniform3,1;
			mes "[Michael]";
			if (para_suv02 == 0) {
				mes "You don't have a record of receiving any supplies";
				mes "so, you'll receive the Eden Group Hat and Manteau aswell.";
				para_suv02 = 3;
				getitem Para_Team_Hat,1;
				getitem Para_Team_Manteau,1;
				next;
				mes "[Michael]";
				mes "Check your supplies again and look after it.";
				close;
			}
			para_suv02 = 3;
			mes "A Uniform and Boots all 2 supplies.";
			mes "Please check it again.";
			next;
			mes "[Michael]";
			mes "I hope they're useful to you.";
		}
		else {
			mes "Wait...I will check the record...";
			mes "...";
			mes "...hummmm.";
			next;
			mes "[Michael]";
			mes "Sorry, but I can't find any record that you can obtain supplies.";
			mes "Are you sure?";
		}
		close;
	case 2:
		mes "We store weapons, armor and other goods which were created by the Eden Group here.";
		mes "We also have a lot of special stuff.";
		next;
		mes "[Michael]";
		mes "To prepare for emergencies, we hav enough equipment and supplies for an entire army.";
		mes "Frankly... we don't have a use for it now but in case soemthing happens like in Morroc.";
		next;
		mes "[Michael]";
		mes "Just take a look around and don't touch anything.";
		next;
		mes "[Michael]";
		mes "If I make a mistake, Reke will punish me.";
		close;
	case 3:
		mes "You mean upgrading equipment, right?";
		mes "We can only upgrade the Eden Group Hat.";
		next;
		mes "[Michael]";
		if (para_suv02 == 3) {
			if (countitem(Para_Team_Hat) > 0) {
				disable_items;
				mes "What status bonus do you want to upgrade?";
				next;
				switch (select("Upgrade STR:Upgrade AGI:Upgrade VIT:Upgrade INT:Upgrade DEX:Upgrade LUK:Nevermind.")) {
				case 1: callsub S_Upgrade,"STR",4701;
				case 2: callsub S_Upgrade,"AGI",4731;
				case 3: callsub S_Upgrade,"VIT",4741;
				case 4: callsub S_Upgrade,"INT",4711;
				case 5: callsub S_Upgrade,"DEX",4721;
				case 6: callsub S_Upgrade,"LUK",4751;
				case 7:
					mes "[Michael]";
					mes "Why? It'll be beter than it is.";
					mes "Anyway, we can only offer you one Hat.";
					next;
					mes "[Michael]";
					mes "What you do with it is up to you.";
					close;
				}
			}
			mes "First come with a Hat that you want me to upgrade.";
			mes "Make sure that it's in your inventory, got it?";
			close;
		}
		if (para_suv02 == 4) {
			mes "Umm, didn't you upgrade this already?";
			mes "According to the records";
			mes ""+strcharinfo(0)+": Has already upgraded their Hat.";
			next;
			mes "[Michael]";
			mes "We can only offer 1 upgrade.";
			mes "Sorry but I can't do it twice.";
			close;
		}
		mes "You haven't received all the supplies up to step 3.";
		mes "Upgrading your Hat is a special service.";
		next;
		mes "[Michael]";
		mes "Sorry but I can't help you.";
		close;
	}
S_Upgrade:
	mes "[Michael]";
	mes "I see.";
	mes "I will ^4d4dffUpgrade "+ getarg(0) +"^000000.";
	mes "Are you sure?";
	next;
	switch (select("Yes I am.:No wait.")) {
	case 1:
		mes "[Michael]";
		mes "I will start to upgrade.";
		next;
		mes "[Michael]";
		mes "Here you are.";
		para_suv02 = 4;
		delitem Para_Team_Hat,1;
		getitem2 5583,1,1,0,0,0,0,0,getarg(1);
		close;
	case 2:
		mes "[Michael]";
		mes "Don't you want to upgrade?";
		close;
	}

S_Select:
	.@total_arg = getargcount();
	if (.@total_arg < 7)
		mes "We only have 1 weapon for you.";
	else {
		mes "What kind of weapon do you want?";
		mes getarg(0);
		mes "Here are the options.";
	}
	next;
	mes "[Michael]";
	for ( .@i = 1; .@i < .@total_arg; .@i += 5 ) {
		.@menu$ =  .@menu$ + getarg(.@i+1) + ":";
		mes getarg(.@i+1)+": "+ getarg(.@i+2) +". "+ getarg(.@i+3) +".";
	}
	if (.@total_arg < 7)
		mes "It is Lv. 2 and the required level is "+ (para_suv01 == 22 ? "26" : "40") +".";
	else
		mes "Both of them are Lv. 2 weapons and the required level is "+ (para_suv01 == 22 ? "26" : "40") +".";
	next;
	mes "[Michael]";
	mes "They also can't be traded with other players or be refined.";
	next;
	if (.@total_arg < 7) {
		.@i = 1;
		mes "[Michael]";
		mes "You'll receive the "+ getarg(.@i+1) +".";
		next;
		mes "[Michael]";
	}
	else {
		.@i = (select(.@menu$) -1) *5 +1;
		mes "[Michael]";
		mes "You've chosen the "+ getarg(.@i+1) +".";
	}
	if (para_suv01 == 22) {
		mes "Additionally you'll receive the Eden Group Boots II and Uniform II.";
		next;
		getitem Para_Team_Boots2,1;
		getitem Para_Team_Uniform2,1;
		para_suv01 = 23;
	}
	else {
		mes "Additionally you'll receive the Eden Group Boots III and Uniform III.";
		next;
		getitem Para_Team_Boots3,1;
		getitem Para_Team_Uniform3,1;
		para_suv01 = 38;
	}
	getitem getarg(.@i),1;
	mes "[Michael]";
	if (para_suv02 == 0) {
		mes "You don't have a record of receiving any supplies";
		mes "so, you'll receive the Eden Group Hat and Manteau aswell.";
		getitem Para_Team_Hat,1;
		getitem Para_Team_Manteau,1;
		if (para_suv01 == 22)
			para_suv02 = 2;
		else
			para_suv02 = 3;
		next;
		mes "[Michael]";
		mes "Check your supplies again and look after it.";
	}
	else {
		if (para_suv01 == 22)
			para_suv02 = 2;
		else
			para_suv02 = 3;
		mes "A "+ getarg(.@i+2) +", Uniform and Boots all 3 supplies.";
		mes "Please check it again.";
		next;
		mes "[Michael]";
		mes "I hope they're useful to you.";
		mes getarg(.@i+4);
	}
	close;
}

moc_para01,111,83,3	script	Торен#2nd10	2_M_OLDBLSMITH,{
	if (checkweight(Para_Team_Manteau2,5) == 0) {
		mes "- You have too many items in your inventory to continue -";
		close;
	}
	mes "[Thorn]";
	if (countitem(Para_Team_Mark) < 1) {
		mes "Хм..м. Ты не можешь возпользоваться моими услугами, для начала подойди к ^3355FFСекретарю^000000 и зарегистрируйся.";
		close;
	}
	mes "Йо! Чем могу помочь?";
	next;
	switch( select( "Где моя награда?", "Зачаруй мне...", "Give me new equipment." ) ) {
		mes "[Thorn]";
	case 3:
		if (para_2nd01 < 6) {
			mes "Hmm equipment strengthening.";
			mes "I don't exactly do that for just anyone.";
			mes "The first step is at least a higher degree of training so have you done the Eden Group training yet?";
			next;
			mes "[Thorn]";
			mes "You have not awakened yet.";
			mes "First do the missions set forth by Instructor Ur and I'll help you strengthen your equipment.";
			next;
			mes "[Thorn]";
			mes "I won't help you unless you do that first!";
		}
		else if (para_2nd04 == 3) {
			mes "Strengthen your equipment eh?";
			mes "I'll strengthen the new Eden Group equipment for you by giving it a random stat boost.";
			next;
			mes "[Thorn]";
			mes "So what equipment do you want to enhance?";
			next;
			switch( select( "Eden Group Manteau II", "Eden Group Armor IV", "Eden Group Boots IV" ) ) {
				case 1: callsub S_Enchant,Para_Team_Manteau2,"Manteau";
				case 2: callsub S_Enchant,Para_Team_Armor,"Armor";
				case 3: callsub S_Enchant,Para_Team_Boots4,"Boots";
			}
		}
		else {
			mes "I will strengthen your equipment after you've done a personal request of mine.";
			next;
			mes "[Thorn]";
			mes "I just want to be sure that you're worthy of using my services.";
		}
		close;
	case 2:
		if (para_2nd02 < 2) {
			mes "Сперва раздобудь ^3131FFПродвинутую Экипировку Эдема.^000000";
		}
		else if (para_2nd04 == 0) {
			mes "Хорошо, но для этого мне нужно пару предметов.";
			next;
			mes "[Thorn]";
			if (BaseLevel < 80) {
				mes "Принеси мне ^3131FF20 шт.^000000 <ITEMLINK>Iron Ore<INFO>1002</INFO></ITEMLINK>";
				mes "и ^3131FF10 шт.^000000 <ITEMLINK>Iron<INFO>998</INFO></ITEMLINK>";
			}
			else {
				mes "Принеси мне ^3131FF20 шт.^000000 <ITEMLINK>Used Iron Plate<INFO>7319</INFO></ITEMLINK>";
				.@add = 1;
			}
			next;
				para_2nd04 = 1 + .@add;
				setquest (7238 + .@add);	// Errands for Thorn (easy/hard)
				close;
		}
		else if (para_2nd04 == 1 || para_2nd04 == 2) {
			if (para_2nd04 == 1) {
				setarray .@item[0],Iron_Ore,Iron;
				setarray .@amount[0],20,10;
				setarray .@countitem[0],countitem(Iron_Ore),countitem(Iron);
				.@string$ = "Принеси мне ^3131FF20 шт.^000000 <ITEMLINK>Iron Ore<INFO>1002</INFO></ITEMLINK>";
				.@string$ = "и ^3131FF10 шт.^000000 <ITEMLINK>Iron<INFO>998</INFO></ITEMLINK>";
			}
			else {
				.@item[0] = 7319;
				.@amount[0] = 20;
				.@countitem[0] = countitem(Old_Steel_Plate);
				.@add = 1;
				.@string$ = "Принеси мне ^3131FF20 шт.^000000 <ITEMLINK>Used Iron Plate<INFO>7319</INFO></ITEMLINK>";
			}
			if (.@countitem[0] >= .@amount[0] && .@countitem[1] >= .@amount[1]) {
				mes "Let me guess...";
				mes "You've brought me the best quality materials.";
				mes "Good.";
				next;
				mes "[Thorn]";
				mes "I can always use more Iron materials.";
				mes "Instead of a normal reward I'll give you an advanced equipment.";
				next;
				mes "[Thorn]";
				mes "If at any time you think you have equipment that you need to strengthen come by me again.";
				delitem .@item[0],.@amount[0];
				if (.@countitem[1])
					delitem .@item[1],.@amount[1];
				para_2nd04 = 3;
				erasequest (7238 + .@add);
				setquest 7240;
			}
			else {
				mes .@string$;
			}
		}
		else if (para_2nd04 == 3) {
			mes "Now, that's it.";
			mes "That's enough for today.";
			mes "For now, ask me to strengthen your equipment and I'll do it for you.";
			next;
			mes "[Thorn]";
			mes "If you have one of these bring them to me.";
			mes "Eden Group Manteau II, Eden Group Armor IV, Eden Group Boots IV.";
		}
		else if (para_2nd04 == 4) {
			if (questprogress(7241,PLAYTIME) == 1) {
				mes "Come back later.";
				mes "You have to wait for some time first.";
			}
			else {
				mes "Uh-huh...";
				mes "What are we going to... oh don't worry.";
				mes "Come to me later.";
				erasequest 7241;	// Errands for Thorn timer
				para_2nd04 = 0;
			}
		}
		close;
	case 1:
		if (para_2nd02 < 1) {
			mes "Я тебе ничего не должен, проваливай!";
		}
		else if (para_2nd02 == 1) {
			mes "Ты, должно быть, ^3131FF"+strcharinfo(0)+",^000000 верно?";
			mes "Инструктор Ура говорил мне о тебе.";
			next;
			mes "У меня для тебя есть один неплохой набор экипировки, носи его с гордостью, ведь ты член ^31CE31Группы Эдем.^000000 И не вздумай продавать что-либо из этого.";
			next;
			mes "[Thorn]";
			mes "Можешь выбрать для себя ^4d4dffоружие.^000000";
			next;
			mes "[Thorn]";
			if (BaseJob == Job_Knight || BaseJob == Job_Crusader) {
				callsub L_Select,"One-handed sword, two-handed sword or spear.",
					P_Slayer3,"Eden Group Slayer III","Two-handed Sword, Attack 200",
					P_Saber3,"Eden Group Saber III","One-handed Sword, Attack 185",
					P_Sphere1,"Eden Group Spear I","One-handed, Attack 165";
			}
			else if (BaseJob == Job_Assassin) {
				callsub L_Select,"You have your choice of dagger or katar.",
					P_Dagger3,"Eden Group Dagger III","Dagger, MATK +80, ATK 165",
					P_Katar1,"Eden Group Katar I","Katar, ATK 155";
			}
			else if (BaseJob == Job_Rogue || BaseClass == Job_Novice)
				getitem P_Dagger3,1;
			else if (BaseJob == Job_Alchemist || BaseJob == Job_Blacksmith) {
				callsub L_Select,"Your options are Mace, Saber and Axe.",
					P_Mace3,"Eden Group Mace III","Mace, Attack 172",
					P_Saber3,"Eden Group Saber III","Sword, Attack 185",
					P_Two_Handed_Axe1,"Eden Group Axe I","Axe, Attack 195"; 
			}
			else if (BaseJob == Job_Wizard)
				getitem P_Staff3,1;
			else if (BaseJob == Job_Sage) {
				callsub L_Select,"",
					P_Staff3,"Eden Group Staff III","Staff, MATK + 170, INT +4, Attack 60",
					P_Dic1,"Eden Group Dictionary I","Book, MATK +100, Attack 135";
			}
			else if (BaseJob == Job_Priest) {
				callsub L_Select,"",
					P_Staff3,"Eden Group Staff III","Staff, MATK + 170, INT +4, Attack 60",
					P_Dic1,"Eden Group Dictionary I","Book, MATK +100, Attack 135",
					P_Mace3,"Eden Group Mace III","Mace, Attack 172";
			}
			else if (BaseJob == Job_Monk) {
				callsub L_Select,"",
					P_Knuckle1,"Eden Group Knuckles I","Knuckle, Attack 120",
					P_Mace3,"Eden Group Mace III","Mace, Attack 172";
			}
			else if (BaseJob == Job_Hunter)
				getitem P_Bow3,1;
			else if (BaseJob == Job_Bard) {
				callsub L_Select,"",
					P_Bow3,"Eden Group Bow III","Bow, Attack 140",
					P_String_Inst1,"Eden Group Guitar I","Guitar, Attack 125";
			}
			else if (BaseJob == Job_Dancer) {
				callsub L_Select,"",
					P_Bow3,"Eden Group Bow III","Bow, Attack 140",
					P_Tail1,"Eden Group Whip I","Whip, Attack 125";
			}
			else if (Class == Job_Ninja) {
				callsub L_Select,"",
					P_Dagger3,"Eden Group Dagger III","Dagger, MATK +80, ATK 165",
					P_Huuma_Shuriken1,"Eden Group Huuma Shuriken I","Huuma Suriken, MATK +50, ATK 170";
			}
			else if (Class == Job_Star_Gladiator)
				getitem P_Dic1,1;
			else if (Class == Job_Soul_Linker) {
				callsub L_Select,"",
					P_Dagger3,"Eden Group Dagger III","Dagger, MATK +80, ATK 165",
					P_Staff3,"Eden Group Staff III","Staff, MATK +170, INT +4, ATK 60";
			}
			else if (Class == Job_Gunslinger)
				getitem P_Revolver3,1;
			else {
				mes "Hmm, you are eligible to receive equipment.";
				mes "Yeah I understand that.";
				next;
				mes "[Thorn]";
				mes "Hmm something went wrong though. I'm not sure what...";
				close;
			}
			para_2nd02 = 2;
			getitem Para_Team_Hat2,1;
			getitem Para_Team_Manteau2,1;
			getitem Para_Team_Boots4,1;
			getitem Para_Team_Armor,1;
			mes "Увидимся позже. И удачи тебе в приключениях!";
		}
		else if (para_2nd02 == 2) {
			mes "Я уже выдал тебе наиболее продвинутую экипировку из имеющихся.";
		}
		else {
			mes "Have you gotten your gear yet?";
			mes "I can give you the gear but I can't strengthen it for you.";
			next;
			mes "[Thorn]";
			mes "Your armor can be strengthened by someone else.";
			mes "I wish I could but I can't.";
		}
	}
	close;
L_Select:
	mes getarg(0);
	for ( .@i = 1; .@i < getargcount(); .@i += 3 ) {
		.@menu$ =  .@menu$ + getarg(.@i+1) + ":";
		mes getarg(.@i+1)+" : "+ getarg(.@i+2);
	}
	next;
	.@i = (select(.@menu$) -1) *3 +1;
	mes "[Toren]";
	getitem getarg(.@i),1;
	return;
S_Enchant:
	mes "[Thorn]";
	if (countitem(getarg(0)) > 0) {
		setarray .@bonus[1],
			Luck2,
			Mdef4,
			Def3,
			Strength2,
			Mdef6,
			Def6,
			Agility2,
			Mdef8,
			Def9,
			Dexterity2,
			Inteligence2,
			Vitality2;
		.@1st = .@bonus[ rand(1,12) ];
		.@2nd = .@bonus[ rand(1,12) ];
		mes "Eden Group "+ getarg(1) +"?";
		mes "I understand.";
		mes "Remember the stats that are enhanced will be random.";
		mes "You sure you want me to enhance this?";
		next;
		switch( select( "I changed my mind.", "Yes, enhance it." ) ) {
			mes "[Thorn]";
		case 1:
			mes "You sure you don't want to enhance it?";
			mes "It's your choice.";
			close;
		case 2:
			mes "I understand.";
			mes "Let's begin the enhancement.";
			next;
			specialeffect EF_REPAIRWEAPON;
			progressbar "ffff00",3;
			delitem getarg(0),1;
			para_2nd04 = 4;
			changequest 7240,7241;
			getitem2 getarg(0),1,1,0,0,0,0,.@1st,.@2nd;
			mes "[Thorn]";
			mes "Ok, seems that the enhancement went well.";
			mes "If you don't like the result then you can come back again tomorrow.";
			close;
		}
	}
	mes "Hmm... Don't you have the "+ getarg(1) +"?";
	mes "I don't think you have it with you.";
	close;
}

moc_para01,112,79,3	script	Weapons Expert BK#2nd11	4_M_REPAIR,{
	setarray .@wplist[0],
		P_Slayer3,
		P_Saber3,
		P_Dagger3,
		P_Katar1,
		P_Two_Handed_Axe1,
		P_Sphere1,
		P_Staff3,
		P_Mace3,
		P_Bow3,
		P_Dic1,
		P_String_Inst1,
		P_Tail1,
		P_Revolver3,
		P_Knuckle1,
		P_Huuma_Shuriken1;
	.@menu$ = "Eden Group Slayer III:" +
		"Eden Group Saber III:" +
		"Eden Group Dagger III:" +
		"Eden Group Katar I:" +
		"Eden Group Axe I:" +
		"Eden Group Spear I:" +
		"Eden Group Staff III:" +
		"Eden Group Mace III:" +
		"Eden Group Bow III:" +
		"Eden Group Dictionary I:" +
		"Eden Group Guitar I:" +
		"Eden Group Whip I:" +
		"Eden Group Revolver III:" +
		"Eden Group Knuckles I:" +
		"Eden Group Huuma Shuriken I";
	mes "[BK]";
	mes "What's happening?";
	mes "No way?!";
	next;
	if (select( "Enhancing weapons.", "What?" ) == 2) {
		mes "[BK]";
		mes "Yeah?";
		mes "Are you asking me what I know?";
		next;
		select("...??");
		mes "[BK]";
		mes ".....????";
		close;
	}
	mes "[BK]";
	mes "Ah, you're here to enhance your gear.";
	mes "Okay, shall we?";
	next;
	mes "[BK]";
	if (para_2nd02 < 2) {
		mes "You have to have the equipment first in order for me to do anything.";
		mes "Didn't you get anything from Thorn yet?";
	}
	else if (para_2nd02 == 2) {
		if (para_2nd01 < 11) {
			mes "Hmm, no.";
			mes "I don't have permission from Instructor Ur.";
			mes "You have to finish your training.";
			next;
			mes "[BK]";
			mes "Once you do that I can help you.";
			mes "Until then I won't talk to you.";
		}
		else {
			mes "Okay, what weapon do you want to enhance?";
			next;
			.@s = select(.@menu$) -1;
			mes "[BK]";
			if (countitem(.@wplist[.@s]) > 0) {
				mes "Ok for the first reinforcement.";
				mes "ATK + 3% or MATK + 3%?";
				mes "I'll give you the option to grant this effect on the selected gear.";
				next;
				mes "[BK]";
				mes "You can't change your mind after so choose wisely.";
				next;
				if (select( "ATK +3%","MATK +3%" ) == 1) {
					.@string$ = "Ok, you've chosen to raise physical attack.";
					.@card = Atk3;
				}
				else {
					.@string$ = "Ok, you've chosen to raise magical attack.";
					.@card = Matk3;
					.@add = 1;
				}
				mes "[BK]";
				mes .@string$;
				mes "Would you look at that. Your weapon will now be stronger.";
				para_2nd03 = 1 + .@add;
				next;
				specialeffect EF_REPAIRWEAPON;
				progressbar "ffff00",3;
				para_2nd02 = 3;
				delitem .@wplist[.@s],1;
				getitem2 .@wplist[.@s],1,1,0,0,0,0,0,.@card;
				mes "[BK]";
				mes "Isn't it magnificent?";
				mes "I know, I know, I'm pretty amazing!";
			}
			else {
				mes "Are you kidding me?";
				mes "You don't seem to have that weapon in your possession.";
			}
		}
	}
	else if (para_2nd02 == 3) {
		if (para_2nd01 < 16) {
			mes "Hmm, I'm not sure you're ready.";
			mes "All 3 steps of Instructor Ur's missions have to be completed first.";
			next;
			mes "[BK]";
			mes "You get what I'm saying?";
			mes "Finish the third mission from Instructor Ur.";
		}
		else {
			mes "Good. So you previously received an addition to Atk or Matk.";
			mes "For this option you can choose from Brute, Plant, Fish, Dragon, Increased Heal.";
			next;
			mes "[BK]";
			mes "Once you've chosen you can't change your mind again.";
			mes "But your weapon will increase damage to the type of enhancement you pick.";
			next;
			mes "[BK]";
			mes "Basically I will add a random monster card with the property type that you choose.";
			mes "Good luck!";
			next;
			switch( select( "Brute Type", "Plant Type", "Insect Type", "Fish Type", "Dragon Type", "Increased Heal" ) ) {
			case 1:
				setarray .@arg[0],Goblin_Card,Bradium_Goram_Card,111;
				.@type$ = "Brute";
				break;
			case 2:
				setarray .@arg[0],Scorpion_Card,Nepenthes_Card,121;
				.@type$ = "Plant";
				break;
			case 3:
				setarray .@arg[0],Caramel_Card,Pinguicula_Card,131;
				.@type$ = "Insect";
				break;
			case 4:
				setarray .@arg[0],Flora_Card,Naga_Card,141;
				.@type$ = "Fish";
				break;
			case 5:
				setarray .@arg[0],Petit_Card,Egg_Of_Draco_Card,151;
				.@type$ = "Dragon";
				break;
			case 6:
				setarray .@arg[0],Heal_Amount2,Heal_Amount2,161;
			}
			mes "[BK]";
			for ( .@i = 0; .@i < 15; .@i++ ) {
				if (countitem(.@wplist[.@i]) > 0) {
					if (.@arg[0] == Heal_Amount2)
						mes "Good. Your weapon will now increase Heal effectiveness.";
					else
						mes "Good. Your weapon will increase attacks to "+ .@type$ +" type monsters.";
					next;
					specialeffect EF_REPAIRWEAPON;
					progressbar "ffff00",3;
					delitem .@wplist[.@i],1;
					para_2nd02 = 4;
					if (para_2nd03 == 1) {
						para_2nd03 = .@arg[2];
						getitem2 .@wplist[.@i],1,1,0,0,0,0,.@arg[0],Atk3;
					}
					else {
						para_2nd03 = .@arg[2] + 100;
						getitem2 .@wplist[.@i],1,1,0,0,0,0,.@arg[1],Matk3;
					}
					mes "[BK]";
					mes "Isn't it magnificent?";
					mes "I know, I know, I'm pretty amazing!";
					close;
				}
			}
			mes "Sorry, but it doesn't seem like you have a weapon that can be enhanced.";
			mes "How did this happen?";
			close;
		}
	}
	else if (para_2nd02 == 4) {
		if (para_2nd01 < 30) {
			mes "Instructor Ur has a lot of training missions doesn't he?";
			mes "There's only one more stage.";
			mes "Reach the final stage of training.";
		}
		else {
			mes "Okay, this is the last step.";
			mes "I will make your weapon even more enhanced.";
			next;
			mes "[BK]";
			mes "The card added from the previous step will be doubled.";
			mes "And if you have a healing weapon it will increase it's healing efficiency.";
			mes "You understand?";
			next;
			mes "[BK]";
			mes "Ok what weapon did you have now?";
			next;
			.@s = select(.@menu$) -1;
			mes "[BK]";
			if (countitem(.@wplist[.@s]) > 0) {
				mes "Doubling the strength of your bonus stat.";
				next;
				specialeffect EF_REPAIRWEAPON;
				progressbar "ffff00",3;
				delitem .@wplist[.@s],1;
				para_2nd02 = 5;
				if (para_2nd03 == 111)
					getitem2 .@wplist[.@s],1,1,0,0,0,Goblin_Card,Goblin_Card,Atk3;
				else if (para_2nd03 == 121)
					getitem2 .@wplist[.@s],1,1,0,0,0,Scorpion_Card,Scorpion_Card,Atk3;
				else if (para_2nd03 == 131)
					getitem2 .@wplist[.@s],1,1,0,0,0,Caramel_Card,Caramel_Card,Atk3;
				else if (para_2nd03 == 141)
					getitem2 .@wplist[.@s],1,1,0,0,0,Flora_Card,Flora_Card,Atk3;
				else if (para_2nd03 == 151)
					getitem2 .@wplist[.@s],1,1,0,0,0,Petit_Card,Petit_Card,Atk3;
				else if (para_2nd03 == 161)
					getitem2 .@wplist[.@s],1,1,0,0,0,Heal_Amount2,Heal_Amount2,Atk3;
				else if (para_2nd03 == 211)
					getitem2 .@wplist[.@s],1,1,0,0,0,Bradium_Goram_Card,Bradium_Goram_Card,Matk3;
				else if (para_2nd03 == 221)
					getitem2 .@wplist[.@s],1,1,0,0,0,Nepenthes_Card,Nepenthes_Card,Matk3;
				else if (para_2nd03 == 231)
					getitem2 .@wplist[.@s],1,1,0,0,0,Pinguicula_Card,Pinguicula_Card,Matk3;
				else if (para_2nd03 == 241)
					getitem2 .@wplist[.@s],1,1,0,0,0,Naga_Card,Naga_Card,Matk3;
				else if (para_2nd03 == 251)
					getitem2 .@wplist[.@s],1,1,0,0,0,Egg_Of_Draco_Card,Egg_Of_Draco_Card,Matk3;
				else if (para_2nd03 == 261)
					getitem2 .@wplist[.@s],1,1,0,0,0,Heal_Amount2,Heal_Amount2,Matk3;
				mes "[BK]";
				mes "Isn't it magnificent?";
				mes "I know, I know, I'm pretty amazing!";
			}
			else {
				mes "Hey, you think I'm joking?";
				mes "Do you have the weapons or not?";
			}
		}
	}
	else if (para_2nd02 > 4) {
		mes "How do you like your enhanced weapon?";
		mes "Hopefully it has helped you.";
		next;
		mes "[BK]";
		mes "I've given you the peak of your weapon's efficiency.";
		mes "Weapons aren't the only things that need strength, though, don't you agree?";
		next;
		mes "[BK]";
		mes "Come on admit it.";
		mes "Thorn gave inspiration and I intend on providing strong equipment, that's how to live life.";
		mes "Hahahaha!";
	}
	close;
}

 

 

Изменено пользователем ucell-uz
Ссылка на комментарий
Поделиться на другие сайты

11 час назад, ucell-uz сказал:

кеник это ты имеешь в виду то что идёт через таб?

ну если да я не думаю что это проблема -)

Именно это. Читать тяжело (: И это как раз-таки проблема..

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

10 минуту назад, Кеник сказал:

Именно это. Читать тяжело (: И это как раз-таки проблема..

ну я конечно извиняюсь, я использую разрешение экрана 1440х900 и меня устраивает, конечно если использовать 2990х1680 логично что всё мелкое будет)

Изменено пользователем ucell-uz
Ссылка на комментарий
Поделиться на другие сайты

Отвечу тут, По тому что другим пачянам будет интересно... наверное....

Доска Эдэма 91-99, код скрипта сумбурен и трудно читаем, 

Хабиля с нуля напишет такой квсест с использованием элементов из скрипта доска эдема 91-99

Хабиля напишет похожий скрипт,

который-бы соответствовал стандартам Хабили в скриптинге и кодинге.

 

По тому что Хабиле нужен скрипт ежедневной охоты.

суть каждый день квест не даеться насильно, свой ежедневный квест можно выбрать из 3 наборов

- легкий (охота на монстров соответсвующих уровню игрока)

- средний (Охота на монстров чуть сильнее уровня игрока)

- сложный (Охота на монстров значительно сильнее уровня игрока)

Каждый день наборы монстров на которых можно поохотиьься меняються....

пока времени особо нет... извините....

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

3 минуты назад, Habilis сказал:

Отвечу тут, По тому что другим пачянам будет интересно... наверное....

Доска Эдэма 91-99, код скрипта сумбурен и трудно читаем, 

Хабиля с нуля напишет такой квсест с использованием элементов из скрипта доска эдема 91-99

Хабиля напишет похожий скрипт,

который-бы соответствовал стандартам Хабили в скриптинге и кодинге.

 

По тому что Хабиле нужен скрипт ежедневной охоты.

 

пока времени особо нет... извините....

ну чтож мистер хабиб, будим ждать!

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

3 минуты назад, Habilis сказал:

Потом ты из этого скрипта сможешь выдернуть что тебе нужно...

надеюсь что разберусь что и откуда резать -)

мне основное это чтобы квест проходился 1 раз, и только 1 чаром, чтобы за выполненную доску давали итем, мессаги с сообщением что вы не можете проходить эту доску поскольку она уже вся пройдена, чтобы мобов нельзя было брать паралельно с мессагой типо ты не можешь взять другого моба пока не пройдёшь то что у тебя взято

 

я конечно не в курсе что вы там готовите, но думаю это будет интересно

Изменено пользователем ucell-uz
Ссылка на комментарий
Поделиться на другие сайты

Можещь попробовать сам, это не так сложно... особенно если прочтещь и поймещь это

 

Из доков герка по скриптингу

http://herc.ws/wiki/Basic_Scripting

Цитата

name  - permanent character integer variable
name$ - permanent character string variable

Так декларируеться (несгораемая) переменная привязванная к чару (цифры/текст)

1 час назад, ucell-uz сказал:

чтобы квест проходился 1 раз, и только 1 чаром,

lastEdemBoardStatus = 1;

Почему Хабиля всем переменным дал префикс LastEdemBoard? чтобы обозначить доску 91-99, Хабиля назвал ее последняя по тому что цифры в переменных Хабилю пугают....

 

Переменная выдающяя статус (название должно быть уникальным)  

0 (не инициированв, по дефолту у всех)

1 доска выполняеться

2 доска пройдена

ставиш 1 когда хотябы 1 задание взято

По эитой переменной проверяеш пройденность доски.

Когда даешь приз, выставляешь 2

lastEdemBoardStatus = 2;

 

Тут уже чуть-чуть сложнее, но все равно уровень сложности, не очень...

1 час назад, ucell-uz сказал:

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

Тут нужно 2 переменные 

LastEdemBoardCurrentMission = 1;

LastEdemBoardMissions$ = "|1|4|7|";

LastEdemBoardCurrentMission - последняя взятая миссия ( йд кейса в котором монстр)

Когда миссия выполнена ставишь 0

потом сравниваешь

if(LastEdemBoardCurrentMission  != 0) {  уже какая-то миссия взята, не даешь миссию } else { даешь миссию }

 

LastEdemBoardMissions$ - переменная содержащяя какие мисси уже пройдены

почему такой формат? "|1|4|7|" , в (несгораемые) переменные нельзя сохранить массив... (Хабиле кажеться....)

Это обход этого запрета, суда сохраняються уже пройденные миссии 

Если хочешь чтобы миссию можно было пройти 1 только раз....

 

Сложность тут только в том чтобы каждый раз это "|1|4|7|" приображать в массив и при надобности обратно в такой-же формат для сохранения...

 

 

 

 

УПД : Что именно хочет Хабиля, так это ежедневные задания но для Пре-РЕ (Эдем борды для РЕ серверов)

Хабиля хочет разбросать Доски с обьявлениями об Охоте по разным городам с разными уровнями

11-25 Излюд

26-40 Моррок

41-55

56-70

71-85

86-90

91-99

Задание можно отметить как выполненое на самой доске, и получаешь Експы чуток и зеней

А в пронтере в здании у кузнеца будет стоять такой БИЧ кароч и он будет давать награды за пройденые доски (когда всю доску прошел)

У него можно посмотреть и трофеии свои кароч

 

Пока ниче не решил нада продумать-прикинуть чо как чо каво...

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

2 часа назад, ucell-uz сказал:

ну я конечно извиняюсь, я использую разрешение экрана 1440х900 и меня устраивает, конечно если использовать 2990х1680 логично что всё мелкое будет)

Разрешение-то тут причем? У меня браузер обычно на половину ширины экрана развернут, да (:

Сравни:

Скрытый текст

 


moc_para01,23,35,5	script	Инструктор Ура#2nd01	4_M_KNIGHT_BLACK,{
	set $@npcnames$,"^BC7F15[ Инструктор Ура ]^000000";

		if (countitem(Para_Team_Mark) < 1) {
	mes $@npcnames$;
	mes "Пожалуйста, зарегистрируйся у ^3355FFСекретаря Эдема^000000.";
		}
		else if (para_2nd01 == 0) {
		if (BaseLevel < 60) {
	mes $@npcnames$;
	mes "";
		if(Sex == 1)
	mes "Сожалею, но ты должен достигнуть, как минимум, ^FF000060 Базового Уровня,^000000 чтобы начать мои квесты.";
		else {
	mes "Сожалею, но ты должна достигнуть, как минимум, ^FF000060 Базового Уровня,^000000 чтобы начать мои квесты.";
		}
		close;
		}
		else if (BaseLevel < 70) {
	mes $@npcnames$;
	mes "Ты как раз вовремя! у меня для тебя есть новый квест. Что скажешь, готов начать его сейчас?";
		next;
		switch(select("Да:Нет")) {
	case 1:
	mes $@npcnames$;

 

 

И то, о чем я говорю:

Скрытый текст

 


moc_para01,23,35,5	script	Инструктор Ура#2nd01	4_M_KNIGHT_BLACK,{
	set $@npcnames$,"^BC7F15[ Инструктор Ура ]^000000";

	if (countitem(Para_Team_Mark) < 1) {
		mes $@npcnames$;
		mes "Пожалуйста, зарегистрируйся у ^3355FFСекретаря Эдема^000000.";
	}
	else if (para_2nd01 == 0) {
		if (BaseLevel < 60) {
			mes $@npcnames$;
			mes "";
			if(Sex == 1)
				mes "Сожалею, но ты должен достигнуть, как минимум, ^FF000060 Базового Уровня,^000000 чтобы начать мои квесты.";
			else {
				mes "Сожалею, но ты должна достигнуть, как минимум, ^FF000060 Базового Уровня,^000000 чтобы начать мои квесты.";
			}
			close;
		}
		else if (BaseLevel < 70) {
			mes $@npcnames$;

 

 

А еще вот в таких местах лучше явно использовать фигурные скобки

Скрытый текст

 


		if(Sex == 1)
	mes "Сожалею, но ты должен достигнуть, как минимум, ^FF000060 Базового Уровня,^000000 чтобы начать мои квесты.";
		else {
	mes "Сожалею, но ты должна достигнуть, как минимум, ^FF000060 Базового Уровня,^000000 чтобы начать мои квесты.";
		}

 

 

Дважды перечитал, чтобы понять к какому if'у относится else.

Это все не влияет на работоспособность скрипта, но влияет на дальнейшую поддержку (откроешь через 3 месяца и гораздо быстрее поймешь что и к чему) и на восприятие твоих скриптов другими людьми (ты же их не себе в копилку складываешь, а шаришь для всех)

"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте" (с) 

 

 

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

5 минут назад, Кеник сказал:

"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте" (с)

Совершенно согласен, те кто работали с Хабилей подтвердят...

только Хабиля пачанов никогда не выслежиывает а п*дюлей дает прям наместе! 

Изменено пользователем Habilis
  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

УПД: Кеник, увы такая х*ня в рияльных скриптах герка

к примеру из доски 11-25

	for(.@i = 11124; .@i<11134; ++.@i)
		if (questprogress(.@i,PLAYTIME) == 2)
			erasequest .@i;

Baj3HtP.jpg

В нотпад++ скобки подцеркиваються (кто знает о чем Хабиля тот поймет)

И хабиля привык ориентироваться по подчеркнутым скобкам карочь.....

 

Ну щяс кароч пукан подостудил, ладно, тут все по одной строчке... хуль

if (getarg(3,0))
			if (countitem(getarg(3)) < getarg(4)) {
				mes "[Spike]";
				mes "You don't have enough "+getitemname(getarg(3))+".";
				mes "You need to bring "+getarg(4)+" "+getitemname(getarg(3))+".";
				close;
			}

БЛИААААА.....:angry:

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

5 минут назад, Habilis сказал:

УПД: Кеник, увы такая х*ня в рияльных скриптах герка

к примеру из доски 11-25


	for(.@i = 11124; .@i<11134; ++.@i)
		if (questprogress(.@i,PLAYTIME) == 2)
			erasequest .@i;

 

В нотпад++ скобки подцеркиваються (кто знает о чем Хабиля тот поймет)

И хабиля привык ориентироваться по подчеркнутым скобкам карочь.....

Ну так неполный кусок кода) Если там что-то вроде

	mes .npcname$;
	mes "Ololo";
	next;

	for(.@i = 11124; .@i<11134; ++.@i)
		if (questprogress(.@i,PLAYTIME) == 2)
			erasequest .@i;
                                	
	mes .npcname$;
	mes "bye-bye";
	close;

Это нормально. И читается нормально. Когда if, внутри него if, в конце этого еще один if и сразу else if. Сиди и гадай к чему этот else, особенно с корявыми отступами.

 

Я тут вижу if без скобок, после него else такой же однострочный, но уже со скобками. Машинально понимаю, что он относится к предыдущему if, а не соседнему

if(Sex == 1)
	mes "Сожалею, но ты должен достигнуть, как минимум, ^FF000060 Базового Уровня,^000000 чтобы начать мои квесты.";
		else {
	mes "Сожалею, но ты должна достигнуть, как минимум, ^FF000060 Базового Уровня,^000000 чтобы начать мои квесты.";
		}

 

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

Все равно х*ня....

 

Лучше не экономить строчки тем что скобки убираешь...

 

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

ну ёлы палы, я же не профи, чего вы от меня хотите )) возможно есть ошибки малые, но я на них обращаю внимание только когда эмуль ругается в консоли

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

ну чёж поделать поймите и простите)) если вы профи в скриптинге, вы сами уже подправите, я не юзаю нотепад++  юзаю обычный виндовый блокнот xD

ещё раз напомню...обращаю внимание когда скрипт даёт эрор в консоли, собираю скрипты ну как вам сказать)) методом тыка, если мучится чё-нить и получится

if(Sex == 1)
	mes "Сожалею, но ты должен достигнуть, как минимум, ^FF000060 Базового Уровня,^000000 чтобы начать мои квесты.";
		else {
	mes "Сожалею, но ты должна достигнуть, как минимум, ^FF000060 Базового Уровня,^000000 чтобы начать мои квесты.";
		}

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

Изменено пользователем ucell-uz
  • Downvote 1
Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, ucell-uz сказал:

ну ёлы палы, я же не профи, чего вы от меня хотите )) возможно есть ошибки малые, но я на них обращаю внимание только когда эмуль ругается в консолимне главное работоспособность скрипта, а то что скрывается за кодом, ну я уж хз, яж говорю я краб, но слава богу все скрипты рабочие

ещё раз напомню...обращаю внимание когда скрипт даёт эрор в консоли, собираю скрипты ну как вам сказать)) методом тыка, если мучится чё-нить и получится

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

 

Цитата

я не юзаю нотепад++  юзаю обычный виндовый блокнот xD

Сказал, будто это аргумент.. Чтоб тебе рабочие с мебельной фабрики говорили "Мы не юзаем современные инструменты, только топор и нож xD", ну и мебель соответствующую привозили.

 

7 часов назад, ucell-uz сказал:

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

Логика из разряда "Мопед не мой, я только объявление разместил" :D

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

		if(Sex) mes "..."; else mes "...";

	clauses with simple

		mes "Welcome, " + (Sex?"Mr.":"Mrs.") + " " + strcharinfo(0);

согласен, дурак, но на тот момент я не знал что есть папка /док/  скрипты переводил конечно же для себя, а выкладывал ну ро умирает, хотел привлечь публику

видать придётся код проверять, на ошибки, или пере-собрать, ну и на том спс..

 

 

Юна и Юпи

 

hercules путь к скрипту /hercules-master/npc/cities/prontera.txt

Скрытый текст

prontera,160,133,2	script	Юпи#pront	8_F,{
				if(#language == 1) {
			set $@npcnames$,"^BC7F15[ Юпи ]^000000";
			mes $@npcnames$;
				if(Sex) mes "Хотя многие монстры могут выглядеть одинаково, будь осторожен! ^000000    Среди монстров с одинаковой базовой формой есть разновидности."; else mes "Хотя многие монстры могут выглядеть одинаково, будь внимательна! ^000000    Среди монстров с одинаковой базовой формой, есть разновидности.";
				next;
			mes $@npcnames$;
				if(Sex) mes "Монстр, выглядящий в точности так же, как мирное и слабое существо, с которым ты уже сталкивался, может оказаться диким и злобным!"; else mes "Монстр, выглядящий в точности так же, как мирное и слабое существо, с которым ты уже сталкивалась, может оказаться диким и злобным!";
				next;
			mes $@npcnames$;
			mes "Отличить разновидности монстров друг от друга можно по их цвету. Дикие и более серьёзные монстры, раскрашены в более опасный цвет.";
				close;
				}
							if(#language == 2) {
						set $@npcnames$,"^BC7F15[ YuPi ]^000000";
						mes $@npcnames$;
						mes "Although many monsters may look the same, be careful! There are variations among monsters that have the same basic form.";
							next;
						mes $@npcnames$;
						mes "One monster, that looks just like a peaceful and weak one that you've already encountered, may actually be wild and ferocious!";
							next;
						mes $@npcnames$;
						mes "You can tell these kinds of monsters apart by their body color. Wilder and more powerful monsters have more dangerous looking colors.";
							close;
							}
						}


prontera,148,203,2	script	Юна#pront	8_F_GIRL,{
				if(#language == 1) {
			set $@npcnames$,"^BC7F15[ Юна ]^000000";
			mes $@npcnames$;
			mes "Узри...";
			mes "Могущественного Одина !";
			mes "Бога Мудрости !";
			mes "Бога Войны !";
				next;
			mes $@npcnames$;
			mes "Здесь, в Рун-Мидгарде, мы служим Одину, и грозному богу, который пожертвовал одним из своих глаз, чтобы обрести мудрость.";
				next;
			mes $@npcnames$;
			mes "Скульптура, которую ты видишь - это статуя могущественного Одина. ^000000         Правда, это сущий позор, потому что она на него обсалютно не похожа.";
				next;
			mes $@npcnames$;
				if(Sex) mes "Могу поспорить, когда ты увидел эту статую впервые, ты подумал...   ^3355FF   'Ах, что за мускулистый мужчина на коне^000000.'"; else mes "Могу поспорить, когда ты увидела эту статую впервые, ты подумала,   ^3355FF   'Ах, что за мускулистый мужчина на коне^000000.'";
				next;
			mes $@npcnames$;
			mes "Но эта статуя явно не достатачно мускулиста и не достатачно божественна, чтобы дать верное представление о боге ! ^000000              Может, если бы у него был бы нимб?";
				close;
				}
							if(#language == 2) {
						set $@npcnames$,"^BC7F15[ YuNa ]^000000";
						mes $@npcnames$;
						mes "Behold...";
						mes "Mighty Odin !";
						mes "God of Wisdom !";
						mes "God of War !";
							next;
						mes $@npcnames$;
						mes "Here, in Rune-Midgard, we serve Odin, and the fearsome god who sacrificed one of his eyes in order to acquire wisdom.";
							next;
						mes $@npcnames$;
						mes "I mean, this statue is totally different from our image of Odin. ^000000    I guess the sculptor took too many artistic liberties.";
							next;
						mes $@npcnames$;
						mes "I bet the first time you saw this statue, you thought...     ^3355FF            'Oh, what a nice muscle man on a horse^000000.'";
							next;
						mes $@npcnames$;
						mes "But this statue is obviously not muscular enough, not godly enough to fairly represent a god !  ^000000     Maybe if he had a halo?";
							close;
							}
						}

 

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

Если вы спросите почему такие отступы в тексте скрипта в разговоре, отвечу сразу в самой игре чтобы это выглядело читаимо...

Изменено пользователем ucell-uz
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика