⌛
⚠
此帖已发布 15 年
时间久远,资源可能已失效。下载前建议查看最新回复,做出合理判断,避免积分浪费。
⚑ 失效反馈
游客权限受限
当前为 游客预览模式,登录即刻解锁 原始大图及完整内容。
| 🎉 |
隐藏内容已自动解锁
隐藏内容因满足 [ 发布时间满60天,帖子热度超6666点击,参与人数超10人 ] 其中条件之一,触发了自动开放机制。
无需回复,所有访客均可直接查看以下内容:
|
importPackage(net.貌似会被和谐自己打上去.odinms.tools); {~j/sto-:
importPackage(net.貌似会被和谐自己打上去.odinms.server.life); H3`.Y$z
importPackage(java.awt); LXsZk|IhM
`m8WLj
var status; {IvA 5^
var curMap; Lz p}<B
var playerStatus; *9w-eK1{
var chatState; h:U#F )
var questions = Array("首先给你出一个问题!请仔细听好:作为一名战士,他在1转的时候需要达到的等级是多少,那么请交给我同样数量的通行证。", <2]D3,.g.
"首先给你出一个问题! 请仔细听好:作为一名战士,他在1转的时候需要力量的能力值最小是多少点,那么请交给我同样数量的通行证。", EaHJl
"首先给你出一个问题!请仔细听好: 作为一名法师,他在1转的时候需要智力的能力值最小是多少点,那么请交给我同样数量的通行证。", WRA L/
"首先给你出一个问题!请仔细听好: 作为一名弓箭手,他在1转的时候需要敏捷的能力值最小是多少点,那么请交给我同样数量的通行证。", `@WJ_-$#
"首先给你出一个问题!请仔细听好: 作为一名飞侠,他在1转的时候需要敏捷的能力值最小是多少点,那么请交给我同样数量的通行证。", \x\N?$`ANc
"首先给你出一个问题!请仔细听好: 所有职业在2转的时候需要达到的等级是多少,那么请交给我同样数量的通行证。"); 5W&L cBB
var qanswers = Array(10, 35, 20, 25, 25, 30); bq8Wvlv04
var party; =yM%#{t&W
var preamble; hQ!59
var stage2rects = Array(Rectangle(-755,-132,4,218),Rectangle(-721,-340,4,166), 1
?
Zw
Rectangle(-586,-326,4,150),Rectangle(-483,-181,4,222)); '-J
<ib
t
var stage2combos = Array(Array(0,1,1,1),Array(1,0,1,1),Array(1,1,0,1),Array(1,1,1,0)); >dJ~
var stage3rects = Array(Rectangle(608,-180,140,50),Rectangle(791,-117,140,45), WC37=8mA
Rectangle(958,-180,140,50),Rectangle(876,-238,140,45), bBXLW}W
Rectangle(702,-238,140,45)); 'ey62-^r6
var stage3combos = Array(Array(0,0,1,1,1),Array(0,1,0,1,1),Array(0,1,1,0,1), {o 5^nd
Array(0,1,1,1,0),Array(1,0,0,1,1),Array(1,0,1,0,1), ,nCvA%B!
Array(1,0,1,1,0),Array(1,1,0,0,1),Array(1,1,0,1,0), ~iQBgd@D^
Array(1,1,1,0,0)); S0gxVd
(
var stage4rects = Array(Rectangle(910,-236,35,5),Rectangle(877,-184,35,5), km][QEXs%
Rectangle(946,-184,35,5),Rectangle(845,-132,35,5), #d*gWwnx"
Rectangle(910,-132,35,5),Rectangle(981,-132,35,5)); ggitUQ+t;G
var stage4combos = Array(Array(0,0,0,1,1,1),Array(0,0,1,0,1,1),Array(0,0,1,1,0,1), : vx<m_
Array(0,0,1,1,1,0),Array(0,1,0,0,1,1),Array(0,1,0,1,0,1), "vQ%`
Q
Array(0,1,0,1,1,0),Array(0,1,1,0,0,1),Array(0,1,1,0,1,0), P,a9B2
Array(0,1,1,1,0,0),Array(1,0,0,0,1,1),Array(1,0,0,1,0,1),
rlawH}1b
Array(1,0,0,1,1,0),Array(1,0,1,0,0,1),Array(1,0,1,0,1,0), 2"6qg>]-t
Array(1,0,1,1,0,0),Array(1,1,0,0,0,1),Array(1,1,0,0,1,0), &l!T2PX!
Array(1,1,0,1,0,0),Array(1,1,1,0,0,0)); FC6~V6R
var eye = 9300002; Iu~<Y(8^q#
var necki = 9300000; diVg|Z3T
var slime = 9300003; S-ZN}N{,6
var monsterIds = Array(eye, eye, eye, WHOX<YJs
necki, necki, necki, necki, necki, necki, >;bym)
slime); = &?&}pVF
var prizeIdScroll = Array(2040502,2040505,2040514,2040517, // overall dLF*
'JjY
2040802, 2040805, // glove .pdcwd9
2040002, 2040402, 2040602, 2040902, // armor def (top/bottom/shield/hat) 2K
o]Q_,~
2044502, 2044702, 2044602, 2043302, // weapon atk 5XzsqeG|
2043102, 2043202, 2043002, 2044402, '1xhP}'3)
2044302, 2044102, 2044202, 2044002); *}';q`u}
var prizeIdUse = Array( 2000001, 2000002, 2000003, 2000006, // orange white blue manalixir pots o)n)Z~
2000004, 2000005, 2001000, 2001001, // elix/p.elix, watermelon/sundae HB$?}V
2002006, 2002007, 2002008, 2002010); // warrior/sniper/magic/speed pills ?8?vBkz~
var prizeQtyUse = Array(100, 75, 100, 45, ;+|Z5+7!6
20, 10, 35, 30, z}.6yHS
10, 10, 10, 10); ,6pGKCUU:y
var prizeIdEquip = Array(1032000, 1032009, 1032004, 1032005, // 20-25 earrings @iXBy:@
1032006, 1032007, 1032010, // 30 earrings _dz ZS(7M6
1032002, 1032008, // 35 earrings mk^,{D
1002026, 1002089, 1002090); // bamboo hats DpQWh+WRy
var prizeIdEtc = Array( 4010000, 4010001, 4010002, 4010003, // Mineral ores INp:;
4010004, 4010005, 4010006, // Mineral ores + gold xGbq,~_r
4020000, 4020001, 4020002, 4020003, // Jewel ores @D=%J!!*
4020004, 4020005, 4020006, // Jewel ores QtXiUx^ k<
4020007, 4020007, 4003000); // Diamond/BC/screws -*~
@?
var prizeQtyEtc = Array(15, 15, 15, 15, ;m>/tD%
15, 15, 8, ;hV|W{=w
15, 15, 15, 15, c3ru4o*K
15, 15, 15, W,[QK~
8, 5, 20); Ycq )$7p
)8eb(!}7
pw
S"BTZ
function start() { tPN CdA
status = -1; *5*#Z~dut8
mapId = cm.getChar().getMapId(); HC1<zW[
if (mapId == 103000800) ]4V1]
curMap = 1; ' (X
B|5
else if (mapId == 103000801) r}
^1dO
curMap = 2; /V`SJ"
else if (mapId == 103000802) rIYO(}Fl
curMap = 3; `?WN*__["
else if (mapId == 103000803) ~k?wnw
curMap = 4; surNJ,)
else if (mapId == 103000804) _x3=i\O,
curMap = 5; Ovj^
7r:<s
playerStatus = cm.isLeader(); WiB~sIp
preamble = null; [hpkE lE
action(1, 0, 0); |HYST`
} {fHY[8su0
V=th-o3[
function action(mode, type, selection) { )ZBNw{nh
if (mode == -1) { @1gURx&2_
cm.dispose(); aPK:k$.
} else { QT73=>^B
if (mode == 0 && status == 0) { QG~6mvD
cm.dispose(); 2kDv
(".
return; +F8K%.Q_
} vr{|ubG]d
if (mode == 1) <6Y;VH^_
status++; )"hd"
else L-S5@;"
status--; 'W4v>0
if (curMap == 1) { // First Stage. 'UxI-Lt
if (playerStatus) { // party leader ^Go,HiB
if (status == 0) { s^IC]sW\%
var eim = cm.getChar().getEventInstance(); z07&P;W!{
party = eim.getPlayers(); CDXN%~0h
preamble = eim.getProperty("leader1stpreamble"); YcclO
if (preamble == null) { p~=z)7%e'
cm.sendNext("Hello,欢迎您的第一阶段。环顾四周,你会看到很多鳄鱼游荡。当你打败他们,他们就会咳嗽了#bpasses#k队长应该对我说话,收集了相同数量的#bpasses#k为回答这个问题我给他们。\r\n如果你收集的数额#bpasses#k,我给了#bpass#k该成员。当所有的队员聚集了#bpasses#k和给他们的队长,队长将交出#bpasses#k对我来说,清理阶段的进程。更快你照顾的阶段,更多的阶段就可以挑战。因此,我建议你照顾快速和迅速。那么,最好的你好运。"); "+Ys}t~2
eim.setProperty("leader1stpreamble","done"); v_pe=LC{-e
cm.dispose(); .-mIU.Nwi
} 5#N<~
else { // check how many they have compared to number of party members :@"o.8p
// check for stage completed gPc1oc(
var complete = eim.getProperty(curMap.toString() + "stageclear"); @ <2y+_e
if (complete != null) { Bos}
`S![
cm.sendNext("请赶紧去下一关,们已经打开了"); !L
q'o?
cm.dispose(); Y<(7u`F
} 0vX6n6G}
else { <H-kR\
HF
var numpasses = party.size()-1; }!> \Ja<\
var passes = cm.haveItem(4001008,numpasses); 3!/J!X3L
var strpasses = "#b" + numpasses.toString() + " passes#k"; ]B3+&g
if (!passes) {
Lk@+iHf
cm.sendNext("对不起,你的通行证没有达到指定的数目。你需要给指定的通行证数目给我;应当的队员数目减去你的队长, " + strpasses + ",以明确的阶段。告诉您的队员解决问题,收集了通行证,并让他们给你."); TQNdBq5I6
cm.dispose(); i>[xN[U(
} ebNRZJ?C,
else { 5 }Ge
cm.sendNext("你们已经通过 " + strpasses + "! 恭喜大家完成本阶段的挑战! 我将打开传送门,带大家进入到下一关的挑战.因为本次任务有时间限制,请大家抓紧时间,祝大家好运!"); &!O?h/&X3
clear(1,eim,cm); %t!r
pyD
cm.givePartyExp(100, party); ~<O.Gu&"R
cm.gainItem(4001008,-numpasses); im9EV|;
cm.dispose(); |4P8N{ L>O
// TODO: make the shiny thing flash "v`q%(TA
} ZI qXkD
} wbcip8<t
} *i#N50k*j'
} sJ^Ff
/*debug T+zhj
++
cm.sendNext("你好,这仅仅只是一个测试."); UBM#~~sM
cm.dispose();*/ ~6Fh
,S1?
} \lQI;b;$
else { // non leader '0)`.
var eim = cm.getChar().getEventInstance(); ~n) |
pstring = "member1stpreamble" + cm.getChar().getId().toString(); j6~`C
?(
preamble = eim.getProperty(pstring); 4&%H;Q
if (status == 0 && preamble == null) { Ta/zDc"e
var qstring = "member1st" + cm.getChar().getId().toString(); =q)+_@24>d
var question = eim.getProperty(qstring); 7UGc2J
if (question == null) { ;<''oY
// Select a random question to ask the player. aG~zMO_)]
var questionNum = Math.floor(Math.random() * questions.length); ';8 ,RT
e
eim.setProperty(qstring, questionNum.toString()); yufw}Lo-
} ;S$
cm.sendNext("在这里,你需要收集#bcoupons#k击败同样数目的Ligators作为回答提问个别。"); \9tJ/~
OPE+:TvW^
} 3`vKEThY)
else if (status == 0) {// otherwise
#I.~+M
// check for stage completed eq8faC5
var complete = eim.getProperty(curMap.toString() + "stageclear"); =uNc\a (
if (complete != null) { S{8-XiL,
cm.sendNext("请赶紧去下一关,们已经打开了"); ;-Os~81o?
cm.dispose(); 3+d^Bpp
4
} 2-N7%]h
else { YQFz6#Ew
// else correct/incorrect response to question here -!qjBK,`X
var qstring = "member1st" + cm.getChar().getId().toString(); =54D#,[B
var numcoupons = qanswers[parseInt(eim.getProperty(qstring))]; 9
xq3>(
var qcorr = cm.haveItem(4001007,(numcoupons+1)); Lb<IEy77\
var enough = false; =_iYT044p
if (!qcorr) { // not too many KnA BFH
qcorr = cm.haveItem(4001007,numcoupons); s_RK x)w@
if (qcorr) { // just right u,`3_I^
cm.sendNext("这是正确的答案!对于你刚才收到了#bpass#k请交给你的队长。"); EA1&D^nT
cm.gainItem(4001007,-numcoupons); N~IAm:G}[
cm.gainItem(4001008,1); 4|I;z
enough = true; z"\w9 @W
} .|g@#XIwe#
} E3[9!L8gb
if (!enough) { `AvK8Wh<+
cm.sendNext("很抱歉,你数量错误! 请仔细对照问题,再来给我正确数量的通行证吧."); R@NFpiw
} qLb~^'<iD
cm.dispose(); r(Z?Fs/
} ht L1aQ.
} Bw!J!cCj
else if (status == 1) { !jU{ }RCR
if (preamble == null) { }vOg9/[{
var qstring = "member1st" + cm.getChar().getId().toString(); NF4(+E9g
var question = parseInt(eim.getProperty(qstring)); 2Q]W
cm.sendNextPrev(questions[question]); mLkp*?sfC
} !\d~9H%`B
else { // shouldn't happen, if it does then just dispose pO5j-d*
cm.dispose(); Xf#
;`*5
} f
QU_:[
Uz
`MCtm(<
} ar,v/l>d4N
else if (status == 2) { // preamble completed \o2l;1~
eim.setProperty(pstring,"done"); V#.pi zb
cm.dispose(); bXc*d9]
} l<4P">M!.
else { // shouldn't happen, but still... 2dKt}o>
eim.setProperty(pstring,"done"); // just to be sure .E+O,@?<
cm.dispose(); &=M4Z/Ao
} MaD| X_g
} .>[l@x"
} // end first map scripts =-/'$7R,
$uFvZ?w&
else if (2 <= curMap && 4 >= curMap) { qN' 3{jiPL
rectanglestages(cm); 2Og
5e
} \),f?f-m
else if (curMap == 5) { // Final stage A-3^~aEgx
var eim = cm.getChar().getEventInstance(); I0Allw[
var stage5done = eim.getProperty("5stageclear"); v@SHR0
if (stage5done == null) { Bsg^[~jWJu
if (playerStatus) { // Leader 5{+2#-
var map = eim.getMapInstance(cm.getChar().getMapId()); \?Z7|
var passes = cm.haveItem(4001008,10); K;rgLj0m
if (passes) { ):Z#!O<
// clear >@cBDS<6R
cm.sendNext("这是个任务,导致您在过去,奖金阶段。这是一个阶段,可让您打败怪物经常变得更轻松。您可以一套大量的时间来寻找尽可能多的,但您随时可以离开该阶段中。同样,祝贺结算的所有阶段。"); LJb=9tp~
party = eim.getPlayers(); zh=0zJ
cm.gainItem(4001008,-10); KaOXqFT=
clear(5,eim,cm); }1[s ,
cm.givePartyExp(1500, party); lg2I|Z6DH
cm.dispose(); YU+P+m2X
} cpw=2vnD
else { // not done yet \nWb
GS(
cm.sendNext("欢迎您到第5次和最后阶段。步行游览地图,你可以找到一些怪物。打败所有的人,收集了#bthepasses#k,并请您给我。在队长下将收集,然后让他们给我一旦#bpasses#k聚集了。怪物可能是熟悉的你,但他们可能会远远超出你觉得,所以请小心。祝您好运!由于投诉,现在是强制性的要杀死所有的泥!做到这一点! "); yi~]}M
} XRQ1Uh6
cm.dispose(); W.cc!8
} Uf7ACv)Dn
else { // Members :OjmaP
cm.sendNext("欢迎您到第5次和最后阶段。步行游览地图,你将能够找到一些怪物。打败他们所有,收集了#bpasses#k,并给予他们到您的队长。一旦您完成时,返回给我,收集您的奖励。 "); 6'e^np
cm.dispose(); P*K"0[\n
} z)v o
}
`+vQ5l$;L
else { // give rewards and warp out {{_v.d~1
if (status == 0) { -bdWG]w"
cm.sendNext("难以置信!您通过了所有阶段进入了这一点。这里有一个小奖为您所做的出色工作。在您接受它,但是,请确保您的使用等物品栏要有空格 \r\n#b你将无法收到奖品,如果您有没有空格!#k"); lDKyD`WKnZ
} Igw
HC0W
if (status == 1) { g@s`PBF7`
getPrize(eim,cm); edcz%IOM(
cm.dispose(); b&4JHyleF
} ?f3R+4
} X 5}=|%Y
} 40`Qsv0#
// etc Whp`\E<<
else { // no map found [bX^_ Y
cm.sendNext("无效的计划,这意味着在现阶段是不完整的."); u{\>iQ
cm.dispose(); 8mRZ(B>% X
} u*5}c7)uId
} :eD-'#@$u
} \4j_K*V
Hf1b&8&:K
function clear(stage, eim, cm) { RdyKd_0`Q
eim.setProperty(stage.toString() + "stageclear","true"); m{Uh{G$
var packetef = MaplePacketCreator.showEffect("quest/party/clear"); 3dbaCusT$
var packetsnd = MaplePacketCreator.playSound("Party1/Clear"); !t~tIJ>6
var packetglow = MaplePacketCreator.environmentChange("gate",2); 0g=vMLi
var map = eim.getMapInstance(cm.getChar().getMapId()); <*^|A
j|#
map.broadcastMessage(packetef); 5Uy*^C7M^
map.broadcastMessage(packetsnd);
;r6YIS4@
map.broadcastMessage(packetglow); tq~f9EvC
var mf = eim.getMapFactory(); ]3='TN8aQF
map = mf.getMap(103000800 + stage); W-|CK&1
var nextStage = eim.getMapInstance(103000800 + stage); 2-ksr}:
var portal = nextStage.getPortal("next00"); ?q Q.Wj6Mj
if (portal != null) { J@<f*
portal.setScriptName("kpq" + (stage+1).toString()); eAI|zk6
} 5%QYe]D
else { // into final stage R<Mp$K^b
//cm.sendNext("Initiating final stage monsters..."); [:(O`#
// spawn monsters - removed since lerks patch makes -1 monsters spawn ONCE anyway cmU0=js.
// var map = eim.getMapInstance(103000804); [4YRyx&:++
// map.spawnMonsters(monsterIds); J"GsdLG.-
} ,?qJAV~>
} Ah@e9`_r
NKB["+S<
function failstage(eim, cm) { we!w5./Xm
var packetef = MaplePacketCreator.showEffect("quest/party/wrong_kor"); !ii(2U
var packetsnd = MaplePacketCreator.playSound("Party1/Failed"); o$% KbfXO]
var map = eim.getMapInstance(cm.getChar().getMapId()); -}sMOy`
map.broadcastMessage(packetef); <vV"a
bk
map.broadcastMessage(packetsnd); F !OD*]
} g@M5_I(W
%uV,p!| )
function rectanglestages (cm) { jr.{M
// debug makes these stages clear without being correct R1Q,m
var debug = false; %x@bP6d[
var eim = cm.getChar().getEventInstance(); E>*Wu<<
if (curMap == 2) { F 2zUz[
var nthtext = "2nd"; "M2WK6?O5
var nthobj = "ropes"; Y?0x/2<
var nthverb = "hang"; zd-
*UFi
var nthpos = "hang on the ropes too low"; }1V+8'D
var curcombo = stage2combos; ht6}v<x.eA
//var curtestcombo = [0,0,0,1]; +/[Rvh5WZ
var currect = stage2rects; 83_mR*tGNp
var objset = [0,0,0,0]; vRW;{,d
} R)$]r>YZF
else if (curMap == 3) { KVEc:<|x
var nthtext = "3rd"; A['(@Bz#7~
var nthobj = "platforms"; NYg&