1 | //===== eAthena Script ======================================= |
---|
2 | //= Kafra Express - WoE Warping Module |
---|
3 | //===== By: ================================================== |
---|
4 | //= Skotlex |
---|
5 | //===== Current Version: ===================================== |
---|
6 | //= 1.8 |
---|
7 | //===== Compatible With: ===================================== |
---|
8 | //= eAthena SVN R3424+, RO Episode 4.1+ (War of Emperium) |
---|
9 | //===== Description: ========================================= |
---|
10 | //= Part of the Kafra Express Script Package. |
---|
11 | //= Offers warping to the War of Emperium grounds. |
---|
12 | //===== Additional Comments: ================================= |
---|
13 | //= See config.txt for configuration. |
---|
14 | //= Remove the comment on lines 52,53 and 63 to enable direct G. Dungeon warping |
---|
15 | //============================================================ |
---|
16 | |
---|
17 | - script keInit_warpWoe -1,{ |
---|
18 | OnInit: //Load Config |
---|
19 | donpcevent "keConfig::OnLoadWarpWoe"; |
---|
20 | end; |
---|
21 | } |
---|
22 | |
---|
23 | function script F_keWarpWOE { |
---|
24 | if ($@kewg_check && getcharid(2) <= 0) { |
---|
25 | callfunc "F_keIntro", e_srt, "Sorry, these warps are only available to people who belong to a Guild."; |
---|
26 | return; |
---|
27 | } |
---|
28 | if ($@kewg_checkAgit && agitcheck() == 0) { |
---|
29 | callfunc "F_keIntro", e_srt, "Sorry, these warps are only enabled during the Guild Wars."; |
---|
30 | return; |
---|
31 | } |
---|
32 | |
---|
33 | function SF_dungeons; |
---|
34 | set @cost, callfunc("F_keCost",100,$@kewg_discount); |
---|
35 | |
---|
36 | do { |
---|
37 | if ($@kewg_showOnline) { |
---|
38 | set @kmenu, select( |
---|
39 | "- Cancel", |
---|
40 | "- Al De Baran Guild ("+($@kewg_alDeBaran*@cost/100)+"z/"+(getmapusers("alde_gld") |
---|
41 | +getmapusers("aldeg_cas01")+getmapusers("aldeg_cas02")+getmapusers("aldeg_cas03") |
---|
42 | +getmapusers("aldeg_cas04")+getmapusers("aldeg_cas05"))+" "+$@ked_users$+")", |
---|
43 | "- Geffen Guild ("+($@kewg_geffen*@cost/100)+"z/"+(getmapusers("gef_fild13") |
---|
44 | +getmapusers("gefg_cas01")+getmapusers("gefg_cas02")+getmapusers("gefg_cas03") |
---|
45 | +getmapusers("gefg_cas04")+getmapusers("gefg_cas05"))+" "+$@ked_users$+")", |
---|
46 | "- Payon Guild ("+($@kewg_payon*@cost/100)+"z/"+(getmapusers("pay_gld") |
---|
47 | +getmapusers("payg_cas01")+getmapusers("payg_cas02")+getmapusers("payg_cas03") |
---|
48 | +getmapusers("payg_cas04")+getmapusers("payg_cas05"))+" "+$@ked_users$+")", |
---|
49 | "- Prontera Guild ("+($@kewg_prontera*@cost/100)+"z/"+(getmapusers("prt_gld") |
---|
50 | +getmapusers("prtg_cas01")+getmapusers("prtg_cas02")+getmapusers("prtg_cas03") |
---|
51 | +getmapusers("prtg_cas04")+getmapusers("prtg_cas05"))+" "+$@ked_users$+")", |
---|
52 | // "- Guild Dungeons ("+(getmapusers("gld_dun01")+getmapusers("gld_dun02") |
---|
53 | // +getmapusers("gld_dun03")+getmapusers("gld_dun04"))+" "+$@ked_users$+")", |
---|
54 | "- See "+$@ked_users$+" distribution" |
---|
55 | ); |
---|
56 | } else { |
---|
57 | set @kmenu, select( |
---|
58 | "- Cancel", |
---|
59 | "- Al De Baran Guild ("+($@kewg_alDeBaran*@cost/100)+"z)", |
---|
60 | "- Geffen Guild ("+($@kewg_geffen*@cost/100)+"z)", |
---|
61 | "- Payon Guild ("+($@kewg_payon*@cost/100)+"z)", |
---|
62 | "- Prontera Guild ("+($@kewg_prontera*@cost/100)+"z)" |
---|
63 | // ,"- Guild Dungeons" |
---|
64 | ); |
---|
65 | } |
---|
66 | switch (@kmenu) { |
---|
67 | case 2: //Al De Baran |
---|
68 | callfunc "F_keWarp",$@kewg_alDeBaran,$@kewg_discount,44,"alde_gld",153,160; |
---|
69 | break; |
---|
70 | case 3: //Geffen |
---|
71 | callfunc "F_keWarp",$@kewg_geffen,$@kewg_discount,44,"gef_fild13",243,180; |
---|
72 | break; |
---|
73 | case 4: //Payon |
---|
74 | callfunc "F_keWarp",$@kewg_payon,$@kewg_discount,44,"pay_gld",249,177; |
---|
75 | break; |
---|
76 | case 5: //Prontera |
---|
77 | callfunc "F_keWarp",$@kewg_prontera,$@kewg_discount,44,"prt_gld",119,160; |
---|
78 | break; |
---|
79 | case 6: //Guild Dungeons |
---|
80 | SF_dungeons(); |
---|
81 | break; |
---|
82 | case 7: //Info |
---|
83 | mes "The current distribution of "+$@ked_users$+" is as follows:"; |
---|
84 | next; |
---|
85 | mes "[Al De Baran]"; |
---|
86 | mes "- Guild Grounds: "+getmapusers("alde_gld"); |
---|
87 | mes "- Castle 1 - Noisyubantian: "+getmapusers("aldeg_cas01"); |
---|
88 | mes "- Castle 2 - Hohensyubangawoo: "+getmapusers("aldeg_cas02"); |
---|
89 | mes "- Castle 3 - Nyirenverk: "+getmapusers("aldeg_cas03"); |
---|
90 | mes "- Castle 4 - Byirtsburi: "+getmapusers("aldeg_cas04"); |
---|
91 | mes "- Castle 5 - Rotenburk: "+getmapusers("aldeg_cas05"); |
---|
92 | next; |
---|
93 | mes "[Geffen]"; |
---|
94 | mes "- Guild Grounds: "+getmapusers("gef_fild13"); |
---|
95 | mes "- Castle 1 - Reprion: "+getmapusers("gefg_cas01"); |
---|
96 | mes "- Castle 2 - Yolbriger: "+getmapusers("gefg_cas02"); |
---|
97 | mes "- Castle 3 - Isinlife: "+getmapusers("gefg_cas03"); |
---|
98 | mes "- Castle 4 - Berigel: "+getmapusers("gefg_cas04"); |
---|
99 | mes "- Castle 5 - Melsedetsu: "+getmapusers("gefg_cas05"); |
---|
100 | next; |
---|
101 | mes "[Payon]"; |
---|
102 | mes "- Guild Grounds: "+getmapusers("pay_gld"); |
---|
103 | mes "- Castle 1 - Mingting: "+getmapusers("payg_cas01"); |
---|
104 | mes "- Castle 2 - Tiantan: "+getmapusers("payg_cas02"); |
---|
105 | mes "- Castle 3 - Fuying: "+getmapusers("payg_cas03"); |
---|
106 | mes "- Castle 4 - Honglou: "+getmapusers("payg_cas04"); |
---|
107 | mes "- Castle 5 - Zhulinxian: "+getmapusers("payg_cas05"); |
---|
108 | next; |
---|
109 | mes "[Prontera]"; |
---|
110 | mes "- Guild Grounds: "+getmapusers("prt_gld"); |
---|
111 | mes "- Castle 1 - Creamhilt: "+getmapusers("prtg_cas01"); |
---|
112 | mes "- Castle 2 - Sbanhealt: "+getmapusers("prtg_cas02"); |
---|
113 | mes "- Castle 3 - Lazrigees: "+getmapusers("prtg_cas03"); |
---|
114 | mes "- Castle 4 - Squagul: "+getmapusers("prtg_cas04"); |
---|
115 | mes "- Castle 5 - Guindull: "+getmapusers("prtg_cas05"); |
---|
116 | next; |
---|
117 | callfunc "F_keIntro", -1, ""; |
---|
118 | break; |
---|
119 | } |
---|
120 | } while (@kmenu > 1); |
---|
121 | return; |
---|
122 | |
---|
123 | function SF_dungeons { |
---|
124 | do { |
---|
125 | if ($@kewg_showOnline) { |
---|
126 | set @submenu, select( |
---|
127 | "- Cancel", |
---|
128 | "- Baldur Dungeon ("+($@kewg_baldur*@cost/100)+"z/"+getmapusers("gld_dun01")+" "+$@ked_users$+")", |
---|
129 | "- Luina Dungeon ("+($@kewg_luina*@cost/100)+"z/"+getmapusers("gld_dun02")+" "+$@ked_users$+")", |
---|
130 | "- Valkyrie Dungeon ("+($@kewg_valkyrie*@cost/100)+"z/"+getmapusers("gld_dun03")+" "+$@ked_users$+")", |
---|
131 | "- Britoniah Dungeon ("+($@kewg_britoniah*@cost/100)+"z/"+getmapusers("gld_dun04")+" "+$@ked_users$+")" |
---|
132 | ); |
---|
133 | } else { |
---|
134 | set @submenu, select( |
---|
135 | "- Cancel", |
---|
136 | "- Baldur Dungeon ("+($@kewg_baldur*@cost/100)+"z)", |
---|
137 | "- Luina Dungeon ("+($@kewg_luina*@cost/100)+"z)", |
---|
138 | "- Valkyrie Dungeon ("+($@kewg_valkyrie*@cost/100)+"z)", |
---|
139 | "- Britoniah Dungeon ("+($@kewg_britoniah*@cost/100)+"z)" |
---|
140 | ); |
---|
141 | } |
---|
142 | switch (@submenu) { |
---|
143 | case 2: //Baldur |
---|
144 | callfunc "F_keWarp",$@kewg_baldur,$@kewg_discount,44,"gld_dun01",119,18; |
---|
145 | break; |
---|
146 | case 3: //Luina |
---|
147 | callfunc "F_keWarp",$@kewg_luina,$@kewg_discount,44,"gld_dun02",174,113; |
---|
148 | break; |
---|
149 | case 4: //Valkyrie |
---|
150 | callfunc "F_keWarp",$@kewg_valkyrie,$@kewg_discount,44,"gld_dun03",37,34; |
---|
151 | break; |
---|
152 | case 5: //Britoniah |
---|
153 | callfunc "F_keWarp",$@kewg_britoniah,$@kewg_discount,44,"gld_dun04",42,230; |
---|
154 | break; |
---|
155 | } |
---|
156 | } while (@submenu > 1); |
---|
157 | } |
---|
158 | |
---|
159 | } |
---|