Ved som ti povedal, ze to add event leakuje.
Pretoze ta udalost tam ostane aj po tom, co jednotka na mape uz neexistuje. Casom sa ti budu hromadit jednotky v mape, ergo budu sa ti hromadit eventy v triggeri.
Nieje to az tak zly leak ako napriklad nedeltovanie pointov alebo unitGroups, ale stale tam je.
Somebody666 12.1.2011 19:34:14
Žiaden taký systém som nikde nenašiel. Ak o nejakej vieš tak mi to tu pošli. Našiel som len presne tak isto spravenú ako vravíš ty. Skoro tak isto teda, ale myslím si, že bude tiež leakovať:
1. Trigger
Detect Unit
Events
Unit - A unit enters (Playable map area)
Conditions
Actions
Trigger - Add to Show Damages <gen> the event (Unit - (Triggering unit) Takes damage)
2. Trigger
Show Damages
Events
Conditions
Actions
Set loc = (Position of (Triggering unit))
Floating Text - Create floating text that reads ((String((Integer((Damage taken))))) + !) at loc with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Set the velocity of (Last created floating text) to 15.00 towards 90.00 degrees
Floating Text - Change the lifespan of (Last created floating text) to 3.00 seconds
Floating Text - Change the fading age of (Last created floating text) to 1.00 seconds
Ale osobne si myslím, že to určite leakovať bude. :-/
rednek > Restor12.1.2011 17:37:57
ALE
Leakuje to, kedze ten trigger ktory pouzivas na Floating Text bude mat milion udalosti, resp. pre kazdu jednotku ktora kedy bola na mape jednu
A tieto eventy nejde nijako deletnut, takze ak budes spawnovat vela jednotiek v mape, tvoja najlepsia moznost je stiahnut si z hiveworkshopu nejaky JASSovi DamageShow system, kedze JASS neovladas ako si spominal :S
rednek > Restor12.1.2011 17:35:45
2 triggery
Premenne:
unitU[Array] - typ Unit
integerI - typ Integer
Spinac 1:
E: Time Elapsed - 0.01 seconds alebo Map Initialization (neviem, ci v Initialization to pojde, ja ju zo zvyku nepouzivam)
C:
A: Unit Group - Pick every unit in (Playable map arrea) and loop:
set unitU[integerI] = (picked unit)
set integerI = (integerI+1)
Spinac 2:
E: Unit enters (Playable map Area)
C:
A:
set unitU[integerI] = (entering unit)
set integerI = (integerI+1)
Somebody666 11.1.2011 23:32:42
Help!
Ahoj mám problém. Chcem si spraviť floating texty s dmg, ktorý uberem jednotke. No, ale prolém je v tom, že neviem ako si jednotku na ktorú útočím dať do premennej. Keď už tú jednotku budem v premennej ďalej viem už ako na to. Ale neviem ako spraviť, aby tú jednotku na ktorú útočím som si dal do premennej a potom mohol dať cez Trigger - Add New Event etc. Niekto kto by mi pomohol? :)