SirNikolas, желательно хотелось бы решения на GUI, избегаю работы с JNGP
Quote (Naturekid)
массив переменных "декорация"
Quote (SirNikolas)
this
странно, но как это может помочь, если я правильно понял, что для это нужно будет присваивать к каждому дереву свою переменную массив вот знаю способ, как на GUI через CS удалять множество спецэффектов, через bj.. может с декорациями есть такой способ?
Quote (SirNikolas)
На vJass'е делается просто и понятно. Если хочешь, скинь весь триггер, сделаю.
был бы признателен, если с комментариями
Сообщение отредактировал Razor_dex - Понедельник, 23 Июля 2012, 12:51:01
void Create(player p, int i, int level, real x, real y, real r, real d) { real a = .0; loop { real x1 = x + Cos(a) * r, y1 = y + Sin(a) * r; .u[i] = CreateUnit(p, DUMMY, x1, y1, GetRandomReal(.0, 6.283)); SetUnitAbilityLevel(.u[i], ABILITY, level); UnitApplyTimedLife(.u[i], 'BTLF', TIME); SetUnitExploded(.u[i], true); .d[i] = CreateDestructable(DESTRUCTABLE, x1, y1, GetRandomReal(.0, 6.283), 1., 5); SetDestructableAnimation(.d[i], "birth"); a += d; exitwhen a >= 6.283; i++; } } };
callback onUnitSpellEffect(SPELL) { unit u = GetTriggerUnit(); player p = GetOwningPlayer(u); int level = GetUnitAbilityLevel(u, SPELL); real x = GetWidgetX(u), y = GetWidgetY(u); Spell s = Spell.create(); s.Create(p, 0, level, x, y, 150., .419); s.Create(p, 15, level, x, y, 300., .209); s.Create(p, 45, level, x, y, 450., .157); s.Create(p, 85, level, x, y, 600., .105); s.t = CreateTimer(); TimerStart(s.t, TIME(level), false, \ lambda void() { handle h = GetExpiredTimer(); int s = 1; whilenot h == Spell(s).t { s += 145; } int i = 0; loop { RemoveDestructable(Spell(s).d[i]); exitwhen i == 144; i++; } DestroyTimer(Spell(s).t); Spell.destroy(s); flush locals; } ); flush locals; }
callback onUnitDeath() { handle h = GetTriggerUnit(); int s = 1; whilenot Spell(s).u[0] == null { if TimerGetRemaining(Spell(s).t) > .01 { int i = 0; loop { if h == Spell(s).u[i] { KillDestructable(Spell(s).d[i]); flush locals; return; } exitwhen i == 144; i++; } } s += 145; } flush locals; } }
WEATHER_ON_MARS в начале замени на raw-коды (Ctrl + D в РО, четыре знака до двоеточия, заключить в одиночные кавычки. Например: 'A000', 'h003' и т. д.).
Что вы, до сих пор не разобрались?) Вот это я думаю подойдёт - http://rghost.ru/39369011 Наведи сайленс куда-нить - и в регионе с деревьями создадутся дополнительные, спустя 4 сек пропадут. Если я по невнимательности не спутал - то наработка MUI. с 2 вариантами....