Сейчас 00:05:08 Пятница, 29 марта, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » игнорирование приказов
игнорирование приказов
AkcmДата: Понедельник, 02 Мая 2011, 17:57:11 | Сообщение # 1
5 уровень
Группа: Проверенные
Сообщений: 132
Награды: 0
Репутация: 11
Блокировки:
не подскажите, можно ли сделать триггер типа:

Юнит получает приказ

юнит получивший приказ - не герой

игнорирование приказа

заранее спасибо

 

Mep3aB4uKДата: Понедельник, 02 Мая 2011, 18:10:20 | Сообщение # 2
9 уровень
Группа: Проверенные
Сообщений: 1019
Награды: 0
Репутация: 135
Блокировки:
Akcm,
С: БЕ - Боевая еденица отдал приказ (цель - обьект)
БЕ - Боевая еденица отдал приказ (цель - точка)
БЕ - Боевая еденица отдал приказ (без указания цели)
У:((Ordered is unit) is Герой равно нет
Д:Боевая еденица - Order (Ordered unit) to Отставить
 

DragoNДата: Понедельник, 02 Мая 2011, 18:11:24 | Сообщение # 3
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
проверить самому религия не позволяет? avtorklif

El Psy Congroo
 

AkcmДата: Понедельник, 02 Мая 2011, 18:27:05 | Сообщение # 4
5 уровень
Группа: Проверенные
Сообщений: 132
Награды: 0
Репутация: 11
Блокировки:
биг спс, религия тут не причём, просто корявый перевод, если бы было БЕ - получен приказ, я бы вопросов не задавал, а так просто не понял кто там куда приказы отдаёт вот и спросил

Добавлено (02-05-2011, 18:27)
---------------------------------------------
я никогда не задаю вопросов пока не попробую сделать сам

 

FatalBladeДата: Понедельник, 02 Мая 2011, 22:27:07 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Мне тоже нужно что то типа того что нужно автору.
Вопрос по теме:

Quote (Mep3aB4uK)
С: БЕ - Боевая еденица отдал приказ (цель - обьект)
БЕ - Боевая еденица отдал приказ (цель - точка)
БЕ - Боевая еденица отдал приказ (без указания цели)
У:((Ordered is unit) is Герой равно нет
Д:Боевая еденица - Order (Ordered unit) to Отставить

"Отставить" это тоже приказ. Что если я хочу чтобы юнит проигнорировал приказы, и продолжал делать то что он делает. Ведь "Отставить" значит прекратить все действия. А мне нужно что бы "ничего не произошло", "ничкго не изменилось". Есть функция Do Nothing, но она не работает в данном случае, я уже проверял.




Сообщение отредактировал FatalBlade - Понедельник, 02 Мая 2011, 22:27:34
 

FkoFFДата: Понедельник, 02 Мая 2011, 22:30:09 | Сообщение # 6
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
FatalBlade, а что юнит должен делать вместо приказа?

 

FatalBladeДата: Понедельник, 02 Мая 2011, 22:41:44 | Сообщение # 7
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (FkoFF)
FatalBlade, а что юнит должен делать вместо приказа?

Продолжать предыдущие действие


 

lawsonДата: Понедельник, 02 Мая 2011, 23:36:43 | Сообщение # 8
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Quote (FatalBlade)
Есть функция Do Nothing, но она не работает в данном случае, я уже проверял.



Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Понедельник, 02 Мая 2011, 23:37:51
 

FkoFFДата: Вторник, 03 Мая 2011, 08:26:59 | Сообщение # 9
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (FatalBlade)
Продолжать предыдущие действие

поверь, это будет сложнее чем ты думаешь ) Записывать в хэш по хэндлу юнита последний отданый приказ и цель приказа, да еще и постоянно его отдавать повторно при попытке отдать другой призак, да еще и все что приказанно через Shift+click не будет работать корректно. Другого варианта нет. Если бы речь шла об атаке какого либо определенного юнита, без возможности отказаться от приказа - там надо каждые 0.х секунд приказывать этого юнита бить.


 

basher006Дата: Вторник, 03 Мая 2011, 10:08:23 | Сообщение # 10
6 уровень
Группа: Проверенные
Сообщений: 151
Награды: 0
Репутация: 9
Блокировки:
Проще какнибуть заберать контроль этим юнитом :)

BossFight_Arena. (Hero vs Boss)
Общая готовность демки: [||||||______] 35% - верменно заброшена
*без названия* зборник мини игр (на данный момент 8 in 1 )
Общая готовность [|||||||_____] 50%
 

Keeper_of_the_LifeДата: Вторник, 03 Мая 2011, 12:36:11 | Сообщение # 11
7 уровень
Группа: Проверенные
Сообщений: 467
Награды: 1
Репутация: 130
Блокировки:
Quote (FatalBlade)
Есть функция Do Nothing, но она не работает

Я вообще не понимаю для чего оздатели придумали эту функцию, она вообще ничено не делает.
Quote (FkoFF)
Продолжать предыдущие действие

Надо, как-то отследить предыдущее действие и заставить его делать это же.
 

sam-artДата: Среда, 04 Мая 2011, 00:47:01 | Сообщение # 12
8 уровень
Группа: Проверенные
Сообщений: 591
Награды: 0
Репутация: 145
Блокировки:
Quote (Keeper_of_the_Life)

Я вообще не понимаю для чего оздатели придумали эту функцию, она вообще ничено не делает.

if/then/else, И, ИЛИ.
 

FkoFFДата: Среда, 04 Мая 2011, 01:24:08 | Сообщение # 13
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
Quote (sam-art)
if/then/else, И, ИЛИ.

там можно пустые места оставлять.
Quote (Keeper_of_the_Life)
Надо, как-то отследить предыдущее действие и заставить его делать это же.

