Все работает. Я сделал рыцаря с 800 хп, изначально поставил ему 10% хп и стрелка с уроном за миллион. Скопировал твое условие, событие добавил и сделал действие, чтобы отображалась надпись. Все работает, никаких ошибок. Отлов урона, когда он намного больше макс. здоровья, есть и игра реагирует.
А что там оценивать? В правом нижнем углу просто разные тайлы, без единой декорации. На острове есть зачатки олдскула из труб, арок и прочее. А все остальное клифы, да деревья. Есть также глупость в центре острова возле дома вождей, где водопад вытекает тупо из камней. Я еще глянул что ты там импортировал. С некоторыми моделями идут текстовые файлы readme.txt Их в карту не надо импортировать.
koloff, я имел в виду, что ДАННЫЙ сериал смотрят из-за сюжета. Мне тоже больше боевка нравится. Если кто помнит, автора Zmei (Ущелье или Gorge)или Profi (Западня), то мне именно такие ролики по душе, нежели тонны монологов и диалогов. Причем болтовню сделать интересной не всегда получается.
Я бы не сказал, что боевка выглядит хорошо.
Конечно, упор сделан в сюжет, но говорить про хорошую боевку - заблуждение. Это явно слабенькая сторона. Но смотрят из-за сюжета, так что пофиг.
Отредактировать модель и переименовать анимацию Stand 2 например в Spell. Или скопировать, чтобы не терять оригинал Stand 2.
Принудительно проиграть в триггерах анимацию по индексу анимации.
Видишь ли, если ты просто проиграешь анимацию Stand, то, если у юнита есть несколько таких анимаций (относится и к Attack 1/2/3), проигрывается случайная анимация. Однако у каждой анимации есть свой индекс, и можно с помощью jass проиграть нужную тебе анимацию. Но для этого тебе надо знать этот индекс.
Используй: call SetUnitAnimationByIndex(Твой юнит, Индекс ). Пример "call SetUnitAnimationByIndex(u, 2 )".
Я не знаю, как узнать индекс анимации с помощью программ. Обычно я проигрываю подряд все анимации от 0 до 10 и нахожу номер нужной.
Есть более простой способ. Распишу по шагам. Качество будет похуже, чем в статье, но можно сделать вполне терпимо.
Делаешь изображение, обязательно квадратное. Ширина и длинна обязательно должны быть равны степени двойки. 1024х1024 желательно. Чуть похуже будет качество 512х512.
С помощью программы BLP Laboratory конвертируешь картинку в формат blp. (Если слишком большой вес, можно установить сжатие 80%, качество не сильно пострадает, а вес заметно снизится)
Импортируешь получившися файл и прописываешь ему путь "LS.blp"
Импортируешь в карту файл, что я прикрепил к сообщению (LoadingScreen.mdx). Путь оставляешь по умолчанию
В карте зайди в меню"Сценарий", выбери "Экран загрузки", потом "Файл импорта" и укажи loadscreen.mdx.
Кстати, вот какой загрузочный экран у меня получился.
Хэш таблица. Удобна и практична. Кстати, не забудь создать глобальную переменную Hash, типа хэш-таблица и при инициализации карты инициализировать Hash, иначе не будет работать.
function Trig_HealImp_Timer takes nothing returns nothing
local timer t = GetExpiredTimer()
local integer hid = GetHandleId(t)
local unit caster = LoadUnitHandle(udg_Hash, hid, 0) //Наш юнит хранится по ссылке "0", вытаскиваем его, чтобы с ним работать
local integer i = LoadInteger(udg_Hash, hid, 1) //Счетчик
local real hp1 = GetUnitState(caster, ConvertUnitState(0)) //текущее здоровье
local real hp = GetUnitState(caster, ConvertUnitState(1)) //максимальное здоровье
local real chp = (hp/100)*0.8 //значение, на которое лечим юнит
if i != 50 then //Срабатывание таймера 0,1. Так как длительность лечения составляет 5 сек, то таймер должен сработать 50 раз. Кстати, исходя из этого, высчитываем chp.
set i = i + 1 //Увеличиваем значение счетчика
call SetUnitState(caster, ConvertUnitState(0), hp1+chp) //лечим юнит
call SaveInteger(udg_Hash, hid, 1, i) //Сохраняем новое значение счетчика. Если этого не будет, счетчик вечно будет равен 0.
else //Когда счетчик равен 50, мы останавливаем таймер и чистим Хэш
call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash, hid)
endif
set t=null
set caster = null
endfunction
function Trig_HealImp_Actions takes nothing returns nothing
local timer t = CreateTimer() //Таймер
local integer hid = GetHandleId(t) ) //Id таймера
local unit caster =GetTriggerUnit() //юнит, который мы будем лечить, по факту тот, кто активировал способность
call SaveUnitHandle(udg_Hash, hid, 0, caster) //сохраняем в Хэш юнит caster с ссылкой "0".
call SaveInteger(udg_Hash, hid, 1, 0) //сохраняем значение 0 с ссылкой "1". Это будет счетчик длительности лечения.
call TimerStart(t, 0.1, true, function Trig_HealImp_Timer) //запускаем таймер.
set t = null
set caster = null
endfunction
Еще можно поиграться с анимацией. Для декораций можно в начале игры прописать анимацию hide, тогда её не будет видно, а когда надо, чтобы игроки видели - анимация show.
Если все так, как ты описываешь, должно работать без проблем. Сделай это на отдельной, чистой карте. Если не сработает, выложи карту сюда, посмотрим в живую.
говорю, была такая же хрень с одним треком, но там был изначально формат wma, видимо изчальные настрйоки были особенные, которые сохранились после конвертирования в mp3. Тем не менее, у меня проблема решилась изменением частоты, возможно еще битрейт... В данном же треке это не помогло, значит проблема еще где-то, но это точно проблема в музыке. Фоновым звуком ставишь это на область, проигрывается 1 раз. После проигрыша музыки и молчания, пробовал сохранить игру и загрузить, вновь музыка звучит, но опять 1 раз.
и почему-то конвертирование в wav решает проблему, но уж сильно увеличивает вес, поэтому это довольно кривое решение проблемы.
Если есть знакомые-музыканты, что пишут электронную музыку, надо у них спросить возможную проблему. Они с разными форматами работают и знают подводные камни. Например, у меня брат этим увлекается, он-то мне и подсказал про частоту с битрейтом. Только вот в данном случае я теряюсь в догадках. Кстати, изначлаьно трек был в каком формате?
в самом деле, не работает( Печаль. Криво я потестил. Кстати, переконвертировал в wav, все работает, но вес стал 10 Мб. Видимо в треке есть еще что-то, что мешает воспроизведению... Кстати, я еще не проверял, будет ли работать, если вновь переконвертировать в мп3. rgho.st/7q4js6QF5
Закинь на файлообменник этот трэк и скинь мне в лс, гляну.
Так, в самом деле не работал. Поменял у трека частоту и битрейт, теперь заработало. В лс отправил ссылку на получившийся трек.
» WarCraft 3 / Отловить и заблокировать урон больше здоровья
» WarCraft 3 / Отловить и заблокировать урон больше здоровья
» WarCraft 3 / Отловить и заблокировать урон больше здоровья
» WarCraft 3 / Отловить и заблокировать урон больше здоровья
» WarCraft 3 / Отловить и заблокировать урон больше здоровья
» WarCraft 3 / Оценка.
» Семь Смертных грехов: Право вечности / Семь смертных грехов: Право вечности(2 сезон 5 серия)
» Семь Смертных грехов: Право вечности / Семь смертных грехов: Право вечности(2 сезон 5 серия)
Конечно, упор сделан в сюжет, но говорить про хорошую боевку - заблуждение. Это явно слабенькая сторона. Но смотрят из-за сюжета, так что пофиг.
» WarCraft 3 / Анимация мага при касте заклинания
Используй: call SetUnitAnimationByIndex(Твой юнит, Индекс ). Пример "call SetUnitAnimationByIndex(u, 2 )".
Я не знаю, как узнать индекс анимации с помощью программ. Обычно я проигрываю подряд все анимации от 0 до 10 и нахожу номер нужной.
» WarCraft 3 / Формула для вычисления наносимого урона при атаке.
» WarCraft 3 / Есть ли предел/потеря производительности от дофига ивентов
Ред. Sumert
» WarCraft 3 / Загрузочный Экран
» WarCraft 3 / Передача параметров в Таймер
» WarCraft 3 / Создание декораций
» Мастерская переводов | Кампании WC3 на русском / Возвращение Драконов
» Волшебник Земноморья / Волшебник Земноморья
Ред. Sumert
» Волшебник Земноморья / Волшебник Земноморья
» WarCraft 3 / Дамми
» WarCraft 3 / Нужна модель? - Вам сюда!
» WarCraft 3 / Загрузочный экран HD (1920 на 1080)
» WarCraft 3 / Проблемы с проигрыванием импортированной музыки
и почему-то конвертирование в wav решает проблему, но уж сильно увеличивает вес, поэтому это довольно кривое решение проблемы.
Если есть знакомые-музыканты, что пишут электронную музыку, надо у них спросить возможную проблему. Они с разными форматами работают и знают подводные камни. Например, у меня брат этим увлекается, он-то мне и подсказал про частоту с битрейтом. Только вот в данном случае я теряюсь в догадках. Кстати, изначлаьно трек был в каком формате?
» WarCraft 3 / Проблемы с проигрыванием импортированной музыки
» WarCraft 3 / Проблемы с проигрыванием импортированной музыки
» WarCraft 3 / Проблемы с проигрыванием импортированной музыки
Так, в самом деле не работал. Поменял у трека частоту и битрейт, теперь заработало. В лс отправил ссылку на получившийся трек.