18

» WarCraft 3 / Как сделать Магазин с 25 слотами, как на карте warlock ?

KingMaximax:
А продающиеся предметы имеют циферки, а вдруг автору вопроса они не нужны в правом нижнем углу кнопки те самые циферки.
а больше никак, через абилку ты не отловишь того кто юзал её.
Вариант - через предмет как на скрине (через свиток регенерации).
Далее юзая ивент EVENT_PLAYER_UNIT_SELL_ITEM
Загруженные файлы
18

» WarCraft 3 / Экран статистики

Если костыльно, то можно заменить нужные иконки экрана статистики на пустые
18

» WarCraft 3 / Вопрос по Jass

Skolz:
UrsaBoss, типа в начале написать local int z2 = z1?
нет, оставь как есть
DracoL1ch хм, не знал, благодарю за инфу
18

» WarCraft 3 / Вопрос по Jass

Skolz неправильно выразился, там просто ты используешь глобалку для работы цикла и т.д - а это != хорошо.
Можно в начале объявить локалку и повесить на неё эти обязанности
А если ты потом куда то будешь передавать z1, то просто в конце функции присваиваешь z1 нужное значение из локалки
18

» WarCraft 3 / Вопрос по Jass

Skolz, сказали уже, объяви локалку и присвой ей значение глобалки которую передаешь, далее в функции работай с этой локалкой.
И под конец можешь вновь присвоить глобалке значение из локалки и передать куда тебе нужно
А структуры вообще то сделаны из массивов глобалок
18

» WarCraft 3 / Вопрос по Jass

KingMaximax:
скорость операции над ними одинакова.
не одинакова, область видимости у глобалки и локалки разные - значит и чтобы добраться до глобалки нужно больше ресурсов. Но это если судить по строгой оптимизации, ну а если закрыть глаза на это, то можно представить что они одинаковы по затратам ресурсов
18

» WarCraft 3 / Вопрос по Jass

DracoL1ch:
Мои замеры не показали никакой разницы между локал и глобал переменными
ну не из воздуха же он взял эти цифры
18

» WarCraft 3 / Вопрос по Jass

Пушистый:
Зачем глобальная z1, если она все равно обнуляется? Как я понял по коду, то функция запускается периодично каждые 0.03 секунды, что, вероятно, ненадежно (так как если запустится несколько таких таймеров, то z1 в каком-то из них начнет принимать значения от другого применения), поэтому z1 нужно сделать локальной.
в jass потоки синхронизированы
Skolz, если ты в функции обращаешься к глобалке больше трёх раз, то с точки зрения производительности будет выгоднее объявить локалку и её использовать, т.к обращение к локальной переменной в 4 раза быстрее чем к глобальной
, тем более ты буквально делаешь из этой глобалки счетчик для работы цикла, а это присваивание по кд - значит ты сильно проигрываешь в производительности, лучше всего будет объявить там локалку и использовать её
18

» WarCraft 3 / Jass выдаёт странную ошибку

qzGoon:
включен, и 0..
не включен, во первых AdicHelper обрабатывает код раньше JassHelper'а
Во вторых он убирает все пробелы, а тут пробелы есть
В третьих локалки не в начале функции должны автоматически переноситься парсером в начало функции.
Вывод: у тебя не работает AdicHelper
Кинь карту и JNGP туда где нету русских букв в пути
18

» WarCraft 3 / Замедлить скорость анимации атаки

Графика - Анимация: обратный ход броска
Графика - Анимация: точка броска
18

» WarCraft 3 / Jass утечка, спецэффект

KingMaximax:
local player p = GetOwningPlayer(caster)
А игрока не обнулил :P Это тоже хендл.
игрок в игре никуда не пропадет, это же не какой-то там юнит или разрушаемый объект.
Тоже самое с boolexpr
Они никуда не утекают
18

» WarCraft 3 / RPG | Возрождение моба ( С прошлого поста нет решения )

KingMaximax уф, щас голова начнет болеть. Зачем так всё усложнять? Давно было сказано как можно сделать.
Делаешь триггер, далее в нем через нужное время проверяешь тип умершего юнита и для каждого типа в нужной точке воскрешаешь юнита
18

» WarCraft 3 / RPG | Возрождение моба в заданной точке.

8gabriel8 не знаю не знаю, кроме перерождения можно ещё на структуре + таймер сделать. Урон по области тоже должен агрить триггер
18

» WarCraft 3 / Редактор W3TFT : озвучка

Naadir:
Но вот в карте близзардов про пасхальных кроликов что-то похожее реализовано. Советую глянуть.
там импортировали кастомную озвучку вместо озвучки фурболга
18

» WarCraft 3 / RPG | Возрождение моба в заданной точке.

8gabriel8:
UrsaBoss, да поставил там разных, посмотри уже!
блин, действительно
странно, очень странно. Когда я ещё только только учился делать гуи триггеры, то эта фича не прокатывала
18

» WarCraft 3 / RPG | Возрождение моба в заданной точке.

8gabriel8:
UrsaBoss, попробуй сам.
если нужно что то сделать в потоке через некоторое время, то тут без локалок не обойтись.
А GetDyingUnit() будет всегда возвращать последнего умершего юнита, поэтому с ним муи никак не получится
А вот так будет работать
function Trig_trg_Actions takes nothing returns nothing
    local unit u = GetDyingUnit()
    call PolledWait( 6.00 )
    call ReviveHero( u, GetUnitX(u), GetUnitY(u), true )
    set u = null
endfunction

//===========================================================================
function InitTrig_trg takes nothing returns nothing
    set gg_trg_trg = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_trg, EVENT_PLAYER_UNIT_DEATH )
    call TriggerAddAction( gg_trg_trg, function Trig_trg_Actions )
endfunction
Даже можно дать "Перерождение" без кд, так будет проще
18

» WarCraft 3 / RPG | Возрождение моба в заданной точке.

8gabriel8:
Можно и без JASS, значение (Diyng unit) для триггера не будет меняться.
нет нельзя, GetDyingUnit() не уникален для каждого потока, это как глобалка, но в триггере, туда записывается последний умерший юнит
18

» WarCraft 3 / Вопрос по Jass

я по вот этой понял что такое структуры, сначала читаешь половину, потом через день-два остальную половину дочитываешь
18

» WarCraft 3 / Вопрос по Jass

Skolz
this указывает в методе на текущий экземпляр структуры, к примеру создал экземпляр:
local MyStruct a = MyStruct.create()
Далее вызываешь метод в структуре:
call a.MyMethod() //Метод это обыкновенная функция которая работает с экземпляром структуры
А в методе this:
method MyMethod takes nothing returns nothing
	set this.MyUnit = GetTriggerUnit()
endmethod