1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  4. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  5. Units have been turned into heroes in our latest Icon Contest! Vote for the best icon set at the Icon Contest #18 Poll!
    Dismiss Notice
  6. The poll for Hive's 12th Concept Art Contest is up! Go cast your vote for your favourite genie!
    Dismiss Notice
  7. The raddest synthwave tracks were chosen - Check out our Music Contest #12 - Results and congratulate the winners!
    Dismiss Notice
  8. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

[JASS] Difficult Problem (this is not like the other i posted, it is the next level in J

Discussion in 'Triggers & Scripts' started by Flame_Phoenix, Aug 28, 2007.

  1. Flame_Phoenix

    Flame_Phoenix

    Joined:
    May 4, 2007
    Messages:
    2,283
    Resources:
    11
    Tools:
    1
    Maps:
    1
    Spells:
    6
    Tutorials:
    3
    Resources:
    11
    Wewll it still does NOT work ... and i don't know why ... This time i simplified the script in order to make the calls a little easier to see in game.

    Code (vJASS):
    set m1 = CreateUnit(P6, 'h00B', GetRectCenterX(u1), GetRectCenterY(u1), 270.00)
            set ef2 = CreateUnit(P6, 'h01B', GetRectCenterX(u1), GetRectCenterY(u1), 0.00)
            call SetUnitInvulnerable(m1, true)
            call UnitApplyTimedLife(ef2, 'BTLF', 1.00)
            call SetUnitMoveSpeed( m1, ( GetUnitDefaultMoveSpeed(m1)/2))
            call IssuePointOrder(m1, "attack", GetUnitX(m1),GetUnitY(m1)-900)
            if GetUnitFacing(m1) >= 225.00 and GetUnitFacing(m1) <= 135.00then
                call KillUnit(m1)              
            endif


    Any idea why the dam unit doesn't die !? plz

    The unit turns left ... but i think i have it all ok ..
     
  2. HINDYhat

    HINDYhat

    Joined:
    Apr 22, 2007
    Messages:
    1,594
    Resources:
    3
    Maps:
    2
    Spells:
    1
    Resources:
    3
    GetUnitFacing() returns a real value, not an angle, so I don't think it considers that 360 == 0. Shouldn't you change your "and" to an "or" ?
     
  3. Flame_Phoenix

    Flame_Phoenix

    Joined:
    May 4, 2007
    Messages:
    2,283
    Resources:
    11
    Tools:
    1
    Maps:
    1
    Spells:
    6
    Tutorials:
    3
    Resources:
    11
    mmmm i make no idea. But i will try it.
    Also, i know that TrunUnitFacing works properly with reals and angles, if you use
    Code (vJASS):
    if GetUnitFacing(m1) != 270.00 then
    call KillUnit(m1)  
    endif

    The unit gets killed. It means that the problem is in the condition (I guess).
     
  4. PurplePoot

    PurplePoot

    Joined:
    Dec 14, 2005
    Messages:
    11,161
    Resources:
    3
    Maps:
    1
    Spells:
    1
    Tutorials:
    1
    Resources:
    3
    No, Hindy, >x or <y, if x<y, will mean any number in existence.

    And FP, the unit won't have turned around instantly..
     
  5. Flame_Phoenix

    Flame_Phoenix

    Joined:
    May 4, 2007
    Messages:
    2,283
    Resources:
    11
    Tools:
    1
    Maps:
    1
    Spells:
    6
    Tutorials:
    3
    Resources:
    11
    mmm, i know the unit doesn't turn around in an instant way. However, does my code say that ??

    BTW my tutorial FINALLY got approved !!! Have a look on The ALL about icons tutorial, by me !!! lol. PurplePoot, you are in Special thanks =)
     
  6. PurplePoot

    PurplePoot

    Joined:
    Dec 14, 2005
    Messages:
    11,161
    Resources:
    3
    Maps:
    1
    Spells:
    1
    Tutorials:
    1
    Resources:
    3
    There is no wait between ordering the unit and checking their facing...
     
  7. Flame_Phoenix

    Flame_Phoenix

    Joined:
    May 4, 2007
    Messages:
    2,283
    Resources:
    11
    Tools:
    1
    Maps:
    1
    Spells:
    6
    Tutorials:
    3
    Resources:
    11
    mmm i see.

    However, i changed the scipt, i am now trying to use a new coordinates system that may solve my problem.

    MUHAHAHHAHA EDIT: It works perfectly now !!! my creation is complete !!! MUHAHAHAHA finally !! By using the coordinates i have sucessefully eliminated that turn around AI bug !
    Here is the new script, thx to Hyndi by telling me about the use of coordinates =). Also, thx to PurplePooot for all his comments.

    Code (vJASS):
    globals
        group array udg_UT
    endglobals
    //====================================================
    function army_acts takes nothing returns nothing  
        local player P1 = Player(0)
        local player P6 = Player(5)
        local unit gate
        local unit ef1
        local unit ef2
        local unit ef3
        local unit ef4
        local unit ef5
        local unit ef6
        local unit ef7
        local unit ef8
        local unit ef9
        local unit m1
        local unit m2
        local unit m3
        local unit m4
        local unit r1
        local unit r2
        local unit r3
        local unit r4
        local unit h1
        local unit t = GetTrainedUnit()
        call GroupAddUnit(udg_UT[0], t)
        set t = null  
        if CountUnitsInGroup(udg_UT[0]) == 20 then
            set gate = CreateUnit( P6, 'hprt', -6028.5, 5448.5, 270.0)
            call TriggerSleepAction(2.00)
            call DisplayTextToForce (bj_FORCE_ALL_PLAYERS, ( "The First Northrend Army arrived to aid |cffff0000" + ( GetPlayerName(P1) + "|r and his alliance !!!!! " ) ) )  
            call CameraSetTargetNoiseEx(10, 500000, true)  
            call CameraSetSourceNoiseEx(10, 500000, true)  
            set h1 = CreateUnit(P6, 'H015', -6037.6, 5236.2, 270.00)
            set ef1 = CreateUnit(P6, 'h01B', -6037.6, 5236.2, 0.00)
            call SetUnitInvulnerable(h1, true)
            call UnitApplyTimedLife(ef1, 'BTLF', 1.00)
            call SetUnitMoveSpeed( h1, ( GetUnitDefaultMoveSpeed(h1)/2))
            call IssuePointOrder(h1, "move", -6037.6, 4337.0)
            call TriggerSleepAction (1.00)
            set m1 = CreateUnit(P6, 'h00B', -6161.0, 5335.5, 270.00)
            set ef2 = CreateUnit(P6, 'h01B', -6161.0, 5335.5, 0.00)
            call SetUnitInvulnerable(m1, true)
            call UnitApplyTimedLife(ef2, 'BTLF', 1.00)
            call SetUnitMoveSpeed( m1, ( GetUnitDefaultMoveSpeed(m1)/2))
            set m2 = CreateUnit(P6, 'h00B', -6065.3, 5335.5, 270.00)
            set ef3 = CreateUnit(P6, 'h01B', -6065.3, 5335.5, 0.00)
            call SetUnitInvulnerable(m2, true)
            call UnitApplyTimedLife(ef3, 'BTLF', 1.00)
            call SetUnitMoveSpeed( m2, ( GetUnitDefaultMoveSpeed(m2)/2 ))
            set m3 = CreateUnit(P6, 'h00B', -5973.5, 5335.5, 270.00)
            set ef4 = CreateUnit(P6, 'h01B', -5973.5, 5335.5, 0.00)
            call SetUnitInvulnerable(m3, true)
            call UnitApplyTimedLife(ef4, 'BTLF', 1.00)
            call SetUnitMoveSpeed( m3, ( GetUnitDefaultMoveSpeed(m3) /2 ))
            set m4 = CreateUnit(P6, 'h00B', -5874.2, 5335.5, 270.00)
            set ef5 = CreateUnit(P6, 'h01B', -5874.2, 5335.5, 0.00)
            call SetUnitInvulnerable(m4, true)
            call UnitApplyTimedLife(ef5, 'BTLF', 1.00)
            call SetUnitMoveSpeed( m4, ( GetUnitDefaultMoveSpeed(m4) /2))
            call IssuePointOrder(m1, "move", -6161.0,4437.0)
            call IssuePointOrder(m2, "move", -6065.3,4437.0)
            call IssuePointOrder(m3, "move", -5973.5,4437.0)
            call IssuePointOrder(m4, "move", -5874.2,4437.0)
            call TriggerSleepAction(0.75)
            set r1 = CreateUnit(P6, 'hrif', -6161.0, 5335.5, 270.00)
            set ef6 = CreateUnit(P6, 'h01B', -6161.0, 5335.5, 0.00)
            call SetUnitInvulnerable(r1, true)
            call UnitApplyTimedLife(ef6, 'BTLF', 1.00)
            call SetUnitMoveSpeed( r1, ( GetUnitDefaultMoveSpeed(r1)/2 ))
            set r2 = CreateUnit(P6, 'hrif', -6065.3, 5335.5, 270.00)
            set ef7 = CreateUnit(P6, 'h01B', -6065.3, 5335.5, 0.00)
            call SetUnitInvulnerable(r2, true)
            call UnitApplyTimedLife(ef7, 'BTLF', 1.00)
            call SetUnitMoveSpeed( r2, ( GetUnitDefaultMoveSpeed(r2)/2 ))
            set r3 = CreateUnit(P6, 'hrif', -5973.5, 5335.5, 270.00)
            set ef8 = CreateUnit(P6, 'h01B', -5973.5, 5335.5, 0.00)
            call SetUnitInvulnerable(r3, true)
            call UnitApplyTimedLife(ef8, 'BTLF', 1.00)
            call SetUnitMoveSpeed( r3, ( GetUnitDefaultMoveSpeed(r3)/2 ))
            set r4 = CreateUnit(P6, 'hrif', -5874.2, 5335.5, 270.00)
            set ef9 = CreateUnit(P6, 'h01B', -5874.2, 5335.5, 0.00)
            call SetUnitInvulnerable(r4, true)
            call UnitApplyTimedLife(ef9, 'BTLF', 1.00)
            call SetUnitMoveSpeed( r4, ( GetUnitDefaultMoveSpeed(r4)/2))
            call IssuePointOrder(r1, "move", -6161.0,4537.0)
            call IssuePointOrder(r2, "move", -6065.3,4537.0)
            call IssuePointOrder(r3, "move", -5973.5,4537.0)
            call IssuePointOrder(r4, "move", -5874.2,4537.0)
            call TriggerSleepAction(7.00)
            call SetUnitInvulnerable(h1, false)
            call SetUnitInvulnerable(m1, false)
            call SetUnitInvulnerable(m2, false)
            call SetUnitInvulnerable(m3, false)
            call SetUnitInvulnerable(m4, false)
            call SetUnitInvulnerable(r1, false)
            call SetUnitInvulnerable(r2, false)
            call SetUnitInvulnerable(r3, false)
            call SetUnitInvulnerable(r4, false)
            call SetUnitOwner(m1, P1, true)
            call SetUnitOwner(m2, P1, true)
            call SetUnitOwner(m3, P1, true)
            call SetUnitOwner(m4, P1, true)
            call SetUnitOwner(r1, P1, true)
            call SetUnitOwner(r2, P1, true)
            call SetUnitOwner(r3, P1, true)
            call SetUnitOwner(r4, P1, true)
            call SetUnitOwner(h1, P1, true)
            call SetUnitMoveSpeed( h1, ( GetUnitDefaultMoveSpeed(h1)))
            call SetUnitMoveSpeed( m1, ( GetUnitDefaultMoveSpeed(m1) ))
            call SetUnitMoveSpeed( m2, ( GetUnitDefaultMoveSpeed(m2) ))
            call SetUnitMoveSpeed( m3, ( GetUnitDefaultMoveSpeed(m3) ))
            call SetUnitMoveSpeed( m4, ( GetUnitDefaultMoveSpeed(m4) ))
            call SetUnitMoveSpeed( r1, ( GetUnitDefaultMoveSpeed(r1) ))
            call SetUnitMoveSpeed( r2, ( GetUnitDefaultMoveSpeed(r2) ))
            call SetUnitMoveSpeed( r3, ( GetUnitDefaultMoveSpeed(r3) ))
            call SetUnitMoveSpeed( r4, ( GetUnitDefaultMoveSpeed(r4) ))
            call KillUnit(gate)
            call CameraSetTargetNoiseEx(0, 0, true)  
            call CameraSetSourceNoiseEx(0, 0, true)  
            set gate = null
            set ef1 = null
            set ef2 = null
            set ef3 = null
            set ef4 = null
            set ef5 = null
            set ef6 = null
            set ef7 = null
            set ef8 = null
            set ef9 = null
            set m1 = null
            set m2 = null
            set m3 = null
            set m4 = null
            set r1 = null
            set r2 = null
            set r3 = null
            set r4 = null
            set h1 = null
            set P1 = null
            set P6 = null
        endif
    endfunction
    //===============================================================
    function InitTrig_Army_P1 takes nothing returns nothing  
        local trigger army = CreateTrigger()  
        call TriggerRegisterPlayerUnitEvent(army, Player(0), EVENT_PLAYER_UNIT_TRAIN_FINISH, null)  
        call TriggerAddAction( army, function army_acts )  
        set army = null
    endfunction


    Know that this is the "skeleton" of my script. Soon i will add more units and more special effects. I will Also optimize (probably).
    I will also probably keep posting here my script, so you guys can give an opinion about the cide i use (always good to have an opinion of the pros).
    I will eventually post the last version of the script, once i complete it.

    Also, keep in mind that once i finish, this script will probably be the double of it's current size ... and that is just for player 1 ! lol
     
    Last edited: Oct 6, 2007
  8. Flame_Phoenix

    Flame_Phoenix

    Joined:
    May 4, 2007
    Messages:
    2,283
    Resources:
    11
    Tools:
    1
    Maps:
    1
    Spells:
    6
    Tutorials:
    3
    Resources:
    11
    I decided to use "call UnitApllyTimedLife(CreateUnit(...), 'BTLF', 1.00)". But i have 1 question. Are you sure this code doesn't leak ??
    Because i have no var removing that created unit from memory, can't the created unit leak ?
     
  9. HINDYhat

    HINDYhat

    Joined:
    Apr 22, 2007
    Messages:
    1,594
    Resources:
    3
    Maps:
    2
    Spells:
    1
    Resources:
    3
    No that doesn't leak.
     
  10. Arkan.

    Arkan.

    Joined:
    Aug 10, 2007
    Messages:
    91
    Resources:
    3
    Maps:
    3
    Resources:
    3
    Some arrays wouldn't hurt :p
     
  11. Flame_Phoenix

    Flame_Phoenix

    Joined:
    May 4, 2007
    Messages:
    2,283
    Resources:
    11
    Tools:
    1
    Maps:
    1
    Spells:
    6
    Tutorials:
    3
    Resources:
    11
    I already use them. However, i prefer to keep my script simple and easy to read for now. Arrays would just mess up my script and probably make it not work ( i tried using arrays for 2-3 months and all i got was troubles and a script that didn't work).

    I prefer things my way. However improving the system in future is not out of question.
     
  12. Silvenon

    Silvenon

    Joined:
    Nov 22, 2006
    Messages:
    1,233
    Resources:
    1
    Tutorials:
    1
    Resources:
    1
    Arrays are made to make things simpler, it doesn't mess anything up. It's much easier to do loops with arrays, for example.
     
  13. Flame_Phoenix

    Flame_Phoenix

    Joined:
    May 4, 2007
    Messages:
    2,283
    Resources:
    11
    Tools:
    1
    Maps:
    1
    Spells:
    6
    Tutorials:
    3
    Resources:
    11
    LOl ... i do not agree 100%. I find easier loops without arrays ... Arrays can make then faster or they may take less space, but they just complicate things -.- You are telling me a rule of life: Everything we alreday know and understand is easy for us .... everything else .... is not !


    PS: dude, what happened to the reaper avatar !??! are you gothic !?!? i give you my heart !? lol ...
     
  14. PurplePoot

    PurplePoot

    Joined:
    Dec 14, 2005
    Messages:
    11,161
    Resources:
    3
    Maps:
    1
    Spells:
    1
    Tutorials:
    1
    Resources:
    3
    They take up less space, but loops are always slower, FP.

    That doesn't mean they're worse, or very significantly slower - they greatly clean up code, and are 100% required for a language without GoTo.
     
  15. Flame_Phoenix

    Flame_Phoenix

    Joined:
    May 4, 2007
    Messages:
    2,283
    Resources:
    11
    Tools:
    1
    Maps:
    1
    Spells:
    6
    Tutorials:
    3
    Resources:
    11
    mmm i see.... Well thx God i can avoid them for now...

    guys i have another problem ...
    I am trying to make the ground tremble due the opening of my portal (very coll for eye candy =D) so i mad ethis action in GUI:
    • Actions
      • Environment - Create a 3.00 second Normal ripple deformation at (Point(-6030.50, 5450.50)) with starting radius 100.00, ending radius 600.00, and depth -150.00, using 0.10 second ripples spaced 1.00 apart

    However, we all know that Gui is not efficient, and it leaks like hell .... so i converted this trigger and i got this:
    Code (vJASS):
    call TerrainDeformationRippleBJ( 7.50, false, Location(-6030.50, 5450.50), 100.00, 600.00, -150.00, 0.30, 1.00 )


    A BJ ... surprise ... but that is not the worse ... thing is that:
    Code (vJASS):
    function TerrainDeformationRippleBJ takes real duration, boolean limitNeg, location where, real startRadius, real endRadius, real depth, real wavePeriod, real waveWidth returns terraindeformation
        local real spaceWave
        local real timeWave
        local real radiusRatio

        if (endRadius <= 0 or waveWidth <= 0 or wavePeriod <= 0) then
            return null
        endif

        set timeWave = 2.0 * duration / wavePeriod
        set spaceWave = 2.0 * endRadius / waveWidth
        set radiusRatio = startRadius / endRadius

        set bj_lastCreatedTerrainDeformation = TerrainDeformRipple(GetLocationX(where), GetLocationY(where), endRadius, depth, R2I(duration * 1000), 1, spaceWave, timeWave, radiusRatio, limitNeg)
        return bj_lastCreatedTerrainDeformation
    endfunction


    Ya .. well, what does this have to do with my very simple innitial trigger !?!??! i don't know which values are which !! please i need info !
     
  16. PurplePoot

    PurplePoot

    Joined:
    Dec 14, 2005
    Messages:
    11,161
    Resources:
    3
    Maps:
    1
    Spells:
    1
    Tutorials:
    1
    Resources:
    3
    This is what TriggerData.txt says.

    Code (Text):
    TerrainDeformationRippleBJ=1,real,rippletype,location,real,real,real,real,real
    _TerrainDeformationRippleBJ_Defaults=4,RippleTypeNormal,GetRectCenter,1024,1024,64,1,512
    _TerrainDeformationRippleBJ_Limits=0.01,_,_,_,_,_,0,_,1,_,_,_,0.01,_,1,_
    _TerrainDeformationRippleBJ_Category=TC_ENVIRONMENT
    See if you can decipher that, inside lies the answer.

    The easiest way would be to use the defaults, then convert to custom script and see what lines up where.
     
  17. Flame_Phoenix

    Flame_Phoenix

    Joined:
    May 4, 2007
    Messages:
    2,283
    Resources:
    11
    Tools:
    1
    Maps:
    1
    Spells:
    6
    Tutorials:
    3
    Resources:
    11
    Arrghhh it looks like a puzzle .... i don't like puzzles ... they force me to think lol ....

    MMM ok, i will give it a look. Btw please don't use that quote stuff, use the JASS stuff ... It makes things a lot easier... to read
     
  18. HINDYhat

    HINDYhat

    Joined:
    Apr 22, 2007
    Messages:
    1,594
    Resources:
    3
    Maps:
    2
    Spells:
    1
    Resources:
    3
    That's not in jass form... or is it?
     
  19. Flame_Phoenix

    Flame_Phoenix

    Joined:
    May 4, 2007
    Messages:
    2,283
    Resources:
    11
    Tools:
    1
    Maps:
    1
    Spells:
    6
    Tutorials:
    3
    Resources:
    11
    Mmm sry purp, after reading you suggestion carefully i was unable to understand it =(.

    Please explain better.

    Also, i have found another problem in my trigger:
    Now my trigger creates a gate, and while the gaye is being opened (while it is playing the birth animation), i want to run this sections of the script:

    Code (vJASS):
    set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 5335.5)
            set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 5335.5)
            call TriggerSleepAction(0.5)
            call DestroyEffect(ef1)
            call DestroyEffect(ef2)
            set ef1 = null
            set ef2= null
            set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 5185.5)
            set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 5185.5)
            call DestroyEffect(ef1)
            call DestroyEffect(ef2)
            call TriggerSleepAction(0.5)
            set ef1 = null
            set ef2= null
            set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 5035.5)
            set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 5035.5)
            call TriggerSleepAction(0.5)
            call DestroyEffect(ef1)
            call DestroyEffect(ef2)
            set ef1 = null
            set ef2= null
            set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 4885.5)
            set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 4885.5)
            call TriggerSleepAction(0.5)
            call DestroyEffect(ef1)
            call DestroyEffect(ef2)
            set ef1 = null
            set ef2= null
            set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 4735.5)
            set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 4735.5)
            call TriggerSleepAction(0.5)
            call DestroyEffect(ef1)
            call DestroyEffect(ef2)
            set ef1 = null
            set ef2= null  
            set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 4585.5)
            set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 4585.5)
            call TriggerSleepAction(0.5)
            call DestroyEffect(ef1)
            call DestroyEffect(ef2)
            set ef1 = null
            set ef2= null
            set ef1 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -6260.0, 4435.5)
            set ef2 = AddSpecialEffect("Doodads\\Cinematic\\FrostTrapUp\\FrostTrapUp.mdl", -5775.5, 4435.5)
            call TriggerSleepAction(0.5)
            call DestroyEffect(ef1)
            call DestroyEffect(ef2)
            set ef1 = null
            set ef2= null


    This will create a nice ordered effect. while the gate is being created, geisers of ice will erupt in both sides of the game in various directions. The coordinates are all correct, but i just can make the "calls" run properly ... please help ...

    I believe that each animation takes 0.333 seconds to run ... but i used 0.5 to play safe ... can you tell me why it doesn't work ?
     
  20. PurplePoot

    PurplePoot

    Joined:
    Dec 14, 2005
    Messages:
    11,161
    Resources:
    3
    Maps:
    1
    Spells:
    1
    Tutorials:
    1
    Resources:
    3
    Well, FP, basically set each field in the GUI to different values, then see what goes where when converted to JASS.

    And no, HINDY, that's the WE references for GUI. (UI\TriggerData.txt in war3patch.mpq)