Добыча ресурсов нестандартными юнитами
Создал таких нестандартных юнитов (на основе их стандартных аналогов):
  • Светлячок
  • Древо жизни
  • Рудник
Хочу от них очевидного:
  1. Древо жизни оплетает рудник и тренирует светляков (без проблем).
  2. Рудник умеет "брать на борт" светляков чтобы они добывали золото (тоже без проблем).
  3. Светляки умеют добывать дерево стандартным способом (без проблем) и, ВНИМАНИЕ НАЧИНАЮТСЯ БАГИ, мог перейти в рудник при использовании способности "Добывать ресурсы" - вот тут проблема, при отдаче такого приказа, выводится сообщение "Рудник уже оплетён" и рабочий ничего не делает. В тоже время, если выделить светляка и просто нажать правой кнопкой на рудник, то не смотря на сообщение об ошибке и неприятный звук, светляк идёт в рудник добывать золото. Если удалить способность у светляка "Добывать ресурсы", то он тоже без проблем идёт в рудник добывать, но теперь он уже не умеет добывать дерево (обучить светляка бить по дереву и носить его к базе, как делает работник альянса, - не вариант).
Работаю в World Editor давно, так что давайте советы по сути.
Вариант изменить стандартного светляка и прочих юнитов - не подходит потому что это значит невозможность добавлять новые расы в карту.
Триггерное решение здесь будет не уместно, надеюсь, не нужно объяснять почему.
Буду очень рад даже за догадки или сырые идеи на тему как решить данную проблему. Потратил 2 дня на поиск причины, мозг кипит. Дайте направление, а там, я может и сам исправлю проблему.

Лучший ответ:
biridius, если это есть в РО, то прибегать к триггерам явно не обязательно.



Просмотров: 1 734

biridius #1 - 11 месяцев назад 0
у оплетенного рудника есть способность "добывать золото"
в ней в редакторе способностей указан тип юнита "светлячок" стандартный
т.е. только юнит указанный в способности может юзать этот рудник
можно попробовать триггером заменять ее на нестандартную со своим типом светляка
avuremybe #2 - 11 месяцев назад 2

