Вах, вроде на сегодня договаривались, а тему уже создали и успели зафлудить... мда.
Собственно спелл :
Огненный шар ( банально, но не в названии суть)
Герой создаёт полуразумный сгусток огня, который движется по случайной траектории в некотором радиусе от героя, нанося урон всем войскам, сквозь которые пролетает. Через некоторое время шар взрывается, нанося урон в небольшом радиусе и погружая в оглушение чудом выживших. За пять секунд до взрыва шар начинает мигать.
Исполнение - почти чистый GUI, спелл легко перенести, утечек не обнаружено.
Для каждого текста ты используешь функцию SetTextTagLifespan, которая автоматически уберет его по прошествии нужного времени. А здесь ты просто удаляешь один из тексттагов. Баг.
мммм оба спелла не удивили своей новизной, слишком стандартны и обыденны. аля дота оба произвели одинаковое впечатление, не 1 ни лучше, ни хуже. хм не знаю за кого голос отдать...
Youngtree, Если честно не понравился твой спелл. Шар както уныло летает. Dreii, Я заметил у тебя одна тема в последние 2 дня. Этот спелл(или похожий ты комуто делал)
Добавлено (16-01-2011, 12:57) --------------------------------------------- SirNikolas, Посмотри мой код плиз. Скажи сколько утечек. И как вабще написан код.
Добавлено (16-01-2011, 12:57) --------------------------------------------- Сообщение # 20
Я так считаю все отличились. Youngtree, у тебя в заклинании утечек многовато, хотя само заклинание выглядит неплохо, только вот по какому это поводу шар мигает синим цветом? Так же в заклинании отсутствует левел саппорт, еще оно не МУИ. Dreii, В твоем заклинании есть баг, написано 5 взрывов, создается 1(сначала 5, потом 1) проверил бы хотяб. Manko_O, огненное кольцо стоит вечно, никуда не исчезая. Но если честно то отдал бы голос за тебя.
Сообщение отредактировал Vova5009 - Воскресенье, 16 Января 2011, 19:11:27
Добавлено (16-01-2011, 19:18) --------------------------------------------- И вабще если честно то оно не доработонное в плане дмг. Там изначально задумка была. В другом. Так что если будет желание дороботаю.
насчет бага я не знаю,может Маньяки Jass'a посмотрят?
Code
function Trig_fire_Timer takes nothing returns nothing local timer t=GetExpiredTimer() local group g=CreateGroup() local integer ID=GetHandleId(t) local unit e local unit u=LoadUnitHandle(udg_Hash,ID,0) local integer c=LoadInteger(udg_Hash,ID,1)-1 local real dmg=GetHeroInt(u,true)*GetUnitAbilityLevel(u,'A001')*2 local texttag txt local player p=GetOwningPlayer(u) call GroupEnumUnitsInRange(g,GetWidgetX(u),GetWidgetY(u),750,null) loop set e=FirstOfGroup(g) exitwhen e==null if c==0 or GetWidgetLife(e)<=.0 then call PauseTimer(t) call DestroyTimer(t) call FlushChildHashtable(udg_Hash,ID) else call SaveInteger(udg_Hash,ID,1,c) if GetRandomInt(1,100)<=5 then call SetHeroInt(u,GetHeroInt(u,true)+1,true) call SetHeroInt(e,GetHeroInt(e,true)-1,true) endif endif if IsUnitEnemy(e,p) and GetWidgetLife(e)>.0 then call UnitDamageTarget(u,e,dmg,true,false,ATTACK_TYPE_HERO,DAMAGE_TYPE_FIRE,WEAPON_TYPE_WHOKNOWS) set txt = CreateTextTag() call SetTextTagText(txt,"|c00C80000" +I2S(R2I(dmg)),.023) call SetTextTagPosUnit(txt,e,0.) call SetTextTagColor(txt,255,0,0,255) call SetTextTagVelocity(txt,.001,.03) call SetTextTagFadepoint(txt,.75) call SetTextTagLifespan(txt,1.5) call SetTextTagPermanent(txt,false) call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl",e,"chest")) call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Human\\FlameStrike\\FlameStrikeTarget.mdl",e,"orign")) endif call GroupRemoveUnit(g,e) endloop call DestroyGroup(g) set g=null set u=null set t=null set p=null set txt=null endfunction function Trig_fire_Actions takes nothing returns nothing local timer t local integer ID if GetSpellAbilityId()=='A001' then set t=CreateTimer() set ID=GetHandleId(t) call SaveUnitHandle(udg_Hash,ID,0,GetSpellAbilityUnit()) call SaveInteger(udg_Hash,ID,1,5) call TimerStart(t,1.,true,function Trig_fire_Timer) set t = null endif endfunction function InitTrig_fire takes nothing returns nothing local integer i=0 set gg_trg_fire=CreateTrigger() loop call TriggerRegisterPlayerUnitEvent(gg_trg_fire,Player(i),EVENT_PLAYER_UNIT_SPELL_EFFECT,null) set i= i+1 exitwhen i==11 endloop set udg_Hash=InitHashtable() call TriggerAddAction(gg_trg_fire, function Trig_fire_Actions ) endfunction
Восхитительно... в дуэли Dreii, и Youngtree, победил Manko_O, ... мда
Да не. Если вы послушаете меня то: Победила нечья.Почему? Dreii Он наподобие этого спелла вылаживал на форум в этот день. Тоесть немного редактировал и получил свой спелл. Спелл мне покозался бонален,если честно. Youngtree, Шар както тупо летает.Медленно и долго. Но самый большой минус. Нет муи. Так что братцы по моему победила дружная нечья
Youngtree, Муи это мультиприменимость. То есть спелл могут кастовать на карте сразу несколько юнитов и спелл работает полностью. Скажем 100 юнитов одновременно кастуют спелл. Понятно?