как написать/сделать такую способность без костылей аналогичную
Пойми наконец, меню строительства заполняется у юнита, а не способности!!! Вот дашь ты юниту два меню строительства, в каждом из них всё равно будет один и тот же список, заполненный у юнита.
Через спеллбук твоя задача решается. Берётся один спеллбук, в него закладывается помимо всего прочего другой спеллбук, в котором другой спеллбук. Но в таком случае все эти спеллбуки будут иметь общее меню способностей, которое будет содержать способности всех трёх спеллбуков. Чтобы у каждого спеллбука было отдельное, а не общее меню, нужно поменять спеллбукам строки ID приказа на разные другие. Чтобы заполнить меню спеллбука не способностями, а юнитами и исследованиями, нажми в редакторе объектов Ctrl+D, станут видны равкоды всех объектов, это первые четыре символа в названии. Смотришь равкод нужной тебе вещи, например, у паладина равкод Hpal, потом в каком-то твоём спеллбуке выбираешь строку со способностями в спеллбуке, нажимаешь Shift+Enter, чтобы появилась строка ввода равкодов способностей, вместо них ставишь Hpal и проверяешь, как работает в игре.
Вообще что-то подобное уже делали, но я не помню чем закончилось...
Была такая карта для ландшафтеров, её поделили на квадраты и каждый желающий мог выбрать квадрат для заполнения. В какой-то момент интерес к проекту угас и карту забросили.
O_o... abs это откидывание знака, а modulo это остаток от деления
Ступил, никогда этот остаток от деления не требовался, из-за созвучности подумал про модуль)
Вроде бы видел в функциях варика modulo, но убедиться не могу, так как HDD решил выйти на пенсию. Специально под новую версию твоего Диабло взял SSD)
current_gold и players_count по умолчанию integer, то есть ты их как бы заранее перевёл в real.
( current_gold / players_count - per_player ) вычисляет остаток от деления количества золота, который игроку вернётся со следующей партией. Потом умножаешь остаток на количество игроков и вычитаешь из текущего золота, чтобы вычислить всё золото, которое игроки должны получить, то есть
diff = players_count * per_player
Ну вот добавишь 0.5, игроки получат по 2, то есть в сумме 12, а не 11.
Как бы не критично в ситуации с 11, но если, например, будет награда 9, то игроки получат всего 12, что в целом для команды выгоднее, если ластхитить будут не они, а Игрок 11.
Меню строительства делается юниту в редакторе объектов, когда заполняешь графу Зданий построено, возможно потребуется ещё классификацию Работник выставить, но это не точно. Иконка меню строительства меняется в зависимости от выставленой юниту расы.
Несколько меню строительства в других картах - это хитрый костыль, когда вторая иконка является пустышкой, при нажатии на неё происходит мгновенный морф в другого юнита с другим меню, либо блокирование для игрока одних зданий и разблокирование других, либо переключение на дамми.
Андрей.У.В., а чем тебе мой вариант не понравился? При Перевоплощении нельзя будет переключиться на другое здание, если начал исследование или тренировку.
Можешь сделать ежесекундный триггер, чтобы золото Игрока 12 распределялось между игроками. Ой, повторился! Извини, Kane, немножко другое сначала представил.
Только нужно придумать грамотную формулу распределения золота между игроками, чтобы без округлений.
Округление в игре просто отбрасывает дробную часть, если, например, играют шестеро, а бот получил за убийство 11 золота, то каждый из шести получит 1 золото, а 5 пропадёт.
Таким образом сначала тебе нужно раздать игрокам золото по формуле:
переменная = (Текущее золото Игрока 11) / (Количество играющих человек)
потом вычесть у Игрока 11 разданное золото:
(Текущее золото Игрока 11) - ( переменная Х (Количество играющих человек) )
Подозреваю, что он и так разберётся. Способов получить золото много, либо будет привязывать к событию Юнит Умирает, либо свою систему наград сделает, как и описано.
Можно сделать одно большое здание, а в него по центру вложить много крошечных, которые будут иметь такой же круг выбора, а переключаться между зданиями приказами:
Основным зданием является магазин, чтобы не было проблем с продажей в него предметов. Как убрать у крошечных зданий полоски здоровья, на сайте есть статья.
Мне наоборот подавляющее большинство кастомных способностей не нравится, а стандартные хотя бы работают чётко. Нравится в первую очередь сюжет, а хорошего геймплея крайне мало.
» WarCraft 3 / Колизей
» WarCraft 3 / Описание war3we
» WarCraft 3 / Как сделать телепортацию героев разных игроков в окне выбора?
» WarCraft 3 / Где находится Возможные способности строительство (альяс)/(орда)
Через спеллбук твоя задача решается. Берётся один спеллбук, в него закладывается помимо всего прочего другой спеллбук, в котором другой спеллбук. Но в таком случае все эти спеллбуки будут иметь общее меню способностей, которое будет содержать способности всех трёх спеллбуков. Чтобы у каждого спеллбука было отдельное, а не общее меню, нужно поменять спеллбукам строки ID приказа на разные другие. Чтобы заполнить меню спеллбука не способностями, а юнитами и исследованиями, нажми в редакторе объектов Ctrl+D, станут видны равкоды всех объектов, это первые четыре символа в названии. Смотришь равкод нужной тебе вещи, например, у паладина равкод Hpal, потом в каком-то твоём спеллбуке выбираешь строку со способностями в спеллбуке, нажимаешь Shift+Enter, чтобы появилась строка ввода равкодов способностей, вместо них ставишь Hpal и проверяешь, как работает в игре.
» WarCraft 3 / Идеальная система опыта и добычи золота в мультиплеере
» WarCraft 3 / Mdlvis не сохраняет прогресс
Но у тебя специфический случай.
» WarCraft 3 / Как установить в переменную полученное золото?
Ред. 8gabriel8
» WarCraft 3 / Как установить в переменную полученное золото?
Вроде бы видел в функциях варика modulo, но убедиться не могу, так как HDD решил выйти на пенсию. Специально под новую версию твоего Диабло взял SSD)
» WarCraft 3 / поднятие молнии в высоту
Ред. 8gabriel8
» WarCraft 3 / Как установить в переменную полученное золото?
( current_gold / players_count - per_player ) вычисляет остаток от деления количества золота, который игроку вернётся со следующей партией. Потом умножаешь остаток на количество игроков и вычитаешь из текущего золота, чтобы вычислить всё золото, которое игроки должны получить, то есть
diff = players_count * per_player
» WarCraft 3 / Как установить в переменную полученное золото?
» WarCraft 3 / Как установить в переменную полученное золото?
Как бы не критично в ситуации с 11, но если, например, будет награда 9, то игроки получат всего 12, что в целом для команды выгоднее, если ластхитить будут не они, а Игрок 11.
» WarCraft 3 / Хочу урезать W3 под Disciples/HOMM/King’s Bounty
Несколько меню строительства в других картах - это хитрый костыль, когда вторая иконка является пустышкой, при нажатии на неё происходит мгновенный морф в другого юнита с другим меню, либо блокирование для игрока одних зданий и разблокирование других, либо переключение на дамми.
» WarCraft 3 / Хочу урезать W3 под Disciples/HOMM/King’s Bounty
» WarCraft 3 / Хочу урезать W3 под Disciples/HOMM/King’s Bounty
При Перевоплощении нельзя будет переключиться на другое здание, если начал исследование или тренировку.
» WarCraft 3 / Как установить в переменную полученное золото?
Ой, повторился! Извини, Kane, немножко другое сначала представил.
Только нужно придумать грамотную формулу распределения золота между игроками, чтобы без округлений.
Округление в игре просто отбрасывает дробную часть, если, например, играют шестеро, а бот получил за убийство 11 золота, то каждый из шести получит 1 золото, а 5 пропадёт.
Таким образом сначала тебе нужно раздать игрокам золото по формуле:
» WarCraft 3 / Как установить в переменную полученное золото?
» WarCraft 3 / Как установить в переменную полученное золото?
» WarCraft 3 / Как установить в переменную полученное золото?
» WarCraft 3 / Хочу урезать W3 под Disciples/HOMM/King’s Bounty
» WarCraft 3 / Колизей
» Наследие Альянса / Саундтрек кампании. Часть 1.
Надо же, насколько чисто компьютеры теперь имитируют музыкальные инструменты!
» Наследие Альянса / Саундтрек кампании. Часть 1.
» WarCraft 3 / Вопрос к ландшафтерам - дюны