xAnaMorphine
Active Member
- Reaction score
- 43
I got a Skill where my Unit Jumps. The only problem that occurs, the unit is able to jump out of the map and back in. How do I resolve it to stay in the Playable map area?
Actually if you read the latest pages of that thread, you'll notice an alternative version of BoundSentinel which limit unit to go util map end... vexorian version limit with a real limit (500. initial)
_______________________________
| |
| |
| xxx |
| xxx |
| |
| |
| |
| |
_______________________________
you'll need to make another system based on it... because the system is the inverse of what you want to do...
instead of block the entry in some region, it block the output of some region
EDIT: probably you just need to change the event
set minx=GetCameraBoundMinX() - EXTRA
set minx=GetRectMinX(gg_rct_test) - EXTRA
call TriggerRegisterLeaveRegion(t,r, null)
call TriggerRegisterEnterRegion(t,r, null)
.
set minx=GetRectMinX(gg_rct_1) - EXTRA
set miny=GetRectMinY(gg_rct_1) - EXTRA
set maxx=GetRectMaxX(gg_rct_1) + EXTRA
set maxy=GetRectMaxY(gg_rct_1) + EXTRA
set rc=Rect(minx,miny,maxx,maxy)
call RegionAddRect(r, rc)
call RemoveRect(rc)
call TriggerRegisterEnterRegion(t,r, null)
set minx=GetRectMinX(gg_rct_2) - EXTRA
set miny=GetRectMinY(gg_rct_2) - EXTRA
set maxx=GetRectMaxX(gg_rct_2) + EXTRA
set maxy=GetRectMaxY(gg_rct_2) + EXTRA
set rc=Rect(minx,miny,maxx,maxy)
call RegionAddRect(r, rc)
call RemoveRect(rc)
call TriggerRegisterEnterRegion(t,r, null)
ya and change the event
JASS:call TriggerRegisterLeaveRegion(t,r, null)
>>
JASS:call TriggerRegisterEnterRegion(t,r, null)
and you don't need to create other trigger, just add more things in Init function...
example:
JASS:. set minx=GetRectMinX(gg_rct_1) - EXTRA set miny=GetRectMinY(gg_rct_1) - EXTRA set maxx=GetRectMaxX(gg_rct_1) + EXTRA set maxy=GetRectMaxY(gg_rct_1) + EXTRA set rc=Rect(minx,miny,maxx,maxy) call RegionAddRect(r, rc) call RemoveRect(rc) call TriggerRegisterEnterRegion(t,r, null) set minx=GetRectMinX(gg_rct_2) - EXTRA set miny=GetRectMinY(gg_rct_2) - EXTRA set maxx=GetRectMaxX(gg_rct_2) + EXTRA set maxy=GetRectMaxY(gg_rct_2) + EXTRA set rc=Rect(minx,miny,maxx,maxy) call RegionAddRect(r, rc) call RemoveRect(rc) call TriggerRegisterEnterRegion(t,r, null)
of course you can make another function with all that and optimize it but is just a example
are you sure that you replaced: rct_1
with the name of your region?
call TriggerRegisterLeaveRegion(t,r, null)
call TriggerRegisterEnterRegion(t,r, null)