sorry, here is the code I am using for building items. I hope it's not too confusing! I used Nocturne's old item building tutorial as an example, the items are built with the mask_object.
left mouse click event of mask_object:
if !place_meeting(x,y,obj_Obstacle)
{
var inst = noone;
switch (sprite_index)
{
case spr_plant: inst = instance_create(x,y,obj_plant); break;
case spr_stool: inst = instance_create(x,y,obj_stool); break;
case spr_table: inst = instance_create(x,y,obj_Table); break;
case spr_chair: inst = instance_create(x,y,obj_Chair); break;
case spr_stage: inst = instance_create(x,y,obj_Stage); break;
case spr_bar: inst = instance_create(x,y,obj_Bar); break;
case spr_light1: inst = instance_create(x,y,obj_light1); break;
case spr_cubicle1: inst = instance_create(x,y,obj_cubicle); break;
case spr_toilet: inst = instance_create(x,y,obj_toilet); break;
case spr_lotto: inst = instance_create(x,y,obj_lotto1); break;
case spr_ATM: inst = instance_create(x,y,obj_ATM); break;
case spr_pole: inst = instance_create(x,y,obj_pole); break;
case spr_garbage1: inst = instance_create(x,y,obj_trash_can1); break;
case spr_wall_vertical: inst = instance_create(x,y,obj_wall_topbottom); break;
case spr_wall_horizontal: inst = instance_create(x,y,obj_wall_side); break;
case spr_door: inst = instance_create(x,y,obj_door); break;
case spr_floor_tile: inst = instance_create(x,y,obj_floor_tile); break;
case spr_floor1: inst = instance_create(x,y,obj_Floor); break;
case spr_floor2: inst = instance_create(x,y,obj_Floor_2); break;
}
if (inst!=noone) inst.image_index = image_index;
with (obj_Button_Parent)
{
pressed=false;
image_blend=c_white;
}
global.Money-=cost;
}
As zircher said and also rounding the custom mouse coordinates. I made a replica of re4's inventory system covering that. Could leave a link to that later today if you'd like.
yes please!