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

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

Ответ
 
16GB
GhostOne User
offline
Опыт: 60,317
Активность:
Отлов Брони
Вот собственно код, но я хотел бы узнать узнать всё ли тут чисто не будет ли проблем при постоянном
использовании.
просто точной инфы об удалении локальных триггеров, не обнаружил
function GetUnitDefense_Get takes nothing returns nothing
local real Damage = GetEventDamage()
local real i = (10 - Damage) / 10
local real c
if Damage < 10 then
set udg_DefReal = i / ( 0.06 - i*0.06 )
elseif Damage > 10 then
set c = 1
set i = i + 1
loop
exitwhen Pow(0.94,c) <= i
set c = c + 1
endloop
set udg_DefReal = -c
else
set udg_DefReal = 0
endif
endfunction

function GetUnitDefense takes unit u returns real
local trigger t = CreateTrigger()
local integer id = 'A00C' //абила дающая хп
local real life 
local triggeraction TrA = TriggerAddAction(t,function GetUnitDefense_Get)
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_DAMAGED)
call UnitAddAbility(u,id)
set udg_DefReal = 0.001
set life = GetUnitState(u,UNIT_STATE_LIFE)
call UnitDamageTarget(u,u,10.,true,false,ATTACK_TYPE_CHAOS,DAMAGE_TYPE_NORMAL,WEAPON_TYPE_WHOKNOWS)
call SetUnitState(u,UNIT_STATE_LIFE,life)
call UnitRemoveAbility(u,id)
call TriggerRemoveAction(t,TrA)
call DestroyTrigger(t)
set t = null
set TrA = null
return udg_DefReal
endfunction
Старый 30.04.2011, 08:15
Master_chan
Полуночный командир
offline
Опыт: 15,660
Активность:
16GB:
просто точной инфы об удалении локальных триггеров, не обнаружил
  1. Удаляем события
  2. Удаляем действия
  3. Удаляем триггер
  4. ...
  5. PROFIT!
А еще это вкусная тема для срачей и холиваров про экономию лишних килобайтов в ОЗУ.
Старый 30.04.2011, 10:14
Nekit1234007

offline
Опыт: 11,916
Активность:
Зачем ты ловишь бро́ни?!


Nekit1234007 добавил:
Чан_мастер прав, но события, вроде как, не удаляются, да это и не нужно.
Старый 30.04.2011, 11:18
Elf_Stratigo

offline
Опыт: 4,699
Активность:
16GB:
set udg_DefReal = 0.001
не нужное действие
Старый 30.04.2011, 12:03
16GB
GhostOne User
offline
Опыт: 60,317
Активность:
Master_chan:
Удаляем события
это как, нигде такого не видел
так можно юзать без опаски или нет?
Желательно ответ в форме Да/Нет
Старый 30.04.2011, 13:18
Doc

offline
Опыт: 63,163
Активность:
Да
Старый 30.04.2011, 13:49
DioD

offline
Опыт: 45,134
Активность:
плохо искал.
Старый 30.04.2011, 15:13
Ответ

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

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

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

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



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