From edf9965339206b9f1705b8ec99952f543d8e03b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B3=96=E8=90=8C=E8=8A=A6?= Date: Wed, 17 Apr 2019 20:14:00 +0800 Subject: [PATCH 1/2] Update * Add "Leave" event for triggers. --- objects/trigger/Create_0.gml | 1 - objects/trigger/Other_10.gml | 6 +---- objects/trigger/Other_11.gml | 1 + objects/trigger/Step_0.gml | 44 +++++++++++------------------------- objects/trigger/trigger.yy | 10 ++++++++ 5 files changed, 25 insertions(+), 37 deletions(-) create mode 100644 objects/trigger/Other_11.gml diff --git a/objects/trigger/Create_0.gml b/objects/trigger/Create_0.gml index 7960f5be..5b9e8dea 100644 --- a/objects/trigger/Create_0.gml +++ b/objects/trigger/Create_0.gml @@ -1,3 +1,2 @@ user_char=-1; -multiple=false; _triggered=false; \ No newline at end of file diff --git a/objects/trigger/Other_10.gml b/objects/trigger/Other_10.gml index 3921ad2f..9b37e205 100644 --- a/objects/trigger/Other_10.gml +++ b/objects/trigger/Other_10.gml @@ -1,6 +1,2 @@ ///@desc Trigger -if(_triggered){ - exit; -}else{ - _triggered=true; -} \ No newline at end of file +_triggered=true; \ No newline at end of file diff --git a/objects/trigger/Other_11.gml b/objects/trigger/Other_11.gml new file mode 100644 index 00000000..c35a1cb2 --- /dev/null +++ b/objects/trigger/Other_11.gml @@ -0,0 +1 @@ +///@desc Leave \ No newline at end of file diff --git a/objects/trigger/Step_0.gml b/objects/trigger/Step_0.gml index 32304b9b..c625c80b 100644 --- a/objects/trigger/Step_0.gml +++ b/objects/trigger/Step_0.gml @@ -1,37 +1,19 @@ -if(!_triggered){ - var user=user_char; - if(user>=-1){ - var result=false; - if(instance_exists(char)){ - with(char){ - if(char_id==user||user==-1){ - result=place_meeting(x,y,other); - if(result){ - break; - } +var user=user_char; +if(user!=-1){ + var result=false; + if(instance_exists(char)){ + with(char){ + if(char_id==user||user==-1){ + result=place_meeting(x,y,other); + if(result){ + break; } } } - if(result){ - event_user(0); - } } -}else if(multiple){ - var user=user_char; - if(user>=-1){ - var result=false; - if(instance_exists(char)){ - with(char){ - if(char_id==user||user==-1){ - result=place_meeting(x,y,other); - if(result){ - break; - } - } - } - } - if(!result){ - _triggered=false; - } + if(!_triggered&&result){ + event_user(0); + }else if(_triggered&&!result){ + event_user(1); } } \ No newline at end of file diff --git a/objects/trigger/trigger.yy b/objects/trigger/trigger.yy index 22a61255..f4c55433 100644 --- a/objects/trigger/trigger.yy +++ b/objects/trigger/trigger.yy @@ -33,6 +33,16 @@ "enumb": 0, "eventtype": 3, "m_owner": "fa40414b-ccdc-4c4e-824b-97acde61532b" + }, + { + "id": "940adb96-4f34-4afc-9a37-5404b0abc7cd", + "modelName": "GMEvent", + "mvc": "1.0", + "IsDnD": false, + "collisionObjectId": "00000000-0000-0000-0000-000000000000", + "enumb": 11, + "eventtype": 7, + "m_owner": "fa40414b-ccdc-4c4e-824b-97acde61532b" } ], "maskSpriteId": "00000000-0000-0000-0000-000000000000", From d7e17bec5b800a7482b9d2ad043cbc86a90d0165 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=B3=96=E8=90=8C=E8=8A=A6?= Date: Wed, 17 Apr 2019 20:48:49 +0800 Subject: [PATCH 2/2] Update * Fixed the step event code of the triggers. --- objects/trigger/Create_0.gml | 3 ++- objects/trigger/Step_0.gml | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/objects/trigger/Create_0.gml b/objects/trigger/Create_0.gml index 5b9e8dea..5fcb4d85 100644 --- a/objects/trigger/Create_0.gml +++ b/objects/trigger/Create_0.gml @@ -1,2 +1,3 @@ user_char=-1; -_triggered=false; \ No newline at end of file +_triggered=false; +_collided_previous=false; \ No newline at end of file diff --git a/objects/trigger/Step_0.gml b/objects/trigger/Step_0.gml index c625c80b..d0cb7d05 100644 --- a/objects/trigger/Step_0.gml +++ b/objects/trigger/Step_0.gml @@ -1,19 +1,19 @@ var user=user_char; -if(user!=-1){ - var result=false; - if(instance_exists(char)){ - with(char){ - if(char_id==user||user==-1){ - result=place_meeting(x,y,other); - if(result){ - break; - } +var result=false; +if(instance_exists(char)){ + with(char){ + if(char_id==user||user==-1){ + result=place_meeting(x,y,other); + if(result){ + break; } } } - if(!_triggered&&result){ - event_user(0); - }else if(_triggered&&!result){ - event_user(1); - } +} +if(!_triggered&&result){ + event_user(0); + _collided_previous=true; +}else if(_triggered&&_collided_previous&&!result){ + event_user(1); + _collided_previous=false; } \ No newline at end of file