Назад

переменные....

Автор: ??????? ????: Дата: 03.26.2010

Подскажите по переменным.
Суть :
подсматрел на стандартных квестах афины что те квесты которые проходятся чаром 1 раз обычно закрепляются присваиванием ему переменной.
Например:

// Gaebolg Family Curse
//============================================================
prontera,248,212,3 script Busy Boy#prt 706,3,3,{
callsub S_CheckWeight; //Check Player's weight
if (BaseLevel > 59) {
if (prt_curse == 0) {
mes "[Busy-Looking Boy]";
mes "Aw nuts...";

В этом примере, персонажу присваивается переменная
set prt_curse,2; -число меняется по мере прохождения квеста, то есть увеличивается.

Вопрос:
сколько подобных переменных можно присвоить одному персонажу? Есть ли лимит?

Автор: Хитрюга Джэк: Дата: 03.26.2010

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

Автор: Мяфк: Дата: 03.26.2010

Вот мой квест с квест логами:

new_1-1,144,151,3	script	Юля	850,{
mes "Привет, я Юля";
mes "Я научу тебя выполнять задания";
mes "Для начала тебе надо взять его";
mes "Далее посмотреть описание и точную цель";
mes "Что бы его просмотреть тебе надо нажать alt + u";
mes "Там есть активные и неактивные задания и все задания";
mes "Когда посмотришь цель и выполнишь её, подходи к тому";
mes "Кто давал задание, иногда сдавать задания приходится";
mes "Другому нпц, тогда об этом пишут в задание";
mes "И вот моё первое задание";
next;
switch(@quest_pori) {
case 0:
switch(select("Я хочу выполнить его","Нет, спасибо, обойдусь.")) {
case 1:
mes "Хорошо, прочитай его и выполни.";
set @count, 10;
setquest 50000;
set @quest_pori, 1;
close;
case 2:
mes "Хорошо, приходи ко мне в следущий раз.";
close;
}

case 1:
if (checkquest(50000,HUNTING) == 2) {
mes "Спасибо, ты выполнил мой квест!";
completequest 50000;
set @quest_pori,2;
getexp 15,10;
close;
}
mes "Хм, странно, порингов всё ещё не уменьшилось..";
close;
break;

case 2:
mes "А теперь подойди к Ольге, она нуждается в помощи!";
close;
}



OnNPCKillEvent:
if(killedrid == 1002 && @count > 0 && @quest_pori == 1) {
set @count,@count-1;
set @count2, 10-@count;
dispbottom "Вы убили Poring ["+@count2+"/10].";
if (@count == 0) {
dispbottom "Вы убили последнего Poring'а возвращайтесь к Юле";
}
}
end;
}