Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Generic Block: Step Event
- event_inherited()
- if point_distance(mouse_x,mouse_y,x,y)<=20
- {
- if mouse_check_button(mb_left)
- {
- if pointer.grabbed==noone
- {
- if welded==true
- {
- var _dir=-1
- for (var _i=0; _i<array_height_2d(parent.hardPoint) _i++)
- {
- if parent.hardPoint[_i,0]==id
- {
- _dir = (hardPoint[_i,2]+180)mod 360;
- parent.hardPoint[_i,0]=noone;
- welded=false;
- break;
- }
- }
- for(var _i=0; _i<array_height_2d(hardPoint) _i++)
- {
- if hardPoint[_i,2]+angle== _dir
- {
- hardPoint[_i,0]=noone
- audio_play_sound(sound_unblock,0,0)
- break;
- }
- }
- }
- pointer.grabbed=id
- }
- }
- }
- if pointer.grabbed == id {
- if !mouse_check_button( mb_left ) {
- var _id = noone;
- var _point = 0;
- var _last = 0;
- var _me = id;
- with ( block ) {
- if _me == id { continue }
- if point_distance( mouse_x, mouse_y, x, y, ) < 30 {
- for ( var _i = 0; _i < array_height_2d( hardPoint ); _i++ ) {
- var _x = x + lengthdir_x( hardPoint[ _i, 1 ], hardPoint[ _i, 2 ] + angle );
- var _y = y + lengthdir_y( hardPoint[ _i, 1 ], hardPoint[ _i, 2 ] + angle );
- var _dist = point_distance( mouse_x, mouse_y, _x, _y );
- if hardPoint[ _i, 0 ] == noone && _dist < hardPointSize && hardPoint[ _i, 3 ] & _me.componentType > 0 {
- if _id == noone || _dist < _last {
- _last = _dist;
- _id = id;
- _point = _i;
- }
- }
- }
- }
- }
- if _id != noone {
- _id.hardPoint[ _point, 0 ] = id;
- welded = true;
- parent = _id;
- var _dir = (_id.hardPoint[_point,2]+180)mod 360;
- for (var _i=0; _i<array_height_2d(hardPoint) _i++)
- {
- if hardPoint[_i,2]+angle==_dir{
- hardPoint[_i,0]=-1
- break;
- }
- }
- audio_play_sound(sound_block,0,0)
- }
- pointer.grabbed = noone;
- } else {
- x = mouse_x;
- y = mouse_y;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement