Есть такое. Лечится так:
Добавляешь Wait() и все.
Когда срабатывает событие, то здания еще "нет", поэтому прогресс и не двигается, но если подождать хотя бы 0.0 секунд (через таймер, например), то прогресс пойдет!
Отличная идея, всегда хотел как-то систематизировать касты спеллов И вот "наткнулся"
Действительно, все гениальное - просто
Немного удивила вот эта строчка:
if SubString(s,StringLength(s)-4,StringLength(s))=="Exec" then
Может, она должна выглядеть так:
if SubString(s, 0, 4) == "Exec" then
При первом варианте будут "выделены" последние 4 символа, а нам необходимо первые четыре Хотя это дело каждого
Если использовать второй вариант, то название спелла должно выглядеть так: ExecName, иначе NameExec
Через дамми-каст:
Создаешь пустышку с описанием и передаешь ее герою.
При касте этого спелла создаешь даммика(невидимого/пустого юнита с нужными способностями) и кастуешь нужный спелл.
Дамми при этом занят кастом спелла, а герой может делать все что угодно
Temak1, обсуждение данной темы было давно и я уже ничего особо не помню, но можешь поискать в академии Суть в том, что после сохранения карты ты залезаешь в нее без WE и вписываешь функцию, которая фаталит при сохранении.
Потому что подстрока 6, 7 выводит букву "н". Пользуйся отладочными сообщениями!
Поставь в подстроку 8, 9. С русскими буквами там вообще кавардак, лучше пользуйся английскими, они хорошо работают
При использовании S2I(string) строка будет преобразована в число только при определенном условии: Если первый символ будет равен 0-9. В противном случае вернет ноль. Например: S2I("14jid74sdf8") будет преобразовано в 14.
Такой native нет. Можно при касте спелла запускать таймер (интервал которого равен длительности перезарядки) и проверять, вышел ли таймер.
Для определения длительности перезарядки способности придется создавать Базу Данных. Или использовать Fly Data Processor
Событие никак и никогда не удаляется, поэтому будет висеть.
Лагать не должно, т.к. событие просто висит в памяти и вар может только вылететь с fatal'ом при нехватки памяти. Для этого этих событий должно быть десятки тысяч, наверное....
Нашел проблему!
Зайди в переменную udg_Group и поставь разрядность массива больше одного (Вернее столько, сколько нужно). Юниты дальше и не идут, т.к. групп с индексом больше единицы просто не существует.
Это зависит от того, как они используются
Таймер был про мой пример.
Можешь скинуть хотя бы карту-пример, т.к. просто глядя на код, трудно сказать, что там не срабатывает.
Может, стоит применить другой алгоритм? Например, так как это сделал я.
У меня почти так же, только одна группа а каждому юниту соответствует переменная индекса координат области. Думаю, что тут будет лучше Хеш-таблица, чем массивы.
Можно вставить таймер, который будет периодически проверять юнитов на остановку. Если надо, то могу полностью оптимизировать все это в хорошем виде.
Hexus, Слишком затратно получается: куча даммиков и выбор всех деревьев каждые 2 сек.
Выбираешь деревья в небольшой области (если их нет, то берешь большую область). Теперь перебираешь все эти деревья и у каждого берешь GetDestructableX/Y. Все остальное как у юнитов.
Можно вообще брать совсем маленькую область и постепенно увеличивать ее, первое попавшееся дерево и будет ближайшим.
Нежить не развивается, а только числе увеличивается со временем
Нежить развивается (3 города, которые строят здания). И даже апгрейды делает!
усилить натиск нежити
Для этого есть уровни сложности. Поставьте 100 и больше. Вот Это будет натиск.
Я бы хотел чтобы герой нежити собирал небольшую группу на базе, и атаковал со всеми базу.
Вообще-то так и есть, только герой набирает отряд по пути к цели (ну и забирает с базы, если они там есть)
Сколько смотрю на АИ (союз) и никак не могу понять: они вообще знают, что деньги они могут получить только за убийство нежити?
Ai союзников сделан через стандартный meele-ai creator. Поэтому он не сильно адаптирован по эту карту.
"Вечный вождь"
Она сильно помогает при определенных обстоятельствах. Особенно на высоких уровнях сложности. Принимаешь весь огонь на себя, в то время как другие герои уничтожают толпу. PAXMA, на каком уровне сложности играешь обычно? Экстрим хоть раз проходил?
» Necris / Предложения и пожелания
» WarCraft 3 / не работает функция
» WarCraft 3 / не работает функция
Добавляешь Wait() и все.
Когда срабатывает событие, то здания еще "нет", поэтому прогресс и не двигается, но если подождать хотя бы 0.0 секунд (через таймер, например), то прогресс пойдет!
» WarCraft 3 / не работает функция
» WarCraft 3 / защита карты
Ред. DaeDR
» WarCraft 3 / Наверное самая быстрая функция по касту "тригерных" магий
Действительно, все гениальное - просто
Немного удивила вот эта строчка:
Если использовать второй вариант, то название спелла должно выглядеть так: ExecName, иначе NameExec
» WarCraft 3 / Возможно ли сделать исцеляющий газ без поддерживания
» WarCraft 3 / Возможно ли сделать исцеляющий газ без поддерживания
Создаешь пустышку с описанием и передаешь ее герою.
При касте этого спелла создаешь даммика(невидимого/пустого юнита с нужными способностями) и кастуешь нужный спелл.
Дамми при этом занят кастом спелла, а герой может делать все что угодно
» WarCraft 3 / S2I/R
» WarCraft 3 / Взломал доту!! Как дальше?
Суть в том, что после сохранения карты ты залезаешь в нее без WE и вписываешь функцию, которая фаталит при сохранении.
» WarCraft 3 / S2I/R
Поставь в подстроку 8, 9. С русскими буквами там вообще кавардак, лучше пользуйся английскими, они хорошо работают
» WarCraft 3 / S2I/R
» WarCraft 3 / Определить перезарядку
» WarCraft 3 / Определить перезарядку
Для определения длительности перезарядки способности придется создавать Базу Данных. Или использовать Fly Data Processor
» WarCraft 3 / Использование способности предмета
Для того чтобы использовать нужный предмет придется перебирать все.
» WarCraft 3 / Взломал доту!! Как дальше?
» WarCraft 3 / Динамическое создание триггера
Лагать не должно, т.к. событие просто висит в памяти и вар может только вылететь с fatal'ом при нехватки памяти. Для этого этих событий должно быть десятки тысяч, наверное....
» WarCraft 3 / Помогите сделать
» WarCraft 3 / Юниты прекращают движение достигнув определенной области
Зайди в переменную udg_Group и поставь разрядность массива больше одного (Вернее столько, сколько нужно). Юниты дальше и не идут, т.к. групп с индексом больше единицы просто не существует.
» WarCraft 3 / Юниты прекращают движение достигнув определенной области
Таймер был про мой пример.
Можешь скинуть хотя бы карту-пример, т.к. просто глядя на код, трудно сказать, что там не срабатывает.
» WarCraft 3 / Юниты прекращают движение достигнув определенной области
У меня почти так же, только одна группа а каждому юниту соответствует переменная индекса координат области. Думаю, что тут будет лучше Хеш-таблица, чем массивы.
Можно вставить таймер, который будет периодически проверять юнитов на остановку. Если надо, то могу полностью оптимизировать все это в хорошем виде.
» WarCraft 3 / Ближайшее дерево
Выбираешь деревья в небольшой области (если их нет, то берешь большую область). Теперь перебираешь все эти деревья и у каждого берешь GetDestructableX/Y. Все остальное как у юнитов.
Можно вообще брать совсем маленькую область и постепенно увеличивать ее, первое попавшееся дерево и будет ближайшим.
» Necris / Necris
PAXMA, на каком уровне сложности играешь обычно? Экстрим хоть раз проходил?
» Саламандра: Honorverse на Warcraft III / Саламандра: Honorverse на Warcraft III
» Саламандра: Honorverse на Warcraft III / Саламандра: Honorverse на Warcraft III