@1@";K|dd ( @       ???????dv \@sprite0   Qxs5a3 b(fdH@Q@(EhtDR/.0F42d8, OE1cꆏQ4Fasprite3  xUA wѣ/HdLIv ck? X _kK:6/AhG% Ӵ44ǰKZEB/FXr^)Tj񹦖ELQL@DBq IRп=45xݡcr*6s &^B>!@7N7^H'w sprite4  xM q\];=SGT@BC t@>^}9/K?S(_k) HK)H뺵S)Lf,>e:y-ًW Puj+Uh9a`(_( W '|!.gKm!M[g|܄tشC؏i?cxrVNDb'^/?@f5и!#< ? bullet   Qxs5a3 b(fdH@Q@(EhtDR/.0F42d8, OE1cꆏQ4Faexplode  Rxs5a3 b(fdH@Q(Eh vDR 6|pE7r?p꣕(Eh #mt xs5a3 b(fdH@Q(Ehx"NŌ 6|D0s`L#<!~ fbw@ j2 `t*&cZD cG(E#]n\ xT1 $}fb2e*[Cbg@igN@sBp8b gYq8۽:2 Ziہ ~ O1qqB1R$XvJ(=Hֈ~+34}|r#eH\M"›[R)v/J.ŗ@vX! `\]Ra~=O+5_M2*m`SI 6KCE1t:h~_?g q[ugomK WxՔ0*$Ha.Jp@ *%PJpHiX-`G1vV?X\)[Zo74bl[3/#bQ?'sh|tA_^z)T*ybw8-Dچ}zd%Јgl'XxPDąſ/7 1$/~=<l:vB|bC'}?F}Z wx;n I")SRL7|ҝ3,a +7v4Y͓&.|£y}l7'/yN%8JmЏq2ޛyY~:fZz}k|&nQѬ 4a}rd]ӶWFX'ځzRhU$o>.L3C88mѝ(؟])t ZV<_򘡩xߵD# -˙u/WvpCYh)F̠K:2̘ɒjG%H< Ax>U2x FP`&S;hӴH^\RkE|y)3. s>tݱ.G^ɴ269 7J 6Îy\@fONd'D/8x= 1GcO"?%V^*OoRDn #(sd0^3ŏ]" _9\z4Wp+F0\?o|*_QL3)ԋ Gp.K>jEX:Sf|KSQ^/Ki x픻q0 E2trV>QVA#d2$AAәS} 3OAdK/-z#v?($fazRWe@ʩx| Sb0k@+;;HT !s,Z,t- O6]7^hw a&*wúho BZʬdB&|dX&!y#n?rlWߝc*Opz3tOl<L*؟/b!xfE-&YSbxۏ}oq˚3Å_m2_5?GaEٴphGK xU1n0 dn5B_S!Oq⧥# Mե3RI \-%x (pof/Fx#$75cO1%. ^Z>ýo 'g 6*BpXNg""?ߑ>b6Y!\ɂg.B0Z%巡,uѬhq%$-$_dUnQ *Wnd1(󉵆ҥp(ydmuΗ.u~|So;=C 42LԸ,%rLְ5W2JlpTuK0սVޗ(9; xT;n0 e71ntr|Gz[Jg:cTD@{|$ux=>/g;XR-c/eyv܊)),O5!7g'\B+})dPDYr'0o!pYhEM&"|DͯP^g]x]ChCcej>Rz!pT^sɎ'B#ovcTmg!|}-.-yO"WU/D xU;r0 U:̰ePI'}1(r\#$%Xa4Gx'=}xy=3^Ox5~'Wk^ve M{Y~-b] n~2&'GW̪o9XN7eAaa0YȀ<%Rψ`"`|_Y\w,!0xSp#}4]RJ!bD {Z*S(8+ga 4Z~J:+f1qIe~[P?+\80ǟ>H6P;!Z-IM~Qو׈)B)rpg q>⤄#ҒqkAW'Ò>]q&wpk0oNONG xVm0d:2]\cVF@k ,ql8BF(R~EL Bt)\xN~>Y} ~Ws}>≬(UBB.3+Gr")7LHKFaQ2?[|~`hQ9 Z̡W8JPn^C(1u ٱp1IK4bbrF^B_iN)S^LvKp gz֐wkI$p*Mfm;"M='C}H au]IG1>5X}I6|{~:9 {xT;n0 U 1[5vxѽp-WMGzOthZyQ/ϝ y_,oҵ,'yջKb2N`;QQq`»]$cL;Ct;p Q9GP:'p@(>;[G_Zϔ8 t ^ޤQ 1y Ă122RLScCXj:rTB A ܙL6Q7J90`'"G{d~)^?0q<}8w|dSQw(!tsDTјY!&IfYxsD1I}fq\Kje6?q).H;)F(EhMh(4op~tn@D6"jY dK1AZAGdۈV 5!ini#hbh!^ Fxs5a3 b(fdH@Q(EhQ4F(E8%- Nd^ 9xs5a3 b(fdH@Q(EhQ4F(EC -=84sprite7 xkLUq!.^0c` [XДfVBQ1Fuҕې+P.eʭPHV\qTEDE[󞼜s^$;<5zyMo Gq W_|;;g|wOKxƝ&2!=8̃~*-J<;'޻Ps؞{}'< #+ϷX=u|8۳*34ZuBYDC̰_d`vU)3*D5AIe\6`Hoh_>H|_);ɹSވ8A8(Yu<,Gvjs+mb.դUted@AqX*S\KԭrUAE5~ZÛ-V,U pN/ I̊B`;88)=6!2f㍎Uk'-FY>ZQg]Hn3Kg,ɑ:kSlZoݬՂFNm]8ΟGahPS{դsshK{n  t^ +7OXeE1GC~3j>G <2=}&gj}[ʢAIX2媌HVa%p\Zp:HF~}nڛ=y&'4 JbT F9w=-#m¡'LbxŠ9D;,d3-*8384jqb3@#{\I.6Qz, @=_ Foedlv Y &:]?em{O4 Sp|(TTan*8ٹApW7[4SYRD*.3937"'!pDyt %^΂sXpV/LCx g}ss{t(%< %9PiU5vhfWܝN2e Lr{Ffg|+(yt1= 䎜XTf^ L:<n^!JKyoD2 8 ̌V0(W E`O/唜{+P1j10褔t/15Ƽ];QZ)l4ktʢ';]ې  send string cglobal.receivestring'waiting for player'000000[commchoice= show_menu('ipx|serial|TCIP',0) if (commchoice=0) { mplay_init_ipx() show_message('comm mode ' + string(mplay_connect_status())) } else { if(commchoice=1) { port = show_menu('Change settings|Comm1|Comm2|Comm3|Comm4',0) mplay_init_serial(port,9600,0,0,0) show_message('comm mode ' + string(mplay_connect_status())+" port"+string(port)) } else { mplay_init_tcpip(0) show_message('comm mode ' + string(mplay_connect_status())) } } if (mplay_session_find() =0) { mplay_session_create('comms',2,'master') global.player1=1 } else { mplay_session_join(0,'slave') global.player1=0 } show_message('You are player' + string(mplay_player_find())) 0000000-action_set_alarm12000000]check for second player0000000 daction_if_variablemplay_player_find()200000000000000action_create_object 410010000000action_create_object 530030000000action_create_object 110000000cglobal.receivestring''000000-action_set_alarm31000000]do comms after alarm00000000000000000000000-action_set_alarm12000000]keep checking for player0000000-action_set_alarm31000000cglobal.receivestringmplay_data_read(0)000000 action_ifglobal.player1=1000000000000000[mplay_data_write(1,car1.x) mplay_data_write(2,car1.y) mplay_data_write(3,bullet1.x) mplay_data_write(4,bullet1.y) mplay_data_write(5,car1.hits) 0000000ccar2.xmplay_data_read(11)000000ccar2.ymplay_data_read(12)000000c bullet2.xmplay_data_read(13)000000c bullet2.ymplay_data_read(14)000000c car2.hitsmplay_data_read(15)000000000000000000000000000000[mplay_data_write(11,car2.x) mplay_data_write(12,car2.y) mplay_data_write(13,bullet2.x) mplay_data_write(14,bullet2.y) mplay_data_write(15,car2.hits) 0000000ccar1.xmplay_data_read(1)000000ccar1.ymplay_data_read(2)000000c bullet1.xmplay_data_read(3)000000c car1.hitsmplay_data_read(5)000000c bullet1.ymplay_data_read(4)00000000000000 action_ifmplay_player_find()<2000000000000000Aaction_messageplayer left the room0000000Kaction_restart_game0000000000000000]1erase send string after delay in case key bounces0000000ckeyboard_string''000000 [%mplay_data_write(0,keyboard_string) 0000000]=do not erase string straight after sending in cas key bounces0000000-action_set_alarm50000000action_draw_text'' + keyboard_string0000000receive string  action_ifis_real(global.receivestring)0000000cglobal.receivestringstring(global.receivestring)000000action_draw_text'' + global.receivestring03000000car1 cshot0000000cfacing0000000action_create_object 6-100-10000000chits0000000cshot0000000 ]$need a colission event to make solid0000000( action_ifglobal.player1=10000000maction_move_to02000000' action_ifglobal.player1=1000000000000000maction_move_to20000000cfacing100000000000000& action_ifglobal.player1=10000000maction_move_to0-2000000% action_ifglobal.player1=1000000000000000maction_move_to-20000000cfacing000000000000000   action_ifglobal.player1=1000000000000000daction_if_variableshot000000000000000maction_move_tocar1.xcar1.y000000 action_iffacing=00000000gaction_set_hspeed-10000000000000000gaction_set_hspeed100000000-action_set_alarm500000000cshot10000000000000000000000car2 cshot0000000cfacing0000000action_create_object 7-100-10000000chits0000000cshot0000000 ]$need a collision event to make solid0000000( action_ifglobal.player1=00000000maction_move_to02000000' action_ifglobal.player1=0000000000000000maction_move_to20000000cfacing100000000000000& action_ifglobal.player1=00000000maction_move_to0-2000000% action_ifglobal.player1=0000000000000000maction_move_to-20000000cfacing000000000000000   action_ifglobal.player1=0000000000000000daction_if_variableshot000000000000000maction_move_tocar2.xcar2.y000000 action_iffacing=00000000gaction_set_hspeed-10000000000000000gaction_set_hspeed100000000-action_set_alarm500000000cshot10000000000000000000000bullet1 action_create_object 80000000maction_move_to-100-100000000action_create_object 80000000maction_move_to-100-100000000 action_ifglobal.player1=10000000c car1.hits1000000e action_move 0000100000000000bullet2 action_create_object 80000000maction_move_to-100-100000000action_create_object 80000000maction_move_to-100-100000000 action_ifglobal.player1=00000000c car2.hits1000000e action_move 0000100000000000explode -action_set_alarm100000000action_kill_object00000000rock f1 -action_set_alarm250000000cflash1000000-action_set_alarm2001000000action_kill_object00000000-action_set_alarm250000000 action_ifflash=10000000cflash000000000000000 action_ifflash=00000000cflash1000000 action_draw_font "Times New Roman",20,255,0,0,0,010000000 action_ifflash=10000000action_draw_textPress F115015000000 scoreline  action_draw_font"Times New Roman",12,0,0,0,0,010000000action_draw_textN"score: player1 " + string(car1.hits) + " player2 " + string(car2.hits)05000000room0 Network Comms X        40@0P ` p0          @` P  P ` P @ `   † Æ Ć0 ņP Ɔ@P dž@@ Ȇ@0 Ɇ@ ʆ ˆ@ ̆ ͆ Ά0 φP ІP ن@ چ0 ۆ  ܆ ݆ ކ ߆      P `0  {\rtf1\ansi\ansicpg1252\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss\fcharset1 Arial;}{\f3\fswiss\fprq2 System;}{\f4\fswiss\fcharset1 Arial;}{\f5\fswiss Arial;}{\f6\fmodern\fcharset1 Courier New;}} {\colortbl\red0\green0\blue0;} \deflang1033\pard\plain\f4\fs24\cf0\b Network communications by Tony Forster 12/5/04 \par \plain\f5\fs24\cf0 May be freely distributed with acknowlegement of authorship \par \plain\f4\fs24\cf0 \par Comms demonstration, two computers connected by serial cable or network \par Chose IPX or direct serial or tcip \par After selecting comms settings, searches for any open session \par and joins session 0 as player 'slave' \par otherwise opens session 'comms' as 'master' \par \par variable global.master is set if master and this player controls car 1 \par There is only one bullet each and it lives off screen till required \par \par mplay_data_read(0) the text string \par mplay_data_read(1) car1.x \par mplay_data_read(2) car1.y \par mplay_data_read(3) bullet1.x \par mplay_data_read(4) bullet1.y \par mplay_data_read(5) car1.hits \par mplay_data_read(11) car2.x \par mplay_data_read(12) car2.y \par mplay_data_read(13) bullet2.x \par mplay_data_read(14) bullet2.y \par mplay_data_read(15) car2.hits \par \par Its not perfect, it will probably try to join any game. \par You don't see the other player's explosions \par \par } Spritessprite0sprite3sprite4bulletexplodesprite7Sounds BackgroundsPathsScripts Data Files Time LinesObjects  send stringreceive stringcar1car2bullet1bullet2explode rock pressf1-50 f1 scorelineRoomsroom0 Game Information Game Options