27

» WarCraft 3 / как сделать крафт из 2х одинаковых предметов

Пример не для мультиплеера + не учтен момент, когда невозможно собрать предмет, если инвентарь перегружен.
Загруженные файлы
27

» WarCraft 3 / Как сделать респавн руны по истечению временни ?

Morningstar:
Вот, пример с предметами
У тебя триггер сломается, если в ту область появления руны положить любой рандомный предмет.
Надо проверять что в области нет конкретного класса предметов, а руны сделать этим классом. (Например, усиливающие)
Но если не заморачиваться, тебе дали рабочий скрипт, ТС.
Ошибаешься! Просто возьми и проверь! На карте создаешь область и героя, чтобы мог подобрать. Проверка идет как раз на конкретный итем в данном случае. item = Амулет Защиты.
Если ты имеешь ввиду, что нужно в области создавать рендомный предмет, а не только амулет защиты, то, конечно, тут будут немного другие условия.
На счет рун Steal nerves прав. Именно так и происходит. Фактически руна не исчезает из области. Там нужно применять другое условие. Поэтому я и подписал свой пример, что он касается только предметов.
27

» WarCraft 3 / Борьба за Всемогущество

Мне, если честно, нравится именно оригинальный Warcraft, поэтому не хотелось добавлять каких-то новых текстур.
Fireranger, я, кстати, думал об этом, что разрабы сами улучшат качество моих текстур в рефоржет:)
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

А что плохого в переборах и массивах? Тем более, что массивы ограничены и незначительны.
Насчет расставленных героев. Это зависит от карты, которую требуется сделать. Обычно такой таймер нужен в картах, где идет изначальный выбор героев. В этот момент как раз и присваивается значение. А если герои уже присутствуют, то это еще проще. Присвоить значению в хеше имеющихся героев.
Т.е. решение ты не засчитываешь, верно? Только потому, что ты ярый противник гуи, так?Изначально же разговор начался с чего? Что ты бы хотел посмотреть реализацию этой задачи на гуи, намекая таким образом на то, что на гуи это сделать невозможно. А теперь придираешься к исполнению, т.к. там есть массивы? хммм... с "wait" я согласен. Был реально косяк и я сначала признал свою неправоту. Но теперь то в чем конкретный косяк?
И что плохого в периодическом событии? Это по сути всего еще один таймер.
Это ты мне намекаешь уже на новое задание по гуи насчет снарядов?) нет, уж, спасибо) мне это тоже пока точно не пригодится)
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

Я тут покумекал немного над тем, что я выложил в первый раз и над твоим решением и понял, что какую ерунду я сделал тогда. Какие-то сложности накрутил непонятные. Предлагаю второе решение на гуи, причем без "wait". Работает все на Ура! Оцени это! Ты же в этом разбираешься, поэтому ты сможешь указать на слабые места.
П.С. К игроку пока привязку не делал. Но это самое легкое.
Загруженные файлы
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

Спасибо. Действительно, все отлично работает. Хорошо, соглашусь. В данном случае, lua лучше, чем гуи. Но мне реально никогда такого не было нужно) Гуи вполне хватало. Но я возьму себе на заметку.
А почему после любых изменений я не могу откомпилировать код? Нужно что-то установить дополнительно?
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

То это не размер массива, а количество установленных значений. Например для целлочисленного массива с размером 3 и значением 6 будет выглядеть так [6,6,6].
Точно. Упростил свой код из-за этого. Однако, теперь получается, что ограничение массива таймеров таким образом ограничивает количество героев у игрока. Жаль, что не могу посмотреть карту вашу, т.к. не хочу ставить 31 патч. Неужели, там действительно таймеры создаются динамически? Прям не верится. Правда, может в 31 патче появились какие-то новые возможности и в GUI... Тогда вполне может быть...
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

1.26.0.6401
Я понимаю, что такое локальные переменные. Я, кстати, тоже хотел сделать при помощи хеш-таблиц, но потом забил, т.к. таймер был не главным)
Ладно, не буду спорить, пока не открою и не проверю)
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

