Задавая число 5.607 в переменной будет храниться именно 5.607
Но при попытке читать оттуда число с двумя знаками после запятой (именно так обычно выводятся реальные обратно), то ты уже получишь 5.61
Есть отдельная функция, которая позволяет указать количество знаков после запятой при выводе числа
Она даже в GUI есть
Лимит вроде 10 знаков или около того, больше не покажет
Фрост меняет цвет юниту, при этом игнорируя его базовый цвет (из РО).
Это хорошо видно в доте, когда Невер (он же Повелитель Огня) имея 0/0/0 цвета, вдруг из чёрного становится огненным со слегка посиневшим окрасом...
Если например саморучно добавить имитацию какого-нибудь эффекта, например "огня/крови" (красный тон) или "магии тьмы" (фиолетовый), то получится бредовая хрень которая будет постоянно сбиваться, уже не говоря о том что постоянно будет перекрашиваться юнит, и хорошо если он вообще сможет вернуть в итоге свой базовый оттенок (из РО).
Для этого придётся делать всё триггерно, и при этом придумать как совместить цветовые гаммы
Ну например выводить среднее арифметическое между всеми цветами - из РО, от крови, от тьмы, от холода
Если у юнита базовый цвет 127/127/127, а холод (условно) даёт 127/127/255, то мб наверно логично было бы дать ему 63/63/127 цвета ( красный 0.5 * 0.5 = 0.25 , зелёный 0.5 * 0.5 = 0.25 , синий 0.5 * 1.0 = 0.5 )
И для этого придётся писать отдельную системку, при условии что такой вариант комбинирования цвета вообще будет вменяемо выглядеть...
После создания текста скрываешь его от всех.
Обращение идёт на группу игроков - все игроки.
Далее берёшь группу (новую, переменная) и заносишь в неё только тех игроков, которые должны увидеть этот текстаг.
Например через аналог "отряда" для юнитов - Группа игроков - действие...
Если выбранный игрок видит точку/юнита - то добавить его в группу
Далее - показать текст этой группе
В конце - очистить группу (удалить/затереть, если это локалка)
Проверка на наличие предмета, которая даёт ответ "да/нет", сделана за через цикл, который проверяет слоты юнита и даёт нужный ответ.
Функция, которая возвращала бы количество предметов одного типа, выглядела бы точно так же, но с небольшим изменением...
В идеале должна быть BJ-функция которая считает число предметов, а та которая проверяет есть ли он вообще - должна была бы проверять вернётся ли предыдущая функция число больше 0, или нет... Но увы, так не сделали. Поэтому надо делать всё самому.
. . .
Проходишься циклом по слотам и считаешь предметы нужного типа, если это число больше или равно нужному тебе - то... ок ок
Вот вариант с отниманием контроля может забагать игровой процесс...
Нет, фатала не будет, но может произойти какая-нибудь хрень в случаи проверки владельца юнита...
Поэтому лучше кидать молот с дамми-юнита, либо вообще делать триггерно (если оно имеет смысл)
А так вообще - заводишь таймер, создаёшь юнита, запоминаешь героя
Когда таймер истекает - запускаешь таймер заново (или делает сразу повторым его)
Двигаешь юнита под героя, пикаешь врагов рядом
Если враги есть - выбираешь случайного и отдаёшь юниту приказ кинуть в него молот
События в триггер являются мультиактивными.
Если хотя бы ОДНО из них сработает - запустится триггер.
В данном случаи у тебя их ДВА.
Первое - игра началась, и тут же ворота открываются...
Второе - генератор погиб, и при его смерти ворота открываются...
На старте карты у тебя они уже сразу будут открыты. Если ты хочешь что бы они были закрыты (не открывались на старте), то тебе нужно убрать событие "Инициализация карты".
Либо например если у тебя их другой триггер "восстанавливает/закрывает", то тогда будет нормально.
При старте карты ворота откроются... потом закроются когда надо
А при уничтожении генератора - снова откроются...
Можно сделать достаточно просто и поступательно...
Создать магазин с выбором ОДНОГО рабочего нужной расы (или же даже просто кнопки)
Каждому игроку создать по такому магазину на старте
Создавать в рандомных областях, вычитая уже занятые
Таким образом можно будет запросто сделать 12 рас, или же 11 и кнопку "выбрать случайную"
и создать более 12-ти случайных точек для старта (например 20-50, если карта позволяет)
Ну можно триггерно их "строить", когда нужно получать % их готовности.
Здание закладывать и паузить, триггерно увеличивать переменную и приравнивать в ней текущий % постройки.
Работоспособно.
Кастуешь, проверяешь скилл
Даёшь "Ауру Смерти", с выставленным регеном на 30/60/90 ед.
через 20 сек отнимаешь
Скилл можно скрыть в спеллбук
Задержку можно сделать даже через вэйт ("ждать")
...правильнее было бы через таймер и с проверкой на смерть героя
. . .
Похожи, но всё же немного другой эффект можно получить если использовать "Рёв" с выставленным эффектом регена вместо атаки, таким образом герой баффнет пивом всех кто был рядом в момент каста, на 20 сек...
можно дать тип атаки "артиллерия", и убрать UI обычной атаки
дать канал с приказом "smart", при получении которого - будет отдаваться приз атаки или атаки по местности
либо пилить систему снарядов для атаки, и делать атаку триггерной (тогда нахрена вообще сохранять обычную атаку?)
смотря что именно ты хочешь получить в итоге и как это использовать вдальнейшем
пик юнитов через таймер? Можно например через событие атаки самим "целителем".
Если рядом с юнитом будет раненый союзник, то отдать приказ юзать в него хил.
Если хил с баффом, то можно заставить игнорировать юнитов с этим баффом.
Ещё лучше было бы забить кд, что бы пикк происходил только при атаках когда нету кд на скилле.
Например заносить "целителя" в группу на 10 сек (если кд равно 10 сек), и потом выгонять, а при атаке проверять что он НЕ находится в группе...
Так же можно сделать дополнительную фишку с приказом-вызовом хила (как у лунных колодцев).
При получении приказа смарт/мув/патруль на целителя, проверять сколько хп у инициатора, и самое главное - друг ли он ему (точнее считает ли сам целитеть этого юнита другом), тогда отдавать приказ использовать хилку.
Таким образом можно будет заставить хилить себя даже если это юнит другого игрока (союзника).
+ к этому было бы полезно сравнивать дистанцию получения приказа, а то если глобально клинкнуть - то он побежит к тебе через всю карту напролом, что не очень хорошо (достаточно думаю будет дистанции каста).
» WarCraft 3 / Как сделать грамотно RPG карту?
Идеи/концепция самой карты? Код? Задумки скиллов/предметов? Реализация боя/фарма/прокачки?
» WarCraft 3 / Как настроить редактор, что бы не округлял цифры?
Но при попытке читать оттуда число с двумя знаками после запятой (именно так обычно выводятся реальные обратно), то ты уже получишь 5.61
Она даже в GUI есть
Лимит вроде 10 знаков или около того, больше не покажет
» WarCraft 3 / Бафф Slowed
Это хорошо видно в доте, когда Невер (он же Повелитель Огня) имея 0/0/0 цвета, вдруг из чёрного становится огненным со слегка посиневшим окрасом...
Ну например выводить среднее арифметическое между всеми цветами - из РО, от крови, от тьмы, от холода
Если у юнита базовый цвет 127/127/127, а холод (условно) даёт 127/127/255, то мб наверно логично было бы дать ему 63/63/127 цвета ( красный 0.5 * 0.5 = 0.25 , зелёный 0.5 * 0.5 = 0.25 , синий 0.5 * 1.0 = 0.5 )
» 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 сек), и потом выгонять, а при атаке проверять что он НЕ находится в группе...
При получении приказа смарт/мув/патруль на целителя, проверять сколько хп у инициатора, и самое главное - друг ли он ему (точнее считает ли сам целитеть этого юнита другом), тогда отдавать приказ использовать хилку.
Таким образом можно будет заставить хилить себя даже если это юнит другого игрока (союзника).
+ к этому было бы полезно сравнивать дистанцию получения приказа, а то если глобально клинкнуть - то он побежит к тебе через всю карту напролом, что не очень хорошо (достаточно думаю будет дистанции каста).