• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[vJASS] EnterRegion trigger glitching

Status
Not open for further replies.
Level 6
Joined
Oct 23, 2011
Messages
182
Hello

My code is glitching and I need some help!
The actions don't work for some reason

JASS:
library Teleport initializer onInit

    //The part that's glitching
    //! textmacro CreateMovePoint takes LETTER, moveX, moveY
        private function move$LETTER$ takes nothing returns boolean
            call SetUnitX(GetTriggerUnit(), $moveX$)
            call SetUnitY(GetTriggerUnit(), $moveY$)
            
            return false
        endfunction
    //! endtextmacro
    
    //! textmacro CreateTeleport takes minX, minY, maxX, maxY, LETTER
        set trg = CreateTrigger()
        set reg = CreateRegion()
        set rct = Rect($minX$, $minY$, $maxX$, $maxY$)
        
        call RegionAddRect(reg, rct)
        call RemoveRect(rct)
        call TriggerRegisterEnterRegion(trg, reg, null)
        call TriggerAddCondition(trg, Condition(function move$LETTER$))
    //! endtextmacro
    
    //! runtextmacro CreateMovePoint("a", "-8295", "-18465")

    private function onInit takes nothing returns nothing
        local trigger   trg
        local region    reg
        local rect      rct
            
        //! runtextmacro CreateTeleport("-5225", "-23325", "-4915", "-23045", "a")
        
        set trg = null
        set reg = null
        set rct = null
    endfunction
    
endlibrary
 

Bribe

Code Moderator
Level 50
Joined
Sep 26, 2009
Messages
9,464
JASS:
        call TriggerRegisterEnterRegion(trg, reg, null)
        call TriggerAddCondition(trg, Condition(function move$LETTER$))

Could be:

JASS:
call TriggerRegisterEnterRegion(trg, reg, Filter(function move$LETTER$))

And if you do that change the top part of your code to this:

JASS:
            call SetUnitX(GetFilterUnit(), $moveX$)
            call SetUnitY(GetFilterUnit(), $moveY$)
 
Status
Not open for further replies.
Top