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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Условие, для получения опыта
Samedy_Дата: Четверг, 02 Июля 2015, 13:46:47 | Сообщение # 1
7 уровень
Группа: Проверенные
Сообщений: 371
Награды: 0
Репутация: 18
Блокировки:
Есть триггер:

Что делает триггер вроде объяснять не требуется))
Так вот, какое условие (какие условия) использовать, чтобы давать опыт только в том случае, если уровень героя не ниже (и не выше) уровня умирающей боевой единицы, чем на 3 лвла?
В голову пришло деление получаемого опыта на уровень героя, но там же несколько героев. А если делить на группу - получится слишком мало опыта. А мне нужно сделать так, чтобы если в группе есть 1 герой 30 уровня и один 1 уровня, то 1 уровень получает опыт за убийство, а 30 нет. Но при этом 1 уровень получает немного больше, т.к. рядом с ним герой.

Добавлено (02 Июля 2015, 10:00:34)
---------------------------------------------
От решение на jass с комментами (или без них) тоже не откажусь))

Добавлено (02 Июля 2015, 13:46:47)
---------------------------------------------
Поясню на всякий случай, мне нужно сравнение целочисленных, такое как: "если A меньше B на C" и "если D больше E на C".

 

КристоферДата: Четверг, 02 Июля 2015, 13:59:19 | Сообщение # 2
7 уровень
Группа: Проверенные
Сообщений: 401
Награды: 0
Репутация: 338
Блокировки:
Samedy_, Integer Comprasion, только пишешь не просто "Больше, чем Е", а пишешь "Больше, чем Е+2". Аналогично и с B.

"История нашего народа знает немало светлых страниц. Темных было тоже достаточно. И все с белыми пятнами. От белых пятен истории нужно избавляться, но нельзя же всё мазать черной краской!"(с) Рохан.
 

Samedy_Дата: Четверг, 02 Июля 2015, 16:40:04 | Сообщение # 3
7 уровень
Группа: Проверенные
Сообщений: 371
Награды: 0
Репутация: 18
Блокировки:
Цитата Кристофер ()
"Больше, чем Е", а пишешь "Больше, чем Е+2"

Я что-то не понял как это работает. Разница между моим числом и моим числом + другое число какая? Суть же та же остается.
Приведу пример по-конкретнее.
Если Уровень умирающего юнита меньше или равен или больше уровня героя, но не меньше и не больше чем на 3, то только после этого делать действия.

Добавлено (02 Июля 2015, 14:19:33)
---------------------------------------------
Или может быть есть другая возможность давать дополнительный опыт, а не делить его на всех героев рядом?

Добавлено (02 Июля 2015, 16:40:04)
---------------------------------------------
И еще вопрос, есть константа "Опыт героя - общее распределение". Если я ее правильно понял, то это отключает распределение опыта между героями. Но у меня все равно опыт делится между двумя и более героями (как моими, так и союзными), а нужно, чтобы не делился.
Насчет триггерного варианта я и так вкурсе, интересуют константы.

Сообщение отредактировал Samedy_ - Четверг, 02 Июля 2015, 14:18:20
 

KartohaДата: Четверг, 02 Июля 2015, 17:08:35 | Сообщение # 4
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Цитата Samedy_ ()
Так вот, какое условие (какие условия) использовать, чтобы давать опыт только в том случае, если уровень героя не ниже (и не выше) уровня умирающей боевой единицы, чем на 3 лвла?

Установи целочисленную переменную равной разнице между уровнями героя и умирающей боевой единицы, используй её в условии к нужным действиям. Выглядеть это должно примерно так:
 

Samedy_Дата: Четверг, 02 Июля 2015, 23:27:01 | Сообщение # 5
7 уровень
Группа: Проверенные
Сообщений: 371
Награды: 0
Репутация: 18
Блокировки:
Спасибо больше.

Добавлено (02 Июля 2015, 23:27:01)
---------------------------------------------

Цитата Samedy_ ()
И еще вопрос, есть константа "Опыт героя - общее распределение". Если я ее правильно понял, то это отключает распределение опыта между героями. Но у меня все равно опыт делится между двумя и более героями (как моими, так и союзными), а нужно, чтобы не делился.
Насчет триггерного варианта я и так вкурсе, интересуют константы.

Все еще актуально.
Цитата Samedy_ ()
Или может быть есть другая возможность давать дополнительный опыт, а не делить его на всех героев рядом?

Это тоже.


Сообщение отредактировал Samedy_ - Четверг, 02 Июля 2015, 23:26:15
 

MelodiaДата: Пятница, 03 Июля 2015, 12:25:10 | Сообщение # 6
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
В редакторе 1.26 в константах есть радиус получения опыта, можно попытаться уменьшить его. Но есть риск, что и убийца не получит опыта если слишком далеко.

Для вычисления разницы есть функция Математика - abs - abs(уровень героя - уровень крипа или наоборот) < 3 - значит дать опыт


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

Samedy_Дата: Пятница, 03 Июля 2015, 18:28:37 | Сообщение # 7
7 уровень
Группа: Проверенные
Сообщений: 371
Награды: 0
Репутация: 18
Блокировки:
Цитата Melodia ()
Для вычисления разницы есть функция Математика - abs - abs(уровень героя - уровень крипа или наоборот) < 3 - значит дать опыт

Спасибо, а скажи, какие минусы использования того способа, что написал Kartoha?
 

MelodiaДата: Суббота, 04 Июля 2015, 18:51:37 | Сообщение # 8
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки:
Цитата Samedy_ ()
пасибо, а скажи, какие минусы использования того способа, что написал Kartoha?

Заведение лишней переменной, минусов нет.


CM wars 1.15
ЭПОХА АНИМИРОВАННЫХ ТРИГГИРАФ ПРЕШЛА
 

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

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