🎉
隐藏内容已自动解锁 (满足: 时间满90天,人数超30)
由于刚才发错,三楼才是连接 zWy
,Om8P
服务端修改文字教程 XOu+&wOu
1、[079咖啡端]添加打开一个没有JS的NPC出现对话框 CTl(_g
打开scr/net/s(和谐)f/odinms/scripting/npc/NPCScriptManager.java kcLj Kp
n11LxGwk
找到 8h*t55
public void start(MapleClient c, int npc) { `+roQX.p
try { C1h#x'k
NPCConversationManager cm = new NPCConversationManager(c, npc); y\^@p=e
if (cms.containsKey(c)) { 8<YX7e
return; #$LH2?)
} rlR
!&
cms.put(c, cm); 9 wAA.
-"
Invocable iv = getInvocable("npc/" + npc + ".js", c); 9.xvV|Sp
if (iv == null || NPCScriptManager.getInstance() == null) { Z8&4z.6_
cm.dispose(); <KKDu$W|T
return; MQwIPjk8
} vTpStoUM
engine.put("cm", cm); D,c!#(v cK
NPCScript ns = iv.getInterface(NPCScript.class); JT4wb]kdV
scripts.put(c, ns); d2RnQA
ns.start(); SXQ@;=]xV
} catch (Exception e) { 5,S,\O9>X
log.error("Error executing NPC script " + npc, e); r)gCTV(kb
dispose(c); hdo&\Q2D8
cms.remove(c); ^`tk/#h\9F
} >eQbipn
} z<a$q3!#
I`22Zwq:
全选替换掉 T3
6x=LX
将下面一段代码替换进去 yC
W*fIaq
public void start(MapleClient c, int npc) ITVQLQ
{ }x]&L/
try { T_
eJ}(p
if (c.getPlayer().isGM()) VLiIO"u;
c.getPlayer().dropMessage("[系统提示]您已经建立与NPC:" + npc + "的对话。"); zm3-C%:Bw
/$;,F't#2M
NPCConversationManager cm = new NPCConversationManager(c, npc); #S%4?
if (this.cms.containsKey(c)) &B}Lo
return; >L^xlm%7o
Yg/}ghF\
this.cms.put(c, cm); BU!#z(vU
Invocable iv = getInvocable("npc/" + npc + ".js", c); J5;5-:N
if ((iv == null) || (getInstance() == null)) { xZX`%f-
cm.sendOk("对不起,我并没有被管理员设置可使用,如果你觉得我应该工作的,那就请你汇报给管理员.\r\n我的ID编号: #r" + npc + "#k."); s8^~NX(xdy
cm.dispose(); 88
{1mA,v
return; fO6[!M(
} Nu@5 kwH
this.engine.put("cm", cm); G%S6$@:
NPCScript ns = (NPCScript)iv.getInterface(NPCScript.class); tmp6hB
this.scripts.put(c, ns); bMsECA&
ns.start(); a.?v*U@z@#
} catch (Exception e) { 'fIHUw|
log.error("Error executing NPC script " + npc, e); )Nbc/nB$
dispose(c); !K[/L<
Kv
this.cms.remove(c); Dv@PAnk3C
} R\*)@[y9l
} Rv,82iEKs
2、[079咖啡端]修复怪物打不死 S`=n&'
1.打开源码找到net\s(和谐)f\odinms\net\channel\handler\AbstractDealDamageHandler.java _lXt8}:+
zDB"r
找到这个函数parseDamage() 然后用下面的代码替换 注意替换前先备份! dXl]Pe|v
t)} \9^Uo
--------------------------------------------------------------------------------- |=O1Hn
RAV^D.
public AttackInfo parseDamage(MapleCharacter c, LittleEndianAccessor lea, boolean ranged) {
r@k"4ce-
AttackInfo ret = new AttackInfo(); #,&8&
lea.readByte(); ]BfS270
lea.skip(8); -
^Xy%
ret.numAttackedAndDamage = lea.readByte(); E tx`K5Tr]
lea.skip(8); #1[z;Mk0
ret.numAttacked = (ret.numAttackedAndDamage >>> 4 & 0xF); *<IR9.~{6%
ret.numDamage = (ret.numAttackedAndDamage & 0xF); X]!D;7^
ret.allDamage = new ArrayList(); I+|
uUg5
ret.skill = lea.readInt(); gXt O*Rfqk
lea.skip(8); {(}yG_Q]!
if ((ret.skill == 2121001) || (ret.skill == 2221001) || (ret.skill == 2321001) || (ret.skill == *hF^fxLbl
Ad/($v5+
5201002) || (ret.skill == 14111006) || (ret.skill == 5101004) || (ret.skill == 15101003)) F}D3,&9N
ret.charge = lea.readInt(); .#0H{mk
else {
:=9<
ret.charge = 0; ]boE{R!I
} +"8}R~`!
}Gr&w-v
if (ret.skill == 1221011) n?:2.S.8
ret.isHH = true; MU1E_"Z)
F;P5D<
lea.readInt(); hU"F;4p
ret.aresCombo = lea.readByte(); Jt]&;0zn2
int sourceid = ret.skill; Iyyo3awc
if ((sourceid == 21100004) || (sourceid == 21100005) || (sourceid == 21110003) || (sourceid == cvfUyp;P
|n`PESf_
21110004) || (sourceid == 21120006) || (sourceid == 21120007)) 8}BS2C%P
c.setCombo(1); |g
v{z"
r
LzW`
ret.pos = lea.readByte(); FaY_0G;y
ret.stance = lea.readByte(); cKjRF6w
&s8<6P7
if (ret.skill == 4211006) { #byJqy&e
return parseMesoExplosion(lea, ret); I8u!\F
} 59<hV?
BSgTde|3y
if (ranged) { $mpO?D J~
lea.readByte(); ^
I`a;
ret.speed = lea.readByte(); <7'&1=%r
lea.readByte(); X?/Lz;,&
ret.direction = lea.readByte(); rslvsS:
lea.skip(7); Jf_%<\ O
if ((ret.skill == 3121004) || (ret.skill == 3221001) || (ret.skill == 5221004) || (ret.skill == <bUXC@3W
d
>|;f
13111002)) q@l(Qol
lea.skip(4); E(4w5=8TI
} uv]{1S{tb
else { ?#BV+#(
lea.readByte(); m5*[t7@%
ret.speed = lea.readByte(); :Fe_,[FR
lea.skip(4); [b/o$zR
} % (<(Y
aGK@)&h$
for (int i = 0; i < ret.numAttacked; ++i) { xS8,W
int oid = lea.readInt(); _TUm$#@Y`
g)R1ObpZ
lea.skip(14); o=_c2m
BpH%STEN
List allDamageNumbers = new ArrayList(); VEs5;]#<2D
for (int j = 0; j < ret.numDamage; ++j) {
!9]d|8!
int damage = lea.readInt(); ,lm=M5b
9S>g6}[E#0
MapleStatEffect effect = null; =6\LIbO
if (ret.skill != 0) OJ1tV% E
effect = SkillFactory.getSkill(ret.skill).getEffect(c.getSkillLevel(SkillFactory.getSkill UpfZi9v?W
g_aCHEFBv
(ret.skill))); x[X`a
vHcqEV|P/n
if ((damage != 0) && (effect != null) && (effect.getFixedDamage() != 0)) 1~\M!SQ)
damage = effect.getFixedDamage(); >c~RI7uu
m`}{V5;
allDamageNumbers.add(Integer.valueOf(damage)); IQnIaZ
} z9DcnAs
if (ret.skill != 5221004) U~H?4Izl=
lea.skip(4); cWa)#:JOV
;>>C)c4V "
ret.allDamage.add(new Pair(Integer.valueOf(oid), allDamageNumbers)); V%NeZ1{ e
} K_ke2{4Jm
Sh&PNJ-*
return ret; ho.(v;
} a#[-*ou`
VkZ.6kV
=Op+v"
--------------------------------------------------------------------------------- `1+F,
&e
0L#/lDNk
2.接着找到net\s(和谐)f\odinms\client\MapleCharacter.java 2K{6iw"h
O{]9hm(tN
查找 JOD/Raq.1k
//战神Combo 57Z-
private int combo = 0; h`Tz5% n
private int comboCount = 0; RMP9y$~3pU
(9C<K<
将其修改为 Kat&U19YH
//战神Combo +Qj(B@i
private int combo = 0; F)Oe9x\/
private int comboCounter = 0; f.6~x$:)`E
}6]0hWsN[
此时应再查找comboCount 将其修改为comboCounter(不然原变量将不可用 导致变量未定义) 73F5d/n
应该也可以重新定义comboCounter这个变量 没实验 Y)|N"f;
FvdeQsc!
然后在下面适当处增加两个函数 p|[B
=.c{
WZn.;
public int getCombo() { _}gtcyx
return this.comboCounter; v }\,o%t^
} GF$`BGW
9 OT,TpA
public int setCombo(int combo) { N#ioJ^}n:
return (this.comboCounter = combo); QHlU|dR)Ry
} #hw>tA6
d~9!,6XM
代码就修改完毕了 编译后 怪物就应该能掉血了! Z(GfK0vU
GTl
xq%?b
w$ fJ4+
大概原因分析: F]+~x/!
攻击封包数据改变,原来处理封包的方式已经不能适用了 所以应当修改原来的处理结构! W+=o&V
3、[079咖啡端]修复双击人物客户端自动退出问题 *d*,Hqn
双击人物不管是自己还是他人都需要查看角色信息,原先我以为是加入的有家族的原因。 换了个没家族的号还是那样, H/fUM
结果我就感觉应该是处理封包的问题了。 说明白点就是 MaplePacketCreator.java 有问题,然后我又仔细比较了下 楚天和咖啡端的 MaplePacketCreator.java ?cy4&]s
y 1\'(1
发现charinfo 处理有出入。 咖啡端似乎少了一些东西, 就是椅子列表显示那部分。 于是我对照两者的代码修复了下。 @)6jE!LC
也不算是修复。 因为这样弄过以后不会显示你有椅子。 抱歉。 我JAVA不太行。 大家原谅下了。 $8~e}8dt|
ZH 6\><My
处理方法: mUoIJ3fv_,
k cuzB+
打开 src\net\s(和谐)f\cherry\tools\MaplePacketCreator.java jZ*WN|FK?
(或者是src\net\s(和谐)f\odinms\tools\MaplePacketCreator.java) >I"V],d!6
k G0Yh2;#
y1f:?L-z
找到 \jU |(DE
mplew.write(HexTool.getByteArrayFromHexString("00 00 00 00 00 00 01 00 00 00 D0 ED 2D 00 0C 87 A5 16 B4 F0 B0 16 10 00 00 00 84 E3 C6 2A 36 15 CF 59 6C 24 3E 00 CD DB 43 00 10 00 00 00 02 00 00 00 67 34 00 00 7F 36 00 00 DD CD CF 2A 10 00 00 00 B4 8B BB 2A 00 00 00 00 00 00 00 00 01 00 CD 00 10 00 00 00 18 E6 C6 2A DE 26 93 07 FD DC AB 7B 45 08 08 08 10 00 00 00")); j\&pej
9KuD(EJS
|`/TBQz
:r
.qv'6G
2kh"8oQ
替换成 gm"#:< )
mplew.writeInt(0); b #fTAC;<
mplew.writeShort(0); Ond'R'3 \E
MapleInventory iv = chr.getInventory(MapleInventoryType.SETUP); WT\<.Py
List<Item> chairItems = new ArrayList(); N.do "
for (IItem item : iv.list() ) { j+IrqPKC^
if ((item.getItemId() >= 3010000) && (item.getItemId() <= 3020001)) { pY"O9x
//chairItems.add(item); 98XVa\|tl
} +0l`
5."d
} 2?q(cpsN
mplew.writeInt(chairItems.size()); Cb;WZ3HR
for (IItem item : chairItems ) { %;xOB^H^
mplew.writeInt(item.getItemId()); ~@W*r5/
} p{$p
$/A
mplew.writeInt(0); F>hZ{
4、修复咖啡端不消耗飞镖 +-?/e-z")
RangedAttackHandler.java yYZxLJ='
5@~|*g[
找到 <n"C,
//if (player.getJob().isA(MapleJob.Ares_1) || player.getJob().isA(MapleJob.Ares_2) || player.getJob().isA(MapleJob.Ares_3) || player.getJob().isA(MapleJob.Ares_4)) { Nf41ZT~
MapleInventoryManipulator.removeById(c, MapleInventoryType.USE, projectile, bulletConsume, false, true); ""iaGH+Cxw
// } 5\
fCd|
Fr
2N[\>s
按上面方式处理 K4ZolWbU
5、修复黑龙项链带不了的BUG |I;$M;'r&
先解释一下为什么国服的黑龙项链带不上。 用1.5deMSwZ.exe 打开string.wz得到这样的结果 J @IS\9O
<@v]H@E
Eqp.Ring.1112904.name 彩虹星环绕戒指 [2095484] %/%UX{8R
Eqp.Ring.1112904.desc 五彩斑斓的星星和心围绕着角色旋转。 [2095507] 0E`1HP"b
Eqp.Ring.1112905.name 超大心环绕戒指 [2095572] V9NTs8LKc
Eqp.Ring.1112905.desc 可爱的大心心在角色周围以心形模样旋转。 [2095595] k?GD/$1t
Eqp.Ring.1112906.name 心心祝福戒指 [2095664] *Mc7f ?H
Eqp.Ring.1112906.desc 可爱的心心在角色头顶画出心形模样旋转。 [2095685] 0MF}^"R
Eqp.Ring.1112907.name 小鱼戒指 [2095754] c]k*}W3T
Eqp.Ring.1112907.desc 装备时,会产生泡泡的效果。有时间限制。 [2095771] eGL1
Eqp.Ring.1112916.name 寂寞单身戒指 [2095840] {-/^QX]6
Eqp.Ring.1112916.desc 单身贵族的独立宣言,玩得就是“寂寞”!最IN的单身标记,高调不怕围观。 [2095861] "/{RhY<
Eqp.Ring.1122000.name 黑龙项环 [2095962] NQHz<3S[
Eqp.Ring.1122007.name 休彼德蔓的项链 [2096001] !~i'
-4]
Z~
再来看下其他项链在哪个位置 3>M&D20Z
kS5_
:iWS\G^U
Eqp.Accessory.1122029.name 苏醒的冒险之心 [1897757] B=f,QU
Eqp.Accessory.1122030.name 苏醒的冒险之心 [1897802] ~Ou1WnmO
Eqp.Accessory.1122031.name 苏醒的冒险之心 [1897836] x Gk6n4Gg
Eqp.Accessory.1122032.name 苏醒的冒险之心 [1897870] FDzqL;
I
Eqp.Accessory.1122033.name 苏醒的冒险之心 [1897904] O*6n$dUj3
Eqp.Accessory.1122034.name 觉醒的冒险之心 [1897938] k44Q):ncY7
Eqp.Accessory.1122035.name 觉醒的冒险之心 [1897983] WiL2
Eqp.Accessory.1122036.name 觉醒的冒险之心 [1898017] $g9**b@
Eqp.Accessory.1122037.name 觉醒的冒险之心 [1898051] k;W@
LfP
Eqp.Accessory.1122038.name 觉醒的冒险之心 [1898085] ENVk{QE!
Eqp.Accessory.1122058.name 休彼德蔓的混沌项链 [1898119] PUJ2`iP1^3
68fiG
CTa#Q,
&
WOiik
很明显盛大把 黑龙项链 和 休彼德蔓的项链 故意或者无意放错了地方,放到了(戒指组里) Elj_,z
)j l8!O7
现在要做的是把这两个物体重新搬到 Accessory组里。 VSX@e|Nj
DE$q+j0P
g^Yl TB
解决办法: Ga>uFb}W~
ZFm`UXS
@&F@I3`{
找到服务端目录 wz\String.wz\Eqp.img.xml {=2DqkTD
VXBY8;+Yp
类似这样的结构 pO Iq%0]
eDI=nSo
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> UB`ToE|Ii
<imgdir name="Eqp.img"> m><w0k?t
<imgdir name="Eqp"> YV% 5y1i
<imgdir name="Accessory"> hOv={:
<imgdir name="1010000"> {]*x*aa\
<string name="name" value="褐色落腮胡"/> rHge~nY<
</imgdir> 3chPY4~A
<imgdir name="1010001"> #hfuH=&oh
<string name="name" value="黑胡子"/> `A$!]&[~|
</imgdir> Xl7aGlH
<imgdir name="1010002"> M,5j5<7
<string name="name" value="忍者口罩"/> RrZM&lXY
</imgdir> lf<S_2i
<imgdir name="1010003"> asiov[o;
<string name="name" value="刮脸痕迹"/> 6d[_G$'nk
:# E*Y8-
.{KjE
g 6
查找 name="Ring" 再查找 1122000 (黑龙项环代码) eK_*2=;XRW
Qp,DL@mp>8
类似这样 `N//A}9
cLa]D[H
<imgdir name="1112906"> pL=d% m.W
<string name="name" value="心心祝福戒指"/> 5wao1sd#
<string name="desc" value="可爱的心心在角色头顶画出心形模样旋转。"/> )4U>!KrY
</imgdir> =WdaxjenZ/
<imgdir name="1112907"> -{XRA
6
<string name="name" value="小鱼戒指"/> $0oO
&)*
<string name="desc" value="装备时,会产生泡泡的效果。有时间限制。"/> -$VZtex
</imgdir> |'ln?D:&
<imgdir name="1112916"> d,vNem-Z*L
<string name="name" value="寂寞单身戒指"/> XKA&XpF
<string name="desc" value="单身贵族的独立宣言,玩得就是“寂寞”!最IN的单身标记,高调不怕围观。"/> 54;J8XT7
</imgdir> D-Vai#Cd
<imgdir name="1122000"> AE`We
$!
<string name="name" value="黑龙项环"/> V3;.{0k
</imgdir> ]?1Y
e8>Y<
<imgdir name="1122007"> #ge)2
<string name="name" value="休彼德蔓的项链"/> \@3Qi8u//
</imgdir> Zv_.na/^K
c
}*2$1
把这段代码剪切出来 eivtH P
/v|"0
<imgdir name="1122000"> UUKP"
<string name="name" value="黑龙项环"/> m"\:o
</imgdir> .o1^Oh
<imgdir name="1122007"> 1% F?B-k
<string name="name" value="休彼德蔓的项链"/> <$w?/y/'
</imgdir> 7'-L
p@an
9j]sD/L5q
放到<imgdir name="Accessory"> 组里。 4to% `)]
Xv
<G-N4
最后类似这样的结构 -!;l~#K=
/){KOCBl;
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> ,ox
cq?7#4
<imgdir name="Eqp.img"> "vCM}F
<imgdir name="Eqp"> s5.AW8X=?*
<imgdir name="Accessory"> (
iJ1
;x
<imgdir name="1122000"> 5J)=} e
<string name="name" value="黑龙项环"/> q+KzIde|%
</imgdir> "LYh7:0s!k
<imgdir name="1122007"> J`q]6qf#
<string name="name" value="休彼德蔓的项链"/> Q-Ux<#
</imgdir> \l"&A
<imgdir name="1010000"> ?&LZB}1
R
<string name="name" value="褐色落腮胡"/> s](aNe2j
</imgdir> 9`jcC-;iv
<imgdir name="1010001"> fJ\sguZ
<string name="name" value="黑胡子"/>
C3hv*
</imgdir> x^|V af
<imgdir name="1010002"> -7/s]9o'
<string name="name" value="忍者口罩"/> O1 .w,U
</imgdir> JXG"M#
{
8zLY6@
&
gJV{V5Ay
然后重启服务端就OK。 装备上黑龙项链把。 不用源代码即可修复。 &R|/t:DN
6、修复PB掉线问题 M<SdPC(+
-----------新建文档 复制以下代码 将文件重命名为8820009.img.xml 放到服务端WZ中对应的xml下-- f\+fo
Iz6y{E
L%v^s4@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> ,uw132<b
<imgdir name="8820009.img"> PkE5|d*,
<imgdir name="info"> SvN9aD1
<int name="bodyAttack" value="0"/> _LAS~x7,
<int name="level" value="1"/> HkV1sT
<int name="maxHP" value="200000"/> IM$2VlC
<int name="maxMP" value="0"/> w{~+EolK
<int name="speed" value="0"/> >{eCh$L
<int name="PADamage" value="0"/> nzjkX4KV
<int name="PDDamage" value="0"/> O%1v)AT&\
<int name="MADamage" value="0"/> ]sz3]"2
<int name="MDDamage" value="0"/> Q%/<ZC.Mz6
<int name="acc" value="0"/> AM"Nn
L"
<int name="eva" value="0"/> 4!asT;`'
<int name="exp" value="0"/> R1F5-#?'E
<int name="undead" value="0"/>
{7!UQrm<
<int name="pushed" value="1"/>
`r5$LaD
<float name="fs" value="10.0"/> T5Q{{ @Q
<int name="removeAfter" value="5"/> 'Y$R~e^Y?
<int name="summonType" value="12"/> c`lJu_
<int name="hideName" value="1"/> 48|s$K ^
<imgdir name="revive"> t
E` cau
<int name="0" value="8820001"/>
:Ih|en^w
<int name="1" value="8820003"/> N=:5eAza
<int name="2" value="8820005"/> 0JgL2ayIVI
<int name="3" value="8820006"/> ^mAYBOE
<int name="4" value="8820004"/> %}86D[PF
<int name="5" value="8820002"/> M
:3u@06a
</imgdir> B!gGK|8
<int name="noFlip" value="1"/> $F.([?)k?
</imgdir> SVjl~U-^
<imgdir name="stand"> Xi?b]Z
<canvas name="0" width="4" height="4"> pE{yv1Yg
<vector name="origin" x="36" y="53"/> 2,lqsd:xM
<int name="delay" value="30"/> "#v=IJy&r
<vector name="head" x="1" y="-1500"/> &U+ _ -Ph
</canvas> \BWykA>
</imgdir> 7 r|(}S
<imgdir name="hit1"> Q0Nyqhvi
<canvas name="0" width="4" height="4"> T081G`li
<vector name="origin" x="36" y="53"/> *A}cL
<int name="delay" value="30"/> TF2>4 p
<vector name="head" x="1" y="-1500"/> H
k
>79};
</canvas> iv phlw
</imgdir> ?[*0+h`en
<imgdir name="die1"> &t5{J53
<canvas name="0" width="213" height="450">
tv
XW
<vector name="origin" x="774" y="495"/> U yw-2]!n
<int name="delay" value="180"/> Ngb(F84H?
<vector name="head" x="1" y="-1500"/> v+jsC`m
<int name="a0" value="255"/> KXV[OF&J
<int name="a1" value="255"/> IHgeQ F
~
</canvas> f84:hXo6
<canvas name="1" width="227" height="493"> h'
!imQ
<vector name="origin" x="778" y="534"/> l5+
gsEux]
<int name="delay" value="180"/> ZEYgK)^
<vector name="head" x="1" y="-1500"/> ?ER-25S
</canvas> {]z4k[;.h
<canvas name="2" width="232" height="497"> 9}B`uJ
<vector name="origin" x="783" y="533"/> pV6d
Id
<int name="delay" value="180"/> yq+!czlZ
<vector name="head" x="1" y="-1500"/> Z/^ u
</canvas> e]=!"nJ+
<canvas name="3" width="237" height="497"> 1!pa;$L
<vector name="origin" x="787" y="529"/> 3nY1[,
<int name="delay" value="180"/> }HE6aF62O
<vector name="head" x="1" y="-1500"/> )
BfT7{WN
</canvas>
^ kST
<canvas name="4" width="239" height="494"> Soie^$
Y
<vector name="origin" x="788" y="525"/> Qb8
KPpd
<int name="delay" value="180"/> Mv c`)_Md
<vector name="head" x="1" y="-1500"/> +0),xu
</canvas> Qu,8t8
<canvas name="5" width="241" height="496"> d:G]1k;z
<vector name="origin" x="789" y="526"/> P}.7Mehf
<int name="delay" value="180"/> B?$ "\;&
<vector name="head" x="1" y="-1500"/> 9N%JP+<89
</canvas> j@Yi`a(sdm
<canvas name="6" width="243" height="494"> \A`hj~
<vector name="origin" x="790" y="523"/> pZ#ap<|>I
<int name="delay" value="180"/> v/ *Y#(X
<vector name="head" x="1" y="-1500"/> A:<;M@q!
</canvas> X=8Y%
<canvas name="7" width="243" height="491"> b$k&dT\o
<vector name="origin" x="790" y="520"/> B\g]({E
<int name="delay" value="180"/> ++L?+^h
<vector name="head" x="1" y="-1500"/> RE.r4uOJg
</canvas> 9Lh|DK,nV/
<canvas name="8" width="241" height="483"> X0-IRJ[
<vector name="origin" x="789" y="513"/> dD<fn9t
<int name="delay" value="180"/> TO2c"7td
<vector name="head" x="1" y="-1500"/> Mg#j3W}]
</canvas> 2MA]j T
<canvas name="9" width="239" height="479"> #_mi `7!B#
<vector name="origin" x="788" y="510"/> DF6c|
<int name="delay" value="180"/> qS&%!
<vector name="head" x="1" y="-1500"/> gX{loG
</canvas> TpA\9N#$
<canvas name="10" width="237" height="476"> T0)"1D<l
<vector name="origin" x="787" y="508"/> _LwOOZj
<int name="delay" value="180"/> vIvVq:6_3
<vector name="head" x="1" y="-1500"/> l"n{.aL
</canvas> >;z<j$;F<
<canvas name="11" width="230" height="485"> iCP/P%
<vector name="origin" x="784" y="521"/> jlFk@:y4
<int name="delay" value="180"/> VF&Z%O3n
<vector name="head" x="1" y="-1500"/> ]pEV}
@7
</canvas> : S$l"wrh\
<canvas name="12" width="235" height="490"> a?yMHb{F
<vector name="origin" x="779" y="535"/> q9"=mO0J+
<int name="delay" value="180"/> ,]}?.g
<vector name="head" x="1" y="-1500"/> >:=|L%]s;\
</canvas> zi~5l#I
<canvas name="13" width="275" height="495"> ?S
?2 0
<vector name="origin" x="797" y="540"/> H A}f,),G
<int name="delay" value="180"/> ,3I^?5
<vector name="head" x="1" y="-1500"/> $./bjV%
</canvas> oJKa"H-jL
<canvas name="14" width="284" height="495"> "m{,~'x
<vector name="origin" x="797" y="540"/> >=iy2~Fz ,
<int name="delay" value="180"/> 4'KOpl
K
<vector name="head" x="1" y="-1500"/> v){ .Z^_C
</canvas> jkiTj~WE-
<canvas name="15" width="249" height="493"> I8OD$`~*U6
<vector name="origin" x="786" y="538"/> rQTr8DYH
<int name="delay" value="180"/> /yLZ/<WN
<vector name="head" x="1" y="-1500"/> \,!QJp4
</canvas> \.XLcz
<canvas name="16" width="218" height="464"> Q4t(@0e}
<vector name="origin" x="774" y="509"/> 8 i&_Jgmr
<int name="delay" value="180"/> Y-ux7F{=z
<vector name="head" x="1" y="-1500"/> ]CU]pK?nq
</canvas> >r &;3:"
<canvas name="17" width="213" height="480"> >h Y"
3
<vector name="origin" x="774" y="525"/> }AZc8o-
<int name="delay" value="180"/>
9;Fbnp'
<vector name="head" x="1" y="-1500"/> UZ8?[
</canvas> -st7_3
<canvas name="18" width="213" height="488"> U $Qv>7
<vector name="origin" x="774" y="533"/> Hn,:`mj4-6
<int name="delay" value="180"/> K.gEj*@
<vector name="head" x="1" y="-1500"/> Z -%(~
</canvas> 61U<5:#l
<canvas name="19" width="214" height="491"> ,2oF:H
<vector name="origin" x="775" y="536"/> C1T_9}L-A
<int name="delay" value="180"/> c62=* ] ,
<vector name="head" x="1" y="-1500"/> HaA1z}?n
</canvas> = sAn,ri
<canvas name="20" width="216" height="489"> p8wyEHB
<vector name="origin" x="776" y="534"/> D+lzFn$3
<int name="delay" value="180"/> lq.Te,Y%w
<vector name="head" x="1" y="-1500"/> @eqeN9e
</canvas> B*!WrB:s
<canvas name="21" width="213" height="450"> 4YZS"K'E
<vector name="origin" x="774" y="495"/> ~-a'v!
<int name="delay" value="600"/> wPbkUVO
<vector name="head" x="1" y="-1500"/> #6Xs.*b5C
</canvas> P7B:%HiAx
</imgdir> >-E<