Сейчас 17:49:26 Четверг, 28 марта, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Использование предмета.
Использование предмета.
WriterTramДата: Суббота, 22 Декабря 2012, 02:24:05 | Сообщение # 1
1 уровень
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Блокировки:
Здравствуйте,помогите пожалуйста. Нужно что бы когда герой использовал определенный предмет(допустим маска смерти или прочее)в определенной области,происходило какое-либо действие,например в этой области появлялся какой-нибудь юнит. Заранее спасибо.
 

ExtrematorДата: Суббота, 22 Декабря 2012, 02:40:45 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Событие - Юнит использует предмет

Условие - Сравнение типов предметов - Тип предмета которым манипулируют = Маска смерти

Действие - Боевая единица - Создать 1 юнита тип "Пехотинец" для игрока "такой-то" в точке "центр области 001" с углом поворота 0 градусов
 

Imba_pvLДата: Суббота, 22 Декабря 2012, 11:35:55 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
Extremator, не много не так
нада чтобы сам герой был в определенной области
вот
событие - Юнит использует предмет

Условие -1. Сравнение типов предметов - Тип предмета которым манипулируют = Маска смерти
2.ЕСЛИ ЮНИТ НАХОДИТЬСЯ В ТАКОЙ-ТО ОБЛАСТИ, то есть Логичекское сравнение и там будет юнит находится в области область выбраешь и заместо юнита ставишь герой манипулирющий предметов
Действие - Боевая единица - Создать 1 юнита тип "Пехотинец" для игрока "такой-то" в точке "центр области 001" с углом поворота 0 градусов


 

WriterTramДата: Суббота, 22 Декабря 2012, 12:36:00 | Сообщение # 4
1 уровень
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 0
Блокировки:
Получилось! ^^
Спасибо люди,возьму на заметку.
 

ExtrematorДата: Суббота, 22 Декабря 2012, 13:45:28 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
блин... запятую проморгал )))
 

BruДата: Суббота, 22 Декабря 2012, 21:01:43 | Сообщение # 6
i<3bo4k@
Группа: Акулы
Сообщений: 4750
Награды: 2
Репутация: 1950
Блокировки:
Сделал по-свойски, как всегда :3
Код
function Trig_rect_Actions takes nothing returns nothing
     local real unitx = GetLocationX(GetUnitLoc(udg_u))
     local real unity = GetLocationY(GetUnitLoc(udg_u))   
     if ( GetManipulatedItem() == udg_i ) and (GetRectMinX(udg_t) <= unitx) and (unitx <= GetRectMaxX(udg_t)) and (GetRectMinY(udg_t) <= unity) and (unity <= GetRectMaxY(udg_t)) == true  then
         call CreateUnitAtLoc(Player(0), 'hfoo', Location(GetRectCenterX(udg_t), GetRectCenterY(udg_t)), bj_UNIT_FACING)
     else
     endif
endfunction

function InitTrig_rect takes nothing returns nothing
     set gg_trg_rect = CreateTrigger(  )
     call TriggerRegisterUnitEvent( gg_trg_rect, gg_unit_Hpal_0001, EVENT_UNIT_USE_ITEM )
     call TriggerAddAction( gg_trg_rect, function Trig_rect_Actions )
endfunction

 

SirNikolasДата: Вторник, 25 Декабря 2012, 20:11:26 | Сообщение # 7
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Код
function Trig_rect_Conditions takes nothing returns boolean
    local real x = GetWidgetX(GetFilterUnit())
    local real y = GetWidgetY(GetFilterUnit())
    return x >= GetRectMinX(udg_t) and x <= GetRectMaxX(udg_t) and y >= GetRectMinY(udg_t) and y <= GetRectMaxY(udg_t)
endfunction

function Trig_rect_Actions takes nothing returns nothing
    call CreateUnit(GetOwningPlayer(GetTriggerUnit(), 'hfoo', GetRectCenterX(udg_t), GetRectCenterY(udg_t), 270.)
endfunction

function InitTrig_rect takes nothing returns nothing
    local trigger trig = CreateTrigger()
    local integer i = 0
    loop
        call TriggerRegisterPlayerUnitEvent(trig, Player(i), EVENT_PLAYER_UNIT_USE_ITEM, null)
        exitwhen i == 11
        set i = i + 1
    endloop
    call TriggerAddCondition(trig, Condition(function Trig_rect_Conditions))
    call TriggerAddAction(gg_trg_rect, function Trig_rect_Actions)
    set trig = null
endfunction


 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Использование предмета.
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz