Why wont this work...

laxperson808

New Member
Reaction score
9
Trigger:
  • Mining Get Ores
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • Or - Any (Conditions) are true
        • Conditions
          • (Ability being cast) Equal to Mine (ele)(0 cating)
          • (Ability being cast) Equal to Mine (lvl 1)(8 cating)
          • (Ability being cast) Equal to Mine (lvl 2)(6 cating)
          • (Ability being cast) Equal to Mine (lvl 4)(2 cating)
          • (Ability being cast) Equal to Mine (lvl 3)(4 cating)
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Target unit of ability being cast) is in Cant_Mine_unit_group) Equal to True
        • Then - Actions
          • Game - Display to (Player group((Owner of (Casting unit)))) the text: There is no ore in ...
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Random integer number between 1 and 10) Less than 3
            • Then - Actions
              • Game - Display to (Player group((Owner of (Casting unit)))) the text: You failed to mine
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Unit-type of (Target unit of ability being cast)) Equal to Pile of Rocks (iron)
                • Then - Actions
                  • Hero - Create Iron Ore and give it to (Casting unit)
                  • Set Ore_unit[(Custom value of (Target unit of ability being cast))] = (Target unit of ability being cast)
                  • Unit Group - Add (Target unit of ability being cast) to Cant_Mine_unit_group
                  • Animation - Change (Target unit of ability being cast)'s vertex coloring to (60.00%, 60.00%, 60.00%) with 0.00% transparency
                  • Wait 5.00 seconds
                  • Animation - Change Ore_unit[(Custom value of (Target unit of ability being cast))]'s vertex coloring to (40.00%, 40.00%, 40.00%) with 0.00% transparency
                  • Unit Group - Remove Ore_unit[(Custom value of (Target unit of ability being cast))] from Cant_Mine_unit_group
                • Else - Actions

When i run the trigger it does everything until the wait. After the wait the next 2 actions don't work.... WHY?
(respawn time is short for easy tests..)
 

Ashlebede

New Member
Reaction score
43
My guess is "Target unit of ability being cast" won't work that "far" in the functions. You'd need a variable to store that unit.
 

laxperson808

New Member
Reaction score
9
hence the "ore_unit" .... ive also got it setting each ore thing as a new number (custom value) and... it still doesnt wrk..
 

Ashlebede

New Member
Reaction score
43
Trigger:
  • Animation - Change Ore_unit[(Custom value of (Target unit of ability being cast))]'s vertex coloring to (40.00%, 40.00%, 40.00%) with 0.00% transparency


Though it is in an array, it still uses "Target unit of ability being cast". I'd suggest either making it a non-array global (sacrificing your MUI) or maybe converting it to JASS so you can have better control over which functions are used.
 

laxperson808

New Member
Reaction score
9
if its not an array tho it can get overridden when some/same person mines anther ore within the respawn time.. is there a good way 2 store an int wihout refing target of abilityu being cast??
 

Moridin

Snow Leopard
Reaction score
144
Try doing this:

Replace these actions:

Trigger:
  • Then - Actions
    • Hero - Create Iron Ore and give it to (Casting unit)
    • Set Ore_unit[(Custom value of (Target unit of ability being cast))] = (Target unit of ability being cast)
    • Unit Group - Add (Target unit of ability being cast) to Cant_Mine_unit_group
    • Animation - Change (Target unit of ability being cast)'s vertex coloring to (60.00%, 60.00%, 60.00%) with 0.00% transparency
    • Wait 5.00 seconds
    • Animation - Change Ore_unit[(Custom value of (Target unit of ability being cast))]'s vertex coloring to (40.00%, 40.00%, 40.00%) with 0.00% transparency
    • Unit Group - Remove Ore_unit[(Custom value of (Target unit of ability being cast))] from Cant_Mine_unit_group


with these:

Trigger:
  • Then - Actions
    • Hero - Create Iron Ore and give it to (Casting unit)
    • Set Temp_Int = Custom value of (Target unit of ability being cast)
    • Set Ore_unit[Temp_Int] = (Target unit of ability being cast)
    • Unit Group - Add (Target unit of ability being cast) to Cant_Mine_unit_group
    • Animation - Change (Target unit of ability being cast)'s vertex coloring to (60.00%, 60.00%, 60.00%) with 0.00% transparency
    • Wait 5.00 seconds
    • Animation - Change Ore_unit[Temp_Int]'s vertex coloring to (40.00%, 40.00%, 40.00%) with 0.00% transparency
    • Unit Group - Remove Ore_unit[Temp_Int] from Cant_Mine_unit_group
 

laxperson808

New Member
Reaction score
9
I thought of that.. but if someone/same person mines iron again it will override "temp_int" with the new units custom value
 

Moridin

Snow Leopard
Reaction score
144
Yup. That's the problem of non-MUI. There are ways to make it MUI, even with waits. The one I would recommend would be Hashtables. If you want a basic tutorial on hashtables, there's one at thehiveworkshop.
 

laxperson808

New Member
Reaction score
9
Yea i guess... i just dislike them.. annoying 2 use and as the tutorial says u save it as a var.. why not just use a var to begin wit..
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top