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

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

Ответ
 
avatarDr
Neophyte
offline
Опыт: 6,474
Активность:
Cache2Hashtable
Помогите перевести неработающие функции кэша в хештабличные.
Код:
//constant function H2I takes handle h returns integer
    //return h
    //return 0
//endfunction
//constant function I2U takes integer i returns unit
    //return i
    //return null
//endfunction
function Try_Damage takes nothing returns nothing
    local unit Damaged=GetTriggerUnit()
    local real Damage=GetEventDamage()
    local unit Damager=GetEventDamageSource()
    local trigger Trig=GetTriggeringTrigger()
    //if Damager==I2U(GetStoredInteger(udg_Cache[0],I2S(H2I(Trig)),"Attacker")) then
    call CreateTextTagUnitBJ(("|cffff0000"+I2S(R2I(Damage))),Damaged,0.00,8.00,100.00,100.00,100.00,0)
    call SetTextTagVelocityBJ(GetLastCreatedTextTag(),50.00,GetRandomReal(45.00, 135.00))
    call SetTextTagPermanentBJ(GetLastCreatedTextTag(),false)
    call SetTextTagFadepointBJ(GetLastCreatedTextTag(),0.50)
    call SetTextTagLifespanBJ(GetLastCreatedTextTag(),2.50)
    //endif
    //call FlushStoredMission(udg_Cache[0],I2S(H2I(Trig)))
    call DestroyTrigger(Trig)
    set Damaged=null
    set Damager=null
    set Trig=null
endfunction
function Try_Action takes nothing returns nothing
    local trigger Trig=CreateTrigger()
    local unit Attacker=GetAttacker()
    local unit Attacked=GetTriggerUnit()
    //call StoreInteger(udg_Cache[0],I2S(H2I(Trig)),"Attacker",H2I(Attacker))
    call DisplayTextToForce(GetPlayersAll(),"Attack")
    call TriggerRegisterUnitEvent(Trig,Attacked,EVENT_UNIT_DAMAGED)
    call TriggerAddAction(Trig,function Try_Damage)
    call PolledWait(1)
    if IsTriggerEnabled(Trig) then
    //call FlushStoredMission(udg_Cache[0],I2S(H2I(Trig)))
    call DestroyTrigger(Trig)
    set Trig=null
    set Attacker=null
    set Attacked=null
    endif
endfunction

function InitTrig_Try takes nothing returns nothing
    set gg_trg_Try=CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(gg_trg_Try,EVENT_PLAYER_UNIT_ATTACKED)
    call TriggerAddAction(gg_trg_Try,function Try_Action)
endfunction

И, кстати, много в нём утечек? И вообще, что чем лучше заменить?
Старый 06.12.2009, 23:51
RazArt

offline
Опыт: 11,197
Активность:
avatarDr, http://xgm.guru/forum/showthread.php?t=30742 читай, изучай, переводи. Я не думаю что кто-то тут будет за тебя что-либо делать. Понимаю если действительно было бы сложно, а тут тебе просто лень.
Цитата:
И, кстати, много в нём утечек? И вообще, что чем лучше заменить?

У тебя код на 70-80% из бж ф-ции, какие могут быть вопросы?)
Старый 07.12.2009, 00:19
Ответ

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

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

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

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



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