• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Portfolio - Programming Programmer For Hire

Status
Not open for further replies.

Evanski

Raccoon Lord
Forum Staff
Moderator
My Rate: 10$ Minimum


Services:
Platform: Windows
  • any type of 2d gml game
  • movement/collisions
  • anaimations/fades/UI
  • BugFixes
  • strings/scripts/
  • basic - advanced gml code


Payment made to pay-pal upon Job discussion

contact:
PM
Email:


Other Services:
Level Design
Play testing
Pixel Art


Examples of Work:
Code:
//Obj_door collision with obj_activate event:

if (canactivate==1)
{
//is it locked?
if (locked==true)
{
    //how locked?
    locklevel = locked_skill;

    //find level locked and then do this
    switch(locklevel)
    {
        //not locked?
        case 0:
        locked=false;
        break;
        //easy
        case 1:
        //medium
        case 2:
        //hard
        case 3:
        if (global.itemlockpick != 0)
        {
            if instance_exists(obj_activate2)
            {
                instance_destroy(obj_activate2);
            }
            if !instance_exists(obj_picklock)
            {
                instance_create(x,y,obj_picklock);
            }
        } else {
            if !instance_exists(obj_player_TB_nolockpick)
            {
                instance_create(obj_player.x,obj_player.y,obj_player_TB_nolockpick);
             }
             if instance_exists(obj_activate2)
            {
                instance_destroy(obj_activate2);
            }
        }
        break;
        //needs key
        case 4:
        //find out if player has key
        if !audio_is_playing(snd_door_locked)
        {
            audio_play_sound(snd_door_locked,1,0);
        }
        instance_destroy(other);
        break;
    }


} else {


if (closed=true)
{
instance_destroy(other);
if !audio_is_playing(snd_door_open)
{
    audio_play_sound(snd_door_open,1,0);
}
opening=1;
closing=0;
image_speed=0.2;
canactivate=0;
}

if (closed=false)
{
instance_destroy(other);
if !audio_is_playing(snd_door_close)
{
    audio_play_sound(snd_door_close,1,0);
}
closing=1;
opening=0;
image_speed=-0.2;
canactivate=0;
}


}
}

Code:
//Obj_picklock Create event

pick_image_angle = 90;
draw=1;
level = 0;
sweetspot = 0;
playsound=1;
spotmax=1;
spotmin= -1;
image_angle=90;
pick_subimg=0;
reset=0;
if !instance_exists(obj_playerlockcontroll)
{
    instance_create(x,y,obj_playerlockcontroll);
}

door = instance_nearest(x,y,obj_NL_woodendoor);
player = instance_nearest(x,y,obj_player);
lockplayer = instance_nearest(x,y, obj_playerlockcontroll);

instance_deactivate_all(true);
instance_activate_object(door);
instance_activate_object(player);
instance_activate_object(lockplayer);
instance_activate_object(obj_screenshot);
lockstrength = door.locklevel;
level = lockstrength;

switch (level)
{
    case 1:
    sweetspot = irandom(90);
    spotmax= 7;
    spotmin = -7;
    break;
    case 2:
    sweetspot = irandom(180);
    spotmax = 5;
    spotmax = -5;
    case 3:
    sweetspot = irandom(360);
    spotmax = 3;
    spotmin = -3;
}
Code:
//Obj_picklock Step event

//Quit
if keyboard_check(vk_escape)
{
    instance_destroy();
}

//image_angle max and min
if image_angle > 90
{
image_angle = 90;
}
if image_angle < 0
{
image_angle = 0;
}

//Reset if not pressing stuff
if !keyboard_check(ord('D')) && !keyboard_check(ord('A')) && (image_angle<90) && !(reset = 2)
{
image_angle=image_angle+90/8;
}

//Turn lock
if keyboard_check(ord('D')) ^^ keyboard_check(ord('A'))
{
    if !(image_angle <= 0) && !(pick_subimg = 1)&& !(reset = 2)
    {
        image_angle=(image_angle-3);
    }
}

