Do we need to nullify a local unit if it's going to get removed?

Yoww89

New Member
Reaction score
0
I'm new to Jass.
local unit u = GetLastCreatedUnit()
set u = null<< ?
call RemoveUnit( u )
 

KaerfNomekop

Swim, fishies. Swim through the veil of steel.
Reaction score
612
I believe you nullify local handles at the end of every trigger.
 

Trollvottel

never aging title
Reaction score
262
local unit u = GetLastCreatedUnit()
call RemoveUnit( u )
set u = null

This is the correct order. You should not set the variable to null before removing the unit (which isnt possible if the variable is already null).
 

Yoww89

New Member
Reaction score
0
Of course! lol
Thanks.

So this was my first custom function:
JASS:
function GetArmor takes unit a returns real
    local real r1
    local real r2
    local real r3
    local location p1
    local unit u1
    set r1 = GetUnitStateSwap(UNIT_STATE_LIFE, a)
    set p1 = GetUnitLoc(a)
    call CreateNUnitsAtLoc( 1, &#039;h000&#039;, GetOwningPlayer(a), p1, bj_UNIT_FACING )
    set u1 = GetLastCreatedUnit()
    call UnitDamageTargetBJ( u1, a, 10.00, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_NORMAL )
    call RemoveUnit( u1 )
    set r2 = ( r1 - GetUnitStateSwap(UNIT_STATE_LIFE, a) )
    if ( r2 &gt; 10.00 ) then
        set r3 = ( ( -1.00 * ( 10.00 - r2 ) ) / ( r2 * 0.06 ) )
    else
        set r3 = ( ( 10.00 - r2 ) / ( r2 * 0.06 ) )
    endif
    call SetUnitLifeBJ( a, r1 )
    return r3
    set u1 = null
    set p1 = null
endfunction


Any thoughts on this? Things that could be better, leaks, etc...
 

Accname

2D-Graphics enthusiast
Reaction score
1,462
You dont need to create a new unit, make the unit damage itself instead of using a dummy.
Creating units is a very time consuming process in general and should be avoided at any chance.
 

Yoww89

New Member
Reaction score
0
Allright, thanks for the tip Accname.

EDIT: Actually as I removed the dummy unit now when I call the function it's running lots of instances lagging my map. I can't see a reason for that. is there a problem with UnitDamageTargetBJ( a, a, 10.00, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_NORMAL )?

EDIT2: Yea, pretty much my fault lol. Got it.
 
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