• 🏆 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!
PurgeandFire
Reaction score
1,859

Profile posts Latest activity Postings Experience Albums Resources About Medals

  • it's just not a right time to learn struct so the options are just those two, which one do you prefer?

    EDIT:
    and how about my last snippet? I know it has a very bad namings so please help me D:
    I hate that my signature is so yellow
    which do you prefer?
    globals
    private Table ItemIndex
    private Table ItemType
    private Table ItemIcon
    private Table ItemCategory
    private Table ItemCooldown
    private Table ItemCharge
    endglobals

    set ItemIndex.integer[dex] = 1
    ....
    set ItemCharge.integer[dex] = 99

    or
    globals
    private TableArray ItemData
    endglobals

    // 1 to save index
    set ItemData[1].integer[dex] = 1
    ....
    // 7 to save charge
    set ItemData[7].integer[dex] = 99
    // or
    // 1 to save index
    set ItemData[dex].integer[1] = 1
    ....
    // 7 to save charge
    set ItemData[dex].integer[7] = 99

    ? :grin:
    hiho. I write to you because I see you again rejecting a ressource in spell section with comment "post code, please".

    I fully understand you want code in description, it's just faster to review and else if you don't hace wc3 it even only makes it possible. (think have seen once a post by you that u dont have it installed anymore)

    [stable]
    ----------
    It is preferred for spell/system code to be posted in the description.
    ----------
    [/stable]
    I think this should be changed in rules to a must-have. At the moment you may think that you can still choose it by yourself if you post code or not.

    There are also spells approved with no code in description, but if some ressources get a "Need Fix" only because of that it should be changed in the rules maybe.;)
    can you give my new submission a quick review bcs it's simple as fk.. you are my only hope ;) thanks
    well, just things that you know =P
    dynamic indexing, static indexing and such, like hanky's for example :/
    may I ask you? logically, locally order a unit (ex. order it to use an ability) will causes desync, doesn't it?
    thnks :)

    EDIT:
    somehow I found a way to revive the left/right click feature :D
    I meant inventory theme or something like that. you know, by replacing unit's texture in-game
    I have just realized I can't give order to unit to move above the trackable, I mean I cant target the terrain, which means left/right click feature is failed :p
    it's impossible to use unit, because:
    - I will lost drag feature
    - slower I guess :p

    EDIT:
    and the trackable height z is not working, they still have 0 z
    set track = CreateTrackForPlayer(TRACKABLE_PATH, TrackX, TrackY, LOCATION_Z, 270., TrackPlayer)
    LOCATION_Z = 2000.0

    here is the result

    I changed the coordinate to (0, 0)
    and the LOCATION_Z to 2000.0 the destructables are correctly created at 2000. but the trackable not. and even they are not facing 270. degree :/
    oh, I understand..
    local Track track = CreateTrackForPlayer(TRACKABLE_PATH, startX, startY, 0., 270., trackPlayer)
    you store the player into global..
    thnks a lot :)
    Reputation (+1):
    (Bundle) I'm a fan of this system. sure thing I will use this on my future game :p this is totally awesome
    is there any thread in thw which explain it, I'm still hardly understand, yeah, I understand how it works but I dont understand on how to run something in a new "thread" :/

    I have tested the system again and yes, it's desync, but strangely players disconnected after several minutes :/

    EDIT:
    I use this code
    if j == 0 then
    call CreateDestructableZ(UI_CORNER_BOTTOM_LEFT, LOCATION_X + UI_SPACE * j, LOCATION_Y + UI_SPACE * i, pn*LOCATION_Z, 270., 1., 0)
    elseif j == ext_j then
    call CreateDestructableZ(UI_CORNER_BOTTOM_RIGHT, LOCATION_X + UI_SPACE * j, LOCATION_Y + UI_SPACE * i, pn*LOCATION_Z, 270., 1., 0)
    else
    call CreateDestructableZ(UI_BORDER_DOWN, LOCATION_X + UI_SPACE * j, LOCATION_Y + UI_SPACE * i, pn*LOCATION_Z, 270., 1., 0)
    endif
    if GetLocalPlayer() != p then
    call ShowDestructable(bj_lastCreatedDestructable, false)
    endif but seems like the destructable is not hidden. what's wrong? :(
    sorry for bothering you so much.. :p
    wait, what is this? bj_FORCE_PLAYER[0]
    I still don't get what do you mean by running on different "thread" :(
    do you know why is this occurs? the debug message is displayed, which means it doesn't hit the op limit. but not all trackable is created D:

    current code
    private function initTrackable takes nothing returns nothing
    local player p = GetEnumPlayer()
    local integer pn = GetPlayerId(p)
    local real startX = LOCATION_X - TRACKABLE_EXPAND_AREA
    local real startY
    local Track track

    loop
    exitwhen startX > InventoryAreaMaxX
    set startY = LOCATION_Y - TRACKABLE_EXPAND_AREA
    loop
    exitwhen startY > InventoryAreaMaxY + TRACKABLE_EXPAND_AREA
    set track = CreateTrackForPlayer(TRACKABLE_PATH, startX, startY, 0., 270., p)
    call RegisterClickEvent(track, function onClick)
    call RegisterHoverEvent(track, function onHover)
    set startY = startY + 32
    endloop
    set startX = startX + 32
    endloop
    call BJDebugMsg("end")
    endfunction

    Then I tried to use normal trackable creating then it works perfectly:
    [IMG]
    code
    private function initTrackable takes nothing returns nothing
    local player p = GetEnumPlayer()
    local integer pn = GetPlayerId(p)
    local real startX = LOCATION_X - TRACKABLE_EXPAND_AREA
    local real startY
    local trackable track

    if GetLocalPlayer() == p then
    loop
    exitwhen startX > InventoryAreaMaxX + TRACKABLE_EXPAND_AREA
    set startY = LOCATION_Y - TRACKABLE_EXPAND_AREA
    loop
    exitwhen startY > InventoryAreaMaxY + TRACKABLE_EXPAND_AREA
    //set track = CreateTrackForPlayer(TRACKABLE_PATH, startX, startY, 0., 270., p)
    set track = CreateTrackable(TRACKABLE_PATH, startX, startY, 270.)
    //call RegisterClickEvent(track, function onClick)
    //call RegisterHoverEvent(track, function onHover)
    set startY = startY + 32
    endloop
    set startX = startX + 32
    endloop
    endif
    call BJDebugMsg("end")
    endfunction
    perhaps something wrong inside Track or I did ssomething wrong?

    EDIT:
    wait, the problem is not your Track.. it's still hitting the op limit -___-

    EDIT 2:
    I have updated the code in the thread, please help me about that op limit D:
    if op limit is something like maximum number of operations can be done in one function call so, I think blizzard should remove that op limit if we run it on map initialization ( will automatically separate the operations and just increase the loading time instead of breaking the operations), I guess you are agreed with me too..

    EDIT:

    local real maxX = (LOCATION_X + (ITEM_SLOT_WIDTH + 4) * UI_SPACE * (pn + 1)) + TRACKABLE_EXPAND_AREA
    local real maxY = (LOCATION_Y + (ITEM_SLOT_HEIGHT + 10) * UI_SPACE) + TRACKABLE_EXPAND_AREA
    local real startX = (LOCATION_X + WINDOW_DISTANCE * pn) - TRACKABLE_EXPAND_AREA
    and instead of calculating them on each call, I think I will just gonna save inventory area maxX, maxY, etc into variable when creating the interfaces, because I guess I probably can use it later.. what do you think? which is better?
    hey, sup?
    I got problem about initializing the small tracks
    here is the func

    private function initTrackable takes integer pn returns nothing
    local real maxX = (LOCATION_X + (ITEM_SLOT_WIDTH + 4) * UI_SPACE * (pn + 1)) + TRACKABLE_EXPAND_AREA
    local real maxY = (LOCATION_Y + (ITEM_SLOT_HEIGHT + 10) * UI_SPACE) + TRACKABLE_EXPAND_AREA
    local real startX = (LOCATION_X + WINDOW_DISTANCE * pn) - TRACKABLE_EXPAND_AREA
    local real startY
    local player p = Player(pn)
    local Track track

    loop
    exitwhen startX > maxX
    set startY = LOCATION_Y - TRACKABLE_EXPAND_AREA
    loop
    exitwhen startY > maxY
    set track = CreateTrackForPlayer(TRACKABLE_PATH, startX, startY, LOCATION_Z, 270., p)
    call RegisterClickEvent(track, function onClick)
    call RegisterHoverEvent(track, function onHover)
    set startY = startY + 32
    endloop
    set startX = startX + 32
    endloop
    call BJDebugMsg("end")
    endfunction
    The debug messages is nnot displayed, which means, I guess, the loop is not finished. What is probably causing this? then how can I fix it? thnks before :)
    There won't be a difference. The hard drive will just be smaller. I mean if you are using 95% of your Mac's HDD you may feel a difference but because you split it up you won't feel a thing. Windows will not be running while you are in Mac OS X so it won't affect it.

    Ah you have more computers, that makes sense. I do too, I just don't bring them both everywhere I go :).
    Thanks for the kind words! If you liked the voices I recommend all of the custom campaigns playlist. Especially the Dwarven one... oh so many dwarf voice variants... =D
    it will take 0.1-0.5 seconds in press ,0.1-0.5 seconds in release, so it will take 0.2-1.0 seconds delay between press and release?
    hey , great man.Could i ask you a question?
    I heard someone said the keyboard event has some bug,such as it will cause delay in multiplayer game,is it really?
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
  • Loading…
Top