//Woah Noises!
if keyboard_check(ord('D')) ^^ keyboard_check(ord('A')) && (image_angle<90) && !(image_angle <= 0)
{
  if !audio_is_playing(snd_lockturn)
    {
        audio_play_sound(snd_lockturn,0,0);
    }
}

//Turn pick
if keyboard_check(vk_right) && !keyboard_check(ord('D')) && !keyboard_check(ord('A'))&& !(pick_subimg = 1)&& !(reset = 2)
{
    if (pick_image_angle < 0){pick_image_angle=360}
    pick_image_angle=(pick_image_angle-1);
}
if keyboard_check(vk_left) && !keyboard_check(ord('D')) && !keyboard_check(ord('A'))&& !(pick_subimg = 1)&& !(reset = 2)
{
    if (pick_image_angle > 360){pick_image_angle=0}
    pick_image_angle=(pick_image_angle+1);
}

if !(pick_image_angle = sweetspot)
{
    playsound=1;
}

lockClick = choose(snd_lockClick_1,snd_lockClick_2);

if (pick_image_angle = sweetspot)
{
    if !audio_is_playing(lockClick) && playsound=1
    {
        audio_play_sound(lockClick,1,0);
        playsound=0;
    }
}



//Unlock

//is the lock turned?
if (image_angle <= 0)
{
    //Pick is in the sweetspot
    if (pick_image_angle = sweetspot)
    {
        //Unlock door
        if !audio_is_playing(snd_lock_Unlock)
        {
            audio_play_sound(snd_lock_Unlock,50,0);
        }
        door.locked_skill=0;
        door.locked=false;
        if !instance_exists(obj_activate2){instance_create(door.x,door.y,obj_activate2)};
        instance_destroy();
    } else {
        //Pick is not in the sweetspot
        spot = (pick_image_angle - sweetspot);
        if (spot < spotmax) && (spot > spotmin)
        {
            sweetspot = pick_image_angle;
            image_angle = 0;
        } else {
            //break lock pick
            pick_subimg = 1;
            //play break sound
            if !audio_is_playing(snd_lock_breakpick) && !(reset = 2)
                {
                    audio_play_sound(snd_lock_breakpick,50,0);
                }
            //reset lock
            if (reset=0)
            {
                global.itemlockpick = (global.itemlockpick - 1);
                alarm[0]= room_speed*1;
                reset=2;
            }
    
        }
    }
}

Code:
//Obj_picklock Draw Event

if (draw=1)
{

draw_set_alpha(0.99);
draw_set_color(c_black);
draw_rectangle(0,0,room_width,room_height,0);
draw_set_alpha(1);
draw_sprite_ext(spr_lock,0,view_wview[view_current]/2,view_hview[view_current]/2,2,2,image_angle,c_white,1);
draw_sprite_ext(spr_lockpick,pick_subimg,view_wview[view_current]/2,view_hview[view_current]/2,2,2,pick_image_angle,c_white,1);
draw_set_color(c_white);
draw_set_font(fnt_coderscrux);
draw_text(view_wview[view_current]/2,((view_hview[view_current]/2)+200),"Lockpicks: "+string(global.itemlockpick));

if (global.lockdebug = true)
{
draw_text(x,y+200, image_angle)
draw_set_color(c_green);
draw_text(x,y+300, sweetspot)
}



}

//fix everything
draw_set_halign(fa_left);
draw_set_valign(fa_top);
draw_set_alpha(1);
draw_set_font(-1);
draw_set_color(c_black);
Code:
//Obj_picklock Alarm[0] Event

if (global.itemlockpick = 0)
{
     if !instance_exists(obj_player_TB_nolockpick)
            {
                instance_create(obj_player.x,obj_player.y,obj_player_TB_nolockpick);
             }
    instance_destroy(self);
} else {

pick_subimg = 0;
pick_image_angle = 90;
image_angle = 90;
reset=0;

}

Code:
//Obj_picklock Destroy event

if instance_exists(obj_playerlockcontroll)
{
    instance_destroy(obj_playerlockcontroll);
}
instance_activate_all();

All Coded by myself

 
Last edited:
Status
Not open for further replies.
Top