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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 6 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Оптимизация спелла, где используются группы (Как?)
[Вопрос] Оптимизация спелла, где используются группы
lawsonДата: Пятница, 23 Сентября 2011, 17:08:21 | Сообщение # 126
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (FatalBlade)
return nothing или return boolean? Это ведь Conditions

да, returns boolean


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


Сообщение отредактировал lawson - Пятница, 23 Сентября 2011, 17:08:57
 

FatalBladeДата: Пятница, 23 Сентября 2011, 17:08:49 | Сообщение # 127
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Ty3uK)
rghost.ru/22731051 блэйд, это тебе

спс


 

SirNikolasДата: Пятница, 23 Сентября 2011, 17:11:22 | Сообщение # 128
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (SirNikolas)
Писал в Notepad++, так что могут быть ошибки.
boolean


 

Mep3aB4uKДата: Пятница, 23 Сентября 2011, 17:11:40 | Сообщение # 129
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
FatalBlade, Скачай JNGP, хуже не будет. Только улучшит твои знания в жассе и некоторые проблемы(которые трудно решить в простом WE).
 

FatalBladeДата: Пятница, 23 Сентября 2011, 17:15:00 | Сообщение # 130
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Mep3aB4uK)
JNGP

Он мне 1 раз чуть карту не запорол. Перестали работать события с малым периодом и спецэффекты которые создаются в точках.


 

[DUОS]Дата: Пятница, 23 Сентября 2011, 17:16:44 | Сообщение # 131
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (Mep3aB4uK)
JNGP


Почему сразу подсаживать на извращения-то?

Добавлено (23 Сентябрь 2011, 17:16:44)
---------------------------------------------

Quote (Faion)
Бывает так что нью ген запарывает мапы.

В этом Феня молодец.


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

FatalBladeДата: Пятница, 23 Сентября 2011, 17:22:17 | Сообщение # 132
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
SirNikolas, там куча ошибок) Причём даже непонятно почему))

 

SirNikolasДата: Пятница, 23 Сентября 2011, 17:29:52 | Сообщение # 133
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
В функции таймера опечатка: LoadUnitHande -> LoadUnitHandle
В функции действий я объявил две переменные с именем u. Исправление:
Code
function Trig_Explode_Corpses_Actions takes nothing returns nothing
     local unit u = GetTriggerUnit()
     local group g = CreateGroup()
     local timer t = CreateTimer()
     local integer id = GetHandleId(t)
     local unit u2
     call GroupEnumUnitsInRange(udg_Group, GetWidgetX(u), GetWidgetY(u), 900., null)
     loop
         set u2 = FirstOfGroup(udg_Group)
         exitwhen u2 == null
         call GroupRemoveUnit(udg_Group, u2)
         if GetWidgetLife(u2) <= .0 and IsUnitType(u2, UNIT_TYPE_HERO) == false then
             call GroupAddUnit(g, u2)
         endif
     endloop
     call SaveAgentHandle(udg_Hash, id, 0, g)
     call SaveInteger(udg_Hash, id, 1, GetUnitAbilityLevel(u, 'A0QT'))
     call SaveAgentHandle(udg_Hash, id, 2, u)
     call TimerStart(t, .4, false, function Trig_Explode_Corpses_Timer)
     set g = null
     set t = null
     set u = null
     set u2 = null
endfunction


 

FatalBladeДата: Пятница, 23 Сентября 2011, 17:34:09 | Сообщение # 134
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (SirNikolas)
В функции действий я объявил две переменные с именем u. Исправление:

Это я заметил, и изменил, но есть ещё)

Добавлено (23 Сентябрь 2011, 17:34:09)
---------------------------------------------

Quote (SirNikolas)
В функции таймера опечатка: LoadUnitHande -> LoadUnitHandle

А вот это я пропустил)


 

[DUОS]Дата: Пятница, 23 Сентября 2011, 17:34:21 | Сообщение # 135
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Туз, твой код я подредактил. Ты брал в радиусе 180 от кастера, а не от мёртвых. А вообще молодец :)
Code
function Trig_Spell_Conditions takes nothing returns boolean
     return GetSpellAbilityId() == 'A000'
endfunction

function Damage takes nothing returns boolean
     if IsUnitType(GetFilterUnit(),UNIT_TYPE_DEAD) == false then
         call UnitDamageTarget(GetTriggerUnit(),GetFilterUnit(),200.,true,false,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS)
     endif
     return false
endfunction

function Dead_Pick takes nothing returns boolean
     local unit caster = GetTriggerUnit()
     local unit fu = GetFilterUnit()
     local group g = CreateGroup()
     local filterfunc f = Filter(function Damage)
     if IsUnitType(fu,UNIT_TYPE_DEAD) then
         call GroupEnumUnitsInRange(g,GetUnitX(fu),GetUnitY(fu),180.,f)
         call DestroyEffect(AddSpecialEffect("Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl", GetUnitX(GetFilterUnit()), GetUnitY(GetFilterUnit())))
     endif
     call DestroyGroup(g)
     call DestroyFilter(f)
     set g = null
     set fu = null
     set f = null
     set caster = null
     return false
