Snippet IsGameLoaded

Troll-Brain

You can change this now in User CP.
Reaction score
85
If i could post on graveyard i would post in it directly, i just want to show a bug.
Anyway even if there wasn't this bug this function would be totally useless.

JASS:
function IsGameLoaded takes nothing returns boolean
    return UnitId2String('hfoo')==null
endfunction


Note that is the same with UnitId2String and OrderId2String.
Also for the special case of AbilityId2String

common.j said:
// Not currently working correctly...
constant native AbilityId takes string abilityIdString returns integer
constant native AbilityId2String takes integer abilityId returns string

That's a shame for GroupEnumUnitsOfType and GroupEnumUnitsOfTypeCounted, they would be quite useful if this bug wasn't here.
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
I thought it was that.

But I would've known for sure if it was IsGameLoading instead of IsGameLoaded. Your function says the opposite of what it checks?

Hmm maybe my bad English owns me, by "IsGameLoaded" i mean the actual playing game, the player has loaded a game saved in his hard disk
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
Ohhh! So if the game is loaded from a saved file... Hey, try this to fix this bug: store the strings in an array that you'd like to still work afterwards. :)

JASS:
library TestFixBug initializer init

globals
    private string array S
endglobals

private function Actions takes nothing returns nothing
    call BJDebugMsg("S[0] == " + S[0] )
    call BJDebugMsg("UnitId2String('hfoo') == " + UnitId2String('hfoo') )
endfunction

private function init takes nothing returns nothing
    local trigger trig = CreateTrigger()
    
    call TriggerRegisterPlayerEventEndCinematic(trig,Player(0))
    call TriggerAddAction(trig,function Actions)
    set S[0] = UnitId2String('hfoo')
endfunction

endlibrary


It doesn't work :(
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
Too mod/admins :

Leave this tag [Snippet], there is a reason why i wrote [Graveyard] ...

Anyway if someone really would ever want a such silly easy function here is the good way :

JASS:
library IsGameLoaded initializer init

globals
    private boolean B = false
endglobals

function IsGameLoaded takes nothing returns boolean
    return B
endfunction

private function Actions takes nothing returns nothing
    set B = true
endfunction

private function init takes nothing returns nothing
    local trigger trig = CreateTrigger()
    call TriggerRegisterGameEvent(trig,EVENT_GAME_LOADED)
    call TriggerAddAction(trig,function Actions)
endfunction

endlibrary
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
I've forgotten to say that GetObjectName doesn't return null, but it returns the localized string, which depend the language of warcraft3, and then can't be used inside GroupEnumUnitsOfType.
 
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