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

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

Ответ
 
4go10_frank

offline
Опыт: 2,089
Активность:
Код:
function Trig_NoMouse_Func001003002 takes nothing returns boolean
    return ( true == true )
endfunction

function Trig_NoMouse_Conditions takes nothing returns boolean
    if ( not ( GetOrderTargetItem() == RandomItemInRectBJ(RectFromCenterSizeBJ(GetUnitLoc(GetOrderedUnit()), 200.00, 200.00), Condition(function Trig_NoMouse_Func001003002)) ) ) then
        return false
    endif
    if ( not ( GetIssuedOrderIdBJ() == String2OrderIdBJ("smart") ) ) then
        return false
    endif
    return true
endfunction

function Trig_NoMouse_Actions takes nothing returns nothing
    call PauseUnitBJ( true, GetOrderedUnit() )
    call IssueImmediateOrderBJ( GetOrderedUnit(), "stop" )
    call TriggerSleepAction( 0.10 )
    call PauseUnitBJ( false, GetOrderedUnit() )
endfunction

//===========================================================================
function InitTrig_NoMouse takes nothing returns nothing
    set gg_trg_NoMouse = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_NoMouse, EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_NoMouse, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_NoMouse, EVENT_PLAYER_UNIT_ISSUED_ORDER )
    call TriggerAddCondition( gg_trg_NoMouse, Condition( function Trig_NoMouse_Conditions ) )
    call TriggerAddAction( gg_trg_NoMouse, function Trig_NoMouse_Actions )
endfunction


вот весь код из ГУИ->Джасс, при отдаче приказа нажатием правой кнопки мыши ниче не происходит (кроме нажатия на лежащий рядом предмет). Проблема в том что юниту все же можно отдавать приказы через хоткеи (M - move, A - attack и т д) Врядли это то что те нужно но может чем то поможет

Отредактировано DFlyer, 27.05.2008 в 19:02.
Старый 27.05.2008, 09:58
Radiant
Silence
offline
Опыт: 4,907
Активность:
Kenshi245 - выложи карту, тут любой из предложенных спооов верный...
Особенно удивила фраза:
Цитата:
Он будет бесконечно телепортироваться, но не остановится никогда.
Старый 27.05.2008, 11:43
BoogieMan

offline
Опыт: 562
Активность:
Вот как я сделал запрет на атаку союзника:

Код:
// BEGIN

    local unit u1 = GetOrderTargetUnit()
    local unit u2 = GetOrderedUnit()
    local player p1 = GetOwningPlayer(u1)
    local player p2 = GetOwningPlayer(u2)
    local integer i1 = GetIssuedOrderId()
    local integer i2 = OrderId("attack")

    if (IsPlayerEnemy(p1, p2) == false) and (i1 == i2) then
        call PauseUnit(u2, true)
        call SetUnitPosition(u2,GetUnitX(u2),GetUnitY(u2))
        call PauseUnit(u2, false)
    endif

    set u1 = null
    set u2 = null
    set p1 = null
    set p2 = null
    set i1 = 0
    set i2 = 0

// END


... всё работает отлично.
Старый 08.06.2008, 12:31
adic3x

offline
Опыт: 108,439
Активность:
TT
яву зло. ибо отучает думать. зачем выделять столько переменных, что бы их использовать только один раз?)

Код:
if GetIssuedOrderId()==0x000d000f and IsUnitAlly(GetTriggerUnit(), GetOwningPlayer(GetOrderTargetUnit())then
 call PauseUnit(GetTriggerUnit(), true)
 call IssueImmediateOrderById(GetTriggerUnit(), 0x000d0004)
 call PauseUnit(GetTriggerUnit(), false)
endif

Отредактировано ADOLF, 08.06.2008 в 19:21.
Старый 08.06.2008, 13:23
BoogieMan

offline
Опыт: 562
Активность:
Цитата:
Сообщение от ADOLF
зачем выделять столько переменных, что бы их использовать только один раз?)

Наверное затем, чтобы не утонуть в утечках =)
И вообще так код красивше выглядит..)
Старый 08.06.2008, 17:53
adic3x

offline
Опыт: 108,439
Активность:
Цитата:
Наверное затем, чтобы не утонуть в утечках =)

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

(+ интегер обнулять не надо ТТ)
Цитата:
И вообще так код красивше выглядит..)

мой как раз красивее и компактней=)
Старый 08.06.2008, 19:19
Ответ

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

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

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

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



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