endfunction

function Trig_Spell_Actions takes nothing returns nothing
     local unit caster = GetTriggerUnit()
     local group g = CreateGroup()
     local filterfunc f = Filter(function Dead_Pick)
     call GroupEnumUnitsInRange(g,GetUnitX(caster),GetUnitY(caster),900.,f)
     call DestroyGroup(g)
     call DestroyFilter(f)
     set g = null
     set f = null
     set caster = null
endfunction

//===========================================================================
function InitTrig_Spell takes nothing returns nothing
     set gg_trg_Spell = CreateTrigger()
     call TriggerRegisterAnyUnitEventBJ(gg_trg_Spell,EVENT_PLAYER_UNIT_SPELL_EFFECT)
     call TriggerAddCondition(gg_trg_Spell,Condition(function Trig_Spell_Conditions))
     call TriggerAddAction(gg_trg_Spell,function Trig_Spell_Actions)
endfunction


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

SirNikolasДата: Пятница, 23 Сентября 2011, 17:36:14 | Сообщение # 136
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (FatalBlade)
Это я заметил и изменил
Надеюсь, ты ее обнулил в конце?


 

FatalBladeДата: Пятница, 23 Сентября 2011, 17:38:00 | Сообщение # 137
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Кстати хотел спросить. Ты ведь без дамми делал? Типа урон наносится от самого героя... Если герою сразу после каста абилки, но ещё до вызова второй функции кинут Стан, или слип, урон будет нанесён?

Да и где хэш инициировать? В Map Initialization или в триггере с событием call TriggerRegisterTimerEventSingle( gg_trg_Data, 1.00 )

Добавлено (23 Сентябрь 2011, 17:38:00)
---------------------------------------------

Quote (SirNikolas)
Надеюсь, ты ее обнулил в конце?

да




Сообщение отредактировал FatalBlade - Пятница, 23 Сентября 2011, 17:37:41
 

Ty3uKДата: Пятница, 23 Сентября 2011, 17:38:36 | Сообщение # 138
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Да, будет. Да и там настолько маленький период ожидания, что это еще подгадать сильно надо :)

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

SirNikolasДата: Пятница, 23 Сентября 2011, 17:39:27 | Сообщение # 139
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (FatalBlade)
урон будет нанесён?
Да.
Quote (FatalBlade)
где хэш инициировать?
Вообще-то можно где угодно, главное, чтобы один раз, но я предпочитаю Map initialization.


 

[DUОS]Дата: Пятница, 23 Сентября 2011, 17:39:43 | Сообщение # 140
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (FatalBlade)
урон будет нанесён?

Code
if UnitDamageTarget(GetTriggerUnit(),GetFilterUnit(),200.,true,false,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS) then
// урон нанесён
else
// урон не нанесён
endif


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

SirNikolasДата: Пятница, 23 Сентября 2011, 17:46:16 | Сообщение # 141
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Ty3uK)
это еще подгадать сильно надо
Я ради прикола делал ИИ, чтобы Смотрящая в Ночь своим скачком от всяких заклинаний, вроде Молота Бурь, уклонялась. Выглядит забавно)


 

FatalBladeДата: Пятница, 23 Сентября 2011, 18:00:32 | Сообщение # 142
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
оффтоп
Дуос, помнишь про спелл который я тебя просил оптимизировать? Ты его будешь делать? Или покажи плз как его оптимизировать, потому что он НАМНОГО сложнее чем это взрывание трупов

Добавлено (23 Сентябрь 2011, 18:00:32)
---------------------------------------------
Как я понял фильтр это то же самое что и условие?


 

SirNikolasДата: Пятница, 23 Сентября 2011, 18:09:03 | Сообщение # 143
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (FatalBlade)
фильтр - это то же самое, что и условие?
Нет. Но чем они различаются, не знает никто. Так что юзаем фильтр для фильтров группы, а условия - для условий триггеров.


 

FatalBladeДата: Пятница, 23 Сентября 2011, 18:35:34 | Сообщение # 144
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Ок спс всем
У меня есть ещё вопрос по похожему спелл, поэтому задам его тут. Вот у меня есть спелл который тоже вычисляет трупов вокруг героя, и на их месте создаёт ядовитые облака, то есть дамми с моделью зелёного облака (импорт) и со скилом Immolation, которые живут 30 секунд, нанося урон всему что попадает в облако. В данном случае надо создать 3 группы, 1 глобалка и 2 локалки? Ведь я же создаю ещё и даммиков, которых потом надо удалить. Или как?


 

[DUОS]Дата: Пятница, 23 Сентября 2011, 20:52:58 | Сообщение # 145
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Прочтите это, потом, основываясь на этом знании, давайте какие-то советы (во избежание бреда).

НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Вопрос] Оптимизация спелла, где используются группы (Как?)
  • Страница 6 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Поиск:

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