CopyPaster, нужно провести тест с нагруженным запуском триггера и со временем работы. Думаю на практике ты не будешь запускать этот триггер 1000 раз в секунду, а значит его быстродействие не так важно как читабельность. Ибо 10 else if выглядит супер не читабельно в сравнении с массивом :D
У тебя там что выше, выбор игроков идет (почему используешь Picked player)?
Picked player - переменная для перебора игроков, которого у тебя нет. А именно действие "Выбрать группу игроков... и сделать действия", где каждого игрока будет записывать в переменную Picked player и ты для этого игрока что-то сделаешь.
В циклах и переборах нельзя использовать wait
Если ты запускаешь таймер, то зачем тебе вообще wait? Сделай отдельный триггер который ловит окончание таймера и скрывает его.
Используй переменные, чтобы сохранить таймер и окно, чтобы потом на них ссылаться, а не last started timer и last created timer window по окончанию таймера. Тем более переменные у тебя есть но ты их почему-то не используешь в конце.
ScorpioT1000, это ПОТРЯСАЮЕ! Крутить камерой супер-приятно и очень удобно! То что надо! И хорошо, что ползунок оставили для отдаления, а то и колесико не всегда работает :D
Crick12, а, ну все понятно, просто сохраняй юнита в локальную переменную и через 2-3 сек используй именно локальную переменную как юнита, а не глобалку, которая постоянно переписывается сотнями событиями в секунду если идут напряженные битвы по всей карте).
В твоем случае ты сохраняешь в глобалку своего массива, что тоже не подойдет ибо это ГЛОБАЛЬНАЯ переменная. Использовав локальную переменную ты все решишь.
Я же правильно тебя понял, что у тебя есть 10 разных действий триггеров, которые выполняются по разным 10 условиям:
К примеру печать цифры от 1 до 9 (у меня будет 9 условий)
И нам надо максимально быстро запустить нужное действие (триггер) при каких-то условиях. В моем случае условием будет номер, который ввел игрок в чат.
Самый простой и тупой вариант в лоб это if else
Но ты сказал про 2 вариант, вызов из массива
Создаем массив триггеров
И вызываем нужный триггер по номеру как индекс массива.
Но этот способ работает, если ты можешь УСЛОВИЕ сконвертировать в НОМЕР одним действием (перебор по циклу не считается 1 действием).
То есть если условием были бы к примеру название месяца, а нам бы пришлось по циклу сравнивать строки, равна ли строка январю, потом февралю, марту и если да, то выдаем номер, который уже используем как индекс массива - это не будет считаться 1 действием и не подходит нам. Разве что хэш таблицы использовать, где по ключам мы можем получить нужное нам значение 1 действием.
Так вот, если нам получается сконвертировать условия в индекс массива или ключи для хэш таблицы в 1 действие, то я думаю, такой свитч будет быстрее, чем 10 ifelse.
Если же условия слишком специфичны и сложны - делай ifelse и не парься (разве что первыми условия ставь самые частые а в конце самые редкие)
Как уже писал ScorpioT1000 выше - главное это математика, где ты одним алгоритмом (действием) получишь нужный результат для вызова нужного действия. Я лишь описал пример. (даже загрузил карту с этим примером)
ScorpioT1000, теперь пути видит но не подгружает текстуры из варика, или не применяет новую текстуру, что перетянул, модель не меняется (не натягивает текстуру)
Считаю нужным функционал загрузки картинки и квадратного выделения нужной области для создания иконки (чтобы пропустить работу с фотожопами пэинтами и тд и тп).
WellDoneTrooper, есть еще маловероятный вариант - поиграть с настройками графики, поставить высокие-средние-низкие и потестить, мб что-то влияет. Как моделек, так и текстурок
WellDoneTrooper, чекнул комменты на хайве и еще раз туториал, в основном пишут про путь, что нужно удалить "war3mapImported/", и такой прикол как раз таки на поздних версиях варика (в Рефе). Мб это изменили как раз в 1.27, почему черным и становится. Может стоит попробовать еще раз удалить импорт. Сохранить. Перезапустить карту. Импортировать с удалением лишних путей. Сохранить. И после протестить. Мб когда правил и тестил оно еще старые данные в кеше использовало.
» WarCraft 3 / Телепортация к дамми-юниту.
Ред. konvan5
» WarCraft 3 / Как реализовать свитч 10 разных действий? Что быстрее
» WarCraft 3 / Проблема с отображением таймера у игроков
Ред. konvan5
» WarCraft 3 / Проблема с отображением таймера у игроков
Picked player - переменная для перебора игроков, которого у тебя нет. А именно действие "Выбрать группу игроков... и сделать действия", где каждого игрока будет записывать в переменную Picked player и ты для этого игрока что-то сделаешь.
» WarCraft 3 / XGM логотип - иконка Reforged
» WarCraft 3 / Как реализовать свитч 10 разных действий? Что быстрее
Ред. konvan5
» Администрация XGM / Починить просмотрщик mdx
» WarCraft 3 / Создание иконок с XGM - это легко!
» WarCraft 3 / Привязка спецэффекта к одному из юнитов
Ред. konvan5
» WarCraft 3 / Привязка спецэффекта к одному из юнитов
Ред. konvan5
» WarCraft 3 / Как реализовать свитч 10 разных действий? Что быстрее
То есть если условием были бы к примеру название месяца, а нам бы пришлось по циклу сравнивать строки, равна ли строка январю, потом февралю, марту и если да, то выдаем номер, который уже используем как индекс массива - это не будет считаться 1 действием и не подходит нам. Разве что хэш таблицы использовать, где по ключам мы можем получить нужное нам значение 1 действием.
Если же условия слишком специфичны и сложны - делай ifelse и не парься (разве что первыми условия ставь самые частые а в конце самые редкие)
(даже загрузил карту с этим примером)
-
4.png
-
switch.w3x
Полный список» WarCraft 3 / Как реализовать свитч 10 разных действий? Что быстрее
Ред. konvan5
» WarCraft 3 / Привязка спецэффекта к одному из юнитов
» Администрация XGM / Просмотр MDX не принимает текстуру
» Администрация XGM / Просмотр MDX не принимает текстуру
» Администрация XGM / Просмотр MDX не принимает текстуру
» Администрация XGM / Просмотр MDX не принимает текстуру
» WarCraft 3 / Создание иконок с XGM - это легко!
» WarCraft 3 / Белый экран вместо изображения загрузки
Ред. konvan5
» WarRaft / Типы данных
С системным подходом и хорошим оформлением. С рекомендациями и со ссылками.
» Styria / За кулисами разработки Styria №4
» WarRaft / JASS - Just Another Scripting Syntax
А так хорошая статья чтобы на нее ссылаться.
Ред. konvan5
» WarCraft 3 / Белый экран вместо изображения загрузки
» WarCraft 3 / Белый экран вместо изображения загрузки
» WarCraft 3 / Белый экран вместо изображения загрузки