| 发帖: 138 | 粉丝: 0
| | 铜币: 110 | 龙鳞: 138 |
能量: 0
耐力: 49
经验: Lv3
精灵:
| | |
该隐藏帖已经发布超过60天,已自动取消隐藏功能,无需回复即可查看!由于刚才发错,三楼才是连接 *^=`HE89S 服务端修改文字教程 tB &D~M6[ 1、[079咖啡端]添加打开一个没有JS的NPC出现对话框 L,[0*h 打开scr/net/s(和谐)f/odinms/scripting/npc/NPCScriptManager.java 6NZ3( LV0g *ng 找到 $d:/cN
8E public void start(MapleClient c, int npc) { 3xsC"c> try { ^.mQ~F NPCConversationManager cm = new NPCConversationManager(c, npc);
8yOzD if (cms.containsKey(c)) { r|fJ~0z return; =9i:R!,W } oPk 2ac cms.put(c, cm); 1'"o; a]k/ Invocable iv = getInvocable("npc/" + npc + ".js", c); WUQ2[)< if (iv == null || NPCScriptManager.getInstance() == null) { |08 tQ cm.dispose(); #PVgx9T=_ return; 'dQ2"x?4 } {}D8Y_=9\ engine.put("cm", cm); R/~j <.s3P NPCScript ns = iv.getInterface(NPCScript.class); REW
*6: scripts.put(c, ns); -1Lh="US ns.start(); AVOqW0Z+y } catch (Exception e) { 9^4^EY# log.error("Error executing NPC script " + npc, e); HO41)m+& dispose(c); k^ B'W{ cms.remove(c); `dMOBYV } 6>%)qc$i } ]8htJ]<|Q M< *5Y43 全选替换掉 d5T0#ue/e 将下面一段代码替换进去 >9esZA^'; public void start(MapleClient c, int npc) t.j q]L { Fq&@dxN3 try { m qPWCFP if (c.getPlayer().isGM()) isj<lnQ c.getPlayer().dropMessage("[系统提示]您已经建立与NPC:" + npc + "的对话。"); 8{6KWqG\ # h/- NPCConversationManager cm = new NPCConversationManager(c, npc); }bIEW ho if (this.cms.containsKey(c)) ``1#^ ` return; 6G/)q8'G -qs.'o
;2 this.cms.put(c, cm); $T^O3 8$ Invocable iv = getInvocable("npc/" + npc + ".js", c); /cJ$`
pN if ((iv == null) || (getInstance() == null)) { }z,4IHNn cm.sendOk("对不起,我并没有被管理员设置可使用,如果你觉得我应该工作的,那就请你汇报给管理员.\r\n我的ID编号: #r" + npc + "#k."); fH`P8?](x cm.dispose(); 7xVI,\qV return; +&O[}%W } -F4CHpua this.engine.put("cm", cm);
1mJBxg}( NPCScript ns = (NPCScript)iv.getInterface(NPCScript.class); Z]1~9:7ap this.scripts.put(c, ns); -[~{c]/ c ns.start(); HGC>jeWd_ } catch (Exception e) { :)q/8 0@ log.error("Error executing NPC script " + npc, e); TA`*]*O( dispose(c); TiCp2Rsz this.cms.remove(c); !
D'U:) }
b?CmKiM% } rD%(*|Y"c 2、[079咖啡端]修复怪物打不死 r1}OlVbK 1.打开源码找到net\s(和谐)f\odinms\net\channel\handler\AbstractDealDamageHandler.java bG^E]a/D 8/-GrdyE 找到这个函数parseDamage() 然后用下面的代码替换 注意替换前先备份! -J:](p KB&t31aq --------------------------------------------------------------------------------- +'=^/! 5[al^'y public AttackInfo parseDamage(MapleCharacter c, LittleEndianAccessor lea, boolean ranged) { #8R\J[9 AttackInfo ret = new AttackInfo(); A>%fE 6FY lea.readByte(); >
9JzYI^ lea.skip(8); b^y#.V.|k ret.numAttackedAndDamage = lea.readByte(); JR$Dp&]I lea.skip(8); 'ujtw:Z: ret.numAttacked = (ret.numAttackedAndDamage >>> 4 & 0xF); /!eC;qp;[ ret.numDamage = (ret.numAttackedAndDamage & 0xF); k^C;"awh ret.allDamage = new ArrayList(); bNFX+GA/ ret.skill = lea.readInt(); X3!btxa%t lea.skip(8); 7eQ7\,^H if ((ret.skill == 2121001) || (ret.skill == 2221001) || (ret.skill == 2321001) || (ret.skill == qX0IHe PP[{c 5201002) || (ret.skill == 14111006) || (ret.skill == 5101004) || (ret.skill == 15101003)) R{8nR00|1 ret.charge = lea.readInt(); Zr;.`(> else { cI?dvfU? ret.charge = 0; '@AK0No\W } }dAb}0XK. _&XT
=SW} if (ret.skill == 1221011) ah"2^x ret.isHH = true; *VIM!/YW |42E'zH& lea.readInt(); w]"Y1J(i ret.aresCombo = lea.readByte(); QP7EP aW int sourceid = ret.skill; VaZS_qGe: if ((sourceid == 21100004) || (sourceid == 21100005) || (sourceid == 21110003) || (sourceid == wI
#_r_ H6/@loO!Xy 21110004) || (sourceid == 21120006) || (sourceid == 21120007)) hs2f3;) c.setCombo(1); 6.EfM^[ "2'nLQ""q ret.pos = lea.readByte(); (+@3Dr5o0} ret.stance = lea.readByte(); ^\e:j7@z 2(5wFc if (ret.skill == 4211006) {
fhL dM return parseMesoExplosion(lea, ret); HzQ6KYAM q } M7eO5 Z&s+*&TM if (ranged) { g5V9fnb!d lea.readByte(); >>(2ZJ ret.speed = lea.readByte(); &hB~Z(zS! lea.readByte(); hAfR Hd ret.direction = lea.readByte(); r7C
m lea.skip(7); e|):%6# if ((ret.skill == 3121004) || (ret.skill == 3221001) || (ret.skill == 5221004) || (ret.skill == $*xnq%A [k@D}p
x 13111002)) T d4 /3k lea.skip(4); w{F8]N>0< } WQv~<]1JF else { xY5Idl-> lea.readByte(); T_[W=9 ret.speed = lea.readByte(); R|$=Pfg~4 lea.skip(4); >`5iq.v } _S,2j_R9 ^(N+s? for (int i = 0; i < ret.numAttacked; ++i) { nvu|V3B0 int oid = lea.readInt(); \r324Bw>2 =XQ3sk6U lea.skip(14); (4$lB{% }}cVPB7 List allDamageNumbers = new ArrayList(); (FH4\ 't) for (int j = 0; j < ret.numDamage; ++j) { =(Mv@eA" int damage = lea.readInt(); F!|Z_6\tv: f3y_&I+zl MapleStatEffect effect = null; >f'nl if (ret.skill != 0) m1]rLeeEt effect = SkillFactory.getSkill(ret.skill).getEffect(c.getSkillLevel(SkillFactory.getSkill G/Kz_Y, 7T_g?!sdMh (ret.skill))); %Q1v8l.} J0d +q! if ((damage != 0) && (effect != null) && (effect.getFixedDamage() != 0)) H^K(1
damage = effect.getFixedDamage(); M4nM%qRGQ ? RB~%^c! allDamageNumbers.add(Integer.valueOf(damage)); +SrE } O*H:CW if (ret.skill != 5221004) #ZCgpg$wM lea.skip(4); |ng[s6uf 8BE OE< ret.allDamage.add(new Pair(Integer.valueOf(oid), allDamageNumbers)); nl*{@R.q @ } ]o6yU#zn~e KP_=#KD return ret; ;?=nr 5;q } wjq f u / gSZNsiH vFL3eu# --------------------------------------------------------------------------------- {8@?9Z9R{ mrqCW]#u 2.接着找到net\s(和谐)f\odinms\client\MapleCharacter.java ~bigaY Lt@4F 查找 ItYG9a //战神Combo #c+N}eX{ private int combo = 0; >]T(}S~ private int comboCount = 0; /-^gK^ O7s0M?4 将其修改为 @]H&(bw //战神Combo WYRTt2(+% private int combo = 0; q jDWA' private int comboCounter = 0; U[U$1LSS &5(|a"5+G 此时应再查找comboCount 将其修改为comboCounter(不然原变量将不可用 导致变量未定义) 9s73mu`Twg 应该也可以重新定义comboCounter这个变量 没实验
SN?jxQ Ea!}r|~]0 然后在下面适当处增加两个函数 0AJ6g@t[ gBYL.^H^l public int getCombo() { L(`^T` return this.comboCounter; _f|Au`7m } Iy8gQdI o7/_a/ public int setCombo(int combo) { +]I;C return (this.comboCounter = combo); xb8fV*RO8A } _#f/VE p|(910OEQ 代码就修改完毕了 编译后 怪物就应该能掉血了! kQ.atr`? e hB P]^~( Arir=q^2 大概原因分析: wh|[
"U(' 攻击封包数据改变,原来处理封包的方式已经不能适用了 所以应当修改原来的处理结构! %+gze|J 3、[079咖啡端]修复双击人物客户端自动退出问题 =ub&@~E 双击人物不管是自己还是他人都需要查看角色信息,原先我以为是加入的有家族的原因。 换了个没家族的号还是那样, !ye%A& 结果我就感觉应该是处理封包的问题了。 说明白点就是 MaplePacketCreator.java 有问题,然后我又仔细比较了下 楚天和咖啡端的 MaplePacketCreator.java jn]hqTy8 U6jlv3 发现charinfo 处理有出入。 咖啡端似乎少了一些东西, 就是椅子列表显示那部分。 于是我对照两者的代码修复了下。 r$k
*:A$% 也不算是修复。 因为这样弄过以后不会显示你有椅子。 抱歉。 我JAVA不太行。 大家原谅下了。 ?7^(' 6\4oHRJC 处理方法: |rW}s+Kcr &r~~1BnpHm 打开 src\net\s(和谐)f\cherry\tools\MaplePacketCreator.java s3g$F23 (或者是src\net\s(和谐)f\odinms\tools\MaplePacketCreator.java) 6}C4 SZ "!E(=W? |A'8 'z&q 找到 0m7J'gm{ 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")); u$t*jw\fHg XLqS{r~? Fdm7k){A x"8(j8e H$(%FWzQ% 替换成 F mh;d*IT mplew.writeInt(0); DG7FG-- mplew.writeShort(0); >p\IC MapleInventory iv = chr.getInventory(MapleInventoryType.SETUP); L9fhe,en List<Item> chairItems = new ArrayList(); gWy2$) for (IItem item : iv.list() ) { %j2YCV7 if ((item.getItemId() >= 3010000) && (item.getItemId() <= 3020001)) { o[+1O //chairItems.add(item); -T4?5T_ } C([;JO
11[ } CyzvQfpZr mplew.writeInt(chairItems.size()); v}xz`]MW<, for (IItem item : chairItems ) { pUwx`"DrR mplew.writeInt(item.getItemId()); .g(yTA } 4%\L8: mplew.writeInt(0); IJS9%m# 4、修复咖啡端不消耗飞镖 <~"q z*_ RangedAttackHandler.java S;+bQ. {(D$Xb 找到 (LL4V
3) //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)) { (}4tj4d MapleInventoryManipulator.removeById(c, MapleInventoryType.USE, projectile, bulletConsume, false, true); [NeOd77y // } &:akom8 6by5VESx 按上面方式处理 0u'2f`p* 5、修复黑龙项链带不了的BUG )uwpeq$j7l 先解释一下为什么国服的黑龙项链带不上。 用1.5deMSwZ.exe 打开string.wz得到这样的结果 (W=z0Lqu 8@6:UR.) Eqp.Ring.1112904.name 彩虹星环绕戒指 [2095484] s,K @t_J Eqp.Ring.1112904.desc 五彩斑斓的星星和心围绕着角色旋转。 [2095507] K+ ufcct Eqp.Ring.1112905.name 超大心环绕戒指 [2095572] */nb%QV Eqp.Ring.1112905.desc 可爱的大心心在角色周围以心形模样旋转。 [2095595] >AN`L`%2 Eqp.Ring.1112906.name 心心祝福戒指 [2095664] \ts:' Eqp.Ring.1112906.desc 可爱的心心在角色头顶画出心形模样旋转。 [2095685] fU>"d>6!S Eqp.Ring.1112907.name 小鱼戒指 [2095754] ORcl=Eo> Eqp.Ring.1112907.desc 装备时,会产生泡泡的效果。有时间限制。 [2095771] b'Mg Eqp.Ring.1112916.name 寂寞单身戒指 [2095840] Ln[R}qD Eqp.Ring.1112916.desc 单身贵族的独立宣言,玩得就是“寂寞”!最IN的单身标记,高调不怕围观。 [2095861] nt "VH5 Eqp.Ring.1122000.name 黑龙项环 [2095962] 5SR29Z[ Eqp.Ring.1122007.name 休彼德蔓的项链 [2096001] ~S"G~a(&j N(t1?R/e, 再来看下其他项链在哪个位置 ZS >}NN 5{,/m"- 2~R"3c+^ Eqp.Accessory.1122029.name 苏醒的冒险之心 [1897757] A[htG\A` 0 Eqp.Accessory.1122030.name 苏醒的冒险之心 [1897802] b]4yFwb Eqp.Accessory.1122031.name 苏醒的冒险之心 [1897836] MCL?J,1?r Eqp.Accessory.1122032.name 苏醒的冒险之心 [1897870] NjYpNd?g Eqp.Accessory.1122033.name 苏醒的冒险之心 [1897904] u6t.$a!5 Eqp.Accessory.1122034.name 觉醒的冒险之心 [1897938] J^n(WnM*F Eqp.Accessory.1122035.name 觉醒的冒险之心 [1897983] ouVR[w>V Eqp.Accessory.1122036.name 觉醒的冒险之心 [1898017] >I]t|RT]) Eqp.Accessory.1122037.name 觉醒的冒险之心 [1898051] fcnbPO0M Eqp.Accessory.1122038.name 觉醒的冒险之心 [1898085] ^:{l~~9iKp Eqp.Accessory.1122058.name 休彼德蔓的混沌项链 [1898119] VH#]67 COJqVC(# 4xtbP\= {-Yp~HQF 很明显盛大把 黑龙项链 和 休彼德蔓的项链 故意或者无意放错了地方,放到了(戒指组里) IH}?CZ@{? 9y.C])(2 现在要做的是把这两个物体重新搬到 Accessory组里。 Pk~P tz1iabZ{ q6H90Zb 解决办法: #jA|04w b=K ,GVHwTZ0` 找到服务端目录 wz\String.wz\Eqp.img.xml /LuwPM ^YenS6`F 类似这样的结构 oIoJBn (cNT ud$ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> `+1*)bYxU <imgdir name="Eqp.img"> bi#o1jR <imgdir name="Eqp"> ofcoNLX5c <imgdir name="Accessory"> `o/tpuI <imgdir name="1010000"> )3h=V^rm <string name="name" value="褐色落腮胡"/> D'Byl,W$ </imgdir> .H7"nt^ <imgdir name="1010001"> ^tc@bsUF <string name="name" value="黑胡子"/> aina6@S </imgdir> $w+g%y) <imgdir name="1010002"> p8Lb*7W <string name="name" value="忍者口罩"/> +P}'2tE~' </imgdir> z[ z'.{;D <imgdir name="1010003"> "LP4)hr_` <string name="name" value="刮脸痕迹"/> Z%(aBz7Et cU%#oEMf< yK"U:X 查找 name="Ring" 再查找 1122000 (黑龙项环代码) :ozHuHJ# T=;'"S 类似这样 qO&:J\d <gf:QX! <imgdir name="1112906"> >9<h?F%S <string name="name" value="心心祝福戒指"/> f`/JY!uj{ <string name="desc" value="可爱的心心在角色头顶画出心形模样旋转。"/> r A0[ y </imgdir> ,dzbI{@6 <imgdir name="1112907"> #^!oP$>1 <string name="name" value="小鱼戒指"/> VIAj]Ul <string name="desc" value="装备时,会产生泡泡的效果。有时间限制。"/> H'?Bx>X </imgdir> (tyo4Tz1 <imgdir name="1112916"> f+fF5Z\ <string name="name" value="寂寞单身戒指"/> <wj2:Z0 <string name="desc" value="单身贵族的独立宣言,玩得就是“寂寞”!最IN的单身标记,高调不怕围观。"/> e/#4)@] </imgdir> 1swh7 <imgdir name="1122000"> Xw9,O8}C7 <string name="name" value="黑龙项环"/> 1ww|km </imgdir> ;`X -.45 <imgdir name="1122007"> KkJcHU <string name="name" value="休彼德蔓的项链"/>
S3)JEZi </imgdir> I0m/ Yfxc$ub 把这段代码剪切出来 9OF5A<%"u ;Jv)J3y <imgdir name="1122000"> kW6}57iV <string name="name" value="黑龙项环"/> J>!p^|S{ </imgdir> 2}~1poyi> <imgdir name="1122007"> 5 xTm] <string name="name" value="休彼德蔓的项链"/> DrHMlk5 </imgdir> #mx;t3ja7 )c]GgPH 放到<imgdir name="Accessory"> 组里。 'e;*V$+ c)iQ3_&= 最后类似这样的结构 $'?CY)h{ (;~[}" <?xml version="1.0" encoding="UTF-8" standalone="yes"?> Zm&Zz^s <imgdir name="Eqp.img"> P1Re7/ <imgdir name="Eqp"> "o;l8$)VL <imgdir name="Accessory"> ""CJlqU <imgdir name="1122000"> |I)xK@7 <string name="name" value="黑龙项环"/> ;X|;/@@ </imgdir> Tk.MtIs)V} <imgdir name="1122007">
4?jhZLBU <string name="name" value="休彼德蔓的项链"/> !G`w@E9M) </imgdir> RTLu]Bry <imgdir name="1010000"> dr,j~ s <string name="name" value="褐色落腮胡"/> cS QUK </imgdir> &rcr])jg[ <imgdir name="1010001"> 6S"bW)O <string name="name" value="黑胡子"/> d/P$q MD </imgdir> ` mALx! ` <imgdir name="1010002"> .?!{. D <string name="name" value="忍者口罩"/> 9XobTi3+' </imgdir> $AG.< }-:
d*YtK L_)?5IOJ$ 然后重启服务端就OK。 装备上黑龙项链把。 不用源代码即可修复。 ]$0{PBndW 6、修复PB掉线问题 FE/&<g0,: -----------新建文档 复制以下代码 将文件重命名为8820009.img.xml 放到服务端WZ中对应的xml下-- aOWbIS[8 [RC|W%<Z> MSRIG- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> lSXhHy <imgdir name="8820009.img"> [OH>NpL <imgdir name="info"> 2rPKZ| <int name="bodyAttack" value="0"/> \
{"8(ELX <int name="level" value="1"/> 1hi^ <int name="maxHP" value="200000"/> xhg{!w <int name="maxMP" value="0"/> )z7.S"U <int name="speed" value="0"/> r-4I{GPb <int name="PADamage" value="0"/> G\jr^d\ <int name="PDDamage" value="0"/> {:S{a+9~ <int name="MADamage" value="0"/> :T%,.sH <int name="MDDamage" value="0"/> g>OGh o <int name="acc" value="0"/> C:EF(/>+- <int name="eva" value="0"/> KGP2,U6 <int name="exp" value="0"/> VR*5}Qp <int name="undead" value="0"/> $dorE~T <int name="pushed" value="1"/> ax>en]rNP <float name="fs" value="10.0"/> e!eWwC9u <int name="removeAfter" value="5"/> ;u}MG3Y8 <int name="summonType" value="12"/> 0S/&^ <int name="hideName" value="1"/> j1**Ch/ <imgdir name="revive"> OSfwA& <int name="0" value="8820001"/>
78qf <int name="1" value="8820003"/> !Q#u
i[0q <int name="2" value="8820005"/> .N/4+[2p( <int name="3" value="8820006"/> `1M_rG1/+ <int name="4" value="8820004"/> sDJ5'ul <int name="5" value="8820002"/> "/ @
;6 </imgdir> 6Oo'&3@ <int name="noFlip" value="1"/> >tib21* </imgdir> O=c& <imgdir name="stand"> "i_tO+ <canvas name="0" width="4" height="4"> |])%yRAGQ <vector name="origin" x="36" y="53"/> t
m5>J)C <int name="delay" value="30"/> C[gSiL
<vector name="head" x="1" y="-1500"/>
,2 &'8:B </canvas> 05|t </imgdir> 3Y=T8Gi# <imgdir name="hit1"> //H+S
q66 <canvas name="0" width="4" height="4"> h>bmHQ <vector name="origin" x="36" y="53"/> 47$JN}qI0 <int name="delay" value="30"/> cf0em! <vector name="head" x="1" y="-1500"/> z-krL: A </canvas> oDKgW?x </imgdir> [h%_` 8z <imgdir name="die1"> +1h^9Y' <canvas name="0" width="213" height="450"> z)QyQ <vector name="origin" x="774" y="495"/> YwB5Zqr <int name="delay" value="180"/> yMX4 f <vector name="head" x="1" y="-1500"/> s_D7?o <int name="a0" value="255"/> {oBVb{< <int name="a1" value="255"/> <KHB/7 </canvas> O}IS{/^7 <canvas name="1" width="227" height="493"> NmOQ7T <vector name="origin" x="778" y="534"/> #?}Y~Oe <int name="delay" value="180"/> ^Ud`2 OW;2 <vector name="head" x="1" y="-1500"/> aW w`v[v </canvas> ;h/Y9uYn <canvas name="2" width="232" height="497"> zx=A3I%7 A <vector name="origin" x="783" y="533"/> O}#*U+j <int name="delay" value="180"/> IQ2<Pinv <vector name="head" x="1" y="-1500"/> oY +RG|j@ </canvas> 6D0uLh <canvas name="3" width="237" height="497"> 2HQHC] <vector name="origin" x="787" y="529"/> P5] cEZ n <int name="delay" value="180"/> _@?]!J[ <vector name="head" x="1" y="-1500"/> pxDZ}4mOh </canvas> HV>|f'45 <canvas name="4" width="239" height="494"> 6"&&s <vector name="origin" x="788" y="525"/> ~5p
`Kg* <int name="delay" value="180"/> -J? df <vector name="head" x="1" y="-1500"/> szmjp{g0 </canvas> &W.tjqmw <canvas name="5" width="241" height="496"> kE6\G}zj <vector name="origin" x="789" y="526"/> t@4X(i0 <int name="delay" value="180"/> Jv7 @[<$ <vector name="head" x="1" y="-1500"/> ;qG a|`#j </canvas> @H7dQ,% <canvas name="6" width="243" height="494"> UT[KwM{y <vector name="origin" x="790" y="523"/> =YLt?5|e <int name="delay" value="180"/> tC|5;'m.2 <vector name="head" x="1" y="-1500"/> MKoN^(7 </canvas> R8":1 #& <canvas name="7" width="243" height="491"> "GZhr[AW <vector name="origin" x="790" y="520"/> p)TH^87 <int name="delay" value="180"/> :V+t|@m5l <vector name="head" x="1" y="-1500"/> Szwa2IdI. </canvas> V :d/;~ <canvas name="8" width="241" height="483"> e5veq!*C? <vector name="origin" x="789" y="513"/> >A2&
Mjo <int name="delay" value="180"/> LjxTRtB_ <vector name="head" x="1" y="-1500"/> aASnk2DFd </canvas> *2;w;(-s <canvas name="9" width="239" height="479"> .JQR5R |Q <vector name="origin" x="788" y="510"/> bs_I{bCu? <int name="delay" value="180"/> <@;e N& <vector name="head" x="1" y="-1500"/> b!7"drge: </canvas> "uZ'oN <canvas name="10" width="237" height="476"> $5il]D` <vector name="origin" x="787" y="508"/> ^+,mxV'8! <int name="delay" value="180"/> x%cKTpDh! <vector name="head" x="1" y="-1500"/> ]*):2%f </canvas> #H7(d T <canvas name="11" width="230" height="485"> >OiC].1
<vector name="origin" x="784" y="521"/> 5
0~L(< <int name="delay" value="180"/> I>9rfmmTI <vector name="head" x="1" y="-1500"/> !aLByMA </canvas> gK#aC[ <canvas name="12" width="235" height="490"> 4:6@9.VVT <vector name="origin" x="779" y="535"/> e^Jy-?E <int name="delay" value="180"/> IXd&$h]Lq <vector name="head" x="1" y="-1500"/> ap;*qiNFQ </canvas> )I!l:!Ij*D <canvas name="13" width="275" height="495"> ^z0[{1 <vector name="origin" x="797" y="540"/> DrMcE31 <int name="delay" value="180"/> |6_<4lmTxF <vector name="head" x="1" y="-1500"/> joM98H@ </canvas>
n-H0cm <canvas name="14" width="284" height="495"> G
V0q? <vector name="origin" x="797" y="540"/> }o)GBWqHR <int name="delay" value="180"/> E.6^~'/ <vector name="head" x="1" y="-1500"/> W]6Y
buP: </canvas> !H?#~{
W} <canvas name="15" width="249" height="493"> tb0s+rb <vector name="origin" x="786" y="538"/> ]!0*k#i_. <int name="delay" value="180"/> $R7d*\(G <vector name="head" x="1" y="-1500"/> L$7v;R3 </canvas> li/O&@g` <canvas name="16" width="218" height="464"> xA& |