Сейчас 01:22:07 Среда, 27 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
[Вопрос] Отряд
wetalqДата: Вторник, 20 Сентября 2011, 21:48:09 | Сообщение # 1
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Как использовать правильно отряды на Jass с локалками, например дамаг как у способности "Волна силы", и другие манипуляции

пересмотрел уже много примеров но все ровно что то не работает, кто то может показать пример

заранее благодарен
 

Ty3uKДата: Вторник, 20 Сентября 2011, 22:23:39 | Сообщение # 2
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:

это над функцией действия- фильтруем юнитов и наносим урон
function Filter_Damage takes nothing returns nothing
if IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) then
call UnitDamageTarget(GetTriggerUnit(), GetFilterUnit(), урон, true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS)
return false
endfunction
теперь в действиях
local group g = CreateGroup()
local filterfunc f = Filter(function Filter_Damage)
call GroupEnumUnitsInRange(g, координата х, координата у, радиус, f)
call DestroyGroup(g)
call DestroyFilter(f)
g = null
f =null

Добавлено (20 Сентябрь 2011, 22:23:08)
---------------------------------------------
function Filter_Damage takes
nothing returns boolean

Добавлено (20 Сентябрь 2011, 22:23:39)
---------------------------------------------
Очепятка


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

wetalqДата: Суббота, 24 Сентября 2011, 22:03:34 | Сообщение # 3
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
Ty3uK, судя по твоему триггеру есть вопрос: почему в функции с дамагом GetTriggerUnit(), ты не даешь ссылку на прямого кастера, а меня интересует еще тех кого ударила волна что бы добавили цель в группу тоже, или это делать типо так:

Code
function damag takes nothing returns boolean
local timer t = GetExpiredTimer ()
local unit u = LoadUnitHandle(udg_hash,GetHandleId(t),0,u)
return IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(u))
endfunction



тут еще движения юнита типо

Code
call GroupEnumUnitsInRange (g, a[3], a[4], 256., Condition (function damag))
loop
set p = FirstOfGroup(g)
exitwhen p == null
call UnitDamageTarget(data.u, p, data.uron, true, true, ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL, null)
call GroupAddUnit(data.GG, p)
call GroupRemoveUnit(g,p)
endloop


Сообщение отредактировал wetalq - Суббота, 24 Сентября 2011, 22:04:27
 

lawsonДата: Суббота, 24 Сентября 2011, 23:02:48 | Сообщение # 4
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
wetalq, Ты хочешь узнать кому нанесла урон волна силы или ты хочешь триггерно эту способность создать?

Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

wetalqДата: Воскресенье, 25 Сентября 2011, 00:25:52 | Сообщение # 5
8 уровень
Группа: Проверенные
Сообщений: 550
Награды: 0
Репутация: 117
Блокировки:
lawson, создать триггерно это способность, я пытался сделать но у меня скорее всего по какой то причине юниты не добавлялись в группу (типо та группа в которую заносятся те юниты что получили уже дамаг) а они получают его снова и снова.

local group g = CreateGroup() делал
 

  • Страница 1 из 1
  • 1
Поиск:

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