Очки за хил
|
|
InkviRG | Дата: Суббота, 05 Февраля 2011, 22:30:32 | Сообщение # 1 |
3 уровень
Группа: Пользователи
Сообщений: 43
Награды: 0
Репутация: 2
Блокировки:
| В общем у юнита есть способность, у этой способности несколько уровней. В общем имея эту способность, он должен, как отхилит 10 хп, получить 1 очко. Если отхилит меньше, то ничего не получит. Например за 299 отхиленного, он получит 29 очков. И что бы не считался оверхил. Может кто помочь?
|
|
|
|
lawson | Дата: Суббота, 05 Февраля 2011, 22:37:40 | Сообщение # 2 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| ЧЕЕ? Я ни че не понял что тут написано.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
InkviRG | Дата: Суббота, 05 Февраля 2011, 22:42:41 | Сообщение # 3 |
3 уровень
Группа: Пользователи
Сообщений: 43
Награды: 0
Репутация: 2
Блокировки:
| Герой хилит 100 хп. В переменную заносится значение 10. Герой хилит 259 хп. В переменную заноситься 25. Учитывать только "чистое" хп, без оверхила(избыточный хил). Хил - леченеие
|
|
|
|
lawson | Дата: Суббота, 05 Февраля 2011, 22:44:08 | Сообщение # 4 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Кароче с твои хиллом пусть тебе кто то другой поможет.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
Dreii | Дата: Суббота, 05 Февраля 2011, 22:44:57 | Сообщение # 5 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| InkviRG, пиши по русски,а то на языке ЫФвыапывапый больше никто не говорит
|
|
|
|
AdMiRaLL | Дата: Суббота, 05 Февраля 2011, 22:46:49 | Сообщение # 6 |
8 уровень
Группа: Проверенные
Сообщений: 743
Награды: 1
Репутация: 61
Блокировки:
| я лично всё понял, но как сделать хз
|
|
|
|
Dreii | Дата: Суббота, 05 Февраля 2011, 22:47:19 | Сообщение # 7 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| AdMiRaLL, Напиши на русском ,я сделаю
|
|
|
|
InkviRG | Дата: Суббота, 05 Февраля 2011, 22:49:41 | Сообщение # 8 |
3 уровень
Группа: Пользователи
Сообщений: 43
Награды: 0
Репутация: 2
Блокировки:
| Dreii, написал по русски. Или вам совсем по шагам? Хорошо. Юнит имеет заклинание "Очки" уровень 1 Юнит кастует заклинание "Лечение" уровень 1 Юнит лечит этим заклинанием 100 хп. В переменную(целоисчесленная) заносить значение (значение переменной + 10 ) Юнит имеет заклинание "Очки" уровень 1 Юнит кастует заклинание "Лечение" уровень 2 Юнит лечит этим заклинанием 259 хп. В переменную(целоисчесленная) заносить значение (значение переменной + 25) Юнит имеет заклинание "Очки" уровень 2 Юнит кастует заклинание "Лечение" уровень 1 Юнит лечит этим заклинанием 100 хп. В переменную(целоисчесленная) заносить значение (значение переменной + 20 ) Юнит имеет заклинание "Очки" уровень 2 Юнит кастует заклинание "Лечение" уровень 2 Юнит лечит этим заклинанием 259 хп. В переменную(целоисчесленная) заносить значение (значение переменной + 50)
|
|
|
|
Host-mapper | Дата: Суббота, 05 Февраля 2011, 22:51:31 | Сообщение # 9 |
6 уровень
Группа: Проверенные
Сообщений: 177
Награды: 0
Репутация: 42
Блокировки:
| Quote (AdMiRaLL) я лично всё понял, но как сделать хз +1 Вроде все понятно. Герой Лечит другого героя и получает за это очки которые записываются в переменную.
|
|
|
|
InkviRG | Дата: Суббота, 05 Февраля 2011, 22:52:22 | Сообщение # 10 |
3 уровень
Группа: Пользователи
Сообщений: 43
Награды: 0
Репутация: 2
Блокировки:
| Очки должны зачисляться за любой хил собственными заклинаниями (не предметами/зельями)
|
|
|
|
Dreii | Дата: Суббота, 05 Февраля 2011, 22:55:37 | Сообщение # 11 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| InkviRG, Code local integer i=0 if GetSpellAbilityLevel(unit,rawcode)==1 then set i=i+10 elseif GetSpellAbilityLevel(unit,rawcode)==2 then set i=i+20 endif Что-то на это похожее
|
|
|
|
InkviRG | Дата: Суббота, 05 Февраля 2011, 23:04:38 | Сообщение # 12 |
3 уровень
Группа: Пользователи
Сообщений: 43
Награды: 0
Репутация: 2
Блокировки:
| Dreii, не совсем. Не обязательно же лечение отхилит именно 100? Оно может и меньше отхить(например если у юнита не хватает всего 50 хп, то отхилено будет только 50) и больше, если хил например int*2. Добавлено (05-02-2011, 23:02) --------------------------------------------- И не только лечение, должен учитывать хил от всех активных скилов юнита, который имеет способность "очки" Добавлено (05-02-2011, 23:04) --------------------------------------------- и не только скил "лечение" **
|
|
|
|
Dreii | Дата: Суббота, 05 Февраля 2011, 23:12:34 | Сообщение # 13 |
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
| InkviRG, мм завтра подумаю,а щяс спать хочу
|
|
|
|
InkviRG | Дата: Суббота, 05 Февраля 2011, 23:18:57 | Сообщение # 14 |
3 уровень
Группа: Пользователи
Сообщений: 43
Награды: 0
Репутация: 2
Блокировки:
| Ок. Что бы было проще, при первом уровне "очки" - в переменную заносить значение переменной + 10%(хил), при втором - значение переменной + 15%(хил) и так далее. От числа после запятой нужно избавляться, хотя при использовании типа переменной integer, оно должно само отброситься.
|
|
|
|
Nestrik | Дата: Воскресенье, 06 Февраля 2011, 13:43:34 | Сообщение # 15 |
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 7
Блокировки:
| Дык нужно просто проверить сколько здоровья есть у война перед тем как его хильнули: если макс хп - курент хп больше чем хилит способность то все как есть; а если макс хп - курент хп меньше чем хилит заклинание, то от этой разницы и заносить переменную. Вот тебе и нету "оверхила" Надеюсь написал доходчиво.
|
|
|
|
InkviRG | Дата: Воскресенье, 06 Февраля 2011, 13:50:47 | Сообщение # 16 |
3 уровень
Группа: Пользователи
Сообщений: 43
Награды: 0
Репутация: 2
Блокировки:
| Nestrik, правильно то правильно, вот только мне не от оверхила избавиться надо. В первую очередь нужно проверить на сколько именно его хильнула способность, именно способность. Ведь есть такие вещи как вампиризм, собственная регенерация, зелья, чужие хилки, хоты... Я думал реализовать через хп после применения - хп перед применением, но будет не совсем верно.
|
|
|
|
Nestrik | Дата: Воскресенье, 06 Февраля 2011, 14:00:21 | Сообщение # 17 |
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 7
Блокировки:
| Ну тогда остается только сначала дял каждой способности высчитать соклько она отхилит, т.е. брать базовое значение, прибавлять к нему все бонусы, которые воздействуют на эту способность (т.е. если хил повышается от интеллекта, то добавлять эти значения, от предметов - то же самое), затем добавлять учет состояния юнита (если он в астрале то +33% вроде к хилу), ну и так далее по всем воздействующим эффектам, а потом все равно: вычитать из макс хп, курент хп и смотреть разницу. В принципе все это выполняется игрой моментально, если вейты не ставить, а они тут не нужны. Если у тебя не сильно много различных воздействий от предметов и характеристик то то же ничего сложного. Но для каждой способности хилящей придется делать свой триггер, или запихав все в один триггер сделать много конструкций Иф-Тхен-Элси с проверкой на "Абилити Байн Каст" Это все реализуется на ГУИ.
|
|
|
|
InkviRG | Дата: Воскресенье, 06 Февраля 2011, 14:02:41 | Сообщение # 18 |
3 уровень
Группа: Пользователи
Сообщений: 43
Награды: 0
Репутация: 2
Блокировки:
| К сожалению много. Очень.
|
|
|
|
Nestrik | Дата: Воскресенье, 06 Февраля 2011, 14:08:48 | Сообщение # 19 |
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 7
Блокировки:
| Тогда остается вариант просчитывать силы воздействий заранее, скажем в периоде для каждого игрока,хранить их в переменных; а при применении заклинания брать эту переменную, и от нее считать все. В итоге у тебя будет один триггер, которые скажем, каждые полсекунды считает значения усиления заклинаний, а второй триггер будет конкретно на твое заклинание, соответственно третий, четвертый и тд. так же на каждое хилящее заклинание. С вампиризмами всякими , только я вот хз как: там событие будет Воин атаковал, а условие "он под бафом" , с действиями -теми же. Работы много конечно, но никто не обещал, что тут тебе предложат легкие пути В общем: решать тебе как делать ,я вряд ли что-то еще предложу
|
|
|
|
lawson | Дата: Воскресенье, 06 Февраля 2011, 14:11:16 | Сообщение # 20 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Нужно создать целоисчеслительную массив и туда в каждую ячейку записывать нужное тебе кол-во хп. А потом при добавлении просто использовать нежную тебе ячейку. Добавлено (06-02-2011, 14:11) --------------------------------------------- О боже если б я еще понял что ты имеешь ввиду свой триггер я бы может конкретней помог.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
InkviRG | Дата: Воскресенье, 06 Февраля 2011, 14:11:29 | Сообщение # 21 |
3 уровень
Группа: Пользователи
Сообщений: 43
Награды: 0
Репутация: 2
Блокировки:
| Quote (lawson) записывать нужное тебе кол-во хп мне его сначала нужно найти -_-
|
|
|
|
lawson | Дата: Воскресенье, 06 Февраля 2011, 14:14:13 | Сообщение # 22 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Я думаю тебе нужно типо этого: Юнит использует способность, эта способность добавляет ему хп например 200 только в том случае если... (А здесь что???)
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
InkviRG | Дата: Воскресенье, 06 Февраля 2011, 14:16:47 | Сообщение # 23 |
3 уровень
Группа: Пользователи
Сообщений: 43
Награды: 0
Репутация: 2
Блокировки:
| Не, не оно. Мне нужно получить, сколько именно эта способность отхилит.
|
|
|
|
lawson | Дата: Воскресенье, 06 Февраля 2011, 14:17:44 | Сообщение # 24 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| Quote (InkviRG) сколько именно эта способность отхилит А у тебя что способность пустыщка ты добавляешь хп триггерно?
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
Nestrik | Дата: Воскресенье, 06 Февраля 2011, 14:20:08 | Сообщение # 25 |
4 уровень
Группа: Пользователи
Сообщений: 88
Награды: 0
Репутация: 7
Блокировки:
| Если у война 99/100 а хилка хилит 100 хп, то похилит она только 1 хп а не 100 как написано в РО
|
|
|
|