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

Вопрос по квестам


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

Народ не подскажите как написать квесты вот с таким допустим меню?

A_A:

menu "Pink Drooping Cat",indian,"Blue Drooping Cat",tone,"Yellow Drooping Cat",traveler,"Gray Beanie",alucard,"Blue Beanie",evil,"Меню 3",A_B,"Меню 4",A_C,"Отмена",Lend;

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

prontera,164,164,3	script	Шапки	228,{
mes "[Шапочник допустим]";
mes "Какие шапки тебе нужны?";
menu "Язёвая",shapka1,"Гуфская",shapka2;
close;
shapka1:
mes "[Шапочник допустим]";
mes "Ну тут дальше диалоги, проверки";
close;
shapka2:
mes "[Шапочник допустим]";
mes "Ну тут дальше диалоги, проверки";
close;
}

Вроде понятно должно быть :D

ocelote =* Прав, делай через switch(select("Шапка 1:Шапка 2")){, через меню уже никто не делает

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

получилось что то типо этого

prontera,0,0,0  script  Квестовик 100,{
mes "Шапки на любой вкус";
mes "Какие шапки тебе нужны?";
switch(select("Gray Beanie:alucard")){
case 1:
mes "Нужно пройти квест чтобы получить alucard";
mes "ты будеш проходить этот квест?";
if(select("Да","Нет") ==2) { close; }
close ;
mes "Чтобы получить alucard тебе понадобится следущий лут";
mes "Будем проходить этот квест?";
if(select("Да","Нет") ==2) { close; }
getitem 4047,1;
getitem 4345,1;
if(countitem(4047)<1) { mes "У тебя не хватает вещей"; close; }
if(countitem(4345)<1) { mes "У тебя не хватает вещей"; close; }
case 1:
mes "Чтобы получить Gray Beanie тебе понадобится слудующий лут";
mes "Будеш проходить этот квест?";
if(select("Да","Нет") ==2) { close; }
mes "Для этой шапочки понадобится следующий лут";
getitem 4146,1;
getitem 4334,1;
if(countitem(4146)<1) { mes "У тебя не хватает вещей"; close; }
if(countitem(4334)<1) { mes "У тебя не хватает вещей"; close; }
close;
}
}

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


if(countitem(969)<1000) { mes "У тебя не хватает вещей"; close; }
if(countitem(7720)<1500) { mes "У тебя не хватает вещей"; close; }

ммм

if(countitem(7720)<1500||countitem(969)<1000){ mes "У тебя не хватает вещей"; close; }

не?

И getitem 4334,1; ставь после проверки и меняй на delitem

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

prontera,0,0,0  script  Квестовик 100,{
mes "Шапки на любой вкус";
mes "Какие шапки тебе нужны?";
switch(select("Gray Beanie:alucard")){
case 1:
mes "Нужно пройти квест чтобы получить alucard";
mes "ты будеш проходить этот квест?";
if(select("Да","Нет") ==2) { close; }
close ;
mes "Чтобы получить alucard тебе понадобится следущий лут";
mes "Будем проходить этот квест?";
if(select("Да","Нет") ==2) { close; }
getitem 4047,1;
getitem 4345,1;
if(countitem(4047)<1) { mes "У тебя не хватает вещей"; close; }
if(countitem(4345)<1) { mes "У тебя не хватает вещей"; close; }
delitem 4047,1;
delitem 4345,1;
case 1:
mes "Чтобы получить Gray Beanie тебе понадобится слудующий лут";
mes "Будеш проходить этот квест?";
if(select("Да","Нет") ==2) { close; }
mes "Для этой шапочки понадобится следующий лут";
getitem 4146,1;
getitem 4334,1;
if(countitem(4146)<1) { mes "У тебя не хватает вещей"; close; }
if(countitem(4334)<1) { mes "У тебя не хватает вещей"; close; }
delitem 4146,1;
delitem 4334,1;
close;
}
}


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


getitem 4146,1; - дает тебе 1 итем с ид 4146. Зачем потом делать проверку на него, если у тебя он будет 100%(кроме ситуации с перегрузом)?

Просто убери из getitem все вещи, которые тебе надо принести


switch(select("Gray Beanie:alucard")){
case 1:
mes "Нужно пройти квест чтобы получить alucard";

Если ты нажмешь на Биани, то появится квест на Алукарда. Надо поменять местами содержание кэйзов

case 1:

case 1:

Не может быть двух одинаковых кейзов. Первый - case 1, второй - case 2

mes "Для этой шапочки понадобится следующий лут";
MES "Для этой шапочки понадобится следующий лут: ?xItem1 и ?xItem2"; или MES "Для этой шапочки понадобится следующий лут: ?x",+ getitemname(Item1)+," и ?x",+ getitemname(Item2);(насчет второго не помню точно)
if(countitem(Item1)<?) { mes "У тебя не хватает вещей"; close; }
if(countitem(Item2)<?) { mes "У тебя не хватает вещей"; close; }
delitem Item1,?;
delitem Item2,?;
getitem БианиID,1;

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

prontera,0,0,0  script  Квестовик 100,{
mes "Шапки на любой вкус";
mes "Какие шапки тебе нужны?";
switch(select("Gray Beanie:Alucard"))
{
case 1:
mes "Нужно пройти квест чтобы получить alucard";
mes "ты будеш проходить этот квест?";
if(select("Да","Нет") ==2) close;
mes "Для этой шапочки понадобится следующий лут:";
mes getitemname(4047);
mes getitemname(4345);
if(countitem(4047)<1 || countitem(4345)<1)
{
mes "У тебя не хватает вещей";
close;
}
delitem 4047,1;
delitem 4345,1;
close;
case 2:
mes "Чтобы получить Gray Beanie тебе понадобится слудующий лут";
mes "Будеш проходить этот квест?";
if(select("Да","Нет") ==2) close;
mes "Для этой шапочки понадобится следующий лут:";
mes getitemname(4146);
mes getitemname(4334);
if(countitem(4146)<1 || countitem(4334)<1)
{
mes "У тебя не хватает вещей";
close;
}
delitem 4146,1;
delitem 4334,1;
close;
}
}

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

switch(select("Gray Beanie:Alucard"))
case 1:
mes "Нужно пройти квест чтобы получить alucard";
case 2:
mes "Чтобы получить Gray Beanie тебе понадобится слудующий лут";

Вещи забирают, а взамен - шишь

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

batka4aet,твой скрипт исправленный ажется мне не заработает.

Лучше вот так:


prontera,0,0,0 script Квестовик 100,{
mes "Шапки на любой вкус";
mes "Какие шапки тебе нужны?";
switch(select("Gray Beanie:Alucard"))
{
case 1:
mes "Нужно пройти квест чтобы получить alucard";
mes "ты будеш проходить этот квест?";
if(select(Да:Нет) ==2) close;
mes "Для этой шапочки понадобится следующий лут:";
mes getitemname(4047);
mes getitemname(4345);
if(countitem(4047)<1 || countitem(4345)<1)
{
mes "У тебя не хватает вещей";
close;
}
delitem 4047,1;
delitem 4345,1;
close;
case 2:
mes "Чтобы получить Gray Beanie тебе понадобится слудующий лут";
mes "Будеш проходить этот квест?";
if(select(Да:Нет) ==2) close;
mes "Для этой шапочки понадобится следующий лут:";
mes getitemname(4146);
mes getitemname(4334);
if(countitem(4146)<1 || countitem(4334)<1)
{
mes "У тебя не хватает вещей";
close;
}
delitem 4146,1;
delitem 4334,1;
close;
}
}

Т.к. if(select(ДА:НЕТ) ==2)

А у тебя if(select("Да","нет") ==2)

Мне кажется это не сработает)

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

Вот так.

prontera,0,0,0  script  Квестовик 100,{
mes "Шапки на любой вкус";
mes "Какие шапки тебе нужны?";
switch(select("Gray Beanie:Alucard"))
{
case 1:
mes "Нужно пройти квест чтобы получить alucard";
mes "ты будеш проходить этот квест?";
next;
if(select("Да:Нет") ==2) close;
mes "Для этой шапочки понадобится следующий лут:";
mes getitemname(4047);
mes getitemname(4345);
if(countitem(4047)<1 || countitem(4345)<1)
{
mes "У тебя не хватает вещей";
close;
}
delitem 4047,1;
delitem 4345,1;
close;

case 2:
mes "Чтобы получить Gray Beanie тебе понадобится слудующий лут";
mes "Будеш проходить этот квест?";
next;
if(select("Да:Нет") ==2) close;
mes "Для этой шапочки понадобится следующий лут:";
mes getitemname(4146);
mes getitemname(4334);
if(countitem(4146)<1 || countitem(4334)<1)
{
mes "У тебя не хватает вещей";
close;
}
delitem 4146,1;
delitem 4334,1;
close;
}
}

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

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...
Яндекс.Метрика