Combining Converted GUI Triggers

garion992

TH.net Regular
Reaction score
17
Little Question

I have made a Function, just converted, but there seems something unlogical in it.
JASS:

function TrigUnitName takes nothing returns boolean
    if ( not ( GetUnitTypeId(GetEnteringUnit()) == 'hfoo' ) ) then
        return false
    endif
    return true
endfunction


is this not better:

JASS:

function TrigUnitName takes nothing returns boolean
    if ( GetUnitTypeId(GetEnteringUnit()) == 'hfoo' ) then
        return true
    endif
    return false
endfunction


thx, garion992
 

Rheias

New Helper (I got over 2000 posts)
Reaction score
232
> is this not better:

Yes, Blizzard love making things more complicated than they should, your way is better. However Orc_Tamer's way is even better, use it.
 

AceHart

Your Friendly Neighborhood Admin
Reaction score
1,495
> Blizzard love making things more complicated than they should

Not really.
The GUI Editor is supposed to get a usable result. No matter what!
As such, it must be as general as possible.
And, actually, they made a terrific job there.

Of course, once you start down the dark path... :p
 

garion992

TH.net Regular
Reaction score
17
Uberplayer, i dont see any difference with your trigger and that one of Orc_Tamer. But it doesnt matters :p

But something else. Is it possible if you convert 2 gui triggers to jass to combine them? Cause if i add the action and the event, it already starts if i came in first region, thats only ment to say wich units enters. So what i want it to do is, if unit enters RegGiveName - it gives the name of the unit and if it enters RegCloneUnit - it clones the unit.

JASS:
function Trig_TrigCloneUnit_Actions takes nothing returns nothing
    call ShowUnitHide( GetEnteringUnit() )
    call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetEnteringUnit())), ( ( "Now cloning " + GetUnitName(GetEnteringUnit()) ) + ". Please wait...." ) )
    call TriggerSleepAction( 5.00 )
    call SetUnitPositionLocFacingBJ( GetEnteringUnit(), GetRectCenter(gg_rct_RegSpawnOriginalUnit), 270.00 )
    call ShowUnitShow( GetEnteringUnit() )
    call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetEnteringUnit()), GetOwningPlayer(GetEnteringUnit()), GetRectCenter(gg_rct_RegSpawnClone), 270.00 )
endfunction

//===========================================================================
function InitTrig_TrigCloneUnit takes nothing returns nothing
    set gg_trg_TrigCloneUnit = CreateTrigger(  )
    call TriggerRegisterEnterRectSimple( gg_trg_TrigCloneUnit, gg_rct_RegCloneUnit )
    call TriggerAddAction( gg_trg_TrigCloneUnit, function Trig_TrigCloneUnit_Actions )
endfunction

and
JASS:
function GiveUnitName takes nothing returns nothing
    call DisplayTextToForce( GetPlayersAll(), ( "Entering Unit: " + GetUnitName(GetEnteringUnit()) + ". Please notice that all Items carried will be lost!" ) )
endfunction

//===========================================================================
function InitTrig_TrigUnitName takes nothing returns nothing
    set gg_trg_TrigUnitName = CreateTrigger(  )
    call TriggerRegisterEnterRectSimple( gg_trg_TrigUnitName, gg_rct_RegGiveName )
    call TriggerAddAction( gg_trg_TrigUnitName, function GiveUnitName )
endfunction


EDIT: srry uberplayer, i see it now
 
Reaction score
456
>You're somewhat late...
Get glasses :cool:, you be not seeing the point. My function has GetTriggerUnit() instead of entering..:p
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
JASS:

function GiveUnitName takes nothing returns nothing
    call DisplayTextToForce( GetPlayersAll(), ( "Entering Unit: " + GetUnitName(GetEnteringUnit()) + ". Please notice that all Items carried will be lost!" ) )
endfunction

function Trig_TrigCloneUnit_Actions takes nothing returns nothing
local trigger OneTrigger
set OneTrigger = CreateTrigger()
call TriggerRegisterEnterRectSimple( OneTrigger, gg_rct_RegGiveName )
call TriggerAddAction( OneTrigger, function GiveUnitName )  
call ShowUnitHide( GetEnteringUnit() )  
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetEnteringUnit())), ( ( "Now cloning " + GetUnitName(GetEnteringUnit()) ) + ". Please wait...." ) ) 
call TriggerSleepAction( 5.00 )  
call SetUnitPositionLocFacingBJ( GetEnteringUnit(), GetRectCenter(gg_rct_RegSpawnOriginalUnit), 270.00 ) 
call ShowUnitShow( GetEnteringUnit() )  
call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetEnteringUnit()), GetOwningPlayer(GetEnteringUnit()), GetRectCenter(gg_rct_RegSpawnClone), 270.00 )
set OneTrigger = null
 endfunction 
//===========================================================================
 function InitTrig_TrigCloneUnit takes nothing returns nothing  
set gg_trg_TrigCloneUnit = CreateTrigger( )  
call TriggerRegisterEnterRectSimple( gg_trg_TrigCloneUnit, gg_rct_RegCloneUnit )  
call TriggerAddAction( gg_trg_TrigCloneUnit, function Trig_TrigCloneUnit_Actions ) 
endfunction


Edit...Sorry...the copy system in TH arent that good...i fixed the code
 

garion992

TH.net Regular
Reaction score
17
it gives an error message...
line 36: expected end of line
did i copied it wrong or is it in the trigger
expected end of line means that: you forgot a ")"??

JASS:
GetForceOfPlayer(GetOwningPlayer(GetEnteringUnit())), ( ( "Now cloning " + GetUnitName(GetEnteringUnit()) ) + ". Please wait...." ) )  call TriggerSleepAction( 5.00 )  call SetUnitPositionLocFacingBJ( GetEnteringUnit(), GetRectCenter(gg_rct_RegSpawnOriginalUnit), 270.00 )  call ShowUnitShow( GetEnteringUnit() )


WE gives an error on this line. It says:
Expected end of Line.
 

garion992

TH.net Regular
Reaction score
17
hello,
I tried to combine 2 gui triggers into one jass. However it didn't worked.

The Trigger Combined
JASS:
function GiveUnitName takes nothing returns nothing
    call DisplayTextToForce( GetPlayersAll(), ( "Entering Unit: " + GetUnitName(GetEnteringUnit()) + ". Please notice that all Items carried will be lost!" ) )
endfunction

function Trig_TrigCloneUnit_Actions takes nothing returns nothing
    local trigger OneTrigger
    call TriggerRegisterEnterRectSimple( OneTrigger, gg_rct_RegGiveName )
    call TriggerAddAction( OneTrigger, function GiveUnitName )  
    call ShowUnitHide( GetEnteringUnit() )  
    call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetEnteringUnit())), ( ( "Now cloning " + GetUnitName(GetEnteringUnit()) ) + ". Please wait...." ) )
    call TriggerSleepAction( 5.00 )
    call SetUnitPositionLocFacingBJ( GetEnteringUnit(), GetRectCenter(gg_rct_RegSpawnOriginalUnit), 270.00 )
    call ShowUnitShow( GetEnteringUnit() )
    call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetEnteringUnit()), GetOwningPlayer(GetEnteringUnit()), GetRectCenter(gg_rct_RegSpawnClone), 270.00 )
    set OneTrigger = null
 endfunction 
 
//===========================================================================
 function InitTrig_TrigCloneUnit takes nothing returns nothing  
set gg_trg_TrigCloneUnit = CreateTrigger( )  
call TriggerRegisterEnterRectSimple( gg_trg_TrigCloneUnit, gg_rct_RegCloneUnit )  
call TriggerAddAction( gg_trg_TrigCloneUnit, function Trig_TrigCloneUnit_Actions ) 
endfunction


Does anyone knows what is wrong with it?
 

N-a-z-g-u-l

New Member
Reaction score
30
hello,
I tried to combine 2 gui triggers into one jass. However it didn't worked.

The Trigger Combined
JASS:
function GiveUnitName takes nothing returns nothing
    call DisplayTextToForce( GetPlayersAll(), ( "Entering Unit: " + GetUnitName(GetEnteringUnit()) + ". Please notice that all Items carried will be lost!" ) )
endfunction

function Trig_TrigCloneUnit_Actions takes nothing returns nothing
    local trigger OneTrigger
    call TriggerRegisterEnterRectSimple( OneTrigger, gg_rct_RegGiveName )
    call TriggerAddAction( OneTrigger, function GiveUnitName )  
    call ShowUnitHide( GetEnteringUnit() )  
    call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetEnteringUnit())), ( ( "Now cloning " + GetUnitName(GetEnteringUnit()) ) + ". Please wait...." ) )
    call TriggerSleepAction( 5.00 )
    call SetUnitPositionLocFacingBJ( GetEnteringUnit(), GetRectCenter(gg_rct_RegSpawnOriginalUnit), 270.00 )
    call ShowUnitShow( GetEnteringUnit() )
    call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetEnteringUnit()), GetOwningPlayer(GetEnteringUnit()), GetRectCenter(gg_rct_RegSpawnClone), 270.00 )
    set OneTrigger = null
 endfunction 
 
//===========================================================================
 function InitTrig_TrigCloneUnit takes nothing returns nothing  
set gg_trg_TrigCloneUnit = CreateTrigger( )  
call TriggerRegisterEnterRectSimple( gg_trg_TrigCloneUnit, gg_rct_RegCloneUnit )  
call TriggerAddAction( gg_trg_TrigCloneUnit, function Trig_TrigCloneUnit_Actions ) 
endfunction


Does anyone knows what is wrong with it?

you create a trigger everytime the unit enters... do you want to do that?

if you say combine, i would say that should be right:

JASS:
function GiveUnitName takes nothing returns nothing
    call DisplayTextToForce( GetPlayersAll(), ( "Entering Unit: " + GetUnitName(GetEnteringUnit()) + ". Please notice that all Items carried will be lost!" ) )
endfunction

function Trig_TrigCloneUnit_Actions takes nothing returns nothing
    call ShowUnitHide( GetEnteringUnit() )  
    call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(GetEnteringUnit())), ( ( "Now cloning " + GetUnitName(GetEnteringUnit()) ) + ". Please wait...." ) )
    call TriggerSleepAction( 5.00 )
    call SetUnitPositionLocFacingBJ( GetEnteringUnit(), GetRectCenter(gg_rct_RegSpawnOriginalUnit), 270.00 )
    call ShowUnitShow( GetEnteringUnit() )
    call CreateNUnitsAtLoc( 1, GetUnitTypeId(GetEnteringUnit()), GetOwningPlayer(GetEnteringUnit()), GetRectCenter(gg_rct_RegSpawnClone), 270.00 )
    set OneTrigger = null
 endfunction 
 
//===========================================================================
function InitTrig_TrigCloneUnit takes nothing returns nothing
    local trigger OneTrigger = CreateTrigger( )  
    call TriggerRegisterEnterRectSimple( OneTrigger, gg_rct_RegGiveName )
    call TriggerAddAction( OneTrigger, function GiveUnitName )  
    set gg_trg_TrigCloneUnit = CreateTrigger( )  
    call TriggerRegisterEnterRectSimple( gg_trg_TrigCloneUnit,gg_rct_RegCloneUnit )  
    call TriggerAddAction( gg_trg_TrigCloneUnit, function Trig_TrigCloneUnit_Actions ) 
endfunction


if this is not what you wanted... then at least set the local variable to CreateTrigger( )

JASS:
local trigger OneTrigger = CreateTrigger( )


this way...
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
Well...my appologies...I fixed..refer back to 11th post
 

~GaLs~

† Ғσſ ŧħə ѕαĸε Φƒ ~Ğ䣚~ †
Reaction score
180
why you double posted....and i admit i am noob...

My mistake and my appologise
 

N-a-z-g-u-l

New Member
Reaction score
30
the trigger can also be created in the local variable declaration...

and i did not make that double post, these were two threads once, and i answered into those... but thats offtopic...
 

garion992

TH.net Regular
Reaction score
17
if I dubble posted srry for that. and also for teh late reply.
And thx for all the help. I shall look at it when i have time.
maybe tomorrow XD
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top