• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. đź”—Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!
KILLCIDE
Reaction score
899

Profile posts Latest activity Postings Experience Media Albums Resources About Medals

  • Ahm well that issue isn't particularly easy to fix - my immediate suggestion would be to make the route simplistic (terrain wise) there's nothing code wise to really be done about it since the issue is with unit pathfinding - if they're going that way anyway and their default path has unbuildable terrain (and no units are in the way) you could add additional waypoints and not attack move through all of them (but I don't know what kind of map you're making so I can't exactly help further, though in some cases there's actually nothing else that can be done)
    Oh yeah, forgot, my LoL name is Falconedge,
    btw, what's your level or if you have, what rank?
    Well,depending on what kind of spawn system you want (respawn, creep spawn, TD-type spawn) I can offer guidance but not much actual coding help - I've been sick (and lazy) recently so not been touching code much at all
    You linked me a sub-forum, not a thread. Also, instead of asking individual moderators, you could use the report button :)
    Sorry, I'm busy in school :) By the way you can request at me but I don't promise that i can make it :)
    Learn jass and systems become easier because there's a lot of things that are easier to do in (v)jass. As much as I hated it in the past, can't deny that it's handy.
    You gave up that quickly? :p

    It's not like you have to use it x)

    It's a very useful system so I will put it in my folder with other system that I have created :)
    Still WIP but it's almost finished.
    library LumberSystem initializer myInit

    globals
    private hashtable h = InitHashtable()
    private group g
    private group mills = CreateGroup()
    private unit tempUnit
    endglobals

    function workerFunction takes nothing returns nothing
    local unit u = GetEnumUnit()
    if IsUnitLoadedBJ(u) == false and LoadBoolean(h, GetHandleId(u), 3) == true then
    call SaveBoolean(h, GetHandleId(u), 3, false)
    call GroupRemoveUnit(LoadGroupHandle(h, GetHandleId(tempUnit), 1), u)
    call SaveInteger(h, GetHandleId(tempUnit), 2, LoadInteger(h, GetHandleId(tempUnit), 2) - 1)
    call BJDebugMsg("exit")
    endif
    endfunction

    function groupFunction takes nothing returns nothing
    local unit u = GetEnumUnit()
    local group tGroup = LoadGroupHandle(h, GetHandleId(u), 1)
    local integer i = CountUnitsInGroup(tGroup)
    local texttag t = CreateTextTag()
    local integer loopi = 1
    local integer ih = GetHandleId(u)
    if i > 0 then
    call SetTextTagText(t, I2S(10 * i), 0.023)
    call SetTextTagPos(t, GetUnitX(u), GetUnitY(u), 100)
    call SetTextTagColor(t, 0, 255, 0, 0)
    call SetTextTagVelocityBJ(t, 64, 90)
    call SetTextTagPermanent(t, false)
    call SetTextTagFadepoint(t, 1)
    call SetTextTagLifespan(t, 3)
    endif
    set tempUnit = u
    call ForGroup(tGroup, function workerFunction)
    set t = null
    endfunction

    function periodicLumber takes nothing returns nothing
    call ForGroup(mills, function groupFunction)
    endfunction

    function unitEntersMill takes nothing returns nothing
    local integer i = GetHandleId(GetTransportUnit())
    local integer count = LoadInteger(h, i, 2)
    call SaveInteger(h, i, 2, count + 1)
    call GroupAddUnit(LoadGroupHandle(h, i, 1), GetTriggerUnit())
    call SaveBoolean(h, GetHandleId(GetTriggerUnit()), 3, true)
    endfunction

    function newLumberMill takes nothing returns nothing
    set g = CreateGroup()
    call SaveGroupHandle(h, GetHandleId(GetConstructedStructure()), 1, g)
    call GroupAddUnit(mills, GetConstructedStructure())
    endfunction

    function newLumberMillInit takes nothing returns nothing
    set g = CreateGroup()
    call SaveGroupHandle(h, GetHandleId(GetEnumUnit()), 1, g)
    call GroupAddUnit(mills, GetEnumUnit())
    endfunction

    function myInit takes nothing returns nothing
    local trigger t = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_CONSTRUCT_FINISH )
    call TriggerAddAction(t, function newLumberMill)
    set t = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_LOADED )
    call TriggerAddAction(t, function unitEntersMill)
    set t = CreateTrigger()
    call TriggerRegisterTimerEventPeriodic(t, 1.0)
    call TriggerAddAction(t, function periodicLumber)
    call ForGroup(GetUnitsOfTypeIdAll('h001'), function newLumberMillInit)
    set t = null
    endfunction

    endlibrary

    xD
    Well it would be easier that's for sure..

    Sorry I am confused by your triggers xd

    Anyway I am doing it from scratch in vjass for fun. If you don't manage to find a solution I might send it to you :p
    A
    No, why ? Any problems with it ?

    I added the Replacable ID 1 to each Material, taking care it is under the other material, that's it. That means transparency shows TC now.
    A
    Update!

    Took me some time, isn't really what I usually do.
    A
    No, the base texture would be replaced via the skin after you imported it into your map.

    So:
    base texture
    TC skin

    That's all, I think.
    A
    Then this way. Tho I think you do not need a special texture, as the texture is replaced anyways, as far as I understand the link you showed me.
    A
    Ah I see. It is quite simple.
    If you want to become a serious map maker, then you should learn how to add materials. I am going to try to add TC to the tents tomorrow, maybe you try the same and we see tomorrow what we have, okay ? :)
    A
    Uhm, what do you mean with 'creating the textures' ?
    Okay either I use hashtables, then I just need to add like 6 lines of code. (jass)
    Or I need to create one additional trigger and do something that will take time to explain in words :p

    I don't mind either, the difference is only that you might have one trigger extra in your collection depending on choice.
    Ah! I know the issue..

    We want one group per lumber mill. Not group per peon. I am pretty sure that's the issue here.
    I am not sure how to do this without hashtables.. might have to think about it.
    ----------
    Going to get started on that lumber system. I have one method in mind that might work.
    ----------
    Worked quite fine when I tested it :p

    ----------
    I was just wondering if its okay to use wait functions in a trigger whose event is "Time elapsed."
    ----------
    Waits can be used anywhere. However 99% of those who use waits don't know how to use them properly. If you want a system to be MUI/MPI you need good knowledge on how to use the waits, otherwise it will bug.

    The difference in your case is minimal. You'll save like 10 bytes if not less.
    A
    Yes, because the custom tent model has a TC sphere ( that's the way I call it). A model has a 'second model' under the skin, being fully TC. Cutting out things form the skin makes it look team-coloured, that's the secret.
    A
    Ah, just start a new thread, I have no clue about this topic sadly :/
    A
    Ah, I feared this would happen. No, I am sure I did everything right. The problem with these doodads is that they are not supposed to have TC. I am not very experienced with modelling, but while skinning I encountered this problem several times, when adding TC on doodads.
    You might want to start a thread to get this solved, I don't know how to solve it, sadly :/
    A
    Oh, I look forward to see it :)

    Here, take a look on this tutorial. Should explain everything :)
    A
    Ah, don't try to hard! Especially advanced triggers are difficult like hell :)

    Do you already have a map project ?
    A
    Ah, don't try to hard! Especially advanced triggers are difficult like hell :)

    Do you already have a map project ?
    A
    No, sadly not. However, as I said in the thread, I can do the TC parts easily ( if you have GIMP you can easily do it yourself, too, by the way).
    Doing it yourself is the first step to become a successful map creator ;)
    Sorry man. Right now Ive got not time for warcraft. Its gonna take some time before I get back to modeling. But I promise I will. Dont ask when its gonna happen, trust me - you will notice.
    You can bump a thread every 48 hours if you have a good reason to.

    Maybe you have to report your thread to get it solved.
    Good catch. Did not think about that. I'd empty the group when a unit enter the lumber mill, you know how to do that?
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
Top