summaryrefslogtreecommitdiff
path: root/npc/custom/events
diff options
context:
space:
mode:
Diffstat (limited to 'npc/custom/events')
-rw-r--r--npc/custom/events/kings_items.txt213
-rw-r--r--npc/custom/events/p_track.txt67
-rw-r--r--npc/custom/events/p_track/p_track_core.txt44
-rw-r--r--npc/custom/events/p_track/p_track_warpers.txt72
4 files changed, 124 insertions, 272 deletions
diff --git a/npc/custom/events/kings_items.txt b/npc/custom/events/kings_items.txt
index a706e037c..8140827c1 100644
--- a/npc/custom/events/kings_items.txt
+++ b/npc/custom/events/kings_items.txt
@@ -3,176 +3,77 @@
//===== By: ==================================================
//= $ephiroth
//===== Current Version: =====================================
-//= 1.0
+//= 1.1
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= Grand Circlet Quest combined with Excalibur Quest.
-//= Converted to rAthena format from Fusion.
+//===== Additional Comments: =================================
//= 2006/09/27: 1.0 Release and fully working. [$ephiroth]
+//= 1.1 Optimized. [Euphy]
//============================================================
prt_castle,80,170,4 script King of Prontera 108,{
- set @npcname$,"[King of Prontera]";
-
- mes @npcname$;
- mes "Hello can you help me?";
- next;
- menu "Sure, what can I do?",L_Sure,"No sorry I'm busy",L_Quit;
-
-L_Sure:
- mes @npcname$;
- mes "Thank you.";
- mes "Well, my daughter next to me is a little rowdy";
- mes "if you got her these items I'm sure she would calm down.";
- mes "If you bring me these items I'll give you my crown or my sword";
- mes "Both are very special.";
- next;
- menu "Ok what do you need?",L_Req,"I have the items",L_Have,"Forget it",L_Quit;
-
-L_Req:
- mes @npcname$;
- mes "If you could get me:";
- mes "^00B6FF30 Chonchon doll^000000";
- mes "^D5A50050 Poring doll^000000";
- mes "^0080FF20 Yoyo doll^000000";
- mes "^CC66331 3carat diamond^000000";
- mes "^3131FF20 Illusion Flowers^000000";
- mes "^AA00AA20 Singing Flowers^000000";
- mes "I'll give you my crown.";
- next;
- mes @npcname$;
- mes "If you could get me:";
- mes "^0000881 Angel Band^000000";
- mes "^4422FF1 Heaven Ring^000000";
- mes "^AA00AA1 Emperium^000000";
- mes "I'll give my sword.";
- mes "Once you find those, come back to me.";
- close;
-
-L_Have:
- mes @npcname$;
- mes "What item you want?";
- next;
- menu "Crown",L_crown,"Sword",L_sword;
-
-L_crown:
- if(countitem(742)<30) goto L_Error;
- if(countitem(741)<50) goto L_Error1;
- if(countitem(753)<20) goto L_Error2;
- if(countitem(732)<1) goto L_Error3;
- if(countitem(710)<20) goto L_Error4;
- if(countitem(629)<20) goto L_Error5;
- delitem 742,30;
- delitem 741,50;
- delitem 753,20;
- delitem 732,1;
- delitem 710,20;
- delitem 629,20;
- mes @npcname$;
- mes "THANK YOU SOO MUCH!!";
- mes "This will surely calm her down.";
- mes "Let me just take the items from you.";
+ mes "[King of Prontera]";
+ mes "Hello, can you help me?";
next;
- mes @npcname$;
- mes "As I promised here is my crown.";
- getitem 5007,1;
+ if(select("Sure, what can I do?:Sorry, I'm busy.")==2) {
+ mes "[King of Prontera]";
+ mes "Ok, that's fine, I'm sure someone else will help.";
+ close; }
+ mes "[King of Prontera]";
+ mes "Thank you. Well, my daughter next to me is a little rowdy...";
+ mes "If you get her these items I'm sure she'll calm down.";
+ mes "I'll give you my crown or my sword as a reward.";
next;
- mes @npcname$;
- mes "Well, I have to calm her down now.";
- mes "Thanks again!";
- close;
-L_sword:
- if(countitem(2254)<1) goto L_NoAngel;
- if(countitem(2282)<1) goto L_NoHeaven;
- if(countitem(714)<1) goto L_NoEmp;
- delitem 2254,1;
- delitem 2282,1;
- delitem 714,1;
- mes @npcname$;
- mes "THANK YOU SOO MUCH!!";
- mes "This will surely calm her down.";
- mes "Let me just take the items from you.";
- next;
- mes @npcname$;
- mes "As I promised here is my sword.";
- getitem 1137,1;
- next;
- mes @npcname$;
- mes "Well, I have to calm her down now.";
- mes "Thanks again!";
- close;
-
-L_NoAngel:
- mes @npcname$;
- mes "Sorry but you must have at least one Angel Band.";
- mes "Come back after you get ALL the items.";
- close;
-
-L_NoHeaven:
- mes @npcname$;
- mes "Sorry but you must have at least one Heaven Ring.";
- mes "Come back after you get ALL the items.";
- close;
-
-L_NoEmp:
- mes @npcname$;
- mes "Sorry but you must have at least one Emperium.";
- mes "Come back after you get ALL the items.";
- close;
-
-L_Error:
- mes @npcname$;
- mes "Oh darn, you need 30 Chonchon Dolls.";
- close;
-
-L_Error1:
- mes @npcname$;
- mes "Oh darn, you need 50 Poring dolls.";
- close;
-
-L_Error2:
- mes @npcname$;
- mes "Oh darn, you need 20 Yoyo dolls.";
- close;
-
-L_Error3:
- mes @npcname$;
- mes "Oh darn, you need one 3 Carat Diamond.";
- close;
-
-L_Error4:
- mes @npcname$;
- mes "Oh darn, you need 20 Illusion Flowers.";
- close;
-
-L_Error5:
- mes @npcname$;
- mes "Oh darn, you need 20 Singing Flowers.";
- close;
-
-L_Quit:
- mes @npcname$;
- mes "Ok, that's fine, I'm sure someone else will help.";
- close;
+ setarray .@Items1[0],5007,742,30,741,50,753,20,732,1,710,20,629,20;
+ setarray .@Items2[0],1137,2254,1,2282,1,714,1;
+ switch(select("What do you need?:I have the items!:Forget it.")) {
+ case 1:
+ for(set .@i,1; .@i<3; set .@i,.@i+1) {
+ mes "[King of Prontera]";
+ mes "If you could get me:";
+ for(set .@j,1; .@j<getarraysize(getd(".@Items"+.@i)); set .@j,.@j+2)
+ mes " ~ ^0055FF"+getd(".@Items"+.@i+"["+(.@j+1)+"]")+"^000000x "+getitemname(getd(".@Items"+.@i+"["+.@j+"]"));
+ mes "I'll give my "+((.@i)?"sword.":"crown.");
+ if (.@i==2) close;
+ next; }
+ case 2:
+ mes "[King of Prontera]";
+ mes "What item do you want?";
+ next;
+ set .@i, select("Crown:Sword");
+ for(set .@j,1; .@j<getarraysize(getd(".@Items"+.@i)); set .@j,.@j+2)
+ if (countitem(getd(".@Items"+.@i+"["+.@j+"]")) < getd(".@Items"+.@i+"["+(.@j+1)+"]")) set .@nr,1;
+ mes "[King of Prontera]";
+ if (.@nr) {
+ mes "You're missing something.";
+ mes "Come back after you get ALL the items.";
+ close; }
+ for(set .@j,1; .@j<getarraysize(getd(".@Items"+.@i)); set .@j,.@j+2)
+ delitem getd(".@Items"+.@i+"["+.@j+"]"), getd(".@Items"+.@i+"["+(.@j+1)+"]");
+ getitem getd(".@Items"+.@i+"[0]"),1;
+ mes "THANK YOU SOO MUCH!!";
+ mes "This will surely calm her down.";
+ mes "As promised, here is my "+((.@i==1)?"crown.":"sword.");
+ close;
+ case 3:
+ mes "[King of Prontera]";
+ mes "Ok, that's fine, I'm sure someone else will help.";
+ close;
+ }
}
prt_castle,84,170,4 script King's Daughter 62,{
- set @npcname$,"[King's Daughter]";
-
- mes @npcname$;
+ mes "[King's Daughter]";
mes "Hmph, I hate my dad right now!!";
next;
- menu "Why?",L_Why,"Ok...Whatever..",L_Quit;
-
-L_Why:
- mes @npcname$;
+ if(select("Why?:Whatever...")==2) {
+ mes "[King's Daughter]";
+ mes "FINE THEN! Hmph!!";
+ close; }
+ mes "[King's Daughter]";
mes "Well, he won't give me what I want!!";
- mes "He's the King of Prontera, he should be able to get me ANYTHING!!!";
- close;
-
-L_Quit:
- mes @npcname$;
- mes "FINE THEN Hmph!!";
+ mes "He's the King of Prontera. He should be able to get me ANYTHING!!!";
close;
-}
+} \ No newline at end of file
diff --git a/npc/custom/events/p_track.txt b/npc/custom/events/p_track.txt
new file mode 100644
index 000000000..87794ac28
--- /dev/null
+++ b/npc/custom/events/p_track.txt
@@ -0,0 +1,67 @@
+//===== rAthena Script =======================================
+//= Poring Track Main NPCs
+//===== By: ==================================================
+//= erKURITA
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Poring Track core NPCs and warpers.
+//===== Additional Comments: =================================
+//= 1.2 Removed Duplicates [Silent]
+//= 1.3 Merged and cleaned. [Euphy]
+//============================================================
+
+hugel,58,72,5 script Yan#track1 86,{
+ callfunc "P_TrackEnt","[Yan]","p_track01";
+ end;
+}
+hugel,62,68,1 script Yalmire#track1 86,{
+ callfunc "P_TrackEnt","[Yalmire]","p_track02";
+ end;
+}
+
+function script P_TrackEnt {
+ mes getarg(0);
+ mes "Hi "+strcharinfo(0)+", welcome to the Poring Track!";
+ next;
+ switch(select("Information:I want to try it!:Not today.")) {
+ case 1:
+ mes getarg(0);
+ mes "Well... it's quite fun, that's all I can say. Try it!";
+ close;
+ case 2:
+ mes getarg(0);
+ mes "The entrance fee is 500z. would you like to go in?";
+ next;
+ if(select("Yes, please!:No thanks.")==2) {
+ mes getarg(0);
+ mes "You're missing out!";
+ close; }
+ mes getarg(0);
+ if (Zeny < 500) {
+ mes "You can't enter without paying."; close; }
+ mes "Here we go!";
+ close2;
+ set Zeny, Zeny-500;
+ warp getarg(1),75,41;
+ end;
+ case 3:
+ mes getarg(0);
+ mes "See you later!";
+ close;
+ }
+}
+
+p_track01,76,36,2 script Yan#track2 86,{ end; }
+p_track01,41,57,5 script Lady#track1::P_track 845,{ end; }
+p_track01,67,34,6 script Erudite::P_Spectator1 107,{ end; }
+p_track01,44,49,3 script Edward 881,{ end; }
+p_track01,27,47,3 script Yuri#P_track 853,{ end; }
+
+p_track02,76,36,2 script Yalmire#track2 86,{ end; }
+p_track02,30,45,3 script Nagya 755,{ end; }
+p_track02,42,49,3 script Asgahrd 733,{ end; }
+p_track02,67,33,1 script Blacksmith#track1 726,{ end; }
+p_track02,41,57,5 duplicate(P_track) Lady#track2 845 \ No newline at end of file
diff --git a/npc/custom/events/p_track/p_track_core.txt b/npc/custom/events/p_track/p_track_core.txt
deleted file mode 100644
index 9b483fbf6..000000000
--- a/npc/custom/events/p_track/p_track_core.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-//===== rAthena Script =======================================
-//= Poring Track Main NPCs
-//===== By: ==================================================
-//= erKURITA
-//===== Current Version: =====================================
-//= 1.2
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
-//= NPCs that has nothing to do with the race itself, but
-//= has important functions on the race itself.
-//===== Additional Comments: =================================
-//= 1.2 Removed Duplicates [Silent]
-//============================================================
-
-p_track01,41,57,5 script Lady#track1::P_track 845,{
-end;
-}
-
-p_track01,67,34,6 script Erudite::P_Spectator1 107,{
-end;
-}
-
-p_track01,44,49,3 script Edward 881,{
-end;
-}
-
-p_track01,27,47,3 script Yuri#P_track 853,{
-end;
-}
-
-p_track02,30,45,3 script Nagya 755,{
-end;
-}
-
-p_track02,42,49,3 script Asgahrd 733,{
-end;
-}
-
-p_track02,67,33,1 script Blacksmith#track1 726,{
-end;
-}
-
-p_track02,41,57,5 duplicate(P_track) Lady#track2 845
diff --git a/npc/custom/events/p_track/p_track_warpers.txt b/npc/custom/events/p_track/p_track_warpers.txt
deleted file mode 100644
index e3942cbe6..000000000
--- a/npc/custom/events/p_track/p_track_warpers.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-//===== rAthena Script =======================================
-//= Poring Track Warpers
-//===== By: ==================================================
-//= erKURITA
-//===== Current Version: =====================================
-//= 1.2
-//===== Compatible With: =====================================
-//= rAthena SVN
-//===== Description: =========================================
-//= NPC's for the City of Hugel.
-//===== Additional Comments: =================================
-//= 1.2 Removed Duplicates [Silent]
-//============================================================
-
-// Warp-in npcs
-hugel,58,72,5 script Yan#track1 86,{
- //callfunc "P_TrackEnt",npcname,map name;
- callfunc "P_TrackEnt","[Yan]","p_track01";
- end;
-}
-hugel,62,68,1 script Yalmire#track1 86,{
- //callfunc "P_TrackEnt",npcname,map name;
- callfunc "P_TrackEnt","[Yalmire]","p_track02";
- end;
-}
-
-// Warp-out npcs
-p_track01,76,36,2 script Yan#track2 86,{
- end;
-}
-
-p_track02,76,36,2 script Yalmire#track2 86,{
- end;
-}
-
-function script P_TrackEnt {
- mes getarg(0);
- mes "Hi "+strcharinfo(0)+", Welcome to the Poring Track!";
- menu "Information",-,"I want to try it",L_Try,"Not today thanks",L_End;
- next;
- mes getarg(0);
- mes "Bla blah, so fun";
- close;
-L_Try:
- next;
- mes getarg(0);
- mes "Ok, the entrance fee is 500z, would you like to go in?";
- menu "Yes Please",-,"No Thanks",L_End2;
- if (Zeny < 500) {
- next;
- mes getarg(0);
- mes "Sorry but you ain't got 500z, you can't enter";
- close;
- } else
- next;
- mes getarg(0);
- mes "Here we go!";
- close2;
- set Zeny,Zeny-500;
- warp getarg(1),75,41;
- end;
-L_End2:
- next;
- mes getarg(0);
- mes "Oh well, you miss it";
- close;
-L_End:
- next;
- mes getarg(0);
- mes "Ok, see you later!";
- close;
-}