Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // -------------------------------------------------------
- // Headgear Quest - MIDI City Ragnarok Online
- // -------------------------------------------------------
- // Easily add quests depending on what map you want them
- // to be added.
- // Use of script needs some script-knowledge.
- // -------------------------------------------------------
- // Author: Cyan Hijirikawa
- // -------------------------------------------------------
- // Version
- // 1.0 - Initial Release
- // -------------------------------------------------------
- - script HeadgearQuests#main -1,{
- if(strcharinfo(3) == "prontera") callsub OnQuest,1,"Prontera";
- if(strcharinfo(3) == "payon") callsub OnQuest,2,"Payon";
- if(strcharinfo(3) == "geffen") callsub OnQuest,3,"Geffen";
- if(strcharinfo(3) == "morocc") callsub OnQuest,4,"Morocc";
- if(strcharinfo(3) == "izlude") callsub OnQuest,5,"Izlude";
- end;
- OnQuest:
- mes .npc_name$;
- switch(getarg(0)){
- case 1: //prontera
- switch(select("Flapping Angel Wings:Soulless Wing")){
- case 1: //Flapping Angel Wing
- mes getitemname(.item_pront[0]);
- mes "Stats 1";
- mes "Stats 2";
- next;
- mes .npc_name$;
- mes "I will need the following: ";
- for(set .@i,0; .@i < getarraysize(.item_pront_req1); .@i++){
- mes .item_pront_amt1+"x "+getitemname(.item_pront_req1[.@i]);
- }
- next;
- for(set .@i,0; .@i < getarraysize(.item_pront_req1); .@i++){
- if(countitem(.item_pront_req1[.@i]) < .item_pront_amt1[.@i]){
- set .@missing,.item_pront_amt1[.@i] - countitem(.item_pront_req1[.@i]);
- set .@missing$,getitemname(.item_pront_req1[.@i]);
- set .@missing_req,.item_pront_amt1[.@i];
- break;
- }
- }
- if(.@missing){
- mes .npc_name$;
- mes "You are missing some components.";
- mes .@missing$+": "+.@missing+" / "+.@missing_req;
- close;
- end;
- }
- if(Zeny < .zeny_pront1){
- mes .npc_name$;
- mes "You do not have enough zeny.";
- }
- for(set .@i,0; .@i < getarraysize(.item_pront_req1); .@i++){
- delitem .item_pront_req1[.@i],.item_pront_req1[.@i];
- }
- getitem .item_pront[0],1;
- close;
- end;
- case 2: //Soulless Wing
- mes getitemname(.item_pront[1]);
- mes "Stats 1";
- mes "Stats 2";
- next;
- mes .npc_name$;
- mes "I will need the following: ";
- for(set .@i,0; .@i < getarraysize(.item_pront_req2); .@i++){
- mes .item_pront_amt2+"x "+getitemname(.item_pront_req2[.@i]);
- }
- next;
- for(set .@i,0; .@i < getarraysize(.item_pront_req2); .@i++){
- if(countitem(.item_pront_req2[.@i]) < .item_pront_amt2[.@i]){
- set .@missing,.item_pront_amt2[.@i] - countitem(.item_pront_req2[.@i]);
- set .@missing$,getitemname(.item_pront_req2[.@i]);
- set .@missing_req,.item_pront_amt2[.@i];
- break;
- }
- }
- if(.@missing){
- mes .npc_name$;
- mes "You are missing some components.";
- mes .@missing$+": "+.@missing+" / "+.@missing_req;
- close;
- end;
- }
- if(Zeny < .zeny_pront2){
- mes .npc_name$;
- mes "You do not have enough zeny.";
- }
- for(set .@i,0; .@i < getarraysize(.item_pront_req2); .@i++){
- delitem .item_pront_req2[.@i],.item_pront_req2[.@i];
- }
- getitem .item_pront[1],1;
- close;
- end;
- }
- case 2: //payon
- switch(select("Well Chewed Pencil:Black Musang Hat")){
- case 1: //Well Chewed Pencil
- mes getitemname(.item_payon[0]);
- mes "Stats 1";
- mes "Stats 2";
- next;
- mes .npc_name$;
- mes "I will need the following: ";
- for(set .@i,0; .@i < getarraysize(.item_payon_req1); .@i++){
- mes .item_payon_amt1+"x "+getitemname(.item_payon_req1[.@i]);
- }
- next;
- for(set .@i,0; .@i < getarraysize(.item_payon_req1); .@i++){
- if(countitem(.item_payon_req1[.@i]) < .item_payon_amt1[.@i]){
- set .@missing,.item_payon_amt1[.@i] - countitem(.item_payon_req1[.@i]);
- set .@missing$,getitemname(.item_payon_req1[.@i]);
- set .@missing_req,.item_payon_amt1[.@i];
- break;
- }
- }
- if(.@missing){
- mes .npc_name$;
- mes "You are missing some components.";
- mes .@missing$+": "+.@missing+" / "+.@missing_req;
- close;
- end;
- }
- if(Zeny < .zeny_payon1){
- mes .npc_name$;
- mes "You do not have enough zeny.";
- }
- for(set .@i,0; .@i < getarraysize(.item_payon_req1); .@i++){
- delitem .item_payon_req1[.@i],.item_payon_req1[.@i];
- }
- getitem .item_payon[0],1;
- close;
- end;
- case 2: //Black Musang Hat
- mes getitemname(.item_payon[1]);
- mes "Stats 1";
- mes "Stats 2";
- next;
- mes .npc_name$;
- mes "I will need the following: ";
- for(set .@i,0; .@i < getarraysize(.item_payon_req2); .@i++){
- mes .item_payon_amt2+"x "+getitemname(.item_payon_req2[.@i]);
- }
- next;
- for(set .@i,0; .@i < getarraysize(.item_payon_req2); .@i++){
- if(countitem(.item_payon_req2[.@i]) < .item_payon_amt2[.@i]){
- set .@missing,.item_payon_amt2[.@i] - countitem(.item_payon_req2[.@i]);
- set .@missing$,getitemname(.item_payon_req2[.@i]);
- set .@missing_req,.item_payon_amt2[.@i];
- break;
- }
- }
- if(.@missing){
- mes .npc_name$;
- mes "You are missing some components.";
- mes .@missing$+": "+.@missing+" / "+.@missing_req;
- close;
- end;
- }
- if(Zeny < .zeny_payon2){
- mes .npc_name$;
- mes "You do not have enough zeny.";
- }
- for(set .@i,0; .@i < getarraysize(.item_payon_req2); .@i++){
- delitem .item_payon_req2[.@i],.item_payon_req2[.@i];
- }
- getitem .item_payon[1],1;
- close;
- end;
- }
- case 3: //geffen
- switch(select("Book Hat:Charming Ribbon")){
- case 1: //Book Hat
- mes getitemname(.item_geffen[0]);
- mes "Stats 1";
- mes "Stats 2";
- next;
- mes .npc_name$;
- mes "I will need the following: ";
- for(set .@i,0; .@i < getarraysize(.item_geffen_req1); .@i++){
- mes .item_geffen_amt1+"x "+getitemname(.item_geffen_req1[.@i]);
- }
- next;
- for(set .@i,0; .@i < getarraysize(.item_geffen_req1); .@i++){
- if(countitem(.item_geffen_req1[.@i]) < .item_geffen_amt1[.@i]){
- set .@missing,.item_geffen_amt1[.@i] - countitem(.item_geffen_req1[.@i]);
- set .@missing$,getitemname(.item_geffen_req1[.@i]);
- set .@missing_req,.item_geffen_amt1[.@i];
- break;
- }
- }
- if(.@missing){
- mes .npc_name$;
- mes "You are missing some components.";
- mes .@missing$+": "+.@missing+" / "+.@missing_req;
- close;
- end;
- }
- if(Zeny < .zeny_geffen1){
- mes .npc_name$;
- mes "You do not have enough zeny.";
- }
- for(set .@i,0; .@i < getarraysize(.item_geffen_req1); .@i++){
- delitem .item_geffen_req1[.@i],.item_geffen_req1[.@i];
- }
- getitem .item_geffen[0],1;
- close;
- end;
- case 2: //Charming Ribbon
- mes getitemname(.item_geffen[1]);
- mes "Stats 1";
- mes "Stats 2";
- next;
- mes .npc_name$;
- mes "I will need the following: ";
- for(set .@i,0; .@i < getarraysize(.item_geffen_req2); .@i++){
- mes .item_geffen_amt2+"x "+getitemname(.item_geffen_req2[.@i]);
- }
- next;
- for(set .@i,0; .@i < getarraysize(.item_geffen_req2); .@i++){
- if(countitem(.item_geffen_req2[.@i]) < .item_geffen_amt2[.@i]){
- set .@missing,.item_geffen_amt2[.@i] - countitem(.item_geffen_req2[.@i]);
- set .@missing$,getitemname(.item_geffen_req2[.@i]);
- set .@missing_req,.item_geffen_amt2[.@i];
- break;
- }
- }
- if(.@missing){
- mes .npc_name$;
- mes "You are missing some components.";
- mes .@missing$+": "+.@missing+" / "+.@missing_req;
- close;
- end;
- }
- if(Zeny < .zeny_geffen2){
- mes .npc_name$;
- mes "You do not have enough zeny.";
- }
- for(set .@i,0; .@i < getarraysize(.item_geffen_req2); .@i++){
- delitem .item_geffen_req2[.@i],.item_geffen_req2[.@i];
- }
- getitem .item_geffen[1],1;
- close;
- end;
- }
- case 4: //morocc
- switch(select("Flying Evil Wing:Angel Spirit")){
- case 1: //Flying Evil Wing
- mes getitemname(.item_morocc[0]);
- mes "Stats 1";
- mes "Stats 2";
- next;
- mes .npc_name$;
- mes "I will need the following: ";
- for(set .@i,0; .@i < getarraysize(.item_morocc_req1); .@i++){
- mes .item_morocc_amt1+"x "+getitemname(.item_morocc_req1[.@i]);
- }
- next;
- for(set .@i,0; .@i < getarraysize(.item_morocc_req1); .@i++){
- if(countitem(.item_morocc_req1[.@i]) < .item_morocc_amt1[.@i]){
- set .@missing,.item_morocc_amt1[.@i] - countitem(.item_morocc_req1[.@i]);
- set .@missing$,getitemname(.item_morocc_req1[.@i]);
- set .@missing_req,.item_morocc_amt1[.@i];
- break;
- }
- }
- if(.@missing){
- mes .npc_name$;
- mes "You are missing some components.";
- mes .@missing$+": "+.@missing+" / "+.@missing_req;
- close;
- end;
- }
- if(Zeny < .zeny_morocc1){
- mes .npc_name$;
- mes "You do not have enough zeny.";
- }
- for(set .@i,0; .@i < getarraysize(.item_morocc_req1); .@i++){
- delitem .item_morocc_req1[.@i],.item_morocc_req1[.@i];
- }
- getitem .item_morocc[0],1;
- close;
- end;
- case 2: //Angel Spirit
- mes getitemname(.item_morocc[1]);
- mes "Stats 1";
- mes "Stats 2";
- next;
- mes .npc_name$;
- mes "I will need the following: ";
- for(set .@i,0; .@i < getarraysize(.item_morocc_req2); .@i++){
- mes .item_morocc_amt2+"x "+getitemname(.item_morocc_req2[.@i]);
- }
- next;
- for(set .@i,0; .@i < getarraysize(.item_morocc_req2); .@i++){
- if(countitem(.item_morocc_req2[.@i]) < .item_morocc_amt2[.@i]){
- set .@missing,.item_morocc_amt2[.@i] - countitem(.item_morocc_req2[.@i]);
- set .@missing$,getitemname(.item_morocc_req2[.@i]);
- set .@missing_req,.item_morocc_amt2[.@i];
- break;
- }
- }
- if(.@missing){
- mes .npc_name$;
- mes "You are missing some components.";
- mes .@missing$+": "+.@missing+" / "+.@missing_req;
- close;
- end;
- }
- if(Zeny < .zeny_morocc2){
- mes .npc_name$;
- mes "You do not have enough zeny.";
- }
- for(set .@i,0; .@i < getarraysize(.item_morocc_req2); .@i++){
- delitem .item_morocc_req2[.@i],.item_morocc_req2[.@i];
- }
- getitem .item_morocc[1],1;
- close;
- end;
- }
- case 5: //izlude
- switch(select("Gentleman's Pipe:Blush of Groom")){
- case 1: //Gentleman's Pipe
- mes getitemname(.item_izlude[0]);
- mes "Stats 1";
- mes "Stats 2";
- next;
- mes .npc_name$;
- mes "I will need the following: ";
- for(set .@i,0; .@i < getarraysize(.item_izlude_req1); .@i++){
- mes .item_izlude_amt1+"x "+getitemname(.item_izlude_req1[.@i]);
- }
- next;
- for(set .@i,0; .@i < getarraysize(.item_izlude_req1); .@i++){
- if(countitem(.item_izlude_req1[.@i]) < .item_izlude_amt1[.@i]){
- set .@missing,.item_izlude_amt1[.@i] - countitem(.item_izlude_req1[.@i]);
- set .@missing$,getitemname(.item_izlude_req1[.@i]);
- set .@missing_req,.item_izlude_amt1[.@i];
- break;
- }
- }
- if(.@missing){
- mes .npc_name$;
- mes "You are missing some components.";
- mes .@missing$+": "+.@missing+" / "+.@missing_req;
- close;
- end;
- }
- if(Zeny < .zeny_izlude1){
- mes .npc_name$;
- mes "You do not have enough zeny.";
- }
- for(set .@i,0; .@i < getarraysize(.item_izlude_req1); .@i++){
- delitem .item_izlude_req1[.@i],.item_izlude_req1[.@i];
- }
- getitem .item_izlude[0],1;
- close;
- end;
- case 2: //Blush of Groom
- mes getitemname(.item_izlude[1]);
- mes "Stats 1";
- mes "Stats 2";
- next;
- mes .npc_name$;
- mes "I will need the following: ";
- for(set .@i,0; .@i < getarraysize(.item_izlude_req2); .@i++){
- mes .item_izlude_amt2+"x "+getitemname(.item_izlude_req2[.@i]);
- }
- next;
- for(set .@i,0; .@i < getarraysize(.item_izlude_req2); .@i++){
- if(countitem(.item_izlude_req2[.@i]) < .item_izlude_amt2[.@i]){
- set .@missing,.item_izlude_amt2[.@i] - countitem(.item_izlude_req2[.@i]);
- set .@missing$,getitemname(.item_izlude_req2[.@i]);
- set .@missing_req,.item_izlude_amt2[.@i];
- break;
- }
- }
- if(.@missing){
- mes .npc_name$;
- mes "You are missing some components.";
- mes .@missing$+": "+.@missing+" / "+.@missing_req;
- close;
- end;
- }
- if(Zeny < .zeny_izlude2){
- mes .npc_name$;
- mes "You do not have enough zeny.";
- }
- for(set .@i,0; .@i < getarraysize(.item_izlude_req2); .@i++){
- delitem .item_izlude_req2[.@i],.item_izlude_req2[.@i];
- }
- getitem .item_izlude[1],1;
- close;
- end;
- }
- }
- end;
- OnInit:
- //NPC Name
- set .npc_name$, "[ Name here please ]";
- //prontera quests
- setarray .item_pront,5210,5257;
- setarray .item_pront_req1,2254,7063,949,916,982,31024;
- setarray .item_pront_amt1,2,50,200,200,10,1;
- set .zeny_pront1,2000000;
- setarray .item_pront_req2,2282,1059,916,969,1059,31024;
- setarray .item_pront_amt2,1,150,100,10,100,1;
- set .zeny_pront2,300000;
- //payon quests
- setarray .item_payon,5574,18613;
- setarray .item_payon_req1,738,4004,1068,1066,1067,7186,31024;
- setarray .item_payon_amt1,1,1,100,100,100,50,1;
- set .zeny_payon1,300000;
- setarray .item_payon_req2,2264,5046,609,1094,901,31024
- setarray .item_payon_amt2,1,1,50,200,200,1;
- set .zeny_payon2,2500000;
- //geffen quests
- setarray .item_geffen,5422,5140;
- setarray .item_geffen_req1,1553,1554,1555,1556,1006,31024;
- setarray .item_geffen_amt1,1,1,1,1,50,1;
- set .zeny_geffen1,300000;
- setarray .item_geffen_req2,2244,2209,1059,31024
- setarray .item_geffen_amt2,1,1,1,1;
- set .zeny_geffen2,200000;
- //morocc quests
- setarray .item_morocc,5376,5389;
- setarray .item_morocc_req1,2255,4010,949,916,983,31024;
- setarray .item_morocc_amt1,2,5,200,200,10,1;
- set .zeny_morocc1,300000;
- setarray .item_morocc_req2,2264,5046,609,1094,901,31024
- setarray .item_morocc_amt2,1,1,50,200,200,1;
- set .zeny_morocc2,2500000;
- //izlude quests
- setarray .item_izlude,5377,5800;
- setarray .item_izlude_req1,2267,2268,7201,7035,999,1003,998,7098,31024;
- setarray .item_izlude_amt1,1,1,300,10,100,100,50,50,1;
- set .zeny_izlude1,300000;
- setarray .item_izlude_req2,5040,732,970,975,31024
- setarray .item_izlude_amt2,2,10,100,10,1;
- set .zeny_izlude2,2500000;
- end;
- }
- prontera,103,77,5 duplicate(HeadgearQuests#main) Headgear Quest#1 123
- payon,172,174,5 duplicate(HeadgearQuests#main) Headgear Quest#2 123
- geffen,130,115,5 duplicate(HeadgearQuests#main) Headgear Quest#3 123
- morocc,166,109,5 duplicate(HeadgearQuests#main) Headgear Quest#4 123
- izlude,95,122,5 duplicate(HeadgearQuests#main) Headgear Quest#5 123
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement