Custom Scripts

fhar143

Active Member
Reaction score
0
I'm just wondering what does it do??? or how can i code it to my map..

all the triggers you are posting have this "Custom Scripts" . .

but i don't know anything about it.. XD
 

XeNiM666

I lurk for pizza
Reaction score
138
Custom Scripts are things that let you put JASS in GUI. Usually used for fixing leaks.
 

SaMmM

Member
Reaction score
4
One of the very useful custom scripts is:

local unit udg_u

Great for triggering simple MUI spells.
It makes a local variable out of your user-defined-global variable, it will not conflict with other triggers that use the same variable. Can be used in triggers that has wait actions.

Of course you also have to null it after using it:
set udg_u = null
 

Tyrulan

Ultra Cool Member
Reaction score
37
One of the very useful custom scripts is:

local unit udg_u

Great for triggering simple MUI spells.
It makes a local variable out of your user-defined-global variable, it will not conflict with other triggers that use the same variable. Can be used in triggers that has wait actions.

Of course you also have to null it after using it:
set udg_u = null

Why would you use "udg_" for a local unit? That kind of defeats the purpose of the convention does it not? Declaring a local unit with global syntax FTL. >.<

(udG_ stand for "User Defined Global")
 

Komaqtion

You can change this now in User CP.
Reaction score
469
That's just so you can use it with GUI triggers, it's a "Global Local" XD
 

Tyrulan

Ultra Cool Member
Reaction score
37
Haha alright then, I don't know since I program in Jass anyway I don't have to deal with that. Seems illogical. I suppose it is more or less like the syntax:

JASS:

globals
     local unit u
endglobals


If anyone can confirm that.
 

T.s.e

Wish I was old and a little sentimental
Reaction score
133
Except for the fact that this:
JASS:
globals
     local unit u
endglobals

Gives a syntax error.
 

SaMmM

Member
Reaction score
4
(udG_ stand for "User Defined Global")
Thanks for telling me, but I said that in my post. xD

Haha alright then, I don't know since I program in Jass anyway I don't have to deal with that. Seems illogical. I suppose it is more or less like the syntax:

JASS:
globals
     local unit u
endglobals


If anyone can confirm that.

Because the topic starter asked for custom scripts for gui triggers.

In gui created maps, udg are already defined by the variable editor.

udg_unit or udg_u is a commonly used variable in gui triggers.

So using local unit or local udg_unit is the same, and does not matter because you will most probably have a udg_unit in gui triggered maps.

If anyone can confirm that too.
 

darkreapers

New Member
Reaction score
6
Butwhat if i don't use Jass for my GUI?? do i still need them??

yes, u do, they can be used to destory temp variables u used in a trigger or ur trigger wont work when ur character moves out of position, say if u have a temp variable that sets the location as near the hero. if ur hero moves to another spot and u cast the same spell, the effect would be all messed up. thats why u use custom script to remove the location.
 

fhar143

Active Member
Reaction score
0
oh.. ok i understand now...

for example a trigger for swap, after the effect i have to remove it to avoid memory leaks??? how can i code it??

i tried custom scripts but no options are available.. i think i am the one to code it.
 

Dinowc

don't expect anything, prepare for everything
Reaction score
223
use x,y coordinates instead of locations

not only that it doesn't require to be removed (it wont leak), but it's also faster

a location is a *BJ actually that converts x,y coordinates to location in a very retarded way...

example of a GetUnitLocBJ() function (aka "Position of unit"):

JASS:
function GetUnitLocBJ takes unit u returns location
      local real x = GetUnitX(u)
      local real y = GetUnitY(u)
      return Location(x,y)
endfunction


see? makes no sense...

so in your case (for swap) just use this:

JASS:
local real x1 = GetUnitX(caster) //let&#039;s assume &quot;caster&quot; is triggering unit
local real y1 = GetUnitY(caster)

local real x2 = GetUnitX(target) //and &quot;target&quot; is target unit of ability being cast
local real y2 = GetUnitY(target)

call SetUnitPosition(caster, x2,y2)
call SetUnitPosition(target, x1,y1)

//it&#039;s also recommended to null unit variables since they are local ones and it will leak otherwise


and there you go

ofc you can do it the same way in GUI



______________________
*BJ - blizzard's premade functions, blizz created them mostly for GUI users and Jass beginners, although they seem simple, they aren't actually, all they do is point to a native function that does the actual job
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      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