🎉
隐藏内容已自动解锁 (满足: 时间满90天)
importPackage(net.貌似会被和谐自己打上去.odinms.tools); Rd+`b
importPackage(net.貌似会被和谐自己打上去.odinms.server.life); ]~m2#g%
importPackage(java.awt); #tt*yOmiH
Ni61o?]Nj
var status; tp +H]H3
var curMap; 8.D9OpU
var playerStatus; </h}2x
var chatState; fh}j)*K8
var questions = Array("首先给你出一个问题!请仔细听好:作为一名战士,他在1转的时候需要达到的等级是多少,那么请交给我同样数量的通行证。", d?OsVT;U
"首先给你出一个问题! 请仔细听好:作为一名战士,他在1转的时候需要力量的能力值最小是多少点,那么请交给我同样数量的通行证。", -<n]Sv;V
"首先给你出一个问题!请仔细听好: 作为一名法师,他在1转的时候需要智力的能力值最小是多少点,那么请交给我同样数量的通行证。", %R*-oQ1T
"首先给你出一个问题!请仔细听好: 作为一名弓箭手,他在1转的时候需要敏捷的能力值最小是多少点,那么请交给我同样数量的通行证。", 6\/(TW&
"首先给你出一个问题!请仔细听好: 作为一名飞侠,他在1转的时候需要敏捷的能力值最小是多少点,那么请交给我同样数量的通行证。", iD!]I$
"首先给你出一个问题!请仔细听好: 所有职业在2转的时候需要达到的等级是多少,那么请交给我同样数量的通行证。"); N1z:9=(I
var qanswers = Array(10, 35, 20, 25, 25, 30); =a./HCF
var party; q6N6QI8/
var preamble; 0$q)uip
var stage2rects = Array(Rectangle(-755,-132,4,218),Rectangle(-721,-340,4,166), :]IYw!_-p
Rectangle(-586,-326,4,150),Rectangle(-483,-181,4,222)); P:HmT
var stage2combos = Array(Array(0,1,1,1),Array(1,0,1,1),Array(1,1,0,1),Array(1,1,1,0)); z_ia3k<
var stage3rects = Array(Rectangle(608,-180,140,50),Rectangle(791,-117,140,45), O<qo%fP
Rectangle(958,-180,140,50),Rectangle(876,-238,140,45), @RI\CqFHR
Rectangle(702,-238,140,45)); " [K>faV
var stage3combos = Array(Array(0,0,1,1,1),Array(0,1,0,1,1),Array(0,1,1,0,1), _
WHGd&u
Array(0,1,1,1,0),Array(1,0,0,1,1),Array(1,0,1,0,1), C%kIxa)
Array(1,0,1,1,0),Array(1,1,0,0,1),Array(1,1,0,1,0), o[K,(
Array(1,1,1,0,0)); UxVxnJ_
var stage4rects = Array(Rectangle(910,-236,35,5),Rectangle(877,-184,35,5), JXF@b
-c
Rectangle(946,-184,35,5),Rectangle(845,-132,35,5), t9m08K:Y
Rectangle(910,-132,35,5),Rectangle(981,-132,35,5)); ;PX>] r5U0
var stage4combos = Array(Array(0,0,0,1,1,1),Array(0,0,1,0,1,1),Array(0,0,1,1,0,1), Ceak8#|4
Array(0,0,1,1,1,0),Array(0,1,0,0,1,1),Array(0,1,0,1,0,1), ]s:%joj%^
Array(0,1,0,1,1,0),Array(0,1,1,0,0,1),Array(0,1,1,0,1,0), 7-MkfWH2b6
Array(0,1,1,1,0,0),Array(1,0,0,0,1,1),Array(1,0,0,1,0,1), 1mz72K
Array(1,0,0,1,1,0),Array(1,0,1,0,0,1),Array(1,0,1,0,1,0), By}>h6`[
Array(1,0,1,1,0,0),Array(1,1,0,0,0,1),Array(1,1,0,0,1,0), o51jw(wO
Array(1,1,0,1,0,0),Array(1,1,1,0,0,0)); dht*1i3v
var eye = 9300002; wO ?A/s
var necki = 9300000; Z\*jt B:
var slime = 9300003; xy1R_*.F^T
var monsterIds = Array(eye, eye, eye, =!|=Y@
necki, necki, necki, necki, necki, necki, G8!* &vR/
slime); NYp46;
var prizeIdScroll = Array(2040502,2040505,2040514,2040517, // overall 0
N>R!
2040802, 2040805, // glove =G%L:m*
2040002, 2040402, 2040602, 2040902, // armor def (top/bottom/shield/hat) #x5?RHX56
2044502, 2044702, 2044602, 2043302, // weapon atk <Yy|.=6 D
2043102, 2043202, 2043002, 2044402, nJ~5ICyd
2044302, 2044102, 2044202, 2044002); .Zv uhOn^
var prizeIdUse = Array( 2000001, 2000002, 2000003, 2000006, // orange white blue manalixir pots '#@tovr
2000004, 2000005, 2001000, 2001001, // elix/p.elix, watermelon/sundae >-Q=o,cl%3
2002006, 2002007, 2002008, 2002010); // warrior/sniper/magic/speed pills $n@B:kv5p
var prizeQtyUse = Array(100, 75, 100, 45, XfH[:XG3
20, 10, 35, 30, d,caO E8N
10, 10, 10, 10); jr=erVHK
var prizeIdEquip = Array(1032000, 1032009, 1032004, 1032005, // 20-25 earrings TbA=bkj[4
1032006, 1032007, 1032010, // 30 earrings
:Z5Twb3h
1032002, 1032008, // 35 earrings +OC~y:
1002026, 1002089, 1002090); // bamboo hats H)O I&?
var prizeIdEtc = Array( 4010000, 4010001, 4010002, 4010003, // Mineral ores H)l7:a
4010004, 4010005, 4010006, // Mineral ores + gold DS1_hbk
4020000, 4020001, 4020002, 4020003, // Jewel ores XhG3Of-6
4020004, 4020005, 4020006, // Jewel ores O;?Nz:/q
4020007, 4020007, 4003000); // Diamond/BC/screws O4fl$egQU
var prizeQtyEtc = Array(15, 15, 15, 15, 8P3"$2q
15, 15, 8, E(G&mfhb
15, 15, 15, 15, 2uM\
?*T@
15, 15, 15, eww/tG a
8, 5, 20); H^C$2 f
#=\ nuT'oy
Z`Sbq{Kx
function start() { L4-v'Z;
status = -1; :LEC[</yvl
mapId = cm.getChar().getMapId(); OtFGo8
if (mapId == 103000800) {pyTiz#JY
curMap = 1; rc+}KO
else if (mapId == 103000801) x 2Cp{+}
curMap = 2; K/ 5U;oC
else if (mapId == 103000802) 'PVxc%[
curMap = 3; r:Rk!z*
else if (mapId == 103000803) s+OXT4>+
curMap = 4; Ea\Khf]2
else if (mapId == 103000804) j$Z:S~*
curMap = 5; <mX EX`?
playerStatus = cm.isLeader(); v)J(@>CZ[
preamble = null; ?."YP[;
action(1, 0, 0); B(h%>mT[
} Y('?Z]
wmnh7'|0u
function action(mode, type, selection) { xb~8uD5
if (mode == -1) { !omf>CW;ud
cm.dispose(); 9S]]KEGn4
} else { ==)q{
e5
if (mode == 0 && status == 0) { Yb;$z'
cm.dispose(); 7S]<?>*
return; .DG`~Fpk
} UY$Lqe~
if (mode == 1) 7F @#6
status++; T.?}iz=ZEq
else ]XhX aoqL
status--; wY6m^g$h3
if (curMap == 1) { // First Stage. >s|zrS)
if (playerStatus) { // party leader YecV+K'p:
if (status == 0) { ;dVYR=l
var eim = cm.getChar().getEventInstance(); EwKFT
FL
party = eim.getPlayers(); @pkQ2OM
2
preamble = eim.getProperty("leader1stpreamble"); oK#UEn
if (preamble == null) { ::R5F4
cm.sendNext("Hello,欢迎您的第一阶段。环顾四周,你会看到很多鳄鱼游荡。当你打败他们,他们就会咳嗽了#bpasses#k队长应该对我说话,收集了相同数量的#bpasses#k为回答这个问题我给他们。\r\n如果你收集的数额#bpasses#k,我给了#bpass#k该成员。当所有的队员聚集了#bpasses#k和给他们的队长,队长将交出#bpasses#k对我来说,清理阶段的进程。更快你照顾的阶段,更多的阶段就可以挑战。因此,我建议你照顾快速和迅速。那么,最好的你好运。"); RJk4 2;]
eim.setProperty("leader1stpreamble","done");
J_rb3
cm.dispose(); *\PCMl
} H4"'&A7$
else { // check how many they have compared to number of party members S5>?jn1
// check for stage completed 7/b\NLeJ'
var complete = eim.getProperty(curMap.toString() + "stageclear"); )LDBvpJyQ
if (complete != null) { KO3X)D<3
cm.sendNext("请赶紧去下一关,们已经打开了"); e> -fI_+b
cm.dispose(); xfK@tLEZ-1
} ptMDhMVW
else { r:-,qy
var numpasses = party.size()-1; %"CF-K@th
var passes = cm.haveItem(4001008,numpasses); ykat0iqo
var strpasses = "#b" + numpasses.toString() + " passes#k"; oo2CF!Xy
if (!passes) { !
n13B
cm.sendNext("对不起,你的通行证没有达到指定的数目。你需要给指定的通行证数目给我;应当的队员数目减去你的队长, " + strpasses + ",以明确的阶段。告诉您的队员解决问题,收集了通行证,并让他们给你."); $~5ax8u&!#
cm.dispose(); -fCR^`UOS
} o
4F(X0
else { zW9/[Db
cm.sendNext("你们已经通过 " + strpasses + "! 恭喜大家完成本阶段的挑战! 我将打开传送门,带大家进入到下一关的挑战.因为本次任务有时间限制,请大家抓紧时间,祝大家好运!"); &ku.Q3xGs
clear(1,eim,cm); +nU=)x?38
cm.givePartyExp(100, party); 33z^Q`MTC
cm.gainItem(4001008,-numpasses); s_}q
cm.dispose(); !@3"vd{^
// TODO: make the shiny thing flash _`.Wib+
} Ev>P|kV&A
} PQJw"[N/YM
} <`'T#e$
} 5/YGu=,
/*debug 1=z6m7@'-
cm.sendNext("你好,这仅仅只是一个测试.");
!hWS%m@
cm.dispose();*/ SS*3Qx:[
} =}UcYC6l
else { // non leader {j[a'Gb
var eim = cm.getChar().getEventInstance(); 92XG|CWX
pstring = "member1stpreamble" + cm.getChar().getId().toString(); V
0z`p"
preamble = eim.getProperty(pstring); k$3Iv"gbx
if (status == 0 && preamble == null) { dwJnPJ=z
var qstring = "member1st" + cm.getChar().getId().toString();
34<k)0sO
var question = eim.getProperty(qstring); E)F#Z=)
if (question == null) { \zLKSJ]
// Select a random question to ask the player. [PX%p;"D
var questionNum = Math.floor(Math.random() * questions.length); jT=fq'RK
eim.setProperty(qstring, questionNum.toString()); CWY-}M
} buKSZ
cm.sendNext("在这里,你需要收集#bcoupons#k击败同样数目的Ligators作为回答提问个别。"); -]<<}@NF
Nbb2wr9A
} 8@,8j!$8G
else if (status == 0) {// otherwise s((c@)M
// check for stage completed }?^]-`b
var complete = eim.getProperty(curMap.toString() + "stageclear"); d}Xb8SaE%c
if (complete != null) { lsA?|4`mn
cm.sendNext("请赶紧去下一关,们已经打开了"); %sCG}?
y
cm.dispose(); sWv!ig_
} keb.%cb=
else { 9%Qlg4~<s
// else correct/incorrect response to question here V
`7(75
var qstring = "member1st" + cm.getChar().getId().toString(); pS+hE4D
var numcoupons = qanswers[parseInt(eim.getProperty(qstring))]; Te2C<c
var qcorr = cm.haveItem(4001007,(numcoupons+1)); (tvfF0~
var enough = false; (lg~}Jw
q
if (!qcorr) { // not too many ~@mNR^W-W
qcorr = cm.haveItem(4001007,numcoupons); 1+9!W
if (qcorr) { // just right ]FEDAGu
cm.sendNext("这是正确的答案!对于你刚才收到了#bpass#k请交给你的队长。"); }'`}| pM$
cm.gainItem(4001007,-numcoupons); 3/V0w|ZgD
cm.gainItem(4001008,1); |.;*,bb|3
enough = true; t?wVh0gT
} T/234;Uf|
} 9m%2&fjK^
if (!enough) { @%BsQm
cm.sendNext("很抱歉,你数量错误! 请仔细对照问题,再来给我正确数量的通行证吧."); 4^T_" W}
} P,@/ap7J
cm.dispose(); ~J HEr48
} MO%+rf0~w
} w8cbhc
else if (status == 1) { ,H>'1~q
if (preamble == null) { *$Y_ %
}
var qstring = "member1st" + cm.getChar().getId().toString(); `Wd4d2aLG
var question = parseInt(eim.getProperty(qstring)); ~9Qd83`UH
cm.sendNextPrev(questions[question]); 4s6,`-
} hc*t Q2
else { // shouldn't happen, if it does then just dispose MY'T%_id
cm.dispose(); B ?l0u
} 9Ed=`c
qSt\ 6~
} CsEU:v
else if (status == 2) { // preamble completed L~Y^
O`c
eim.setProperty(pstring,"done"); @,m 7%,
cm.dispose(); |3 mcL'
} *alifdp
else { // shouldn't happen, but still... 9[R+m3V/`
eim.setProperty(pstring,"done"); // just to be sure +GncQs
y
cm.dispose(); F^.~37=@
} Pk>S;KT.
} nK}-^Ur
} // end first map scripts <%.lPO]&E
p<+Y;,+
else if (2 <= curMap && 4 >= curMap) { L7[f-cK2:
rectanglestages(cm); g@Pq<
} 7(d#zu6n
else if (curMap == 5) { // Final stage P*n/qj
8h
var eim = cm.getChar().getEventInstance(); ^l<!:SS
var stage5done = eim.getProperty("5stageclear"); 7{\6EC}d[&
if (stage5done == null) { YC(X=
D
if (playerStatus) { // Leader Z7> Nd$E{
var map = eim.getMapInstance(cm.getChar().getMapId()); Qb|@DMq%
var passes = cm.haveItem(4001008,10); 6)c-s|#
if (passes) { a4n5i.;
// clear 2~R%_r+<
cm.sendNext("这是个任务,导致您在过去,奖金阶段。这是一个阶段,可让您打败怪物经常变得更轻松。您可以一套大量的时间来寻找尽可能多的,但您随时可以离开该阶段中。同样,祝贺结算的所有阶段。"); "B>8on8O
party = eim.getPlayers(); D$+g5u)
cm.gainItem(4001008,-10); _2hZGC%&E
clear(5,eim,cm); oqo7Ge2
cm.givePartyExp(1500, party); =IKgi-l*
cm.dispose(); /U})mdFm
} ~OWpk)Vq
else { // not done yet a7!{`fR5
cm.sendNext("欢迎您到第5次和最后阶段。步行游览地图,你可以找到一些怪物。打败所有的人,收集了#bthepasses#k,并请您给我。在队长下将收集,然后让他们给我一旦#bpasses#k聚集了。怪物可能是熟悉的你,但他们可能会远远超出你觉得,所以请小心。祝您好运!由于投诉,现在是强制性的要杀死所有的泥!做到这一点! "); ]k8f1F
} =]S,p7* 7
cm.dispose(); b=5ZfhIg[
}
k"|Fu
else { // Members ]=PkgOJD
cm.sendNext("欢迎您到第5次和最后阶段。步行游览地图,你将能够找到一些怪物。打败他们所有,收集了#bpasses#k,并给予他们到您的队长。一旦您完成时,返回给我,收集您的奖励。 "); a(kY,<}
cm.dispose(); %aV~RB#
} ]FgKL0
} P *&Cght>0
else { // give rewards and warp out Tgl >
if (status == 0) { R90#T6^
cm.sendNext("难以置信!您通过了所有阶段进入了这一点。这里有一个小奖为您所做的出色工作。在您接受它,但是,请确保您的使用等物品栏要有空格 \r\n#b你将无法收到奖品,如果您有没有空格!#k"); j2%fAs<
} a"`>
J!
if (status == 1) { 9h/Hy aN
getPrize(eim,cm); `O5427Im
cm.dispose(); aW}d=y
[
} Z/T(4
} tSe[*V4{'
}
XRHngW_A
// etc [^W
+^3V
else { // no map found N>CNgUyP
cm.sendNext("无效的计划,这意味着在现阶段是不完整的."); :| !5d{8S8
cm.dispose(); > `mV^QD
} %=$Knc_!T^
} yy+:x/(N[
} P EMBh?)g
n5z|@I`S_
function clear(stage, eim, cm) { U }AIOtUw
eim.setProperty(stage.toString() + "stageclear","true"); ?L0 |$#Iw
var packetef = MaplePacketCreator.showEffect("quest/party/clear"); =K_&@|f+B
var packetsnd = MaplePacketCreator.playSound("Party1/Clear"); {u+=K-Bj
var packetglow = MaplePacketCreator.environmentChange("gate",2); t1NGs-S3
var map = eim.getMapInstance(cm.getChar().getMapId()); HYL['B?Wid
map.broadcastMessage(packetef); )x~/qHt
map.broadcastMessage(packetsnd); 0Y:)$h2?
map.broadcastMessage(packetglow); w
^?#xU1.i
var mf = eim.getMapFactory(); mT #A?C2
map = mf.getMap(103000800 + stage); 1 e]D=2y
var nextStage = eim.getMapInstance(103000800 + stage); z{&