Сейчас 16:23 Вторник, 26 11, 2024 год
Главная ⇒ Форум ⇐ RSS Файлы В о й т и   или   зарегистрироваться

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: BARS_on_WAR  
Спел нова
DarkWorldДата: Четверг, 08.05.2014, 21:07 | Сообщение # 1
Подполковник
Группа: Проверенные
Сообщений: 101
Награды: 0
Репутация: 0
Статус: Offline
1. Название способности: Волна света
2. Относится к: Герою
3. Тип цели: Пассивная способность
4. Метод исполнения: GUI
5. Мультиприменяемость: Да
6. Описание способности в общем виде: Урон от атрибутов.
7.2 Описание способности - уровни: сам напишу уже в своей карте=)
Уровень 1 - урон равный х2 интелекта
Уровень 2 - урон равный х4 интелекта
Уровень 3 - урон равный х6 интелекта
Уровень 4 - урон равный х8 интелекта
Уровень 5 - урон равный х10 интелекта
http://rghost.ru/55033778.view картинка
http://rghost.ru/55033797 Моделька к спелу




Сообщение отредактировал DarkWorld - Четверг, 08.05.2014, 21:18
 
JokerДата: Среда, 30.07.2014, 01:44 | Сообщение # 2
JoKeR
Группа: Администраторы
Сообщений: 910
Награды: 5
Репутация: 254
Статус: Offline
как то так
Прикрепления: Nova.w3x (19.1 Kb)


 
DarkWorldДата: Среда, 13.08.2014, 12:09 | Сообщение # 3
Подполковник
Группа: Проверенные
Сообщений: 101
Награды: 0
Репутация: 0
Статус: Offline
ZlodeY, А можно на GUI?

 
JokerДата: Среда, 13.08.2014, 19:33 | Сообщение # 4
JoKeR
Группа: Администраторы
Сообщений: 910
Награды: 5
Репутация: 254
Статус: Offline
Можно, но в гуи это хуже выглядит)  Да и уже будут 2 триггера + не МУИ

 
JokerДата: Среда, 13.08.2014, 19:39 | Сообщение # 5
JoKeR
Группа: Администраторы
Сообщений: 910
Награды: 5
Репутация: 254
Статус: Offline
function Unit_Group4 takes nothing returns boolean   --- это действия 2
    local unit u = GetFilterUnit()       ----- подходящие юниты (враги)
    local unit ut = GetTriggerUnit()  ----- переменная кастующий герой
    local real x = GetUnitX(u)
    local real y = GetUnitX(u)
    local real dmg = I2R(GetHeroStatBJ(bj_HEROSTAT_INT, ut, true)) * ((GetUnitAbilityLevel(ut, 'A000')) * 2)  ----- настройка урона
    if ((IsUnitEnemy(u, GetTriggerPlayer())==true)) then         --------- проверка. если юнит равно враг героя
       call UnitDamageTarget(ut, u, dmg, true, false, ConvertAttackType(6), ConvertDamageType(4), ConvertWeaponType(0))    --- нанести руон
    endif
    set u = null   --- чистим утечки
    set ut = null
    return false 
endfunction

function Trig_Nova_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A000'   ---- это условие ( кастующий спелл = такой то ИД)
endfunction

function Trig_Nova_Actions takes nothing returns nothing  ---- это действия 1
local unit uc = GetTriggerUnit()    - сам герой
local integer a = 0       ----это все для создания круга, градусы. расстояние и тд
local integer d1 = 50
local integer d2 = 600
local integer fnr = 36
local real h = 180 / 3.14159
local real g = 360 / fnr * 3.14159/180
local real r
local real ux = GetUnitX(uc)
local real uy = GetUnitY(uc)
local real x1
local real y1
local real x2
local real y2
local unit u
local player p = GetOwningPlayer(GetTriggerUnit())
local group gr = CreateGroup()
        loop
           exitwhen a > fnr
            set x1 = ux + d1 * Cos(g*a)  
            set y1 = uy + d1 * Sin(g*a) 
            set x2 = ux + d2 * Cos(g*a)  
            set y2 = uy + d2 * Sin(g*a) 
            set r = h * Atan2(y2 - y1, x2 - x1)
            set u = CreateUnit (p, 'h000', x1 , y1, r) --- по данны кординатам ( выше записаны в переменных) создаем юнита (Нова дамми)
            call SetUnitPathing( u, false )  - юнит проходит сквозь стены
            call IssuePointOrder (u, "move" , x2, y2)  двигаем его 
            call UnitApplyTimedLife( u, 'BTLF', 1.5 ) время жизни  сек
           set a = a + 1
        endloop
call TriggerSleepAction(0.5) Ждать  сек
call GroupEnumUnitsInRange(gr,ux,uy,600.00,Condition(function Unit_Group4)) выбрать группу юнитов в радиусе 600 и сделать с ними действие 2
call DestroyGroup(gr) очистить группу
set uc = null очищаем утечки
set p = null
set u = null
set gr = null
endfunction

конец функции

Вроде все читабельно=)


 
DarkWorldДата: Понедельник, 18.08.2014, 00:56 | Сообщение # 6
Подполковник
Группа: Проверенные
Сообщений: 101
Награды: 0
Репутация: 0
Статус: Offline
ZlodeY,  а как указать спел номер? если я не знаю его вот тут (GetUnitAbilityLevel(ut, 'A000')) * 2) ?

Добавлено (17.08.2014, 21:56)
---------------------------------------------
У меня просто магов много на карте всем спелы разные не придумать =)


 
JokerДата: Понедельник, 18.08.2014, 14:19 | Сообщение # 7
JoKeR
Группа: Администраторы
Сообщений: 910
Награды: 5
Репутация: 254
Статус: Offline
Cntrl+D в Редакторе объектов. там будут в скобках иды спелов
Код
Имя (A000)


 
DarkWorldДата: Вторник, 19.08.2014, 03:34 | Сообщение # 8
Подполковник
Группа: Проверенные
Сообщений: 101
Награды: 0
Репутация: 0
Статус: Offline
ZlodeY, Спасибо

 
JokerДата: Вторник, 19.08.2014, 21:52 | Сообщение # 9
JoKeR
Группа: Администраторы
Сообщений: 910
Награды: 5
Репутация: 254
Статус: Offline
Обращайся=)

 
JokerДата: Среда, 20.08.2014, 14:43 | Сообщение # 10
JoKeR
Группа: Администраторы
Сообщений: 910
Награды: 5
Репутация: 254
Статус: Offline
Вот. П.с. измени у Ice Nova ид приказа с clusterocets на cloudoffog
и тестани. красиво выглядит))
Прикрепления: 8765509.w3x (20.3 Kb)


 
  • Страница 1 из 1
  • 1
Поиск:
Copyright © 2024 JoKeR Warcraft 3 Cheats Portal При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Хостинг от uCoz