| 04-17-2005, 04:49 AM | #1 |
I used to have a jass trigger to change hero's portrait order so that you could select them with the f-keys. Since 1.17 it doesn't work anymore and I can't find the bug. Rather than messing with it anymore, maybe someone already knows how to do something like this with a gui trigger. If you would like to see how my jass trigger went, I could post it. Thanks in advance for any suggestions. |
| 04-17-2005, 08:23 AM | #2 |
Here is what my jass trigger looks like that used to work. Code:
function Trig_Order_Up_Actions takes nothing returns nothing local integer i = 1 local player heroOwner = GetTriggerPlayer() local integer playerIndex = GetConvertedPlayerId(heroOwner) local integer heroIndex = 0 local integer heroIndexIndex = 0 local integer tempIndex = 0 local integer k = 1 if ( SubStringBJ(GetEventPlayerChatString(), 1, 4) == "-up " ) then loop exitwhen i > udg_heroTotalHeros if( GetOwningPlayer(udg_heroList[udg_heroOrder[i]]) == heroOwner ) then if ( k == S2I(SubStringBJ(GetEventPlayerChatString(), 5, 6)) ) then set heroIndexIndex = i set i = udg_heroTotalHeros + 1 else set k = k + 1 endif endif set i = i + 1 endloop if ( heroIndexIndex == 0 ) then return endif set i = heroIndexIndex - 1 loop exitwhen i < 1 if ( heroOwner == GetOwningPlayer(udg_heroList[udg_heroOrder[i]]) )then set tempIndex = i set i = 0 else set i = i - 1 endif endloop if( tempIndex == 0 ) then return endif set heroIndex = udg_heroOrder[tempIndex] set udg_heroOrder[tempIndex] = udg_heroOrder[heroIndexIndex] set udg_heroOrder[heroIndexIndex] = heroIndex set i = 1 loop exitwhen i > udg_heroTotalHeros if ( heroOwner == GetOwningPlayer(udg_heroList[udg_heroOrder[i]]) ) then call SetUnitOwner( udg_heroList[udg_heroOrder[i]], Player(PLAYER_NEUTRAL_PASSIVE), false ) call SetUnitOwner( udg_heroList[udg_heroOrder[i]], heroOwner, false ) endif set i = i + 1 endloop elseif ( SubStringBJ(GetEventPlayerChatString(), 1, 6) == "-down " ) then loop exitwhen i > udg_heroTotalHeros if( GetOwningPlayer(udg_heroList[udg_heroOrder[i]]) == heroOwner ) then if ( k == S2I(SubStringBJ(GetEventPlayerChatString(), 7, 8)) ) then set heroIndexIndex = i set i = udg_heroTotalHeros + 1 else set k = k + 1 endif endif set i = i + 1 endloop if ( heroIndexIndex == 0 ) then return endif set i = heroIndexIndex + 1 loop exitwhen i > udg_heroTotalHeros if ( heroOwner == GetOwningPlayer(udg_heroList[udg_heroOrder[i]]) )then set tempIndex = i set i = udg_heroTotalHeros + 1 else set i = i + 1 endif endloop if( tempIndex == 0 ) then return endif set heroIndex = udg_heroOrder[tempIndex] set udg_heroOrder[tempIndex] = udg_heroOrder[heroIndexIndex] set udg_heroOrder[heroIndexIndex] = heroIndex set i = 1 loop exitwhen i > udg_heroTotalHeros if ( heroOwner == GetOwningPlayer(udg_heroList[udg_heroOrder[i]]) ) then call SetUnitOwner( udg_heroList[udg_heroOrder[i]], Player(PLAYER_NEUTRAL_PASSIVE), false ) call SetUnitOwner( udg_heroList[udg_heroOrder[i]], heroOwner, false ) endif set i = i + 1 endloop endif endfunction function InitTrig_Order_Up_or_Down takes nothing returns nothing set gg_trg_Order_Up_or_Down = CreateTrigger( ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(0), "-up", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(1), "-up", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(2), "-up", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(3), "-up", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(4), "-up", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(5), "-up", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(6), "-up", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(7), "-up", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(8), "-up", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(0), "-down", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(1), "-down", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(2), "-down", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(3), "-down", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(4), "-down", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(5), "-down", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(6), "-down", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(7), "-down", false ) call TriggerRegisterPlayerChatEvent( gg_trg_Order_Up_or_Down, Player(8), "-down", false ) call TriggerAddAction( gg_trg_Order_Up_or_Down, function Trig_Order_Up_Actions ) endfunction |
