--create(obj_menu)--
depth=-1000;
enum item{
none = 0,
draw_set = 1,
mirror = 2,
ball_w = 3,
ball_b = 4,
ueki = 5,
tubo = 6,
tue = 7,
kagi = 8,
kami = 9,
total
}
enum item_stat{
name,
description,
total
}
enum item_type{
none,
create,
wepon,
total
}
global.item_index = ds_grid_create(item.total, item_stat.total);
ds_grid_clear(global.item_index, 0);
scr_add_weapon(item.draw_set,"drawset","Tools for painting");
scr_add_weapon(item.mirror,"Wife's mirror","Show your wife herself");
scr_add_weapon(item.ball_w,"White ball","I think I can fit in something");
scr_add_weapon(item.ball_b,"Black ball","I think I can fit in something");
scr_add_weapon(item.ueki,"Wife's flowerpot","Wife liked this flower");
scr_add_weapon(item.tubo,"Aconite Vase","Acupuncture points with aconite pattern engraved. Contains a stinky liquid.");
scr_add_weapon(item.tue,"Cane","Just a cane");
scr_add_weapon(item.kagi,"Key","Key to open the door");
--draw_GUI(obj_btn)--
var iid = global.inv[# var_slot,0];
var amount = global.inv[# var_slot,1];
var name = global.item_index[# iid,item_stat.name];
var description = global.item_index[# iid, item_stat.description];
if(iid != item.none){
draw_sprite(spr_item, iid,370+(var_slot*130),670);
draw_set_color(c_white);
draw_text(375+(var_slot*130),670,string(amount));
}
--create(obj_player)--
global.inv = ds_grid_create(4,2);
ds_grid_clear(global.inv,0);
--step--
if(keyboard_check(vk_right))
{
hspeed =1;
sprite_index = spr_player1_walk;
image_xscale = 1.5;
with(o_lamp_spr){
sprite_index=spr_lamp;
}
}
else if(keyboard_check(vk_left))
{
hspeed = -1;
sprite_index = spr_player1_walk;
image_xscale =-1.5;
with(o_lamp_spr){
sprite_index=spr_lamp;
}
}
else {
sprite_index = spr_player1;
hspeed=0;
with(o_lamp_spr){
sprite_index=spr_lamp;
}
}
if(image_xscale=1.5&&vspeed=3){
with(o_lamp_spr){
x=o_player1.x+27;
y=o_player1.y+17;
}
}
else if(image_xscale=-1.5&&vspeed=3){
with(o_lamp_spr){
x=o_player1.x-27;
y=o_player1.y+17;
}
}
--beginstep--
if(place_meeting(o_player1.x,o_player1.y+1,o_wall))
{
vspeed=0;
}
else if(!place_meeting(o_player1.x,o_player1.y+1,o_wall)&&!place_meeting(o_player1.x,o_player1.y,o_up))
{
vspeed=3;
}
--draw_GUI--
var cx = camera_get_view_x(view_camera[0]);
var cy = camera_get_view_y(view_camera[0]);
var slot = 0;
while (slot < ds_grid_width(global.inv))
{
var inst = instance_create_layer(cx+70+(31*slot), cy+200, "Instances", obj_btn);
inst.var_slot = slot;
slot ++;
}
--script1--
///@function scr_slot_modify_amount(slot,amount,override);
var slot = argument0;
var amount = argument1;
var override =argument2;
if(override == false){
global.inv[# slot,1]+=amount;
}
else{
global.inv[# slot,1] = amount;
}
if(global.inv[# slot,1]<=0){
global.inv[# slot,0] = item.none;
global.inv[# slot,1] = 0;
}
--script2--
/// @description Adds an item and a quantity into the inventory in a valid slot.
/// @function scr_gain_item(item_ID, amount);
/// @param item_ID
/// @param amount
var iid = argument0;
var amount = argument1;
slotc = false;
var slot = 0; //A temporary variable to loop through the slots
var inventory_width = ds_grid_width(global.inv);
while (slot < inventory_width)
{
if (global.inv[# slot, 0] == iid || global.inv[# slot, 0] == item.none)
{
global.inv[# slot, 0] = iid;
global.inv[# slot, 1] += amount;
return slotc = true; //Did set the slot (return/exit)
}
slot ++;
}
return slotc = false; //Did not set slot