самый простой способ, будет падать без ускорения со скоростью 600
в функцию которая меняет высоту юнита передается два числа, первое высота а второе скорость
здесь я сперва поднял грифона на высоту 1000 мгновенно (скорость 0), а затем роняю его на высоту 0 со скоростью 600
Это код аттачмента в модели.
Добавлять надо свой через war3modeleditor, и там указывать нужные пути и видимость (т.е. в каком диапазоне кадров этот аттач видно)
Вот охотничий зал, аттач BirthLink
Видимость у него включается (1) в кадре 3333, когда начинается анимация birth, и выключается (0) в кадре 63333 где она заканчивается
Не просто перекидываешь, а циклом перебираешь всех игроков в обеих группах, и меняешь уровень союза с этими игроками.
Если просто перекидывать между группами игроков ничего не произойдет.
quq_CCCP, код компилируется, ничего не висит и не фаталит.
Просто когда где-то в каком-либо триггере есть строка в кавычках, то execute не срабатывает.
Когда я эту ни с чем не связанную строку убираю, все опять работает.
quq_CCCP, имя абилки не причем. Просто если в коде где-то есть явно написанная строка (в кавычках) то код не выполняется, а если нет выполняется.
Имя абилки я ставил вместо кавычной строки чтобы проверить, в строках дело или в бждебаге.
Когда я убираю эти строки, то в начале игры дебаг выводит мне координаты и все экзикутится.
Но когда я возвращаю строки, то никакого текста не появляется.
Заменив execute на таймер избавился от этих проблем, но все равно интересно что это было.
Проблема возникает также при переносе вот этого вот в инициализацию триггера тест.
Но при этом если вместо строки вроде "12345" использовать, например, GetAbilityName('Aloc') - то все работает.
Это какой-то баг со строками?
Еще у меня почему-то происходит фантомный клик по центру карты в начале игры
Вобщем не стоит юзать имена функций напрямую в экзекуте и вообще таймеры лучше
В конструкторе ты заносишь новосозданный объект не в God а в GOD, т.е. вместо переменной у тебя имя структуры.
Еще у тебя объявляется переменная до определения типа этой переменной, использовать GOD как тип переменной выше определения что это за тип GOD нельзя
code
library SomeOneCoolSpell {
private int GODi = 0
private keyword GOD // заранее объявляем тип
private GOD array God[100]
private struct GOD {
unit main
static thistype Create(unit u){
thistype g = thistype.create()
set g.main = u
set GODi = GODi + 1
set God[GODi] = g // исправил имя переменной
return g
}
}
}
"Набор звуков" нельзя сделать через триггеры, но можно попробовать через импорт файлов заменить стандартные файлы в уже существующих наборах.
Для этого импортируемому файлу надо прописать путь заменяемого.
пробуй через действие "триггер - add new event" при инициализации карты
но лучше делать через общее событие, а игрока проверять в условиях, т.к. событие создается на того игрока который в переменной, а не на переменную, и если ты изменишь переменную игрок в событии останется тот же
периодически двигаешь кастера к цели, и все время создаешь юнитов с нужной моделью и ставишь нужный цвет и прозрачность set unit vertex color, и добавляешь время жизни apply timed life чтобы исчезал.
для постепенного исчезновения можно хранить эти юниты в массиве а в другом хранить текущую прозрачность этих юнитов, и таймером перебирать их и увеличивать прозрачность.
У модели юнита есть анимация Decay?
еще есть время разложения задаваемое в константах
и графика - время смерти, вроде бы анимация смерти показывается в течение этого времени (если оно больше длины анимации, отображается последний кадр, например лежащий труп)
А все игроки присутствуют в игре при тесте, или только первый и второй?
Т.е. ты тестируешь карту с одним синим компьютером, или другие слоты тоже заполнены?
Я щас проверил, пик игроков не считает игроков из пустых слотов.
ssbbssc, чем? пробовал через MPQ-master открыть, но он не открывает модели.
Пробовал доставать модель как .mdl и открывать блокнотом.
Сравнил с моделью мастера клинка, у гидролиска отсутствуют GlobalSequences что бы это ни было.
Нужны массивы для хранения приказов, их целей, и целочисленная переменная для номера текущего.
Затем периодически проверять текущий приказ у юнита (GetUnitCurrentOrder) и если он не равен тому что в массиве (и юнит не оглушен, не скрыт и не в паузе), отдавать следующий приказ.
Ред. biridius
» WarCraft 3 / Как визуально создать падающего юнита?
здесь я сперва поднял грифона на высоту 1000 мгновенно (скорость 0), а затем роняю его на высоту 0 со скоростью 600
Ред. biridius
» WarCraft 3 / Анимация постройки Ночных эльфов
Добавлять надо свой через war3modeleditor, и там указывать нужные пути и видимость (т.е. в каком диапазоне кадров этот аттач видно)
Вот охотничий зал, аттач BirthLink
Видимость у него включается (1) в кадре 3333, когда начинается анимация birth, и выключается (0) в кадре 63333 где она заканчивается
Ред. biridius
» WarCraft 3 / Анимация постройки Ночных эльфов
просто добавить в свою модель attachment
» WarCraft 3 / Анимация постройки Ночных эльфов
Ред. biridius
» WarCraft 3 / Как сделать переход человека из одного клана в другой в игре.
Если просто перекидывать между группами игроков ничего не произойдет.
» WarCraft 3 / Строки ломают ExecuteFunc в библиотеке
Просто когда где-то в каком-либо триггере есть строка в кавычках, то execute не срабатывает.
Когда я эту ни с чем не связанную строку убираю, все опять работает.
Ред. biridius
» WarCraft 3 / Строки ломают ExecuteFunc в библиотеке
Имя абилки я ставил вместо кавычной строки чтобы проверить, в строках дело или в бждебаге.
Но когда я возвращаю строки, то никакого текста не появляется.
Заменив execute на таймер избавился от этих проблем, но все равно интересно что это было.
Ред. biridius
» WarCraft 3 / Строки ломают ExecuteFunc в библиотеке
Но при этом если вместо строки вроде "12345" использовать, например, GetAbilityName('Aloc') - то все работает.
Это какой-то баг со строками?
Вобщем не стоит юзать имена функций напрямую в экзекуте и вообще таймеры лучше
» WarCraft 3 / Как сделать RPG вид?
Ред. biridius
» WarCraft 3 / Анимация движения
Ред. biridius
» WarCraft 3 / Округление реалки до целого
для округления просто parameter = R2I(parameter)
Ред. biridius
» WarCraft 3 / Проблема с приватными глобальными переменными структур
Еще у тебя объявляется переменная до определения типа этой переменной, использовать GOD как тип переменной выше определения что это за тип GOD нельзя
Ред. biridius
» WarCraft 3 / Для чего нужны эти строки?
» WarCraft 3 / Для чего нужны эти строки?
» WarCraft 3 / Как сделать кастомную озвучку?
Для этого импортируемому файлу надо прописать путь заменяемого.
Ред. biridius
» WarCraft 3 / Блок способностей (немота)
Тогда будет только на один юнит.
» WarCraft 3 / Как добиться того, чтобы при получении урона юнит не отбегал...
» WarCraft 3 / Не могу присвоить значение переменной
но лучше делать через общее событие, а игрока проверять в условиях, т.к. событие создается на того игрока который в переменной, а не на переменную, и если ты изменишь переменную игрок в событии останется тот же
Ред. biridius
» WarCraft 3 / Пжлст ХЕЛП!
Ред. biridius
» WarCraft 3 / Какие факторы влияют на разложение юнита?
еще есть время разложения задаваемое в константах
и графика - время смерти, вроде бы анимация смерти показывается в течение этого времени (если оно больше длины анимации, отображается последний кадр, например лежащий труп)
Ред. biridius
» WarCraft 3 / Система подбора противника
Т.е. ты тестируешь карту с одним синим компьютером, или другие слоты тоже заполнены?
» WarCraft 3 / количество боевых едениц
» WarCraft 3 / не открывается редактор анимаций MdlVis у гидралиска
Ред. biridius
» WarCraft 3 / не открывается редактор анимаций MdlVis у гидралиска
Пробовал доставать модель как .mdl и открывать блокнотом.
Сравнил с моделью мастера клинка, у гидролиска отсутствуют GlobalSequences что бы это ни было.
Ред. biridius
» WarCraft 3 / Очередь приказов
Затем периодически проверять текущий приказ у юнита (GetUnitCurrentOrder) и если он не равен тому что в массиве (и юнит не оглушен, не скрыт и не в паузе), отдавать следующий приказ.