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

Квесты


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

При выполнении квеста и перезаходе в игру система предлагает пройти квест ещё 1 раз 0_о

Вопрос.

Нужно переменные пихать в примеры или я что-то делаю нетак???

пример квеста:


prontera,156,189,5 script test quest 71,{
if ( checkquest( 40002 ) == 2 ) {
mes "you already done this mission";
close;
}
else if ( checkquest( 40002, PLAYTIME ) == 2 ) {
mes "drops Times up";
erasequest 40002;
setquest 40001;
completequest 40001;
close;
}
else if ( checkquest( 40002, HUNTING ) == 2 ) {
mes "mission completed";
completequest 40002;
close;
}
else if ( checkquest( 40002, HUNTING ) == 0 ) {
mes "drops not done yet ???";
close;
}
else if ( checkquest( 40001 ) == 2 ) {
mes "now kill 10 drops before I am angry !";
erasequest 40001;
setquest 40002;
close;
}
else if ( checkquest( 40001, PLAYTIME ) == 2 ) {
mes "poring Times up";
erasequest 40001;
close;
}
else if ( checkquest( 40001, HUNTING ) == 2 ) {
mes "mission completed";
mes "now kill 10 drops before I am angry !";
changequest 40001, 40002;
close;
}
else if ( checkquest( 40001, HUNTING ) == 0 ) {
mes "poring not done yet ???";
close;
}
mes "kill 10 poring before I am angry !";
setquest 40001;
close;
}

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

Так ты добавь доп пременую на проверку и все =)

If(quest==0) {
if ( checkquest( 40002 ) == 2 ) {
mes "you already done this mission";
close;

mes "kill 10 poring before I am angry !";
setquest 40001;
set quest,1;
close;
} }

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

Да это и так понятно, обидно просто

Если чел на середине квеста выйдет, по новой лупить придется =/

Лутовые квесты с описанием делать чтоли Х_Х

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

Ну вообще-то если игрок выйдет во время выполнения кв по убийству мобов, то прогресс сохраняется

Вы неясно сформулировали свою проблему "При выполнении квеста" лично я интерпретировал как квест выполнен, а не квест в процессе выполнения.

Как я понял, вы пытаетесь сделать "убей X мобов за Y времени"?

И во время выполнения такого квеста, если персонаж перезайдет в игру, то нпц предлагает ему взять квест заново?

Если так, то проблема где-то у вас, ибо система должна замечательно работать

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

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

Заменил ужасающее количество проверок на это:


if(checkquest(40002) != 2){
switch(checkquest(40002, HUNTING)){
case 0:
mes "Kill 10 Drops before I get angry!";
mes "Quickly!";
close;
case 1:
mes "Time is up for killing Drops.";
mes "Kill 10 Porings before I get angry!";
mes "Again!";
changequest 40002, 40001;
close;
case 2:
mes "Mission completed";
completequest 40002;
close;
default:
switch(checkquest(40001, HUNTING)){
case 0:
mes "Kill 10 Porings before I get angry!";
mes "Quickly!";
close;
case 1:
mes "Time is up for killing Porings.";
mes "Kill 10 Porings before I get angry!";
mes "Again!";
erasequest 40001;
setquest 40001;
close;
case 2:
mes "Mission completed.";
mes "Now kill 10 Drops before I get angry!";
changequest 40001, 40002;
close;
default:
mes "Kill 10 Porings before I get angry!";
setquest 40001;
close;
}
}
}
else {
mes "You've already completed this mission.";
close;
}

Все работает прекрасно

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

Как я понял, вы пытаетесь сделать "убей X мобов за Y времени"?

Да

И во время выполнения такого квеста, если персонаж перезайдет в игру, то нпц предлагает ему взять квест заново?

Да если персонаж выйдет, квест будет удален на любой стадии процесса.

Если так, то проблема где-то у вас, ибо система должна замечательно работать

У вас при перезаходе в игру квест остается???

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

Переменные так и так пихать буду, раз даже в стандартных квестах они есть

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

У вас при перезаходе в игру квест остается???

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

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

у меня старая txt версия сервера, да я вообще динозавр

и у меня есть, динозавровский метод

OnPCLoginEvent:
if (job_sword_q == 1){setquest 1014;}

с таблицами в SQL нужно будет порыться, спасибо

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

у меня старая txt версия сервера, да я вообще динозавр

и у меня есть, динозавровский метод

OnPCLoginEvent:
if (job_sword_q == 1){setquest 1014;}

с таблицами в SQL нужно будет порыться, спасибо

//я то думала, что это у меня ископаемое)))

//простите за оффтоп)

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

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