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

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

Ответ
 
velmir

offline
Опыт: 8,257
Активность:
Вичесления брони
привет вам читатели никогда раньше с таким не сталкивался но вот пришлось и возникла пара вопросов по броне.
1)как вычеслить уброню ну сак у футмана, учитывая все быфы, и анти бавы на броню.?
2)где изменять(верней я конимаю что в игровых константах но мне нужно значения поля) % смягчения ударов от брони,
ну к примеру при 5брони смягчения стоит 23% а я хочу свое чило задать.
ну вот все, спс за внимание
Старый 09.12.2013, 17:31
ScorpioT1000
Работаем
offline
Опыт: отключен
Старый 09.12.2013, 17:33
velmir

offline
Опыт: 8,257
Активность:
ScorpioT1000, остроумее аж вилазит
Старый 09.12.2013, 17:36
ScorpioT1000
Работаем
offline
Опыт: отключен
Старый 09.12.2013, 17:43
Tobi123

offline
Опыт: 7,826
Активность:
Варовская броня - отстой. Юзайте http://xgm.guru/p/wc3/armor-system
Старый 09.12.2013, 17:44
velmir

offline
Опыт: 8,257
Активность:
Tobi123, нет не подходит, вычесления брони там идет через абилку и пыхтит тока в героев..
Старый 09.12.2013, 17:46
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,324
Активность:
velmir, вот валялось в библиотеке функций, автор заявил точность в 97%
((код jass
function UnitArmor takes unit u returns real
local real Value = 10.00
local real Factor = 0.0
local real MHP = 0.0
local real HP = 0.0
local real Damage = 0.0
local real life = GetUnitState(u, UNIT_STATE_LIFE)
call SetUnitState( u, UNIT_STATE_LIFE, RMaxBJ(1, life + Value*10) )
set MHP = GetUnitState(u, UNIT_STATE_LIFE)
call UnitDamageTarget( u, u, Value, true, false, ATTACK_TYPE_MELEE, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS )
set HP = GetUnitState(u, UNIT_STATE_LIFE)
call SetUnitState( u, UNIT_STATE_LIFE, life )
set Damage = Value + HP - MHP
set Factor = Damage / Value
set Factor = (Factor * 0.06) / ( 1 - Factor )
return Factor
endfunction
function UnitArmorInt takes unit u returns integer
local real R = UnitArmor(u)
if ( ModuloReal(R, I2R(R2I(R))) > 0.5 ) then
return R2I(R) + 1
endif
return R2I(R)
endfunction
))
Старый 09.12.2013, 17:56
velmir

offline
Опыт: 8,257
Активность:
quq_CCCP, спс будем проверять
velmir добавил:
оно не работает, при компиляцие неможет найти тип переменей u
velmir добавил:
лол непросморел не все скопировал
Старый 09.12.2013, 18:13
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,324
Активность:
velmir, ну и результат?
Старый 09.12.2013, 18:54
velmir

offline
Опыт: 8,257
Активность:
quq_CCCP, к моей задумке не применимо(
Старый 12.12.2013, 16:43
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,324
Активность:
velmir:
quq_CCCP, к моей задумке не применимо(
опиши подробнее, зачем тебе броня и что ты задумал?
Старый 12.12.2013, 16:47
Ответ

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

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

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

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



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