10

» WarCraft 3 / Как использовать таймер с хэш таблицей.

Мне нужно выключить таймер который я запустил , толком не могу найти инфу получилось только вот эта дичь.
10

» WarCraft 3 / Как использовать таймер с хэш таблицей.

МрачныйВорон, вот с тестом
function Timer_Test takes nothing returns nothing
call DisplayTextToForce( GetPlayersAll(), "Ok))" )
endfunction


function Timer_On takes nothing returns nothing


    local timer t = GetExpiredTimer()
    local unit u = LoadUnitHandle(Hash, GetHandleId(t), 0)
    call FlushChildHashtable(Hash, GetHandleId(t))
    call PauseTimer(t)
    call DestroyTimer(t)
   
    set t = null
    set u = null
call DisplayTextToForce( GetPlayersAll(), "Off" )


endfunction
function Timer_Off takes nothing returns nothing

local timer t = CreateTimer()
    local unit u = GetTriggerUnit()
    call SaveUnitHandle(Hash, GetHandleId(t), 0, u)
    call TimerStart (t, 0.20, true, function Timer_Test)
    set t = null
    set u = null
call DisplayTextToForce( GetPlayersAll(), "On" )

endfunction





function Trig_Shoot_Conditions takes nothing returns boolean
 return BlzGetTriggerPlayerMouseButton() == MOUSE_BUTTON_TYPE_RIGHT
endfunction




//===========================================================================
function InitTrig_Shoot takes nothing returns nothing
    local trigger On = CreateTrigger()
    local trigger Off = CreateTrigger()
    call TriggerRegisterPlayerMouseEventBJ( On, Player(0), bj_MOUSEEVENTTYPE_UP )
    call TriggerAddCondition( On, Condition( function Trig_Shoot_Conditions ) )
    call TriggerAddAction( On, function Timer_On )
    call TriggerRegisterPlayerMouseEventBJ( Off, Player(0), bj_MOUSEEVENTTYPE_DOWN )
    call TriggerAddCondition( Off, Condition( function Trig_Shoot_Conditions ) )
    call TriggerAddAction( Off, function Timer_Off )
    set On = null
    set Off = null
endfunction
endlibrary
10

» Мастерская модификаций / Warcraft III: Rebirth - Мод на графику

Атар, Я конечно не хочу кого-то обидеть но какой смысл все блочить особенно карты, я понимаю если бы люди на этом зарабатывали.
10

» Castle Revival / Полный цикл создания RPG персонажа на уровне Diablo и POE

Ни кто не будет делать супер рпг в Warcraft, будет либо долгострой либо забаганое нечто которое было раздавлено амбициями будущее карт за рогаликами и мили.

И по поводу смены текстур можно менять их частями только ID меня и все перчатки сапоги штаны что хочешь.
10

» WarCraft 3 / WASD утыкание юнита

nazarpunk, довольно интересно получается, я и забыл что там есть скобки редко с XY работаю но теперь все ясно спасибо)
10

» WarCraft 3 / WASD утыкание юнита

nazarpunk, но у меня богомерзкое гуи там.

jasonrus96, это я понят , можно как-то через кастом скрипт добавить но не ясно как использовать TempPoint там.
10

» WarCraft 3 / WASD утыкание юнита

nazarpunk, туда где я на скриншоте показал?

nazarpunk, я не понимаю что в этом коде вообще указано.
10

» WarCraft 3 / WASD утыкание юнита

call SetUnitPositionSmooth(myUnit, newX, newY)
куда вписывать?
10

» WarCraft 3 / WASD утыкание юнита

function SetUnitPositionSmooth takes unit source, real x, real y returns nothing
    local real last_x = GetUnitX(source)
    local real last_y = GetUnitY(source)
    local boolean bx
    local boolean by

    call SetUnitPosition(source, x, y)

    if (RAbsBJ(GetUnitX(source) - x) > 0.5) or (RAbsBJ(GetUnitY(source) - y) > 0.5) then
        
        call SetUnitPosition(source, x, last_y)
        set bx = RAbsBJ(GetUnitX(source) - x) <= 0.5
        call SetUnitPosition(source, last_x, y)
        set by = RAbsBJ(GetUnitY(source) - y) <= 0.5
        
        if bx then
            call SetUnitPosition(source, x, last_y)
        elseif by then
            call SetUnitPosition(source, last_x, y)
        else
            call SetUnitPosition(source, last_x, last_y)
        endif

    endif
endfunction
и как правильно использовать?

"source" я как понял это юнит?
10

» WarCraft 3 / Простенький фрейм локально.

Думаю да

Вообще странно локально у каждого игрока отдельно можно стандартные фреймы двигать а вот свои не понятно как отображать.
10

» WarCraft 3 / Простенький фрейм локально.

МрачныйВорон, Создание TOC я туда не вставлял как я указал выше работает у всех игроков.
 set Key = 0.30
    set Key2 = 0.40
    
    
    call BlzLoadTOCFile("war3mapImported\\tocs2.toc")
    
    if GetLocalPlayer() == p then
    
    set KeyboxD = BlzCreateSimpleFrame("KeyboxS", gameUIB, 0)
    call BlzFrameSetAbsPoint(KeyboxD, FRAMEPOINT_CENTER, Key2, Key)
    
    endif
Делаю вот так и все....
10

» WarCraft 3 / Простенький фрейм локально.

Вот так все работает.
library TotorOn
globals
 private framehandle KeyboxD
 private real Key 
 private real Key2 
endglobals
private function Trig_TutorialkeyOn_Actions takes nothing returns nothing
    local player p = GetOwningPlayer(GetTriggerUnit())
    
   local framehandle gameUIB = BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0)
    
    call DisplayTextToForce( GetPlayersAll(), "112211" )
   
    
    
     
     
     
    set Key = 0.30
    set Key2 = 0.40
    
    
    call BlzLoadTOCFile("war3mapImported\\tocs2.toc")
    set KeyboxD = BlzCreateSimpleFrame("KeyboxS", gameUIB, 0)
    
    call BlzFrameSetAbsPoint(KeyboxD, FRAMEPOINT_CENTER, Key2, Key)
    


    set p = null
    set gameUIB = null
    



endfunction

//===========================================================================
function InitTrig_TutorialkeyOn takes nothing returns nothing
    set gg_trg_TutorialkeyOn = CreateTrigger(  )
    
    call BlzTriggerRegisterPlayerKeyEvent(gg_trg_TutorialkeyOn,Player(0),OSKEY_P,0,true)
    
    call BlzTriggerRegisterPlayerKeyEvent(gg_trg_TutorialkeyOn,Player(1),OSKEY_P,0,true)
    
    call BlzTriggerRegisterPlayerKeyEvent(gg_trg_TutorialkeyOn,Player(2),OSKEY_P,0,true)
    
    call BlzTriggerRegisterPlayerKeyEvent(gg_trg_TutorialkeyOn,Player(3),OSKEY_P,0,true)
    call TriggerAddAction( gg_trg_TutorialkeyOn, function Trig_TutorialkeyOn_Actions )
endfunction

endlibrary