<undefined> 0 -1 -100 0 <undefined> <undefined> 1 603 7 0 0 -1 2 self 0 0 1 global.trialsurface = 0; /* i don't know how to work surfaces so i gave up enjoy this global var :cry: */ instance_create(160,120,oEditorCamera); instance_create(0,0,oEditorHelp); cursor_active = 1; placed_objs = 0; objs_hidden = 1; trial_tab_bottom = instance_create(160,225,oEditorTab); solid_place = 0; // 0 - normal solid // 1 - right slope // 2 - left slope // 3 - slipthrough solid // 4 - breakable solid (beam) // 5 - breakable solid (bomb) // 6 - breakable solid (missile) // 7 - breakable solid (soup) // 8 - breakable solid (powbomb) // 9 - breakable solid (screw) // 10 - breakable solid (speed) // 11 - samus spawn // 12 - exit solid // 13 - spikes // 14 - spiderball // 15 - jumpball // 16 - hijump // 17 - spacejump // 18 - bomb // 19 - 5 missiles // 20 - 2 soups // 21 - 2 powas // 22 - screwattack // 23 - speedbooster relay_button = -1; stage_name = "Untitled Level"; stage_auth = "Anonymous"; stage_id = generate_id(); lockout = 0; // mouse garbage idk 1 603 7 0 0 -1 2 self 0 0 1 // this is some temporary code to test clicking on specific areas if (cursor_active){ if (mouse_check_button(mb_left)){ if (!lockout){ // can't place if lockout exists var xx = floor(mouse_x/16)*16; var yy = floor(mouse_y/16)*16; var no_multi = 0; if (solid_place == 11 || solid_place == 14 || solid_place == 15 || solid_place == 16 || solid_place == 17 || solid_place == 18 || solid_place == 22 || solid_place == 23){ no_multi = 1; } with (oEditorSolid){ // a check to deny further placement of solids on top of each other OR if attempting to place multiple spawns if ((x == xx && y == yy) || (no_multi && solid_style == other.solid_place)){ instance_destroy(); // if check confirms, turn the old one into dust // this probably isn't efficient but i do not care } } with (instance_create(xx,yy,oEditorSolid)){ solid_style = other.solid_place; } placed_objs = get_obj_count(); } }else{ lockout = 0; } if (mouse_check_button(mb_right)){ with (oEditorSolid){ if (position_meeting(mouse_x,mouse_y,self)){ instance_destroy(); } } placed_objs = get_obj_count(); } } with (trial_tab_bottom){ if (position_meeting(mouse_x,mouse_y,self) && (!instance_exists(oEditorInfo)) && (!instance_exists(oEditorHelp))){ offset = 58; other.cursor_active = 0; }else{ offset = 0; other.cursor_active = 1; } smoothset += (offset-smoothset)/5; } if (instance_exists(oEditorInfo)) then cursor_active = -1; if (relay_button > -1){ switch (relay_button){ case 0: instance_create(0+view_xview[0],0+view_yview[0],oEditorInfo); break; case 1: // save level (there's a script for that) editor_save(); break; case 2: // load level (there's a script for that) editor_load(); break; case 3: // go away room_change(trialselectroom,0); break; case 4: // player spawn editor_message("Selected Player Spawn"); solid_place = 11; break; case 5: // normal solid editor_message("Selected Solid"); solid_place = 0; break; case 6: // normal going upright editor_message("Selected Right Slope"); solid_place = 1; break; case 7: // slope going upleft editor_message("Selected Left Slope"); solid_place = 2; break; case 8: // crumble solid editor_message("Selected Crumble Solid"); solid_place = 3; break; case 9: // beam block editor_message("Selected Breakable Block"); solid_place = 4; break; case 10: // bomb block editor_message("Selected Bomb Block"); solid_place = 5; break; case 11: // mibble block editor_message("Selected Missile Block"); solid_place = 6; break; case 12: // soup block editor_message("Selected Super Missile Block"); solid_place = 7; break; case 13: // powa block editor_message("Selected Power Bomb Block"); solid_place = 8; break; case 14: // screw block editor_message("Selected Screw Attack Block"); solid_place = 9; break; case 15: // speed block editor_message("Selected Speed Booster Block"); solid_place = 10; break; case 16: // exit area editor_message("Selected Exit Zone"); solid_place = 12; break; case 17: // spikes/hazards editor_message("Selected Hazard"); solid_place = 13; break; case 18: // spiderball editor_message("Selected Spider Ball"); solid_place = 14; break; case 19: // jumpball editor_message("Selected Spring Ball"); solid_place = 15; break; case 20: // hijump editor_message("Selected Hi-jump"); solid_place = 16; break; case 21: // spacejump editor_message("Selected Space Jump"); solid_place = 17; break; case 22: // bomb editor_message("Selected Bombs"); solid_place = 18; break; case 23: // mibble editor_message("Selected five Missiles"); solid_place = 19; break; case 24: // soup mibble editor_message("Selected two Super Missiles"); solid_place = 20; break; case 25: // powa bomb editor_message("Selected one Power Bomb"); solid_place = 21; break; case 26: // screwattack editor_message("Selected Screw Attack"); solid_place = 22; break; case 27: // speedbooster editor_message("Selected Speed Booster"); solid_place = 23; break; default: // not much to say so fun fact! smart tab is terrible editor_message("Relayed message "+string(relay_button)+"."); break; } relay_button = -1; } 1 603 7 0 0 -1 2 self 0 0 1 // the cursor draw_set_alpha(1); draw_sprite(sEditorCursor,0,mouse_x,mouse_y); 1 603 7 0 0 -1 2 self 0 0 1 var cx = view_xview[0]; var cy = view_yview[0]; with (trial_tab_bottom){ x = 160+cx; y = (225-smoothset)+cy; } 1 603 7 0 0 -1 2 self 0 0 1 // surfaces are lame. you know what isn't lame? var cx = view_xview[0]; var cy = view_yview[0]; // spaghetti code from gms2 :) /* debug code, no longer necessary draw_set_font(fontGUI2Default); draw_set_color(c_white); draw_set_halign(fa_center); draw_text_border(120+cx,220+cy,"X: "+string(mouse_x)); draw_text_border(160+cx,220+cy,"Y: "+string(mouse_y)); draw_text_border(200+cx,220+cy,"CA: "+string(cursor_active)); */ // a forecast of the current object to be placed if (cursor_active){ var snap = 16; var xx = floor(mouse_x/snap)*snap; var yy = floor(mouse_y/snap)*snap; switch (solid_place){ default: draw_sprite_ext(sSolid,0,xx+0,yy+0,1,1,0,c_white,0.3); break; case 1: draw_sprite_ext(sSlope1,0,xx+0,yy+0,1,1,0,c_white,0.3); break; case 2: draw_sprite_ext(sSlope2,0,xx+0,yy+0,1,1,0,c_white,0.3); break; case 11: draw_sprite_ext(sEditorStart,0,xx+8,yy+16,1,1,0,c_black,0.3); break; } } 0 0 0 0.5 0.100000001490116 0 0.100000001490116 0.100000001490116 0.200000002980232 -1 0