PlayGround.ru
Ropnet
, Zeno Clash, X3: Воссоединение скачать торрент, Grand Theft Auto 4 скриншоты


Извлечение параметров боевых единиц в переменные

AntonioDominikano   24 июня 2011 в 23:59

Столкнулся с такой проблемой: созданное мной заклинание убивает противников без прямого воздействия (здоровье вычитается, иными словами), следовательно, игрок, управляющий магом не получит награду за убийство.

ВОПРОС: существуют ли методы для извлечения параметров БЕ (например, наград за убийство) в переменные редактора триггеров?

Kapa6acvlk   25 июня 2011 в 16:21

Зачем вычитать? Что мешает нанести урон триггерно? от имени юнита. Урон юнита нам известен, если он обычная боевая единица, то урон выставляется в РО и является константой, если он герой, то урон также в РО константа + основная характеристика + бонус к характеристике. Вот только с бафами пролет, ибо не отловишь просто так.
Так что юзай:

function UnitDamageTargetBJ takes unit whichUnit, unit target, real amount, attacktype whichAttack, damagetype whichDamage returns boolean
return UnitDamageTarget(whichUnit, target, amount, true, false, whichAttack, whichDamage, WEAPON_TYPE_WHOKNOWS)
endfunction


Если с JASS нелады, то можно на GUI:
Действия
Боевая единица - Cause (Casting unit) to damage (Target unit of ability being cast), dealing (20.00 + (Real((Сила of (Casting unit) (Включить bonuses))))) damage of attack type Обычная and damage type Магия

Кастующий юнит наносит урон цели каста в размере 20 (константа из РО) + Основная характеристика включая бонусы (сила в данном случае) Тип атаки обычный, тип урона магия.

Kapa6acvlk   25 июня 2011 в 16:26

существуют ли методы для извлечения параметров БЕ (например, наград за убийство) в переменные редактора триггеров?
Думаю нет. Скорее всего нет. Я как-то и не интересовался этом вопросом. Но опять-же что есть награда, это константа + случайное число, в чем проблема сделать строку
Set i = (Random integer number between 10 and 20)
В данном случае константа была 9, а случайные числа от 1 до 11.

Kind Ram   27 июня 2011 в 10:41

Есть прямая зависимость награды и уровня просто сделай целочисленную и установи в ней случайное ко-во цифр затем следующим действием помнож на уровень (героя или боев. ед.) и черед действие: игрок - добавить золото GoldIntreger для игрока (owner of(killingUnit)) и т.д.