26

» WarCraft 3 / Как сделать грамотно RPG карту?

Какая конкретно сфера этого вопроса тебя интересует?
Идеи/концепция самой карты? Код? Задумки скиллов/предметов? Реализация боя/фарма/прокачки?
26

» WarCraft 3 / Как настроить редактор, что бы не округлял цифры?

Задаю реальная переменная = число 5.607
Если в РО, то вроде никак
ммм...)
Задавая число 5.607 в переменной будет храниться именно 5.607
Но при попытке читать оттуда число с двумя знаками после запятой (именно так обычно выводятся реальные обратно), то ты уже получишь 5.61
Есть отдельная функция, которая позволяет указать количество знаков после запятой при выводе числа
Она даже в GUI есть
Лимит вроде 10 знаков или около того, больше не покажет
26

» 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 )
И для этого придётся писать отдельную системку, при условии что такой вариант комбинирования цвета вообще будет вменяемо выглядеть...
26

» WarCraft 3 / Автокаст Канибализма

Ну мб таймером чекать сколько хп у юнита, и если меньше чем фулл
то отдавать приказ юзать канибализм... если рядом будет труп - он пойдёт его жрать
Мб ещё какие варианты переиначить скилл, в пассивку или что-то иное.
26

» WarCraft 3 / Точки крепления

Найди бафф "Кровожадность" и скопируй оттуда, если ты не понял советы выше...
26

» WarCraft 3 / Можно ли сделать плавающий текст не видимым сквозь Туман Войны?

Принятый ответ
После создания текста скрываешь его от всех.
Обращение идёт на группу игроков - все игроки.
Далее берёшь группу (новую, переменная) и заносишь в неё только тех игроков, которые должны увидеть этот текстаг.
Например через аналог "отряда" для юнитов - Группа игроков - действие...
Если выбранный игрок видит точку/юнита - то добавить его в группу
Далее - показать текст этой группе
В конце - очистить группу (удалить/затереть, если это локалка)
26

» WarCraft 3 / Условие подсчета предметов

Принятый ответ
Проверка на наличие предмета, которая даёт ответ "да/нет", сделана за через цикл, который проверяет слоты юнита и даёт нужный ответ.
Функция, которая возвращала бы количество предметов одного типа, выглядела бы точно так же, но с небольшим изменением...
В идеале должна быть BJ-функция которая считает число предметов, а та которая проверяет есть ли он вообще - должна была бы проверять вернётся ли предыдущая функция число больше 0, или нет... Но увы, так не сделали. Поэтому надо делать всё самому.
. . .
Проходишься циклом по слотам и считаешь предметы нужного типа, если это число больше или равно нужному тебе - то... ок ок
26

» WarCraft 3 / Юнит использует спелл

Вот вариант с отниманием контроля может забагать игровой процесс...
Нет, фатала не будет, но может произойти какая-нибудь хрень в случаи проверки владельца юнита...
Поэтому лучше кидать молот с дамми-юнита, либо вообще делать триггерно (если оно имеет смысл)
А так вообще - заводишь таймер, создаёшь юнита, запоминаешь героя
Когда таймер истекает - запускаешь таймер заново (или делает сразу повторым его)
Двигаешь юнита под героя, пикаешь врагов рядом
Если враги есть - выбираешь случайного и отдаёшь юниту приказ кинуть в него молот
26

» WarCraft 3 / Триггер

События в триггер являются мультиактивными.
Если хотя бы ОДНО из них сработает - запустится триггер.
В данном случаи у тебя их ДВА.
Первое - игра началась, и тут же ворота открываются...
Второе - генератор погиб, и при его смерти ворота открываются...
На старте карты у тебя они уже сразу будут открыты. Если ты хочешь что бы они были закрыты (не открывались на старте), то тебе нужно убрать событие "Инициализация карты".
Либо например если у тебя их другой триггер "восстанавливает/закрывает", то тогда будет нормально.
При старте карты ворота откроются... потом закроются когда надо
А при уничтожении генератора - снова откроются...
26

» WarCraft 3 / По поводу карты.

не ну можно конечно изколупать архив чтобы ни-ни, делитанты точно не откроют.
я так дотку правил... открыл, поменял, закинул обратно... никаких депротектов... вообще
в итоге крест Дазла висит 3600. сек х)
26

» WarCraft 3 / Помогите сделать простенькую муи систему

вроде бы оно... давно делал, не уверен
при касте под кастером создаётся даммик и движется за ним
один каст = один новый даммик на кастере
Загруженные файлы
26

» WarCraft 3 / Как сделать больше 4 рас!