Так мне и нужна размерность 1. Я правильно понимаю, что это так: (timer_1, timer_2...timer_n)?
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

Почитал я ваше решение в той теме. Так как раз проблема наличия множества героев и не решена. Там все сделано на одном герое и таймер закреплен именно за ним (На GUI это сделать очень просто). А я сначала подумал, что таймер сразу прикрепляется к другому герою. На луа как раз создан один таймер, который сразу и определен. А если сделать второго героя, то придется создавать еще один таймер...А он не создан в коде... А если будет еще 5 героев? Короче, ваше предложенное решение не является верным:(
А если там делать таймер на несколько героев, то и возникнут как раз те же трудности, что возникли и у меня. Поэтому пришлось извращаться с "wait"
Не могу открыть все-равно:(
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

Не могу открыть эту карту:(
"Сведения об уровнях отсутствуют или неверны"
Есть у вас рабочая версия?
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

Кривое решение) Ну, да. Сложно убить четырех героев и каждому присвоить таймер, записанный в массив таймеров. Попробуйте. На 3 таймере значение будет пустым.
Хорошо, скину. А вы мне свою на lua.
Загруженные файлы
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

Т.е. Вы даже не проверяли?) У любого игрока может быть любое количество героев - это условие как раз выполняется. Просто Массив из таймеров с 3го значения почему-то не определяется корректно, поэтому таймер появляется с пустым значением, но по факту все отрабатывает (т.е. герой воскрешается через нужное время)
А где в вашем решении описана смерть героя? И вообще, где проверка, что герой мертв? Не совсем понимаю.
TimerStart - это встроенная функция? Просто не понимаю, каким образом воскрешение запускается именно после окончания таймера? Т.е. lua позволяет повесить условие на любой таймер, который только что создался? Поясните эту функцию как она работает?
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

NazarPunk:
Если немного точнее сформулируешь задачу
Да запросто. У любого игрока может быть любое количество героев. После смерти героя запускается таймер с окном на 2*уровень героя секунд. После завершения таймера герой воскрешается.
Готово. Один косяк, что не отображается корректно больше двух таймеров. Но отрабатывает все нормально. Не стал над этим запариваться, т.к. можно вообще вручную нарисовать таймеры
Загруженные файлы
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

Ну, я готов подумать над этим. Если немного точнее сформулируешь задачу. Добавь конкретики! Мне просто такое было не нужно)
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

Не знаю. Я пока не сталкивался с невыполнимыми задачами на gui. Поэтому я пока не вижу смысла в изучении чего-либо другого. Отвечаю исключительно за себя.
27

» WarCraft 3 / Knights & Rogues COMPLETE EDITION

KaneThaumaturge:
Не понимаю как может сломаться сбор предметов из-за сохранения/загрузки.
UPD: Лучше заменить на событие Юнит получает предмет, а не продает предметы из лавки.
Если не особо поможет, то дело в количестве триггеров. Помню, читал где-то, что большое количество триггеров забивают инициализацию и перестают работать.
Дело в том, что большинство твоих триггеров можно склеить в один.
Может, конечно, уже неактуально, но решил поделиться мыслями. По поводу сборки предмета. Предлагаю свой вариант (см. скрин). Взял в качестве предмета руну. Таким образом, можно собрать нужный предмет, даже имея при этом полный инвентарь. Почему у тебя баг после сохранения/загрузки? Мне кажется, что не очень корректно отрабатывает "Buying unit". Не очень явное определение.
Также, можно в самом начале (в карту не играл, поэтому не совсем в курсе на каком этапе) установить, например, переменную "Hero" (боевая единица), значение которой будет равняться выбранному герою.
Тогда в предложенном мной скрине можно заменить значение боевой единицы "Переключающий юнит" на "Hero". А "Hero" можно в дальнейшем использовать вообще во всех триггерах, где фигурирует основной герой, не задумываясь о том, какую боевую единицу выбрать в условии.
Загруженные файлы