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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Такой вопрос
Такой вопрос
DesgulДата: Среда, 08 Мая 2013, 21:26:50 | Сообщение # 1
4 уровень
Группа: Проверенные
Сообщений: 86
Награды: 0
Репутация: 25
Блокировки:
Есть спелы/заклинание/способности, которые наносят урон от атрибутов сила/ловкость/разум как зделать что бы лечение тоже зависело от атрибутов?
 

19yuri98Дата: Среда, 08 Мая 2013, 21:52:11 | Сообщение # 2
7 уровень
Группа: Проверенные
Сообщений: 270
Награды: 0
Репутация: 114
Блокировки:
Также как урон только хил
создаешь переменную,присваиаешь нужное значение,при использовании способности в действиях пишешь
Код

б.е - set life (target unit of ability cast) to ((life of (target unit ability cast)+[твоя переменная])


 

ВолчачкаДата: Среда, 08 Мая 2013, 22:03:57 | Сообщение # 3
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
Desgul, ага, DarkWorld?
Сейчас наишу на Jass пример тебе. А в каком плане лечение?
 

DesgulДата: Четверг, 09 Мая 2013, 08:56:36 | Сообщение # 4
4 уровень
Группа: Проверенные
Сообщений: 86
Награды: 0
Репутация: 25
Блокировки:
Волчачка, А на GUI Можно мне просто не для 1 спела надо

Добавлено (08 Мая 2013, 23:40:43)
---------------------------------------------
переодическое/масовое/цепное и обычное благодать

Добавлено (09 Мая 2013, 08:56:36)
---------------------------------------------
ап

 

DarkWorldДата: Четверг, 09 Мая 2013, 13:23:05 | Сообщение # 5
3 уровень
Группа: Проверенные
Сообщений: 46
Награды: 0
Репутация: 0
Блокировки:
Ну парни подскажите тоже нужна такая штука
 

God_of_lightДата: Четверг, 09 Мая 2013, 13:42:58 | Сообщение # 6
6 уровень
Группа: Проверенные
Сообщений: 206
Награды: 0
Репутация: 185
Блокировки:
Вот пример простейшего триггера, абилки лечения, зависящего от атрибута. На GUI.
Основное лечение прописано в самой способности Благодать, а бонус от атрибута начисляется триггерно.


 

ВолчачкаДата: Четверг, 09 Мая 2013, 14:09:02 | Сообщение # 7
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
Цитата (Desgul)
цепное

Я делал цепной урон\хилл медива без указания цели, который зависел от атрибута интеллекта.
Ну это было на Jass.
Сейчас на благо распишу и массовое лечение. Я тебе сделаю сейчас триггер. Ну там будет все на джасс.
 

maddroneДата: Четверг, 09 Мая 2013, 14:19:21 | Сообщение # 8
1 уровень
Группа: Пользователи
Сообщений: 8
Награды: 0
Репутация: 0
Блокировки:
Без знания JASS'а сделать нормально работающее периодическое лечение, да такое чтобы оно скалировалось от аттрибута...

На гуи это можно написать, но будет весьма громоздко. Накидал пример для одного спелла

HealOnTimeInit
(триггер который инициализирует хэш-таблицу)
Код
События
     Map initialization
Условия
Действия
     Хэш-таблица - Create a hashtable
     Set HealOnTimeData = (Last created hashtable)


HealOnTime
(триггер, который срабатывает каждые 0.1 сек и лечит нужных юнитов)
Код
События
     Время - Every 0.10 seconds of game time
Условия
Действия
     Отряд - Pick every unit in HealOnTimeTargets and do (Actions)
         Цикл - Действия
             Боевая единица - Set life of (Picked unit) to ((Здоровье of (Picked unit)) + (Load 1 of (Key (Picked unit)) from HealOnTimeData))
             Хэш-таблица - Save ((Load 2 of (Key (Picked unit)) from HealOnTimeData) - 1) as 2 of (Key (Picked unit)) in HealOnTimeData
             If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                 Если - Условия
                     (Load 2 of (Key (Picked unit)) from HealOnTimeData) равно 0
                 То - Действия
                     Хэш-таблица - Clear all child hashtables of child (Key (Picked unit)) in HealOnTimeData
                     Отряд - Remove (Picked unit) from HealOnTimeTargets
                 Иначе - Действия


HealOnTimeCast
(триггер который срабатывает при касте нужного спелла. Записывает данные о юните и лечении в хэш-таблицу)
Код
События
     Боевая единица - A unit Приводит способность в действие
Условия
     (Ability being cast) равно Омоложение (триггер)
Действия
     Хэш-таблица - Save ((Real((Разум of (Casting unit) (Включить bonuses)))) / 10.00) as 1 of (Key (Target unit of ability being cast)) in HealOnTimeData
     Хэш-таблица - Save 100 as 2 of (Key (Target unit of ability being cast)) in HealOnTimeData
     Отряд - Add (Target unit of ability being cast) to HealOnTimeTargets


HealOnTimeTargets - переменная, тип Отряд. Содержит юнитов на которые скастовали хил.
HealOnTimeData - переменная, тип Хэш-таблица. Содержит данные о том как сильно юнита хилить.

Сразу оговорюсь, что этот скрипт будет работать только для одного спелла с периодическим лечением. Если надо ещё один спелл, да так что бы они складывались, скрипты и переменные придётся дублировать.

Вот карта для теста.
http://yadi.sk/d/uuIEXDXR4fwqa

Для цепных спеллов, которые должны скалироваться от атрибутов, надо всю абилку рисовать триггерно.
Вот гайд на английском, кому надо - разберутся.
http://www.hiveworkshop.com/forums/trigger-gui-editor-tutorials-279/how-make-chain-spell-gui-version-7015/

В заключение скажу. Если ты не знаешь JASS, то забей на абилки от атрибутов. Пропиши обычные константные значения, и отбалансируй их по уму. Намного хуже твоя карта от этого не станет. Зато это сэкономит тебе кучу затраченных усилий, повышая шанс того, что твоя карта вообще увидит свет.
 

DarkWorldДата: Четверг, 09 Мая 2013, 14:37:07 | Сообщение # 9
3 уровень
Группа: Проверенные
Сообщений: 46
Награды: 0
Репутация: 0
Блокировки:
maddrone, Спасибо большое ну я уже разобрался с обычной хилкой

Добавлено (09 Мая 2013, 14:37:07)
---------------------------------------------
Волчачка, я не умею на джасе вобще

 

ВолчачкаДата: Четверг, 09 Мая 2013, 15:02:15 | Сообщение # 10
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
DarkWorld,
Код

     local unit c = GetSpellAbilityUnit()
     local integer aid = GetSpellAbilityId()
     local real x = GetUnitX(c)
     local real y = GetUnitY(c)
     local real hpl = I2R(GetUnitAbilityLevel(c,aid)* 50)+I2R(GetHeroInt(c,true)+GetHeroAgi(c,true)+GetHeroStr(c,true))+50.
     local unit p
     call GroupEnumUnitsInRange(udg_G, x, y, 300, null)
     loop
     set p = FirstOfGroup(udg_G)
     exitwhen p == null
     if (p!=null and IsUnitAlly(p,GetOwningPlayer(c)) and GetUnitState(p,UNIT_STATE_LIFE) > 0.  and  not IsUnitType(p,UNIT_TYPE_STRUCTURE)  )  then
     call SetUnitState(p,UNIT_STATE_LIFE,GetUnitState(p,UNIT_STATE_LIFE)+hpl)
     call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Human\\Heal\\HealTarget.mdl",p,"origin"))
     endif
     call GroupRemoveUnit( udg_G, p )
     endloop
     call GroupClear(udg_G)
     set c = null


А можно так скопировать в custom script коды :D
 

NaturekidДата: Четверг, 09 Мая 2013, 17:38:11 | Сообщение # 11
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Цитата (maddrone)
Сообщение # 8

Цитата (Волчачка)
| Сообщение # 10

Ниииииииииииииииииии хрина себе
А не проще ли при касте
создать дамми
дать ему цепь молний с визуальным эффектом целительной волны
дать приказ молнии на цель

В триггере отлова урона
если тип источника урона - дамми "Лечение" - Вылечить цель на (формула какая надо)
естесственно дамми-цепь молний должна наносить хоть какой-то урон, чтобы легче было сымитировать потерю урона и следующие цели лечились бы слабее.


 

maddroneДата: Среда, 15 Мая 2013, 22:34:54 | Сообщение # 12
1 уровень
Группа: Пользователи
Сообщений: 8
Награды: 0
Репутация: 0
Блокировки:
Цитата
естесственно дамми-цепь молний должна наносить хоть какой-то урон

Теоретически, возможна ситуация когда ты убиваешь своего юнита таким лечением. Но в целом вариант, да. Я ещё не настоящий джассер, поэтому не уверен, но может быть, получится поставить отрицательный урон на молнию, чтобы перехватывать его триггером и не наносить дамаг.

Добавлено (15 Мая 2013, 22:34:54)
---------------------------------------------
Есть же система определения спелл урона, когда всем юнитам дают пассивку на -200% урона от заклинаний. Если в триггере урон отрицательный, значит спелл.

 

BorodachДата: Среда, 15 Мая 2013, 23:00:37 | Сообщение # 13
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
DarkWorld, Еще такой вариант

Добавлено (15 Мая 2013, 23:00:37)
---------------------------------------------
Там ссылка уже устарела... Load


Karamba
 

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

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