[LUA] Basic JASS based question on creating units in LUA

WildTurkey

Previously known as giv_me_rep
Reaction score
88
Hello,


decided I'd give crack at writing something in LUA and a little trip back to memory lane on WC3 sounded like a nice idea.

I'm struggling however to just replace a unit selected from a unitgroup!

Would appreciate a set of eyes from the JASS guys, let me know if you spot an issue here.

I think it must be with my local target = GetEnumUnit(), with this in mind i started trying to just create a unit but I couldn't get that going either :S

Unit Id's are taken from WorldEditor, tried with default as well 'hgyr' was tested with in case the issue was that 'h000'is a structure, no dice. Tried with quotationg marks instead of inverted commas but no dice there either. Tried Creating a unit without luck, Destructible without luck. Very very confused...

I put some print lines in there to mark and the last item printed is 6, all units are deleted at the end of this and no new units are created which then tells me that in fact GetEnumUnit() is being detected and in fact the issue is with the unit ID? But then why does the flying machine code not work in testing? I am most confused.


Kind regards

Code:
--calls here first

function initSelectTownBuildings()

    --select all units in unit group

    --for each unit in unit group:

  

    print("1")

    local grpobj = GetUnitsOfPlayerAll(Player(0)) --create unit group of place holder objects

    local unitCount = CountUnitsInGroup(grpobj)

    print("2")

    print("unit Count: "..unitCount)

  

    ForGroupBJ(grpobj, initPlaceTownBuildings) --run function for each object in group

end


function initPlaceTownBuildings()

    print("3")

    --if random number == X do action Ax
    --add more stuff later maybe

    local rand = GetRandomInt(1, 1)

    print("4")

    local target = GetEnumUnit() --get the unit pickd

    print("5")

    print("rand: ".. rand)

    --lumbermill scenario

    if (rand == 1) then

        print("6")

        --replace placeholder with lumbermill

        ReplaceUnitBJ(target, 'h000', bj_UNIT_STATE_METHOD_MAXIMUM )

        print("7")
        --CODE DOES NOT REACH THIS POINT!

    end

end
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • The Helper The Helper:
    The forum software says we have 554 members online now. We did not have that many unique visitors the whole day today. Too many bots and the disconnect between the forum counts and the stats.
  • Varine Varine:
    Currently it says 413 guests and 2 members
    +1
  • Varine Varine:
    Aww
  • The Helper The Helper:
    That is going to be mostly bots
  • The Helper The Helper:
    527 (members: 2, guests: 525)
  • The Helper The Helper:
    Happy Saturday!
    +1
  • V-SNES V-SNES:
    Happy Saturday!
    +1
  • The Helper The Helper:
    622 (members: 2, guests: 620)
  • The Helper The Helper:
    666 (members: 4, guests: 662) :)
    +1
  • Varine Varine:
    609 (members: 4, guests: 605)
  • The Helper The Helper:
    I was posting that last one because the 666 users online :)
    +1
  • The Helper The Helper:
    Happy Wednesday Night!
    +1
  • The Helper The Helper:
    Happy Thursday!
    +1
  • The Helper The Helper:
    Marathon watching The Expanse!
    +1
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    leaving for the weekend in San Antonio will be gone until Sunday afternoon
    +1
  • The Helper The Helper:
    and I am back :)
    +1
  • The Helper The Helper:
    Happy Tuesday!
    +1

    The Helper Discord

    Members online

    Affiliates

    Hive Workshop NUON Dome World Editor Tutorials

    Network Sponsors

    Apex Steel Pipe - Buys and sells Steel Pipe.
    Top