Для чего нужны эти игроки? Нигде не видел, чтобы кто-то их использовал. Можно ли использовать их для своих целей, настроив им союзы?

Принятый ответ

ScopteRectuS, чтобы были, ну а если серьезно один для ливеров в мили картах, второй доп нейтрал. На их слотах сидят судьи при и играх на турнирах...
0
19
6 лет назад
0
Похожие вопросы:

ответ
Мда. Жасс такой жасс.
Как оказалось если пытатся отобразить уже отображенный МБ - варик его скроет... Отсюда и проблемы пошли.
Решение: Сначала все скрываем, а потом локально отображаем и никак иначе.
У меня косяк был в том, что в периодике мб показывался локально, и периодик срабатывал раньше отображения.
ответ
Эмм что за ерунда, сократил код, убрав всё лишнее, но утечки все равно остаются, по 1.5 - 2 хэндла за каждое нанесение урона (тип хэндла не знаю как посмотреть). Когда триггер отключаешь, то всё нормально.
Сокращенный код
function SDMSCreateTextTag takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local unit s=GetEventDamageSource()
    local integer i=GetConvertedPlayerId(GetOwningPlayer(u))
    local texttag tt=CreateTextTag()
    local real dmg=GetEventDamage()

    if ( dmg > 1.00 ) and ( dmg < 9999.00 ) then
        if GetPlayerId(GetOwningPlayer(u))==12 then
            call SetTextTagText(tt, "|cff9db9eb-"+I2S(R2I(dmg))+"|r", 0.023)
        else
            call SetTextTagText(tt, "|cffffa500-"+I2S(R2I(dmg))+"|r", 0.023)
        endif
        call SetTextTagPosUnit(tt, u, 0)
        call SetTextTagColor(tt, 255, 255, 255, 255) 
        call SetTextTagVelocity(tt, 0.05325*Cos(90 * bj_DEGTORAD), 0.05325*Sin(90 * bj_DEGTORAD))
        call SetTextTagPermanent(tt, false)
        call SetTextTagLifespan(tt, 1.0)
        call SetTextTagFadepoint(tt, 0.0)
    endif
    call PolledWait(2.0)

    call DestroyTextTag(tt)
    set u=null
    set s=null
    set i=0
    set dmg=0
    set tt=null
endfunction

function SDMSTriggerRegisterUnitDamaged takes nothing returns nothing
    call TriggerRegisterUnitEvent(udg_SDMStrigger,GetEnteringUnit(),EVENT_UNIT_DAMAGED)
endfunction

function theSDMSTriggerActions takes nothing returns nothing
    local trigger UnitEnter=CreateTrigger()

    call TriggerRegisterEnterRectSimple(UnitEnter, gg_rct_Arena)
    call TriggerAddAction(UnitEnter,function SDMSTriggerRegisterUnitDamaged)

    set UnitEnter=null
endfunction

function InitTrig_the_SDMS_Trigger takes nothing returns nothing
    local trigger tr=CreateTrigger()

    set udg_SDMStrigger=CreateTrigger()//Тут также меняется название глобальной переменной типа триггер.
    call TriggerAddAction(udg_SDMStrigger,function SDMSCreateTextTag)
    call TriggerRegisterTimerEventSingle(tr,0.0)
    call TriggerAddAction(tr,function theSDMSTriggerActions)

    set tr=null
endfunction
Wait вызывает утечки ((
Пришлось делать через таймер
ответ
Жертвой игрок может стать, потеряв все строения в Melee. Он враждебен всем, но сам не атакует.
Враждебный - обычные нейтралы.
Резерв - игрок, изначально нейтральный, скорее всего нужен для манипуляций с передачей контроля над юнитами.
Все эти игроки находятся под управлением компьютера, так что нормально управлять ими не получится.
(Ну и ты там везде на единичку окарался. Все номера ровно на 1 больше.)

2
32
6 лет назад
2
ScopteRectuS, чтобы были, ну а если серьезно один для ливеров в мили картах, второй доп нейтрал. На их слотах сидят судьи при и играх на турнирах...
Принятый ответ
0
21
6 лет назад
0
То есть, если в карте будут воины под контролем этих игроков, то при наличии судьи, они перейдут под контроль судьи?
И как понять для ливеров? Воины ливнувшего игрока меняют своего владельца что ли?
7
30
6 лет назад
7
То есть, если в карте будут воины под контролем этих игроков, то при наличии судьи, они перейдут под контроль судьи?
Да, так и есть.

И как понять для ливеров? Воины ливнувшего игрока меняют своего владельца что ли?
quq_CCCP ошибся, игрок 13 - это нейтрально-пассивный, игрок 14 - нейтрально-агрессивный, игрок 15 - дополнительный нейтральный, никаких "слотов для ливера" нет, юниты ливера вообще продолжают ему принадлежать, но он начинает считать союзниками вообще всех игроков.
0
32
6 лет назад
0
Clamp, думал нейтральная жертва это в мили картах ливнувшие, их юниты стоят афк и ниче не делают + враги всем.
1
30
6 лет назад
1
quq_CCCP, попутал тогда, дополнительный нейтральный это игрок 16, его войска неактивны и у всех остальных помечаются как союзные и автоматически передаются тому игроку, который первым подведёт к ним юнита. Тогда нейтральная жертва - игрок 15, тут название вроде как весьма точно его поведение определяет: стоят и могут быть атакованы кем угодно.
В любом случае любые союзы каждого из 16 игроков (Player(0) ... Player(15)) можно настроить через код. По сабжу ответ такой, что Player(12) и Player(13) могут управлятся игроками на позициях наблюдателей. Очень давно обнаружил тот эффект в "Simple AoS", было забавно.
0
20
6 лет назад
Отредактирован ssbbssc
0
ScopteRectuS:
настроить союзы можно, а ее можно отдавать юнитам приказы и т.п.
полезно, если нужны еще игроки и лишние слоты для людей
Чтобы оставить комментарий, пожалуйста, войдите на сайт.