Hi guys, need help, help out.
The essence of the matter is this:
I want to make changes to the standard board
For example: board 91-99
It is necessary that the quest be taken only once and 1 char
It is necessary that if I took a monster devirochi, so that in parallel could not take another monster for example kaho .. and need a check with the message that if I have not completed the quest, and I'll choose for example kaho, so that the message that until I I will pass the old quest, I can not take the monster kaho.
I need a check with the message, if I blown the whole board 91-99, then the message came out that I went through the whole board and that in this 91-99 there are no more missions!
Help out!
this default 91-99 board
Spoiler
moc_para01,48,177,3 script 91-99 Mission Board 4_BOARD3,{
if (countitem(Para_Team_Mark) < 1) {
mes "Wait a minute!";
mes "-You need to have an-";
mes "-^4d4dff'Eden Group Mark'^000000-";
mes "-to receive these missions.-";
next;
switch(select("Just walk away.:^0000FFEden Group^000000 missions?:How can I be a member of the ^0000FFEden Group^000000?")) {
case 1:
close;
case 2:
mes "::The Eden Group Missions";
mes "::are basically missions";
mes "::requested by";
mes "::people from all around the kingdom.";
mes "::We just categorize them.";
next;
mes "::In the Eden Group,";
mes "::we sorted out the missions";
mes "::according to the level of difficulty.";
mes "::According to this level,";
mes "::you can find";
mes "::missions that";
mes "::suit you.";
next;
mes "::When you are done,";
mes "::you can come back";
mes "::to the mission board.";
next;
mes "::Then you will be";
mes "::rewarded!!";
mes "::Simple, isn't it!!";
mes "::No commission required!!";
close;
case 3:
mes "::You can become a member";
mes "::of the Eden Group";
mes "::to ^0000FFLaime Evenor^000000,";
mes "::who is waiting on the 1st floor.";
next;
mes "::If you become a member,";
mes "::you will get an";
mes "::\"^006400Eden Group Mark^000000\".";
mes "::Then you will be able";
mes "::to see the mission board.";
close;
}
}
if (BaseLevel < 91 || BaseLevel > 99) {
// Quest IDs: 4181-4196
// Quest cooldown IDs: 4212-4227
setarray .@names$[0],
"Solider","Freezer","Heater",
"Injustice","Rybio","Dark Priest",
"Stapo","Roween","Siroma",
"Shinobi","Evil Nymph",
"Deviruchi","Mineral","Kaho","Neraid","Disguise";
setarray .@exp[0],
90000,94000,114000,
96000,96000,146000,
96000,102000,110000,
102000,108000,
110000,138000,118000,96000,134000;
mes "You must be within level 91-99 to accept these missions.";
for(.@quest = 4181; .@quest<=4196; ++.@quest) {
.@hunting = questprogress(.@quest,HUNTING);
if (.@hunting == 1) {
next;
mes ":: You cannot proceed in";
mes ":: ^0000FF"+.@names$[.@quest-4181]+" Hunting^000000.";
mes ":: The registration to the mission";
mes ":: is cancelled.";
erasequest .@quest;
close;
} else if (.@hunting == 2) {
next;
mes ":: You added information";
mes ":: about the mission";
mes ":: ^0000FF"+.@names$[.@quest-4181]+" Hunting^000000";
mes ":: on the mission board.";
mes ":: You've got a";
mes ":: salutary experience.";
erasequest .@quest;
getexp .@exp[.@quest-4181],0;
close;
}
}
close;
}
mes "[91-99 Mission Board]";
mes "There are several requests on this board.";
next;
switch(select("^8B4513Turtle Island^000000:^8B4513Glast Heim^000000:^8B4513Rachel / Veins^000000:^8B4513Expansion Cities^000000:^8B4513Other regions^000000")) {
case 1:
mes "^8B4513Turtle Island^000000.";
mes "Which monster will you hunt or have you finished hunting?";
next;
switch(select("^0000FFSolider^000000:^0000FFFreezer^000000:^0000FFHeater^000000")) {
case 1: callsub L_Quest,4181,"Solider",90000,"јЦё®ґхД«µе","There is a monster that only can be found on ^8B4513Turtle Island^000000.";
case 2: callsub L_Quest,4182,"Freezer",94000,"ЗБё®АъД«µе","There is a monster that only can be found on ^8B4513Turtle Island^000000.";
case 3: callsub L_Quest,4183,"Heater",114000,"ИчЕНД«µе","There is a monster that only can be found on ^8B4513Turtle Island^000000.";
}
case 2:
mes "^8B4513Glast Heim^000000.";
mes "Which monster will you hunt or have you finished hunting?";
next;
switch(select("^0000FFInjustice^000000:^0000FFRybio^000000:^0000FFDark Priest^000000")) {
case 1: callsub L_Quest,4184,"Injustice",96000,"АОАъЅєЖјЅєД«µе","There is a monster only found in ^8B4513Glast Heim prison^000000.";
case 2: callsub L_Quest,4185,"Rybio",96000,"ё®єсїАД«µе","There is a monster only found in ^8B4513Glast Heim prison^000000.";
case 3: callsub L_Quest,4186,"Dark Priest",146000,"ґЩЕ©ЗБё®ЅєЖ®Д«µе","There is a monster only found in ^8B4513Glast Heim prison^000000.";
}
case 3:
mes "^8B4513Rachel / Veins^000000.";
mes "Which monster will you hunt or have you finished hunting?";
next;
switch(select("^0000FFStapo^000000:^0000FFRoween^000000:^0000FFSiroma^000000")) {
case 1: callsub L_Quest,4187,"Stapo",96000,"ЅєЕВЖчД«µе","There is a monster only found in ^8B4513Veins^000000.";
case 2: callsub L_Quest,4188,"Roween",102000,"·ОїмА©Д«µе","There is a monster only found in ^8B4513Rachel^000000.";
case 3: callsub L_Quest,4189,"Siroma",110000,"ЅГ·Оё¶Д«µе","There is a monster only found in ^8B4513Ice Dungeon^000000.";
}
case 4:
mes "^8B4513Expansion Cities^000000.";
mes "Which monster will you hunt or have you finished hunting?";
next;
switch(select("^0000FFShinobi^000000:^0000FFEvil Nymph^000000")) {
case 1: callsub L_Quest,4190,"Shinobi",102000,"ЅГілєсД«µе","There is a monster only found in ^8B4513Amatsu Dungeon^000000.";
case 2: callsub L_Quest,4191,"Evil Nymph",108000,"їдј±іаД«µе","There is a monster only found in ^8B4513Kunlun Dungeon^000000.";
}
case 5:
mes "Other Regions.";
mes "Which monster will you hunt or have you finished hunting?";
next;
switch(select("^0000FFDeviruchi^000000:^0000FFMineral^000000:^0000FFKaho^000000:^0000FFNeraid^000000:^0000FFDisguise^000000")) {
case 1: callsub L_Quest,4192,"Deviruchi",110000,"µҐєс·зДЎД«µе","There is a monster only found in ^8B4513Geffen Dungeon^000000.";
case 2: callsub L_Quest,4193,"Mineral",138000,"№МіЧ¶ц","There is a monster only found in ^8B4513Einbech Dungeon^000000.";
case 3: callsub L_Quest,4194,"Kaho",118000,"Д«ИЈД«µе","There is a monster found in ^8B4513Nogg Road Magma 1^000000.";
case 4: callsub L_Quest,4195,"Neraid",96000,"іЧ·№АМµеД«µе","There is a monster only found in ^8B4513Comodo Dungeon^000000.";
case 5: callsub L_Quest,4196,"Disguise",134000,"µрЅє°ЎАМБоД«µе","There is a monster only found in ^8B4513Nifflheim^000000.";
}
}
end;
//callsub L_Quest,<quest ID>,"<monster name>",<reward EXP>,"<cutin image>","<description>"{,"s"};
L_Quest:
.@quest1 = getarg(0);
.@quest2 = .@quest1+31;
.@playtime = questprogress(.@quest2,PLAYTIME);
if (.@playtime == 1) {
mes "[91-99 Mission Board]";
mes "You need to wait 3 hours before you can take this mission again.";
close;
}
.@hunting = questprogress(.@quest1,HUNTING);
if (.@hunting == 1) {
mes "[91-99 Mission Board]";
mes "Have you finished hunting all 30 "+getarg(1)+getarg(5,"")+" yet?";
close;
} else if (.@hunting == 2) {
mes "[91-99 Mission Board]";
mes "You have completed the hunting.";
mes "Please accept this reward as a compensation.";
erasequest .@quest1;
if (.@playtime) erasequest .@quest2;
setquest .@quest2;
// Job Experience calculation.
if (JobLevel < 56) .@jexp = 67000;
else if (JobLevel > 55 && JobLevel < 61) .@jexp = 94000;
else if (JobLevel > 60 && JobLevel < 66) .@jexp = 141000;
else if (JobLevel > 65 && JobLevel < 69) .@jexp = 212000;
else if (JobLevel >= 69) .@jexp = 311000;
getexp getarg(2),.@jexp;
close;
}/* else if (.@hunting == 3) {
// recall_completequest .@quest1
erasequest .@quest1;
mes "[91-99 Mission Board]";
mes "You have re-accepted the "+getarg(1)+" Hunting mission.";
close;
}*/ else {
mes "[91-99 Mission Board]";
mes getarg(4);
next;
if (getarg(3) != "") cutin getarg(3),3;
mes "[91-99 Mission Board]";
mes "Hunt 30 "+getarg(1)+" monsters there and post your success on this board.";
next;
if (getarg(3) != "") cutin getarg(3),255;
if(select("I'll hunt them.:No thanks.") == 1) {
mes "[91-99 Mission Board]";
mes "When you have completed the mission, post it on this board and collect your reward.";
if (.@playtime) erasequest .@quest2;
setquest .@quest1;
}
close;
}
}