XN/t\9zmGdZAXd  ( @ = =&=DA`{y=]==-mΦզ#3v==?[ --/57GiG== =P#Ԧ!צ'զ+ئ175+^==V= s˦Ҧզ#צ'զ+ڦ/=Ѥih?=0=uĝӦɦ˦Ҧզ#צ'զ+ئ1C|Ya===% æʦ ɦ˦Ҧզ#֦%զ+=yaYU===Z=t=lҦƦȦʦ ɦ˦ҦԦ!-¦p u q jE=c=ni}ĥƦȦʦ ɦ˦ӦԦ!/r s s w h==v ̏sĥƦȦʦ ɦܦ#mls s s u == ={yơɦ˦ɦ ڦus s s w Q=5=,&y)os u x f=yDuu{qoUPLMLMPU===equ{ss r mpB=[=<=<=2==_ٵoou{{r s u f=r=P=mou{Cls s u ===kooy_ou s w L=,==dߕMU1r cfc===o======D=`ߨ_akkq op===m٦ڦ)==(=[agksQmu l==3@Φ ѦԦצ-V ===A#Y[agku+mw U=@= d ƦȦʦ ɦϦҦ)q ==QМOQW[aekgq r o==== =ơƦȦʦ ɦ˦ߦ!ҦI=N=&iKKQW[aeo5^u pZ]=7НĥƦȦʦ ɦ˦%==9GKQW[aan|q|ĥƦȦʦ ɦ!:=o=QיEGKQW_}kaqu{?/ÕĥƦæt==U{EIMSCe?ikouyxcЦÕ===s{39Su__gkouygvۛ؝ܣ֦P=!=='=:=J=_=8Qɦ[[aekouy=aXd oЂP=8=?|Y[_gkow{u==== ==MW[aekw/===[ߩWY]akK==&=We{;M5==D?Drew Banyai & IsmAvatarEo@SleepinJohnnyFish: created entire example, and then some >.< IsmAvatar: scripts have been considerably shortened, and I added documentation to just about everything. I also trimmed down the sprites to 4 sprites with 4 subimages each and slightly modified sprite handling. spr_A1_W_D xu?HaƯ?jA75IS{K6X8:  KKA4HStx{}ݫTSVEv^(lͮH+X2 >:t8L#Wc1Za$_Ds$xUA^O >m5P:SEӼ/OrX/Fpw0Z3hr3%0L>?xo|^J0ʫ֐BML8Rӂ^bxP"LC2xi2$U#E/۞!IJb+]X PSPStcIהg`?s2Lhҿ 'iC9<e!xȐ3[.҂ĈSEㅞ-n2zۋ-s0}} 6ڡR*wE:>v'բ(,z1, B^VR#z,ztFWHN9'yM5__@ aQU*%HxRI^0YXv¡'d(,'c d%cJG L :48ɑ5=}w xu?HaƯ?jA75IS{K6X8:  KKA4HStx{}ݫTSVEv^(lͮH+X2 >:t8L#Wc1Za$_Ds$xUA^O >m5P:SEӼ/OrX/Fpw0Z3hr3%0L>?xo|^J0ʫ֐BML8Rӂ^bxP"LC2xi2$U#E/۞!IJb+]X PSPStcIהg`?s2Lhҿ 'iC9<e!xȐ3[.҂ĈSEㅞ-n2zbkm']q|p-`>gB5y|MY5oq<]y7!dd{q!t>*B?"mͣEC|ƪ;ʶHʰIiz*'[Iy#*M<|])ȫv bT@Gqq>u5p[` bl>P؂W6Xm ߷0ahW0W^-+W*3 u x!L16 d$$ )2P jfj OHq $@L $3BBB&qrD۟[tc%u9O炗DPBi8t I[t"wF٨pRťeYX٢땽2`OZy2 /~bkm']q|p-`>gB5y|MY5oq<]y7!dd{q!t>*B?"mͣEC|ƪ;ʶHʰIiz*'[Iy#*M<|])ȫv bT@Gqq>u5p[` bl>P؂W6Xm ߷0ahW0W^-+W*3 u x/L13F)ȑ p jfj OHq rbdIbbK21!SdbAM N.&s|mwIecYDqb00%;BzL%0E!HH/4XEһ9y`;JbbЁζ B"?00/=-\ڼ]< O8Si9Ȁašf'%WTXKB༕/ԇ%@ֺGOs}@ynĂIY,uRz͞rdS^@"Id a^9P)y*OqI 5Xɳy#ۂ-x,ζlxvK #yەY0z;]Hœu{;3- j19_o spr_A1_W_U xxK@cڱ ED* rD'qrqꢻCqG.B(Nر8f_׻߅]N6A50c6&B^L#4mi_y4imU޹bI7xy]^Ik^iheuв@G|ˋ0E+{*9 0 GQfR`ɰ^p= v Z/! *00>"$ipY*IB\1ذXp-KX(UrO{U'(ٖ OX?-^ y?W$bEV-6aRB$ypME oji1f<c%36:jk,x-B.~B`Ygj|+帜&S/ ;G0^!W7|{>ͨ6P3EK@M;C!`+H3I> #ye 6,$'v_JXnI'W|C#NJ/ 8 H1̺'LشNl]Yji4#}j}/l0v6`mAM2ͤX}Z xxK@cڱ ED* rD'qrqꢻCqG.B(Nر8f_׻߅]N6A50c6&B^L#4mi_y4imU޹bI7xy]^Ik^iheuв@G|ˋ0E+{*9 0 GQfR`ɰ^p= v Z/! *00>"$ipY*IB\1ذXp-KX(UrO{U'(ٖ OX?-^ y?W$bEV-6aRB$ypME oji1f<0N1`'di7Ǡ] spr_A1_W_R x=HPcc+(UT*$թ8u]Pc.BG\]\DCp8vxk4~w䴼לui&{I:-n甈>Ŧ R?gFl|k0ٟ. ʓ'3:Z{A8,ǣP ^ͣRsxߵ$VY3OZq%DZuGz|&4|blshvЩ^o8H4[Z(Daw'$ ?)j0JYy4L%|Zyyi ϕsvoUY-}v,iT.o;EC`)a%D9oI~T#bgJx}gbnrW N54mϧzK J]\$-AJ( g&LϿmh x=HPcc+(UT*$թ8u]Pc.BG\]\DCp8vxk4~w䴼לui&{I:-n甈>Ŧ R?gFl|k0ٟ. ʓ'3:Z{A8,ǣP ^ͣRsxߵ$VY3OZq%DZuGz|&4|blshvЩ^o8H4[Z(Daw'$ ?)j0JYy4L%|Zyyi ϕsvoUY-}v,iT.o;EC`)a%D9oI~T#bgJx}gbnrW'qW=TlbXZ'@~6!PLDo(%> OJ|%|Ω)fFn)DوO2yTO;2ɌBrb]<>W97͗E FT\m`ZR6/}~yݧOB;K'W?2\ o[Ր bg_White xر@EA.': oFvB~vsq8˗ܞ4/~j>ĿV' ~:' ~ROc'H=SO)?eL2SO)?eL2SO)?eL2SO)?eL2SO)?eL2SO)?eL2SO)?eL2SO)?eL2SO)?eL2SO)?eL2SO)?eL2SO)?eL2SO)?eL2SO)?e^ PO٣f+߿ nhYed^?`zo LC俽 scr_MapSet/////////// //Set Key// /////////// var kk; kk = keyboard_lastkey if kd[kk] != "" { //make sure the key has a name draw_mapped = kd[kk] //set the drawing name to the name execute_string(mapped_var+" = "+string(kk)) //set the variable to the key Mapping = false } scr_MapNames////////////////////////// //define each key's name// ////////////////////////// /* This is pretty much just a collection of names for the keys. This way, the user knows what key each thing is set to. */ var m; for (m = 0; m <= 255; m += 1) { //set all keys to nameless kd[m] = "" //only named keys can pass } kd[8] = "Backspace" kd[13] = "Enter Key" kd[16] = "Shift Key" kd[17] = "Control Key" kd[18] = "Alt Key" kd[19] = "Pause/Break" kd[27] = "Escape Key" kd[32] = "Space Key" kd[33] = "Page Up" kd[34] = "Page Down" kd[35] = "End Key" kd[36] = "Home Key" kd[37] = "Left Arrow" kd[38] = "Up Arrow" kd[39] = "Right Arrow" kd[40] = "Down Arrow" kd[45] = "Insert Key" kd[46] = "Delete Key" for (m = 65; m <= 90; m += 1) { //the letter keys kd[m] = chr(m)+" Key" //"A Key", "Z Key" } for (m = 96; m <= 105; m += 1) { //the numpad keys kd[m] = "Numpad "+string(m) //"Numpad 0", "Numpad 9" } kd[106] = "Multiply Key" kd[107] = "Add Key" kd[109] = "Subtract Key" kd[110] = "Decimal Key" kd[111] = "Divide Key" for (m = 112; m <= 123; m += 1) { //the F keys kd[m] = "F"+string(m-1)+" Key" //"F1 Key", "F12 Key" } obj_Player [#image_speed = 0 //don't animate yet0000000[//handle movement //notice how it checks each key based on variable //check the room creation code to see these variables initialized //the variables are reset (remapped) using scr_MapSet - the execute string if keyboard_check(global.DownKey) { //move; set sprite; animate sprite y += 4; sprite_index=spr_A1_W_D; image_speed = .4 } if keyboard_check(global.LeftKey) { x -= 4; sprite_index=spr_A1_W_L; image_speed = .4 } if keyboard_check(global.RightKey) { x += 4; sprite_index=spr_A1_W_R; image_speed = .4 } if keyboard_check(global.UpKey) { y -= 4; sprite_index=spr_A1_W_U; image_speed = .4 } //if he's not moving if !keyboard_check(global.DownKey) && !keyboard_check(global.LeftKey) && !keyboard_check(global.RightKey) && !keyboard_check(global.UpKey) { image_index = 0 //place on first frame of sprite (standing) image_speed = 0 //stop animation //image_single is no longer supported }0000000 obj_MapKey [Mapping = false scr_MapNames() //you cannot use the variable "kd" //if you want to use it, change the variable name in the scripts //don't forget to check each of my instances' creation codes. //go to the room I'm in, and ctrl+RightClick one of my instances. //then click "Creation Code." You can see a few of my variables there. //This is so each instance of me has different variable values.0000000[F//only this key is mapping obj_MapKey.Mapping = false Mapping = true0000000[,draw_set_halign(fa_center) draw_sprite(sprite_index,-1,x,y) //draw the box draw_text(x-48,y+8,draw_string) //draw the description draw_text(x+112,y+8,draw_mapped) //draw the key draw_set_halign(fa_left) //draw an outline draw_line(x-96,y,x+160,y) draw_line(x-96,y,x-96,y+32) draw_line(x-96,y+32,x+160,y+32) draw_line(x+160,y,x+160,y+32) //if waiting for remap, draw remap info if Mapping { draw_background(bg_White,272,238) draw_set_halign(fa_center) draw_text(400,260,"Press Desired Key for Action:") draw_text(400,276,draw_string) }0000000[6if Mapping { scr_MapSet() //remap the key pressed }0000000rm_Main4SleepinJohnnyFish's & IsmAvatar's KeyMapping Exampledglobal.UpKey = vk_up global.DownKey = vk_down global.LeftKey = vk_left global.RightKey = vk_right        `PLHNdraw_string = "Move Up" draw_mapped = "Up Arrow" mapped_var = "global.UpKey"PITdraw_string = "Move Down" draw_mapped = "Down Arrow" mapped_var = "global.DownKey"JTdraw_string = "Move Left" draw_mapped = "Left Arrow" mapped_var = "global.LeftKey"KWdraw_string = "Move Right" draw_mapped = "Right Arrow" mapped_var = "global.RightKey"LyXGame InformationX{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}} \viewkind4\uc1\pard\b\f0\fs24 \par } Spritesspr_Map spr_A1_W_D spr_A1_W_L spr_A1_W_R spr_A1_W_USounds Backgroundsbg_WhitePathsScripts scr_MapSet scr_MapNames Fonts Time LinesObjects obj_MapKey obj_PlayerRoomsrm_Main Game Information Global Game Settings