RTS( Tijn KersjesdI @Initialize and Set6BM66(    Argument 0:0 item 1|item 2 Argument 1:0 item 1|item 2 Argument 2:0 item 1|item 2 Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2Initialize Game6BM66(  Initialize GameInitialize GameSelection range:0 item 1|item 2 Argument 1:0 item 1|item 2 Argument 2:0 item 1|item 2 Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2global.selection_range=argument0; for(s=0; sunit_speed){ if(argument0=0){ mp_potential_step(Goto_x,Goto_y,unit_speed,false); } if(argument0=1){ mp_potential_step(Goto_x,Goto_y,unit_speed,true); } } else{ x=Goto_x; y=Goto_y; } Shuttle between two points6BM66(  00VV0000VVVVVVVVVVVVVVVV0000VVVV00VVVVVVVVVVVVVVVV00VVVV0000VVVVVVVVVVVVVVVV0000VV00Shuttle between two pointsBShuttle between @rpoint @0,@1 and @rpoint @2,@3 and avoid @4 unitsx1:0 item 1|item 2y1:0 item 1|item 2x2:0 item 1|item 2y2:0 item 1|item 2Avoid:0 solid|all Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2if(argument_relative){ x1=x+argument0; y1=y+argument1; x2=x+argument2; y2=y+argument3; } else{ x1=argument0; y1=argument1; x2=argument2; y2=argument3; } if(Shuttle_side){ Shuttle_destination_x=x1; Shuttle_destination_y=y1; } else{ Shuttle_destination_x=x2; Shuttle_destination_y=y2; } if(point_distance(x,y,Shuttle_destination_x,Shuttle_destination_y)>unit_speed){ if(argument4=0){ mp_potential_step(Shuttle_destination_x,Shuttle_destination_y,unit_speed,false); } if(argument4=1){ mp_potential_step(Shuttle_destination_x,Shuttle_destination_y,unit_speed,true); } } else{ x=Shuttle_destination_x; y=Shuttle_destination_y; Shuttle_side=not Shuttle_side; }Create Unit around position6BM66(  ~t`gfQt#"A AA.. #w. &. tYCreate Unit around position!Create @2 around @rposition @0,@1x:0 item 1|item 2y:0 item 1|item 2Unit: 0 item 1|item 2Avoid:0 solid|all Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2if(argument_relative){ if(argument3=0){ with(instance_create(x+argument0,y+argument1,argument2)){ move_outside_solid(global.outdir_unit_creation,-1); global.outdir_unit_creation+=20; if(global.outdir_unit_creation>360){ global.outdir_unit_creation=global.outdir_unit_creation-360; } Goto_x=x; Goto_y=y; } } else{ with(instance_create(argument0,argument1,argument2)){ move_outside_all(global.outdir_unit_creation,-1); global.outdir_unit_creation+=20; if(global.outdir_unit_creation>360){ global.outdir_unit_creation=global.outdir_unit_creation-360; } Goto_x=x; Goto_y=y; } } } else{ if(argument3=0){ with(instance_create(argument0,argument1,argument2)){ move_outside_solid(global.outdir_unit_creation,-1); global.outdir_unit_creation+=20; if(global.outdir_unit_creation>360){ global.outdir_unit_creation=global.outdir_unit_creation-360; } Goto_x=x; Goto_y=y; } } else{ with(instance_create(argument0,argument1,argument2)){ move_outside_all(global.outdir_unit_creation,-1); global.outdir_unit_creation+=20; if(global.outdir_unit_creation>360){ global.outdir_unit_creation=global.outdir_unit_creation-360; } Goto_x=x; Goto_y=y; } } }Attack Nearest Enemy UnitP6BM66(  UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUAttack Nearest Enemy UnitAttack Nearest Enemy UnitEnemy: 0 item 1|item 2 Fight Back:0 item 1|item 2 Argument 2:0 item 1|item 2 Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2if(instance_exists(argument0)){ Enemy=argument0; Enemy_nearest=instance_nearest(x,y,Enemy); Enemy_nearest.unit_hitpoints-=unit_attack; if(argument1=true){ unit_hitpoints-=Enemy_nearest.unit_attack; } }Damage all units in area6BM66(  UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUDamage all units in areaDamage all units in areaPower:30 item 1|item 2Radius:200 item 1|item 2Damage: 0All|Solid|Not solid Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 22global.Damage_Power=argument0; global.Damage_Radius=argument1; global.Damage_startx=x; global.Damage_starty=y; if(instance_exists(argument2)){ with(argument2){ if not(point_distance(x,y,global.Damage_startx,global.Damage_starty)>global.Damage_Radius){ unit_hitpoints-=global.Damage_Power; } } } Set Materials6BM66(  f7r$fff$$rf;7r$f````$$rf"?(P67r$fPPPP$$rf-D>q3e(P67r$$$r$$r$$rf@@@@$$r$$r$$r$$r7r$7r$7r$f@s@s7r$7r$7r$7r$f-->>33''$$rfPP7r$f""''$$rf``7r$f$$rfff7r$f$$r Set Materials Set Materials Material 1:0 item 1|item 2 Material 2:0 item 1|item 2 Material 3:0 item 1|item 2 Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2if(argument_relative){ global.unit_material_1+=argument0; global.unit_material_2+=argument1; global.unit_material_3+=argument2; } else{ global.unit_material_1=argument0; global.unit_material_2=argument1; global.unit_material_3=argument2; }If a Material is a value6BM66(  nxnxnxnxnxnxnxnxnxnxnxnx봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴 봴봴봴봴봴봴봴nx봴봴봴봴봴봴ǚ>>̨봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴KK봴봴>> ̧봴봴봴nx봴봴봴봴봴봴봴봴ײ봴봴봴봴ѵ봴봴봴nx봴봴봴봴봴봴33ɞ봴봴봴}|봴봴봴nx봴봴봴mm봴봴봴봴봴봴봴봴봴봴ǥ봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴11 ̦봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴nx봴봴봴봴봴nx봴봴봴봴봴nx봴봴봴봴봴nx봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴nxnxIf a Material is a valueIf a @0 is @N@1 @2 Material:0 Material 1|Material 2|Material 3 Operation:0 qual to|smaller than|larger thanNumber:0 item 1|item 2 Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2if(argument0=0){ ask_material=global.unit_material_1; } if(argument0=1){ ask_material=global.unit_material_2; } if(argument0=2){ ask_material=global.unit_material_3; } if(argument1=0){ if(ask_material=argument2){ return true; } else{ return false; } } else if(argument1<1){ if(ask_material=argument2){ return true; } else{ return false; } } else if(argument1>2){ if(ask_material=argument2){ return true; } else{ return false; } } &If distance to nearest unit is a valuev6BM66(  nxnxnxnxnxnxnxnxnxnxnxnx봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴nxnx&If distance to nearest unit is a value$If distance to nearest @0 is @N@1 @2Enemy: 0 item 1|item 2 Operation:0 qual to|smaller than|larger than Distance:0 item 1|item 2 Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2 if(instance_exists(argument0)){ Enemy=argument0; Enemy_nearest=instance_nearest(x,y,Enemy); if(argument1=0){ if (point_distance(x,y,Enemy_nearest.x,Enemy_nearest.y)=argument2){ return true; } else{ return false; } break; } if(argument1=1){ if (point_distance(x,y,Enemy_nearest.x,Enemy_nearest.y)argument2){ return true; } else{ return false; } break; } }If hitpoints is a value~6BM66(  nxnxnxnxnxnxnxnxnxnxnxnx봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nxnxnxnxnxnxnxnx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴nxnxIf hitpoints is a valueIf hitpoints is @N@0 @1 Operation:0 qual to|smaller than|larger than Hitpoints:0 item 1|item 2 Argument 2:0 item 1|item 2 Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2;if(argument0=0){ if (unit_hitpoints=argument1){ return true; } else{ return false; } break; } if(argument0=1){ if (unit_hitpointsargument1){ return true; } else{ return false; } break; } !If the number of units is a value6BM66(  nxnxnxnxnxnxnxnxnxnxnxnx봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴 봴봴봴봴봴봴봴nx봴봴봴봴봴봴ǚ>>̨봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴KK봴봴>> ̧봴봴봴nx봴봴봴봴봴봴봴봴ײ봴봴봴봴ѵ봴봴봴nx봴봴봴봴봴봴33ɞ봴봴봴}|봴봴봴nx봴봴봴mm봴봴봴봴봴봴봴봴봴봴ǥ봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴11 ̦봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴nxnx!If the number of units is a valueIf the number of @0 is @N@1 @2Unit: 0 Operation:0qual to|smaller than|larger Number:0 item 1|item 2 Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2]if(instance_exists(argument0)){ IN=instance_number(argument0); if(argument1=0){ if (IN=argument2){ return true; } else{ return false; } break; } if(argument1=1){ if (INargument2){ return true; } else{ return false; } break; } }  Selection 6BM66(    Argument 0:0 item 1|item 2 Argument 1:0 item 1|item 2 Argument 2:0 item 1|item 2 Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2 Select Unit6BM66(  OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Select Unit Select Unit Argument 0:0 item 1|item 2 Argument 1:0 item 1|item 2 Argument 2:0 item 1|item 2 Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2xfor(s=0; s>̨봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴KK봴봴>> ̧봴봴봴nx봴봴봴봴봴봴봴봴ײ봴봴봴봴ѵ봴봴봴nx봴봴봴봴봴봴33ɞ봴봴봴}|봴봴봴nx봴봴봴mm봴봴봴봴봴봴봴봴봴봴ǥ봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴11 ̦봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴OOOOOOOOOO봴봴봴봴봴nx봴봴봴봴봴O봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴O봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴O봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴O봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴ٺO봴봴봴봴봴nx봴봴봴봴O봴봴봴봴nx봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴nxnx*If the number of selected units is a value*If the number of selected units is @N@0 @1 Operation:0 qual to|smaller than|larger thanNumber:0 item 1|item 2 Argument 2:0 item 1|item 2 Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2NSU=0; for(s=0; sargument1){ return true; } else{ return false; } break; } If Unit is in area)6BM66(  nxnxnxnxnxnxnxnxnxnxnxnx봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴OOOOOOOOOOOOO봴봴nx봴봴봴봴봴봴봴봴봴O봴봴봴nx봴봴봴봴봴봴봴봴봴O봴봴봴nx봴봴봴봴봴봴봴봴봴O봴봴봴nx봴봴봴봴봴봴봴봴봴O봴봴봴nx봴봴봴봴봴봴봴봴봴O봴봴봴nx봴봴봴봴봴봴봴봴봴O봴봴봴nx봴봴봴봴봴봴봴봴봴O봴봴봴nx봴봴봴봴봴봴봴봴봴O봴봴봴nx봴봴봴봴봴봴봴봴봴O봴봴봴nx봴봴봴봴봴봴봴봴봴O봴봴봴nx봴봴봴봴봴봴봴봴봴O봴봴봴nx봴봴봴봴봴봴봴봴봴O봴봴봴nx봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴봴봴nx봴봴봴봴봴봴봴봴봴봴봴봴nxnxIf Unit is in areaIf Unit is @N@4 areax1:0 item 1|item 2y1:0 item 1|item 2x2:0 item 1|item 2y2:0 item 1|item 2Side:0Inside|Outside Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2a_x=argument0; a_y=argument1; b_x=argument2; b_y=argument3; inside=false; if(x>a_x)and(y>a_y)and(xb_x)and(y>b_y){ inside=true; } if(xa_y)and(x>b_x)and(ya_x)and(yb_y){ inside=true; } if(argument4=0)and(inside=true){ return true; } if(argument4=1)and(inside=true){ return false; } if(argument4=0)and(inside=false){ return false; } if(argument4=1)and(inside=false){ return true; }Draw=6BM66(    Argument 0:0 item 1|item 2 Argument 1:0 item 1|item 2 Argument 2:0 item 1|item 2 Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2Draw Materials?6BM66(  nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnDraw Materials(Draw the value of @2 at @rposition @0,@1x:0 item 1|item 2y:0 item 1|item 2 Material:0 Material 1|Material 2|Material 3 Argument 3:0 item 1|item 2 Argument 4:0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2/if(argument_relative){ if(argument2=0){ draw_text(x+argument0,y+argument1,string(global.unit_material_1)); } if(argument2=1){ draw_text(x+argument0,y+argument1,string(global.unit_material_2)); } if(argument2=2){ draw_text(x+argument0,y+argument1,string(global.unit_material_3)); } } else{ if(argument2=0){ draw_text(argument0,argument1,string(global.unit_material_1)); } if(argument2=1){ draw_text(argument0,argument1,string(global.unit_material_2)); } if(argument2=2){ draw_text(argument0,argument1,string(global.unit_material_3)); } }Draw Hitpoints@6BM66(  nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnDraw Hitpoints&Draw Hitpoints-bar at @rposition @0,@1x:0 item 1|item 2y:0 item 1|item 2Width:0 item 1|item 2Height:0 item 1|item 2 Back color: 0 item 1|item 2 Bar color: 0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2widht_per_hitpoint=argument2/unit_total_hipoints; width_total_hitpoint=widht_per_hitpoint*unit_hitpoints; if(argument_relative){ draw_rectangle_color(x+argument0,y+argument1,(x+argument0+argument2),(y+argument1+argument3),argument4,argument4,argument4,argument4,false); draw_rectangle_color(x+argument0,y+argument1,(x+argument0+width_total_hitpoint),(y+argument1+argument3),argument5,argument5,argument5,argument5,false); } else{ draw_rectangle_color(argument0,argument1,(argument0+argument2),(argument1+argument3),argument4,argument4,argument4,argument4,false); draw_rectangle_color(argument0,argument1,(argument0+width_total_hitpoint),(argument1+argument3),argument5,argument5,argument5,argument5,false); } Draw MinimapA6BM66(  nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn Draw MinimapDraw Minimap at position @0,@1x:0 item 1|item 2y:0 item 1|item 2Width:0 item 1|item 2Height:0 item 1|item 2 Back color: 0 item 1|item 2 Argument 5:0 item 1|item 2 Argument 6:0 item 1|item 2 Argument 7:0 item 1|item 2mdraw_rectangle_color(argument0,argument1,(argument0+argument2),(argument1+argument3),argument4,argument4,argument4,argument4,false); with(all){ if(variable_local_exists("unit_mapcolor")){ if(x>-1) and (x-1) and (y