biridius, если это есть в РО, то прибегать к триггерам явно не обязательно.
biridius #3 - 11 месяцев назад 0
avuremybe, придется перековыривать оплетение рудника деревом и создание стартовых юнитов, т.к. нужен нестандртный рудник
avuremybe #4 - 11 месяцев назад 0
biridius, почему нестандартный рудник? Просто поля в указанной тобой способности поправить. Рудник трогать не нужно.
woodser #5 - 11 месяцев назад (отредактировано ) 0
biridius:
у оплетенного рудника есть способность "добывать золото"
в ней в редакторе способностей указан тип юнита "светлячок" стандартный
т.е. только юнит указанный в способности может юзать этот рудник
можно попробовать триггером заменять ее на нестандартную со своим типом светляка
У моего рудника стоит соответствующая способность для моих светляков, это работает. Проблема в способности "Добывать ресурсы" светляка.
biridius:
avuremybe, придется перековыривать оплетение рудника деревом и создание стартовых юнитов, т.к. нужен нестандртный рудник
Уже давно сделано, без особых проблем.
avuremybe:
biridius, почему нестандартный рудник? Просто поля в указанной тобой способности поправить. Рудник трогать не нужно.
Вариант менять стандартных юнитов/способности недопустим в контексте моей проблемы. Нужно работать именно с нестандартными юнитами/способностями.
avuremybe #6 - 11 месяцев назад 2
Вариант менять стандартных юнитов/способности недопустим в контексте моей проблемы. Нужно работать именно с нестандартными юнитами/способностями.
<Ctrl>+<C>
<Ctrl>+<V>
woodser #7 - 11 месяцев назад 0
avuremybe:
Вариант менять стандартных юнитов/способности недопустим в контексте моей проблемы. Нужно работать именно с нестандартными юнитами/способностями.
<Ctrl>+<C>
<Ctrl>+<V>
Перечитайте статью внимательно ещё раз. Проблема в том, что после Ctrl+C, Ctrl+V не работает добыча ресурсов.
avuremybe #8 - 11 месяцев назад 2
woodser, ну это очевидно, ведь нужно ссылаться на то, что Вы создали.
woodser #9 - 11 месяцев назад 0
avuremybe:
woodser, ну это очевидно, ведь нужно ссылаться на то, что Вы создали.
Само собой все ссылки проставлены на новые объекты (кроме тех, которые на 100% совпадают с оригиналом, их не трогал, но не думаю, что что-то изменится если я просто заменю стандартную способность на абсолютно точно такую же нестандартную, которая нигде не упоминается).
KPOKODIL #10 - 11 месяцев назад 0
woodser, Попробуй так: Создай простенький триггер , который на событие "Юнит получает приказ " вывод название приказа игроку. После этого запусти мапу и потыкай своим светляком на рудник. Посмтри , что за приказ используется для этого действия . Далее , отливливаешь использование способности "добыча ресурсов" у твоего светляка , отменяешь ему текущий приказ , делаешь задержку в 0,01 сек и выдаешь приказ , который был получен ранее. Должно помочь.
woodser #11 - 11 месяцев назад 0
KPOKODIL:
woodser, Попробуй так: Создай простенький триггер , который на событие "Юнит получает приказ " вывод название приказа игроку. После этого запусти мапу и потыкай своим светляком на рудник. Посмтри , что за приказ используется для этого действия . Далее , отливливаешь использование способности "добыча ресурсов" у твоего светляка , отменяешь ему текущий приказ , делаешь задержку в 0,01 сек и выдаешь приказ , который был получен ранее. Должно помочь.
Мысль интересная, попробовал, приказ стандартный, как и должен быть - "smart". Немного поигравшись с этим триггером быстро понял, что это никак не решает проблему с самой способностью "Добывать ресурсы", которая должна корректно наводиться на рудник и деревья (в моём случае - рудник нельзя выбрать в качестве цели этой способности, выдаёт сообщение "Рудник уже оплетён" и курсор не меняет цвет при наведении на него, триггерно тут выкрутиться не выйдет).
KPOKODIL #12 - 11 месяцев назад 0
woodser, Смотри , есть 2 события - Юнит использует заклинание и Юнит начинает использовать заклинание . С помощью второго ты можешь отловить начало использования заклинания , а так же саму цель заклинания , т.е. рудник в твоём случае . Теперь у тебя есть юнит , кастовавший заклинание и цель. А дальше , все как я писал выше , отправляешь кастера в рудник триггерно , через приказ .
woodser #13 - 11 месяцев назад 0
KPOKODIL:
woodser, Смотри , есть 2 события - Юнит использует заклинание и Юнит начинает использовать заклинание . С помощью второго ты можешь отловить начало использования заклинания , а так же саму цель заклинания , т.е. рудник в твоём случае . Теперь у тебя есть юнит , кастовавший заклинание и цель. А дальше , все как я писал выше , отправляешь кастера в рудник триггерно , через приказ .
Это не отменяет сообщение с ошибкой и сопровождающий её звук и не устраняет проблему невозможности приказа добычи для рудника. Сейчас светляки и так идут в рудник по ПКМ, так что это решение просто ничего не фиксит.
alexprey #14 - 11 месяцев назад 0
На сколько я помню "добыча ресурсов" - это тоже способность у которой настраивается допустимая цель. И вроде бы даже есть способность "добыча ресурсов (дерево)". Но это не точно.
woodser #15 - 11 месяцев назад 0
alexprey:
На сколько я помню "добыча ресурсов" - это тоже способность у которой настраивается допустимая цель. И вроде бы даже есть способность "добыча ресурсов (дерево)". Но это не точно.
Допустимые цели этой способности - рудимент редактора объектов, они не устанавливают реальную цель. Привязка осуществляется на уровне ниже, куда доступа нет. Но на всякий я уже перебрал с десяток разных сочетаний допустимых целей. Спасибо.
PT153 #16 - 11 месяцев назад (отредактировано ) 0
Действительно, выдаёт ошибку, но у меня виспы идут вовнутрь и добывают золото.
А, это был обычный рудник.
А зачем создавать кастомный рудник?
С кастомным рудником тоже работает, но я ещё создал кастомный оплетённый рудник. Ошибка всё же выдаётся.
Я понял, о чём речь.
Райтклик работает, а вот приказ через саму способность "Собирать" - нет.
Да, это очень странно. Попробуйте создать кастомную способность "Собирать".
Или, как предлагали выше сделать триггерно. Если отдаётся приказ "Собирать", то без всякой паузы отдавайте приказ "smart".
А последнее не работает. :c
DemonoiD #17 - 11 месяцев назад 0
А что, если светлячку дать две способности "собирать"? Оставляем стандартную + добавляем способность добывать дерево - нежить.
А потом резко в игре их отбираем или прокручиваем какую-нибудь нестандартную дичь.