После создания текста скрываешь его от всех.
Обращение идёт на группу игроков - все игроки.
Далее берёшь группу (новую, переменная) и заносишь в неё только тех игроков, которые должны увидеть этот текстаг.
Например через аналог "отряда" для юнитов - Группа игроков - действие...
Если выбранный игрок видит точку/юнита - то добавить его в группу
Далее - показать текст этой группе
В конце - очистить группу (удалить/затереть, если это локалка)
Проверка на наличие предмета, которая даёт ответ "да/нет", сделана за через цикл, который проверяет слоты юнита и даёт нужный ответ.
Функция, которая возвращала бы количество предметов одного типа, выглядела бы точно так же, но с небольшим изменением...
В идеале должна быть BJ-функция которая считает число предметов, а та которая проверяет есть ли он вообще - должна была бы проверять вернётся ли предыдущая функция число больше 0, или нет... Но увы, так не сделали. Поэтому надо делать всё самому.
. . .
Проходишься циклом по слотам и считаешь предметы нужного типа, если это число больше или равно нужному тебе - то... ок ок
Вот вариант с отниманием контроля может забагать игровой процесс...
Нет, фатала не будет, но может произойти какая-нибудь хрень в случаи проверки владельца юнита...
Поэтому лучше кидать молот с дамми-юнита, либо вообще делать триггерно (если оно имеет смысл)
А так вообще - заводишь таймер, создаёшь юнита, запоминаешь героя
Когда таймер истекает - запускаешь таймер заново (или делает сразу повторым его)
Двигаешь юнита под героя, пикаешь врагов рядом
Если враги есть - выбираешь случайного и отдаёшь юниту приказ кинуть в него молот
События в триггер являются мультиактивными.
Если хотя бы ОДНО из них сработает - запустится триггер.
В данном случаи у тебя их ДВА.
Первое - игра началась, и тут же ворота открываются...
Второе - генератор погиб, и при его смерти ворота открываются...
На старте карты у тебя они уже сразу будут открыты. Если ты хочешь что бы они были закрыты (не открывались на старте), то тебе нужно убрать событие "Инициализация карты".
Либо например если у тебя их другой триггер "восстанавливает/закрывает", то тогда будет нормально.
При старте карты ворота откроются... потом закроются когда надо
А при уничтожении генератора - снова откроются...
Можно сделать достаточно просто и поступательно...
Создать магазин с выбором ОДНОГО рабочего нужной расы (или же даже просто кнопки)
Каждому игроку создать по такому магазину на старте
Создавать в рандомных областях, вычитая уже занятые
Таким образом можно будет запросто сделать 12 рас, или же 11 и кнопку "выбрать случайную"
и создать более 12-ти случайных точек для старта (например 20-50, если карта позволяет)
Ну можно триггерно их "строить", когда нужно получать % их готовности.
Здание закладывать и паузить, триггерно увеличивать переменную и приравнивать в ней текущий % постройки.
Работоспособно.
Кастуешь, проверяешь скилл
Даёшь "Ауру Смерти", с выставленным регеном на 30/60/90 ед.
через 20 сек отнимаешь
Скилл можно скрыть в спеллбук
Задержку можно сделать даже через вэйт ("ждать")
...правильнее было бы через таймер и с проверкой на смерть героя
. . .
Похожи, но всё же немного другой эффект можно получить если использовать "Рёв" с выставленным эффектом регена вместо атаки, таким образом герой баффнет пивом всех кто был рядом в момент каста, на 20 сек...
можно дать тип атаки "артиллерия", и убрать UI обычной атаки
дать канал с приказом "smart", при получении которого - будет отдаваться приз атаки или атаки по местности
либо пилить систему снарядов для атаки, и делать атаку триггерной (тогда нахрена вообще сохранять обычную атаку?)
смотря что именно ты хочешь получить в итоге и как это использовать вдальнейшем
пик юнитов через таймер? Можно например через событие атаки самим "целителем".
Если рядом с юнитом будет раненый союзник, то отдать приказ юзать в него хил.
Если хил с баффом, то можно заставить игнорировать юнитов с этим баффом.
Ещё лучше было бы забить кд, что бы пикк происходил только при атаках когда нету кд на скилле.
Например заносить "целителя" в группу на 10 сек (если кд равно 10 сек), и потом выгонять, а при атаке проверять что он НЕ находится в группе...
Так же можно сделать дополнительную фишку с приказом-вызовом хила (как у лунных колодцев).
При получении приказа смарт/мув/патруль на целителя, проверять сколько хп у инициатора, и самое главное - друг ли он ему (точнее считает ли сам целитеть этого юнита другом), тогда отдавать приказ использовать хилку.
Таким образом можно будет заставить хилить себя даже если это юнит другого игрока (союзника).
+ к этому было бы полезно сравнивать дистанцию получения приказа, а то если глобально клинкнуть - то он побежит к тебе через всю карту напролом, что не очень хорошо (достаточно думаю будет дистанции каста).
не шарят в одних костылях, пытаются обозначить другие, типа мол лучше ... позорненько
Триггер переделать с нуля - всё неправильно.
Событие, условие - пойдёт.
А вот действия... и эти "ничего не делать"... кто вас учит его юзать вообще? это секта?
Пикаешь всех юнитов, записываешь каждого, угол и дистанцию
Таймером проходишься по всем записанным юнитам, и двигаешь каждого
Чисто из опыта в работе с .slk-таблицами
могу сказать что новые абилки имеют ссылку на то, из чего они изначально скопированны (равкод оригинала)
дальше есть все поля для данных
но заполнены только те их них - которые редактировались (отличаются от стандарта)
таким образом если ты поставить в поле число 0, то в таблице будет стоять 0
а если ничего не трогал - ничего не будет
по факту, если создать юнита и обнулись ему ВСЕ возможные параметры, в таблице все эти столбики будут изменить некие значения, тем самым давая движку понять что этот юнит основывается на стандартном, но все эти поля имеют иные значения
логика подсказывает что если у юнита/скилла есть лишние значения, которые тебе не нужно редактировать - то и трогать их не нужно, пусть будут как будут...
с другой стороны - есть какое-то упоминание о том что все иконки/модельки/тексты всё же стоит затирать, т.к. они пишутся в отдельном файлике... но вот про тексты я не уверен
» WarCraft 3 / Автокаст Канибализма
то отдавать приказ юзать канибализм... если рядом будет труп - он пойдёт его жрать
» WarCraft 3 / Точки крепления
» WarCraft 3 / Можно ли сделать плавающий текст не видимым сквозь Туман Войны?
Обращение идёт на группу игроков - все игроки.
Например через аналог "отряда" для юнитов - Группа игроков - действие...
Если выбранный игрок видит точку/юнита - то добавить его в группу
Далее - показать текст этой группе
» WarCraft 3 / Условие подсчета предметов
» WarCraft 3 / Юнит использует спелл
Нет, фатала не будет, но может произойти какая-нибудь хрень в случаи проверки владельца юнита...
Поэтому лучше кидать молот с дамми-юнита, либо вообще делать триггерно (если оно имеет смысл)
Когда таймер истекает - запускаешь таймер заново (или делает сразу повторым его)
Двигаешь юнита под героя, пикаешь врагов рядом
Если враги есть - выбираешь случайного и отдаёшь юниту приказ кинуть в него молот
» WarCraft 3 / Триггер
Если хотя бы ОДНО из них сработает - запустится триггер.
В данном случаи у тебя их ДВА.
Второе - генератор погиб, и при его смерти ворота открываются...
При старте карты ворота откроются... потом закроются когда надо
А при уничтожении генератора - снова откроются...
» WarCraft 3 / По поводу карты.
в итоге крест Дазла висит 3600. сек х)
» WarCraft 3 / Помогите сделать простенькую муи систему
при касте под кастером создаётся даммик и движется за ним
один каст = один новый даммик на кастере
» WarCraft 3 / Как сделать больше 4 рас!
И сделай тоже самое, как при выборе через скилл/покупку
» WarCraft 3 / Как сделать больше 4 рас!
Каждому игроку создать по такому магазину на старте
Создавать в рандомных областях, вычитая уже занятые
и создать более 12-ти случайных точек для старта (например 20-50, если карта позволяет)
» WarCraft 3 / Как зделать так что-бы каждые 10 сек ратуша давала 100 золота??
» WarCraft 3 / Скиллы "Порча" и "Огненный голем"
Либо попробуй изменить количество ХП у деревьев... или вовсе сделать их неуязвимыми
Ред. Extremator
» WarCraft 3 / Улучшение способности в редакторе объектов
улучшение - спавнит 3х сильных жуков (2 закопанных и 1 обычный)
» WarCraft 3 / Способность на основе ледяной брони
оно так же повышает армор
» WarCraft 3 / Текущий прогресс строительства
» WarCraft 3 / Текущий прогресс строительства
как все цивилизованные люди
» WarCraft 3 / Текущий прогресс строительства
Здание закладывать и паузить, триггерно увеличивать переменную и приравнивать в ней текущий % постройки.
Работоспособно.
Ред. Extremator
» WarCraft 3 / Волшебный Эль
Даёшь "Ауру Смерти", с выставленным регеном на 30/60/90 ед.
через 20 сек отнимаешь
Задержку можно сделать даже через вэйт ("ждать")
...правильнее было бы через таймер и с проверкой на смерть героя
Ред. Extremator
» WarCraft 3 / как сделать стрельбу левой кнопкой мыши?
дать канал с приказом "smart", при получении которого - будет отдаваться приз атаки или атаки по местности
Ред. Extremator
» WarCraft 3 / Бросок условие
» WarCraft 3 / Вопрос насчет "бессмертия" с EventDamage
» WarCraft 3 / Триггер
Если рядом с юнитом будет раненый союзник, то отдать приказ юзать в него хил.
Если хил с баффом, то можно заставить игнорировать юнитов с этим баффом.
Например заносить "целителя" в группу на 10 сек (если кд равно 10 сек), и потом выгонять, а при атаке проверять что он НЕ находится в группе...
При получении приказа смарт/мув/патруль на целителя, проверять сколько хп у инициатора, и самое главное - друг ли он ему (точнее считает ли сам целитеть этого юнита другом), тогда отдавать приказ использовать хилку.
Таким образом можно будет заставить хилить себя даже если это юнит другого игрока (союзника).
+ к этому было бы полезно сравнивать дистанцию получения приказа, а то если глобально клинкнуть - то он побежит к тебе через всю карту напролом, что не очень хорошо (достаточно думаю будет дистанции каста).
Ред. Extremator
» WarCraft 3 / Вопрос насчет "бессмертия" с EventDamage
например лайф_дрэйн прервётся
а юниты которые пытались атаковать цель - потеряют приказ (на него)
вариант стабильный, у меня юнит с 5/5 хп принимал 10000 урона (сила тьмы, перезарядка атаки 0.05), и не умирал
Ред. nvc123
» WarCraft 3 / Как сделать мульти скил из этого заклинания?
Событие, условие - пойдёт.
А вот действия... и эти "ничего не делать"... кто вас учит его юзать вообще? это секта?
Таймером проходишься по всем записанным юнитам, и двигаешь каждого
» WarCraft 3 / Как сохраняются строки РО при компиляции?
могу сказать что новые абилки имеют ссылку на то, из чего они изначально скопированны (равкод оригинала)
дальше есть все поля для данных
но заполнены только те их них - которые редактировались (отличаются от стандарта)
таким образом если ты поставить в поле число 0, то в таблице будет стоять 0
а если ничего не трогал - ничего не будет