XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
Sergey35

offline
Опыт: 100
Активность:
Опыт за убийство мобов
Здравствуйте, я пытаюсь сделать карту в стиле Hero Defense, где игрокам нужно защищать портал от волн мобов. Вот. Не пойму, как сделать так, чтоб за убийство каждого моба волны были индивидуальные опыт и серебро, например: за мобов 1 волны по 10 золота и 20 опыта, за волны 20 золота и 40 опыта и.т.д. Подскажите.
Старый 11.08.2014, 21:17
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
в гуи ориентируетесь?
Старый 11.08.2014, 21:36
Sergey35

offline
Опыт: 100
Активность:
Hate:
в гуи ориентируетесь?
Да
Старый 11.08.2014, 21:38
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
ну так собственно в чем затруднения? как вы пытались сделать?
Старый 11.08.2014, 21:40
Sergey35

offline
Опыт: 100
Активность:
Я посмотрел, как написано здесь - xgm.guru/p/wc3/gui-examples-awards , пытался найти, как привязать это к определенным видам врагов, но ничего не нашел. Получается ещё, что от мобов герой получает уже какой-то опыт, который через редактор объектов изменить не получилось.

Отредактировано Sergey35, 11.08.2014 в 22:00.
Старый 11.08.2014, 21:48
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
он получает опыт по определенной формуле
» много текста
>
4.3 Формулы для подсчета требований опыта для следующего уровня, наград опыта за убийство героя и наград опыта за убийство крипа:
В таблице констант относительно требований опыта для получения уровня встречаются следующие константы:
Герою требуется опыта: таблица (NeedHeroXP) - обозначим за BASE
Герою требуется опыта: предыдущее значение фактора (NeedHeroXPFormulaA) - обозначим за A
Герою требуется опыта: фактор уровня (NeedHeroXPFormulaB) - обозначим за B
Герою требуется опыта: фактор константы (NeedHeroXPFormulaC) - обозначим за C
Следует отметить, что в поле NeedHeroXP может содержаться массив чисел, в этом случае в качестве требований опыта берутся эти числа, в том порядке в котором они записаны. Если этих чисел не хватает, то последнее из них берется в качестве числа BASE и дальнейшие требования высчитываются по описанной ниже формуле. Если поле пустое, то используется одно стандартное значение 200.
Не указанные в таблице NeedHeroXP требования находятся по рекурсивной формуле, то есть требование опыта для текущего уровня находится исходя из требований предыдущего:
Требования(для уровня N) = Требования(для уровня N-1) * A + B * N + С
Рекурсивную формулу можно записать в общем виде:
В этой формуле L - это уровень, для которого мы считаем требования опыта(то есть не текущий уровень юнита, а следующий), а S - это последний уровень, для которого задано табличное значение, а BASE - это как раз это последнее заданное табличное значение.
Хотя она не так проста для понимания как рекурсивная она работает не хуже =)
Пример:
Пусть заданы значения
BASE = 100
A = 2
B = 50
C = 9
Тогда таблица требований опыта будет выстраиваться следующим образом:
2 уровень 100
3 уровень 359 = 100 * 2 + 50 * 3 + 9
4 уровень 927 = 359 * 2 + 50 * 4 + 9
5 уровень 2113 = 927 * 2 + 50 * 5 + 9
6 уровень 4535 = 2113 * 2 + 50 * 6 + 9
...
Если мы хотим посчитать эти значение не-рекурсивно, а формулой общего вида, то в качестве параметра S в формуле следует использовать число 2, а в качестве параметра BASE использовать последнее заданное в таблице значение 100.
Стандартная таблица опыта имеет параметры:
BASE = 200
A = 1
B = 100
C = 0
и выглядит следующим образом:
2 уровень 200
3 уровень 500 = 200 * 1 + 100 * 3
4 уровень 900 = 500 * 1 + 100 * 4
5 уровень 1400 = 900 * 1 + 100 * 5
6 уровень 2000 = 1400 * 1 + 100 * 6
7 уровень 2700 = 2000 * 1 + 100 * 7
8 уровень 3500 = 2700 * 1 + 100 * 8
9 уровень 4400 = 3500 * 1 + 100 * 9
10 уровень 5400 = 4400 * 1 + 100 * 10
Если мы хотим посчитать эти значение не-рекурсивно, а формулой общего вида, то в качестве параметра S в формуле следует использовать число 2, а в качестве параметра BASE использовать последнее заданное в таблице значение 200.
Почему я так много внимания уделил этой формуле? Потому что она широко используется в этой игре.
Таблица наград опыта за убийство героев рассчитывается по той же формуле, по умолчанию имеет параметры:
BASE(GrantHeroXP) = 100,120,160,220,300
A(GrantHeroXPFormulaA) = 1
B(GrantHeroXPFormulaB) = 0
C(GrantHeroXPFormulaC) = 100
Тогда стандартная таблица наград опыта имеет вид:
1 уровень 100
2 уровень 120
3 уровень 160
4 уровень 220
5 уровень 300
6 уровень 400 = 300 * 1 + 100
7 уровень 500 = 400 * 1 + 100
8 уровень 600 = 500 * 1 + 100
9 уровень 700 = 600 * 1 + 100
10 уровень 800 = 700 * 1 + 100
Если мы хотим посчитать эти значение не-рекурсивно, а формулой общего вида, то в качестве параметра S в формуле следует использовать число 5, а в качестве параметра BASE использовать последнее заданное в таблице значение 300.
Таблица наград опыта за убийство крипа рассчитывается по той же формуле, по умолчанию имеет параметры:
BASE(GrantHeroXP) = 25
A(GrantHeroXPFormulaA) = 1
B(GrantHeroXPFormulaB) = 5
C(GrantHeroXPFormulaC) = 5
Тогда стандартная таблица наград опыта имеет вид:
1 уровень 25
2 уровень 40 = 25 * 1 + 5 * 2 + 5
3 уровень 60 = 40 * 1 + 5 * 3 + 5
4 уровень 85 = 60 * 1 + 5 * 4 + 5
5 уровень 115 = 85 * 1 + 5 * 5 + 5
6 уровень 150 = 115 * 1 + 5 * 6 + 5
7 уровень 190 = 150 * 1 + 5 * 7 + 5
8 уровень 235 = 190 * 1 + 5 * 8 + 5
9 уровень 285 = 235 * 1 + 5 * 9 + 5
10 уровень 340 = 285 * 1 + 5 * 10 + 5
...
Если мы хотим посчитать эти значение не-рекурсивно, а формулой общего вида, то в качестве параметра S в формуле следует использовать число 1, а в качестве параметра BASE использовать последнее заданное в таблице значение 25.
>
faq вы видимо даже не читали, а зря
Старый 11.08.2014, 22:27
Sergey35

offline
Опыт: 100
Активность:
что касается опыта, сделал как в факе, что касается золота, решил по своему. можно закрыть тему.
Старый 14.08.2014, 23:55
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 01:22.