ZeToX2007
offline
Опыт:
7,009Активность: |
Подсчет брони у юнита.
Собственно, в данной нароботке есть функция, которая возврощает броню у юнита.(Real)
Коректно работает если у юнита >= 0 брони... ( так как формула для отрицательной и положительной брони разные !!! )
Обсуждаем, если кто знает формулу подсчёта отр. брони - пишите... |
02.08.2009, 00:57 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JamesBlack
black mind
offline
Опыт:
6,595Активность: |
Не очень у тебя функция получилась... Я написал такую же но без косяков.
твоя функция Код:
моя функция Код:
Ты напорол лишнего, определенно. 1) Зачем тебе та абилка? Ты ее создал в РО, настроил, триггерно добавляешь/удаляешь... Нафига??? 2) Зачем тебе вызывать триггер на получение урона? Зачем??? Если урон ты наносишь в ф-ии, там и определяй, сколько урона нанеслось! Иначе каждый раз когда юнита ударят, будет высчитываться его дефенс, да и вообще это глупо здесь. 3) Что ето: ((10 -Damage)/10)/((1-((10-Damage)/10))*Const) ??? Ты с математикой не дружишь? Нельзя было упростить эту неразбираемую галиматью до простого (10-Damage)/Damage/Const ? 4) Даже в этом случае думаю, можно было уйти от создания 3-х глобалок... 5) И еще один минус как наработки. Ты не указал как импортировать твою наработку. А ведь там у тебя вызывается способность 'A000' и если ты про нее не напишешь, а юзер просто копирнет код и в его карте уже есть какая-то абилка 'A000', то очень некрасиво может выйти... Вот, посмотри на приложенную карту, можешь удостовериться, функция работает не хуже твоей =) (броня выписывается, когда кликаешь на юнита) Кстати, возникла одна идея насчет отрицательных чисел. Если предположить, что в процентном значении уменьшение получаемого урона при +n брони == увеличению получаемого урона при -n брони, то отрицательная броня легко рассчитывается: мы находим симметричное значение полученного урона юнитом относительно наносимого урона (т.е. если мы наносим юниту 100 урона, а он получил 110, то берем вместо этого 90) и рассчитывам броню для этого случая, не забывая сделать число отрицательным =) В приложенной карте для проверки отрицательных значений выберите паладина и возьмите ему способноть "доспехи веры". Я ее немного подкорректировал, она теперь понижает на первом уровне защиту всех дружественных войск на 3 единицы. Отредактировано Van Damm, 02.08.2009 в 13:29. |
02.08.2009, 12:27 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZeToX2007
offline
Опыт:
7,009Активность: |
Цитата:
Чтоб юнит НЕУМИРАЛ. я сейчас поставил виспу 1% нажал на него и он здох и высветилось невенроное количество брони.(КОСЯК ! ) так уж пусть будет так: Код:
пс: в коде ты забыл захилить дмг. А вообще способность которая прибовляет хп, очень полезна, с ней более проще и как мне кажется правельней предотвращать дмг и для других похожих целей, поюзай её, будет намного легче.. |
|
02.08.2009, 13:45 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JamesBlack
black mind
offline
Опыт:
6,595Активность: |
Цитата:
call SetUnitState(u, UNIT_STATE_LIFE, hp) А это что?) Возвращает жизни юнита в прежнее положение. А про смерть правда что не учел... Согласен, косяк) Просто лень было разбираться, что твоя абилка делает =) Насчет отрицательных значений вроде верно работает? Отредактировано ELDAR, 05.08.2009 в 11:03. |
|
02.08.2009, 20:27 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZeToX2007
offline
Опыт:
7,009Активность: |
-4 защиты - 22%
+4 защиты + 19% +6 защиты + 26% -6 защиты - 31% собственно вот.... ZeToX2007 добавил: JamesBlack, и кстати 0.06 - лучше константой сделать, так как не у всех картостоителей она равняется 0.06 |
02.08.2009, 21:29 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JamesBlack
black mind
offline
Опыт:
6,595Активность: |
Цитата:
Ты уверен? это пишется -4, +4... По факту +4 это может быть любое число в промежутке [3.5; 4.5), ты где эти цифры брал? Цитата:
Согласен. Только надо ли свою вводить? Разве не лучше использовать DefenseArmor - эта игровая константа, ее и будут скорее всего менять... |
||
02.08.2009, 22:20 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ZeToX2007
offline
Опыт:
7,009Активность: |
Цитата:
Сделал два юнита )) одному дал защиту - 4 другому +4.... формулы разные для положительной и отрицательной.... конечно есть идея, дать на мгновенье юниту + 100 брони и вычисть... но это будет не оч. тру... А пока что я посмотрю закономерность. Цитата:
+1 |
||
03.08.2009, 19:12 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
JamesBlack
black mind
offline
Опыт:
6,595Активность: |
Кстати, я тут сам проверил кое-что...
Цитата:
У меня получилось наоборот. При полож. броне процент больше, при отриц-й - меньше, например у охотницы при -323 брони -71%, а при +323 брони +95%... Но все равно щас попробую с формулами похимичить, мож что придумаю... догадываюсь что формула есть, просто не хочу искать - во первых так не инересно, а во вторых - лень =) |
|
04.08.2009, 01:59 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|