ну вообще как оказалось есть
Code
native GetUnitCurrentOrder          takes unit whichUnit returns integer

правда придется записывать после отдачи приказа и придется записывать цель.


 

FatalBladeДата: Среда, 04 Мая 2011, 15:32:28 | Сообщение # 14
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Keeper_of_the_Life)
Я вообще не понимаю для чего оздатели придумали эту функцию, она вообще ничено не делает.

Поидее что бы закрывать Ифы

Добавлено (04-05-2011, 15:32)
---------------------------------------------

Quote (Keeper_of_the_Life)
Надо, как-то отследить предыдущее действие и заставить его делать это же.

Не совсем. В таком случае, он просто сделает то же самое действие. Заново. А нужно что бы он ПРОДОЛЖИЛ ТЕКУЩЕЕ.


 

Keeper_of_the_LifeДата: Среда, 04 Мая 2011, 16:47:17 | Сообщение # 15
7 уровень
Группа: Проверенные
Сообщений: 467
Награды: 1
Репутация: 130
Блокировки:
Quote (FatalBlade)
Поидее что бы закрывать Ифы

Quote (FatalBlade)
там можно пустые места оставлять.

Я ничего там не пишу. Я вообще не использую Do nothing(Ничего не делать) ибо будет просто занимать место.
Quote (FatalBlade)
Не совсем. В таком случае, он просто сделает то же самое действие. Заново. А нужно что бы он ПРОДОЛЖИЛ ТЕКУЩЕЕ.

hmm
 

DreiiДата: Среда, 04 Мая 2011, 16:51:25 | Сообщение # 16
10 уровень
Группа: Проверенные
Сообщений: 4991
Награды: 0
Репутация: 603
Блокировки:
Записать последний приказ отменить отданый приказ запустить записанный приказ //

 

FatalBladeДата: Среда, 04 Мая 2011, 17:48:30 | Сообщение # 17
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (Dreii)
Записать последний приказ отменить отданый приказ запустить записанный приказ //

Quote (FatalBlade)
В таком случае, он просто сделает то же самое действие. Заново. А нужно что бы он ПРОДОЛЖИЛ ТЕКУЩЕЕ.

Мне кажется что то о чём я говорю вообще не возможно. Любая отдача приказа прекращает текущий приказ, прежде чем проверять новый приказ.

Quote (Keeper_of_the_Life)
Я ничего там не пишу. Я вообще не использую Do nothing(Ничего не делать) ибо будет просто занимать место.

Хм... ну наверно эту функцию не просто так придумали. Может как раз когда часто используешь пустые поля, то бывают лаги? И видимо поэтому надо указать программе "ничего не делать".

Quote (FkoFF)
native GetUnitCurrentOrder takes unit whichUnitreturns integer

А почему return integer? В данном случае ведь мы работаем с приказами, юнитами... Причём тут целочисленные числа?


 

SirNikolasДата: Среда, 04 Мая 2011, 18:22:27 | Сообщение # 18
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (FatalBlade)
Хм... ну, наверное, эту функцию не просто так придумали. Может, как раз когда часто используешь пустые поля, то бывают лаги? И, видимо, поэтому надо указать программе "ничего не делать".
Ничего подобного. "Ничего не делать" - это вызов функции, то есть нагрузка на процессор. Если тебе интересно, вот как она выглядит:
Code
function DoNothing takes nothing returns nothing
endfunction
А когда мы оставляем пустые поля, компьютер действительно ничего не будет делать.
Quote (FatalBlade)
А почему return integer? В данном случае ведь мы работаем с приказами, юнитами... Причём тут целочисленные числа?
Приказы (как, впрочем, и способности, и типы объектов) - это целочисленные. Выражаются шестизначными числами, как правило, начинаются на 85xxxx. Если хочешь убедиться, сделай вот такой триггер и проверь.
События:
Боевая единица - A unit Отдает приказ (цель - объект)
Боевая единица - A unit Отдает приказ (цель - точка)
Боевая единица - A unit Отдает приказ (без указания цели)
Действия:
Custom script: call BJDebugMsg(I2S(GetIssuedOrderId()))




Сообщение отредактировал SirNikolas - Среда, 04 Мая 2011, 18:22:46
 

FatalBladeДата: Среда, 04 Мая 2011, 18:47:37 | Сообщение # 19
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (SirNikolas)
Ничего подобного. "Ничего не делать" - это вызов функции, то есть нагрузка на процессор. Если тебе интересно, вот как она выглядит:
Code
function DoNothing takes nothing returns nothing
endfunction
А когда мы оставляем пустые поля, компьютер действительно ничего не будет делать.

Значит эта функция действительно бессмысленная?


 

SirNikolasДата: Среда, 04 Мая 2011, 18:57:23 | Сообщение # 20
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Да. Она была сделана для версии Редактора Reign of Chaos, в нем нельзя было делать несколько действий в If'е, а следовательно, оставлять пустые поля.
P. S. Еще есть забавная функция CommentString.


 

FatalBladeДата: Среда, 04 Мая 2011, 19:35:02 | Сообщение # 21
10 уровень
Группа: Проверенные
Сообщений: 1523
Награды: 0
Репутация: 439
Блокировки:
Quote (SirNikolas)
P. S. Еще есть забавная функция CommentString.

Вообщето она бывает нужна. Например когда у тебя очень большой триггер, так для себя между группами действий можно сделать разделительные полосы. :)


 

SirNikolasДата: Четверг, 05 Мая 2011, 11:22:53 | Сообщение # 22
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Ты не понял. "Comment" в GUI - это //обычный комментарий.
А я говорю о функции.


 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » игнорирование приказов
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz