опровергну твоё утверждение тк я недавно написал(почти дописал) статью о GUI триггерах и нет смысла писать ещё 1, а ты лепишь 3 строчки даёшь задание и конец... у меня написано более понятней, а не так:
Quote (НубикВЕ)
Иза чего начнётся действие, и в чём оно будет заключаться.
Quote (НубикВЕ)
При каком условие действие, будет или , не будет работать.
Quote (НубикВЕ)
Что будет происходить.
....
Добавлено (29/07/2012, 18:20:35) --------------------------------------------- нубам нужно объяснить что и как, а не тупо что есть из себя триггер и всё конец статьи...
влад10011, Это вообще-то не статья, ок? Это я написал для новичков, которые будут, возможно будут смотреть урок и что-бы они хоть что-то поняли, теперь ты понял. И это будут не статьи, а видео уроки.[c][/c]
1-ая: Событее: Иза чего начнётся действие, и в чём оно будет заключаться.
2-ая: Условие: При каком условие действие, будет или , не будет работать.
3-ая: Действие: Что будет происходить.
Зделаем такой триггер: Телепорт
Для этого нам потребуються: Мозги, 2 зоны. Зона : Открываем WE и жмём на R. Зоздаём 2 зоны в любом месте. Удалить триггер иниц. сражения.
Событие: Боевая Единица -> Отряд вошел в зону (Ваша зона)
Условие: Оставим пустым
Действие: Боевая единица -> Двигать мгновенно переключаюЩий юнит (ваша зона)
О да они поняли хоть что то.... но зачем делать видео уроки?, если простые статьи намного лучше и понятней чем кто то будет мямлить на видео показывая окошечки GUI триггеров...Look at my horse!
влад10011, кому-то лень читать, а кому охота поснимать как и что он делает.
Добавлено (31/07/2012, 09:52:44) --------------------------------------------- Скорее всего буду делать способности на заказ, что-бы не париться с чего начать и чем закончить!
Если человеку лень читать то он точно не сможет ничего приличного сделать.
Видео или текст нет особой разницы, главное это профессиональные знания того кто будет писать/снимать статьи и его стиль речи/письма. влад10011, у тебя это сильно хромает кстати и получается что пишешь ты вроде умные вещи, но читать это сложно и противно (я сейчас не о словах или ошибках, а о визуальном оформлении текста).
Товарищ НубикВЕ каковы ваши познания в области триггеров? Это главный критерий того, нужны ли видео уроки.
AncientPenguin, я сначала думал о Jass, может всё таки Jass? А GUI на maps'е можно и по наработкам изучить. Познания большие, а фантазии маловато!)[c][/c]
scope FireBall {//Начало кода callback onUnitSpellEffect('A002')//Наше событие всего в 1 строчке! {//начало <img src="http://s34.ucoz.net/sm/23/biggrin.gif" border="0" align="absmiddle" alt="biggrin" /> timer t = CreateTimer()//создаём таймер int id = GetHandleId(t) unit u = GetTriggerUnit()//кастер unit tar = GetSpellTargetUnit() //Жертва ака х3 как его unit d = CreateUnit(GetOwningPlayer(u),'h001',GetWidgetX(u),GetWidgetY(u),GetUnitFacing(u)) SaveUnitHandle(Hash,id,0,u)//сохраняем SaveUnitHandle(Hash,id,1,tar) SaveReal(Hash,id,2,0)// это будет наша дистанция SaveUnitHandle(Hash,id,3,d)//создаём группу SaveGroupHandle(Hash,id,4,CreateGroup()) TimerStart(t,.04,true, \ lambda void(){//запускаем таймер timer t = GetExpiredTimer() // выгружаем таймер int id = GetHandleId(t) unit u = LoadUnitHandle(Hash,id,0) // выгружаем unit tar = LoadUnitHandle(Hash,id,1) unit d = LoadUnitHandle(Hash,id,3) group g = LoadGroupHandle(Hash,id,4) real s = LoadReal(Hash,id,2) real xc = GetUnitX(u)//Положения кастера ака u по X real yc = GetUnitY(u)//Положения кастера ака u по Y real xt = GetUnitX(tar)//Положения жертвы ака t по X real yt = GetUnitY(tar)//Положения жертвы ака t по Y real angle = Atan2(yt - yc, xt - xc) // поворо не GetUnitFacing, а вывереный и точный между 2-мя точками real maxdis = SquareRoot((xc-xt) * (xc-xt) + (yc-yt) * (yc-yt))//дистанция real x = GetUnitX(d) + 30. * Cos(angle) // двигаем real y = GetUnitY(d) + 30. * Sin(angle) // двигаем if s < maxdis { SetUnitX(d,x)// ceT X SetUnitY(d,y)// сет Y for(unit e;UnitsInRange(x,y,180.)use GG) { if IsUnitEnemy(e,GetOwningPlayer(u)) and GetWidgetLife(e)>.405 and IsUnitInGroup(e,g) == false// условие { UnitDamageTarget(u,e,50.*GetUnitAbilityLevel(u,'A002'),true,false,ATTACK_TYPE_HERO,DAMAGE_TYPE_FIRE,null)//наносим урон всем встречным врагам GroupAddUnit(g,e)// добовляем в группу чтобы нанести урон 1 раз } } SaveReal(Hash,id,2,s+30.)//Это та дистанция которую пролетает дамик. else unit d2 = CreateUnit(GetOwningPlayer(u),'h000',x,y,bj_UNIT_FACING)//создаём дами UnitAddAbility(d2,'A003')//добовляем молот бурь IssueTargetOrderById(d2,852095,tar)//используем молот бурь на врага UnitDamageTarget(u,tar,100.*GetUnitAbilityLevel(u,'A002'),true,false,ATTACK_TYPE_HERO,DAMAGE_TYPE_FIRE,null)//наносим урон GroupClear(g)//чистим DestroyGroup(g)//удаляем PauseTimer(t)//паузим DestroyTimer(t)//удаляем RemoveUnit(d)//удаляем дамика } }) }//конец }//Конец кода
include "cj_types.j" constant hashtable Hash=InitHashtable() group GG=CreateGroup()