Trigger Improvement

garion992

TH.net Regular
Reaction score
17
I have made a trigger but it's pretty messy. I can't think of an other way to improve this trigger, but i think this one is really bad. (but it works XD)
Can someone give me some tips how i could make it better?

Code:
Banker Rate Item Value
    Events
        Unit - A unit Acquires an item
    Conditions
        (Unit-type of (Triggering unit)) Equal to Banker
    Actions
        Wait 0.30 seconds
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Item-class of (Item being manipulated)) Equal to Permanent
            Then - Actions
                Set TempInt = (((Item level of (Item being manipulated)) x 7) x (Integer((Current life of (Item being manipulated)))))
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Item-class of (Item being manipulated)) Equal to Artifact
            Then - Actions
                Set TempInt = (((Item level of (Item being manipulated)) x 9) x (Integer((Current life of (Item being manipulated)))))
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Item-class of (Item being manipulated)) Equal to Purchasable
            Then - Actions
                Set TempInt = (((Item level of (Item being manipulated)) x 5) x (Integer((Current life of (Item being manipulated)))))
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                And - All (Conditions) are true
                    Conditions
                        (Item-class of (Item being manipulated)) Not equal to Purchasable
                        (Item-class of (Item being manipulated)) Not equal to Artifact
                        (Item-class of (Item being manipulated)) Not equal to Permanent
            Then - Actions
                Set TempInt = (((Item level of (Item being manipulated)) x 2) x (Integer((Current life of (Item being manipulated)))))
            Else - Actions
        Set TempMoneyValue[2] = (TempInt / 100)
        Set TempMoneyValue[1] = (TempInt - (TempMoneyValue[2] x 100))
        Game - Display to (Player group((Owner of (Triggering unit)))) the text: (|cffffcc00Value of|r  + ((Name of (Item being manipulated)) + (  |cffffcc00=|r   + ((|c0099320bCopper:  + ((String(TempMoneyValue[1])) + |r  )) + (|c00a3b8beSilver:  + ((String(TempMoneyValue[2])) + |r))))))
 

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
First of all, you don't need the first Wait.
And if all your item has the same HP (50 by default) you can just replace all (Current Life of Item) into 50, unless items are supposed to be damaged in your map.
 

ShadowTek

New Member
Reaction score
23
Code:
 Game - Display to (Player group((Owner of (Triggering unit))))....
Does that leak a player group object?
 

R@i_no_Wyrm

New Member
Reaction score
43
Why don't set the level of all permanent items to level 7, all artifacts level to level 9 (you need to change the gameplay constants), all purchaseable items to lv 5, and the others to lv 2. (in the object editor)

So you only need to times 50 with level of item being manipulated and you don't need to check the items. It won't be messy ^^
 

garion992

TH.net Regular
Reaction score
17
How can i get the leak away?

I can't set all health of items to 50, cause the health is the price and quality of an item.
I can't change the levels cause they are alreasdy used for dropping an item if the level of the hero isn't equal to item level.

-Removed wait
 

ShadowTek

New Member
Reaction score
23
How can i get the leak away?
First add the owner of the triggering unit a tempplayergroup variable, then use the variable for that action, then clear that tempplayergroup.

There are lots of memory leak tutorials out there.
 

garion992

TH.net Regular
Reaction score
17
Ok, done that!

Code:
Custom script:   call DestroyForce( udg_TempPlayerGroup )

Are there any suggestions for removing al those if/then/else functions, something that would work better?
 

darkRae

Ueki Fan (Ueki is watching you)
Reaction score
173
The price of the item can be set to its Point Value (if you haven't used it for something else)
Then you can use 50
 

garion992

TH.net Regular
Reaction score
17
first: the items get damage if they lay on ground, that is the durability
second: wat is a Point Value?
 
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