Ну так возьми посмотри как работают диалоговые кнопки
И сделай тоже самое, как при выборе через скилл/покупку
По-мойму через скилл было бы лучше, т.к. туда можно добавить хорошее подробное описание расы.
26

» WarCraft 3 / Как сделать больше 4 рас!

Можно сделать достаточно просто и поступательно...
Создать магазин с выбором ОДНОГО рабочего нужной расы (или же даже просто кнопки)
Каждому игроку создать по такому магазину на старте
Создавать в рандомных областях, вычитая уже занятые
Таким образом можно будет запросто сделать 12 рас, или же 11 и кнопку "выбрать случайную"
и создать более 12-ти случайных точек для старта (например 20-50, если карта позволяет)
26

» WarCraft 3 / Скиллы "Порча" и "Огненный голем"

Принятый ответ
Триггерно делай имитацию скиллов.
Либо попробуй изменить количество ХП у деревьев... или вовсе сделать их неуязвимыми
26

» WarCraft 3 / Улучшение способности в редакторе объектов

и что не работает?
стандартно - спавнит 2х слабых жуков
улучшение - спавнит 3х сильных жуков (2 закопанных и 1 обычный)
Загруженные файлы
26

» WarCraft 3 / Способность на основе ледяной брони

или же вместо ледяной брони возьми духовное пламя
оно так же повышает армор
26

» WarCraft 3 / Текущий прогресс строительства

darkowlom:
Они только когда стандартной механики не достаточно
"только" всегда когда делаешь не дефолт...
26

» WarCraft 3 / Текущий прогресс строительства

а если здание под баффами?
делать триггерные баффы
как все цивилизованные люди
26

» WarCraft 3 / Текущий прогресс строительства

Принятый ответ
Ну можно триггерно их "строить", когда нужно получать % их готовности.
Здание закладывать и паузить, триггерно увеличивать переменную и приравнивать в ней текущий % постройки.
Работоспособно.
26

» WarCraft 3 / Волшебный Эль

Принятый ответ
Кастуешь, проверяешь скилл
Даёшь "Ауру Смерти", с выставленным регеном на 30/60/90 ед.
через 20 сек отнимаешь
Скилл можно скрыть в спеллбук
Задержку можно сделать даже через вэйт ("ждать")
...правильнее было бы через таймер и с проверкой на смерть героя
. . .
Похожи, но всё же немного другой эффект можно получить если использовать "Рёв" с выставленным эффектом регена вместо атаки, таким образом герой баффнет пивом всех кто был рядом в момент каста, на 20 сек...
26

» WarCraft 3 / как сделать стрельбу левой кнопкой мыши?

можно дать тип атаки "артиллерия", и убрать UI обычной атаки
дать канал с приказом "smart", при получении которого - будет отдаваться приз атаки или атаки по местности
либо пилить систему снарядов для атаки, и делать атаку триггерной (тогда нахрена вообще сохранять обычную атаку?)
смотря что именно ты хочешь получить в итоге и как это использовать вдальнейшем
26

» WarCraft 3 / Бросок условие

Принятый ответ
можно сделать и проще... а можно и сложнее
Загруженные файлы
26

» WarCraft 3 / Вопрос насчет "бессмертия" с EventDamage

Diaboliko:
Разве при повышении хп юнит не сохраняет текущий его процент? В плане 60% хп с максимумом 100 = 60 хп. Добавив 10к хп будет 6060хп, не?
Будет, для этого и надо его переписывать.
26

» WarCraft 3 / Триггер

пик юнитов через таймер? Можно например через событие атаки самим "целителем".
Если рядом с юнитом будет раненый союзник, то отдать приказ юзать в него хил.
Если хил с баффом, то можно заставить игнорировать юнитов с этим баффом.
Ещё лучше было бы забить кд, что бы пикк происходил только при атаках когда нету кд на скилле.
Например заносить "целителя" в группу на 10 сек (если кд равно 10 сек), и потом выгонять, а при атаке проверять что он НЕ находится в группе...
Так же можно сделать дополнительную фишку с приказом-вызовом хила (как у лунных колодцев).
При получении приказа смарт/мув/патруль на целителя, проверять сколько хп у инициатора, и самое главное - друг ли он ему (точнее считает ли сам целитеть этого юнита другом), тогда отдавать приказ использовать хилку.
Таким образом можно будет заставить хилить себя даже если это юнит другого игрока (союзника).
+ к этому было бы полезно сравнивать дистанцию получения приказа, а то если глобально клинкнуть - то он побежит к тебе через всю карту напролом, что не очень хорошо (достаточно думаю будет дистанции каста).