20

» WarCraft 3 / Красивые хп/мана бары

Jack-of-shadow, приеду с колледжа и попробую повозиться с этим, спасибо.
Jack-of-shadow, я сделал так:
 nothing Trig_hpbar_Actions ( ){ 
   int i = 1
   int iend = g_unitCounter
   loop{
    exitwhen i > iend
    DestroyEffect( g_hpbar[i] )
    if GetUnitState(g_unitID[i], UNIT_STATE_LIFE)>0.00 {g_hpbar[i] = AddSpecialEffectTarget("war3mapImported\\HpBar_"+I2S(R2I(GetUnitLifePercent(g_unitID[i])/5))+".mdx", g_unitID[i], "overhead")}
    i++
   }
 }

 nothing InitTrig_hpbar ( ){ 
   gg_trg_hpbar = CreateTrigger( )
   TriggerRegisterTimerEvent( gg_trg_hpbar, 0.2, true )
   TriggerAddAction( gg_trg_hpbar, function Trig_hpbar_Actions )
 }
Но, если снизить период, то начинает подлагивать. Или есть более оптимизированный способ реализовать это? Можно создавать таймер для каждого юнита на карте, который будет запускать функцию обновления хп бара, но мне кажется, что это еще хуже способ. Можно было бы привязать к событию получения урона, но а как отследить лечение?
Я наверное сделаю секундный период, на всякий случай.
20

» WarCraft 3 / Производительность WE на SSD

Bergi_Bear, pentium g4600, все грузится очень быстро. В редакторе нажми Окно/Список костей, сними галочку.
20

» WarCraft 3 / Красивые хп/мана бары

Как раз не нравятся стандартные из-за их огромного размера. Но, вообще, было бы интересно посмотреть, может я заменю на какие-то другие символы
NazarPunk, и так изменена, но это особого эффекта не дает.
Jack-of-shadow, надо посмотреть как прогрессбар там создан. Но это завтра наверное, спать хочу.
20

» WarCraft 3 / Atol (Tree of life upgr abil)

Почему не использовать Ауру замедления? В целях ставим "Нет" и эффект есть, а баффа нет.
20

» WarCraft 3 / Локальные переменне при нескольких "вейтах"

TeX13, на ХГМ полно статей, я сам только 2 недели назад перешёл с ГУИ на джасс, я понимаю тебя, мучался с этим тоже очень долго, постоянно опускались руки.
20

» WarCraft 3 / Локальные переменне при нескольких "вейтах"

TeX13, они все в одном скрипте, просто разбиты на "триггеры" (я не знаю почему это называют триггерами даже). Можешь посмотреть, что происходит после компиляции кода.
TeX13, Ну если ты не укажешь ее приватной в библиотеке или она будет ниже самого вызова, то все будет видно.
К примеру, на ГУИ обычно создают для каждой способности 1 триггер, что сильно будет нагружать карту. Даже на ГУИ это можно обойти.
20

» WarCraft 3 / Локальные переменне при нескольких "вейтах"

Почитай статьи по оптимизации кода, к примеру лучше не плодить кучу триггеров с событием Юнит - приводит способность в действие, а сделать 1 триггер с уловом этого события, а потом уже вызывать соответствующую функцию.
20

» WarCraft 3 / Локальные переменне при нескольких "вейтах"

Занеси этого юнита в переменную и назви Grom, в чем проблема?
TeX13, да, но это неудобно, как по мне.
20

» WarCraft 3 / Локальные переменне при нескольких "вейтах"

А преимущества это даёт огромные. На GUI ты ничего сложного не создашь. А если и попытаешься, то постоянно будешь сталкиваться с проблемами, которые ты будешь затыкать костылями пока твоя карта не рухнет окончательно.
20

» WarCraft 3 / Мечта о мотоцикле в Варкрафт

SсRealm, вообще никак?
Bergi_Bear:
изи же, составной юнит из разных модулей принадлежащих к разным игрокам, совмещаем юнитов вместе с минимальным таймером например 0.04 сек, через SetUnitXYZ
20

» WarCraft 3 / Оптимизация GUI перменных в массивы

Как и писали выше, кол-во переменных особо не влияет. Но возможно при инициализации у тебя слишком много нагружающих триггеров.
Скинь карту.
Все мы когда-то начинали костылить на GUI, не нужно стыдиться.
20

» WarCraft 3 / wait течет или капает?

А зачем #define TriggerSleepAction(r) = Sleep(r), он же не заменит к примеру TriggerSleepAction(2)
20

» WarCraft 3 / Оптимизация GUI перменных в массивы

Не знаю что ты там придумал, но я тоже недавно перешёл с гуи. Триггеров было довольно много, но я обходился максимум 40-80 кол-вом переменных. Зачем для каждого триггера создавать новые переменные?
Скинь карту, посмотрю.
20

» WarCraft 3 / wait течет или капает?

SсRealm, я скопировал PolledWait() и исправил немного, можешь скопировать и вызывать когда нужно. (Если я правильно исправил)
//Исправленный PolledWait()
    nothing Wait ( real duration ){ 
        timer t
        real timeRemaining
        if (duration > 0) {
            t = CreateTimer()
            TimerStart(t, duration, false, null)
            loop{
                timeRemaining = TimerGetRemaining(t)
                exitwhen timeRemaining <= 0
                if (timeRemaining > bj_POLLED_WAIT_SKIP_THRESHOLD) {
                    TriggerSleepAction(0.1 * timeRemaining)
                }else{
                    TriggerSleepAction(bj_POLLED_WAIT_INTERVAL)
                }
            }
            DestroyTimer(t)
            t = null
        }
    }
Это cJASS, если что
20

» WarCraft 3 / wait течет или капает?

Raised, тоесть PolledWait() можно даже использовать в способностях и все будет хорошо работать?