Добавлен
Возможно ли записать приказ в переменную. То есть на пример персонаж выполняет действие.Сохранить это действие( атака,сбор золота) А потом через переменную приказать вернуться к этому действию?

ну я не совсем понимаю что вы хотите сделать, но допустим рассмотрим такую ситуацию:
у меня рабочий добывает дерево и бегает по кд от дерева к лесопилке, через GetUnitCurrentOrder узнаём текущий приказ у бнита скорее всего это будут цифры, но стрингом возможно и Harvest
У моего героя есть способность, Рабы убейте врага, как только я её применяю вокруг вражеского героя появляется 5 случайных рабов из всех моих возможных, но перед тем как их призвать я заношу в некую переменную возможно в хештаблицу или в массив текущий приказ, и получаю 5 приказов, кто-то добывал ресурсы, кто-то строил кто-то дрался, кто-то спал и кто-то мамку твою.. Хмм простите... И отдаю им приказ атаковать, как только цель мертва, я возвращаю рабов на текующую позицию где они были, и отдаю им сохранённый приказ, но отдаю куда? в случае движение я должен сохранить точку, в случае добычи ресурсов - дерево, в случае стройки - здание.... это всё нужно будет расписать, потому что приказы бавают 3 типов, на виджет, без цели и в позицию ХУ, то есть в точку...
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
Похожие вопросы:

ответ
~8gabriel8:
Вот что есть по первой ссылке в поиске Google:
ответ
Steal nerves:
Не могу найти в списке функций GetConstructingUnit или что нибудь такое.
ApaxHoqpuJL, как не можешь. там в гуи есть такие только без Get. эта переменная на jass.

ApaxHoqpuJL, еще можно запретить строить на начальном этапе - проверить приказ стройки. проверяешь какое здание строит. id приказ => id здание.
во время события приказа в точку можно отдать приказ стоп, однако, "stop" не может сбить приказ в точку (даже стоп не помогает, не знаю почему. юнит просто бежит выполнять приказ в точку. замечал два раза такое).
Он просто не сбивает. Решение находил такое: я отдавал приказ двигаться в тек позицию юнита, и юнит останавливался и не бежал туда. Единственное, что замечано - что статические повороты делает, хотя не так существенно.
call IssuePointOrder(GetTriggerUnit(), "move", GetUnitX(GetTriggerUnit()), GetUnitY(GetTriggerUnit()) )
позже нашел другой способ у СССР-а - пауза. не делает развороты не нужные
сall PauseUnit(GetTriggerUnit(), true) //<= вкл паузу
call IssueImmediateOrder(GetTriggerUnit(), "stop")
сall PauseUnit(GetTriggerUnit(), false) //<= выкл паузу
и одновременно выдать текстовое оповещение игроку: "вы это здание не можете строить"
ответ
constant integer ORDER_wandillusion=852274
ответ
WAGARAX, способности не сбивающие текущий приказ, их штук 7 на весь варкравт, все эти абилки без указания цели. Виндвалк, берсерк, божественный щит, иммолейшин, щит маны и все прочие щиты на вкл\выкл.
ответ
не совсем понятно чего вы добиваетесь
перемещение юнита через сет позишн сбивает текущие приказы, а так же есть такая вещь как
native GetUnitCurrentOrder takes unit whichUnit returns integer
так что сабж не ясен

27
возможно, но зависит от того что хотите сделать
4
Steal nerves:
возможно, но зависит от того что хотите сделать
Зписать приказ, а потом чтобы после применения спосоюки он возвращался к сохраненному приказу.Не могу понять как возвращать приказ из переменной?
26
Валерия, Steal nerves имел ввиду, что существует три типа приказов и несколько их разновидностей. То, что вы просите, в идеальном виде делать весьма муторно, потому может есть какой-то путь полегче. Например, чтобы сохранить приказ цель-объект и цель-точка нужно заранее их сохранять в момент получения, потому что иначе цель приказа не получить. Нужно различать тип приказа для объекта - юнит, декорация, предмет. А может вам просто надо, чтобы крипы волны продолжали своё патрулирование, либо движение, нападая на противников. Это очень сильно облегчает задачу.
4
8gabriel8:
Валерия, Steal nerves имел ввиду, что существует три типа приказов и несколько их разновидностей. То, что вы просите, в идеальном виде делать весьма муторно, потому может есть какой-то путь полегче. Например, чтобы сохранить приказ цель-объект и цель-точка нужно заранее их сохранять в момент получения, потому что иначе цель приказа не получить. Нужно различать тип приказа для объекта - юнит, декорация, предмет. А может вам просто надо, чтобы крипы волны продолжали своё патрулирование, либо движение, нападая на противников. Это очень сильно облегчает задачу.
Переменная порядок - сохраняет приказ( атаковать идти и прочее)
А как теперь эту переменную вставить в действие,если там просто нет дырки для этого?
33
ну я не совсем понимаю что вы хотите сделать, но допустим рассмотрим такую ситуацию:
у меня рабочий добывает дерево и бегает по кд от дерева к лесопилке, через GetUnitCurrentOrder узнаём текущий приказ у бнита скорее всего это будут цифры, но стрингом возможно и Harvest
У моего героя есть способность, Рабы убейте врага, как только я её применяю вокруг вражеского героя появляется 5 случайных рабов из всех моих возможных, но перед тем как их призвать я заношу в некую переменную возможно в хештаблицу или в массив текущий приказ, и получаю 5 приказов, кто-то добывал ресурсы, кто-то строил кто-то дрался, кто-то спал и кто-то мамку твою.. Хмм простите... И отдаю им приказ атаковать, как только цель мертва, я возвращаю рабов на текующую позицию где они были, и отдаю им сохранённый приказ, но отдаю куда? в случае движение я должен сохранить точку, в случае добычи ресурсов - дерево, в случае стройки - здание.... это всё нужно будет расписать, потому что приказы бавают 3 типов, на виджет, без цели и в позицию ХУ, то есть в точку...
Принятый ответ
26
Он имеет ввиду, что в GUI действие для приказов не предусматривает использования переменных:
В таком случае могу опять же предложить JNGP:
Либо Custom Script:
call IssuePointOrderByIdLoc( gg_unit_Hblm_0001, udg_order, udg_location )
Загруженные файлы
28
Недавно писал одному товарищу систему сохранения приказов на ГУИ (почти), чтобы юнит продолжал выполнять предыдущий приказ после замены.
Нужен JNGP, ибо необходим JassHelper.
Загруженные файлы
28
очередь приказов обрабатывает?
Запоминает только последний отданный.
Но вообще эта система не нужна, есть морфы, там всё нативно сохраняется.
26
Мне кажется, что всё равно здесь скорее недостаточный опыт работы с триггерными приказами, чем острая необходимость воспроизводить предыдущий приказ. Например, если это триггерный приказ без цели, то можно активировать его горячей клавишей, чтобы не сбить очередь приказов. Либо запаузить юнита и сделать прозрачным, на его месте поставить такого же дамми, который выполнит приказ, а потом снять паузу.
4
Не он, а она. Просто персонаж сперва делает действие,потом Выполняет заклинание,потом стоять( потому что заклинание это кнопка,которую можно прервать только коммандой стоять) А потом я хочу вернуться к действию в самом начале
Чтобы оставить комментарий, пожалуйста, войдите на сайт.