27

» WarCraft 3 / Блокировка приказов

Принятый ответ
у меня есть система, но она д+рьмовая.
Во-первых, для каждого нужно сохранять текущие приказы и цели. Чтобы при отдаче приказа юнит не слушался хозяина и продолжал делать свои дела. Вроде пока справляемся с идеей, можно все сохранить в переменные (правда, занудно). Но изначально, нужно сохранять приказ стоп, а то в ячейке пустует и он ничего не делает. Во-вторых, события приказов срабатывают намного раньше, чем он начинает делать. То есть, если дать сразу в этот момент еще один приказ, то ничего не будет, ибо начинает выполнять текущий. И получается, что нужно делать задержку в 0.00. То есть не получится так что сразу. Не понимаю вот, почему близзарды не сделали, чтоб сразу. И в третьих, зацикливание может привести к вылету, нужно отключать, отдавать приказ, и включать триггер. Короче это нафиг никому не нужное, он успевает сделать что-то, немножко отбежать туда - куда ему игрок указал. Делал на скорую руку.
ой немного недоработанную выложил, там вэйт включите. удалите двойной слэш
xgm.guru/forum/showthread.php?t=39525 тут скока способов. Е-мое
xgm.guru/forum/showthread.php?t=39004 тут твой ответ (см. ответ Александра).
Прошу прощения, оказалось, что вэйт лучше не использовать. Вместо него таймер используйте, так как с помощью таймера приказ отдается сразу. Скину другую наработку Block of orders Upgraid
Загруженные файлы
27

» WarCraft 3 / Не выводится игровой текст

DesiMorti, у тебя в группах есть вэйт? Недавно на сайте xgm делал одному парню наработку, а там часть действии в ForGroup не выполнялось. Дебагом проверял. И понял, что не выполняется после определенных действии. Не понимал я почему. Убирал одну функцию - вэйт. И заработало. А то дальше после вэйта код не работал. ForGroup + вэйт не совместимы
27

» WarCraft 3 / Не выводится игровой текст

скорее всего обрывается поток (обрыв может быть еще из-за лимита операции, поищи на сайте. Еще некоторые команды могут обрывать поток, например вэйт. Вэйт работает в действии, а в других частях кода не работает), или логическая ошибка в условии (мб условие не прокатывает, это к примеру). Скорее всего обрыв потока, у тебя триггер Destroy Temp_player_group длинный? триггеров много? советую разбить на части или ищи статью на сайте на лимит операции
ищи лучше через гугл. а то на этом сайте поиск плохой, поломан. Например: "лимит операции xgm" сразу находит нужные темы
27

» WarCraft 3 / Есть какя нить функция или еще что либо которая позволила бы узн

ssbbssc, ну и у юнита можно, при покупке даешь голды 15 игроку, запоминаешь сколько в переменную, покупаешь его в магазине. Есть нативка. Драколич вроде другое имел в виду.
нативки с приказами
строительство в точку
заставляет юнита строить определенное здание в точке (у нежити с этим проблемы, точнее с рудником)
native IssueBuildOrder takes unit whichPeon, string unitToBuild, real x, real y returns boolean
native IssueBuildOrderById takes unit whichPeon, integer unitId, real x, real y returns boolean
чтобы возвести сплетенный рудник эльфов или проклятый рудник нежити вроде используют IssueTargetOrderById, наводя на рудник
function IssueBuildOrderByIdLocBJ takes unit whichPeon, integer unitId, location loc returns boolean
if (unitId == 'ugol') then проклятый рудник
return IssueHauntOrderAtLocBJ(whichPeon, loc)
else
return IssueBuildOrderById(whichPeon, unitId, GetLocationX(loc), GetLocationY(loc))
endif
endfunction
стандартные приказы
применяет абилки без цели, нанимает (тренирует) войска, улучшает здания и проводит исследования
native IssueImmediateOrder takes unit whichUnit, string order returns boolean
native IssueImmediateOrderById takes unit whichUnit, integer order returns boolean
применяет приказы в точку
native IssuePointOrder takes unit whichUnit, string order, real x, real y returns boolean
native IssuePointOrderById takes unit whichUnit, integer order, real x, real y returns boolean
native IssuePointOrderLoc takes unit whichUnit, string order, location whichLocation returns boolean
native IssuePointOrderByIdLoc takes unit whichUnit, integer order, location whichLocation returns boolean
применяет приказы в цель (в качестве цели могут быть юниты, предметы, декорации - деревья)
native IssueTargetOrder takes unit whichUnit, string order, widget targetWidget returns boolean
native IssueTargetOrderById takes unit whichUnit, integer order, widget targetWidget returns boolean
по дереву и золоту:
"harvest" - добывать ресурсы
"eattree" - съесть дерево
"grabtree" - вырвать дерево
"sentinel" - сторожевая сова
необычные приказы
ИСПОЛЬЗОВАНИЕ instantTargetWidget на цель targetWidget
native IssueInstantTargetOrder takes unit whichUnit, string order, widget targetWidget, widget instantTargetWidget returns boolean
native IssueInstantTargetOrderById takes unit whichUnit, integer order, widget targetWidget, widget instantTargetWidget returns boolean
Объяснение: на примере IssueInstantTargetOrder, заставляет юнита whichUnit использовать приказ order на targetWidget с помощью instantTargetWidget
Пример: есть приказ на гуи "dropitem" передать targetWidget итем instantTargetWidget или использовать какое-нибудь заклинание предмета на него
order_dropitem = 852001
С таким же успехом можно юзать итем на цель
ИСПОЛЬЗОВАНИЕ instantTargetWidget в точку
native IssueInstantPointOrder takes unit whichUnit, string order, real x, real y, widget instantTargetWidget returns boolean
native IssueInstantPointOrderById takes unit whichUnit, integer order, real x, real y, widget instantTargetWidget returns boolean
Объяснение: на примере IssueInstantPointOrder, заставляет юнита whichUnit использовать приказ order в точку (x,y) или что-то сделать в точке с помощью instantTargetWidget
Пример: к примеру есть приказ на гуи "dropitem" выбросить предмет targetWidget или приказ использовать итем instantTargetWidget в точку
order_dropitem = 852001

http://xgm.guru/p/wc3/warden-buyitem

юнит передает предмет цели target (можно так и продать в магазин, если магазин будет целью)
native UnitDropItemTarget takes unit whichUnit, item whichItem, widget target returns boolean
перемещает предмет в слот (если там был слот занят, то меняет местами). Иногда можно перемещать исчезнутые итемы в слот (например, они невидимы, заставляем их переместить в слот, и становятся видимы).
native UnitDropItemSlot takes unit whichUnit, item whichItem, integer slot returns boolean
юзаем предмет
native UnitUseItem takes unit whichUnit, item whichItem returns boolean
юзаем предмет в цель (в качестве цели могут быть юнит, итем. декорация)
native UnitUseItemTarget takes unit whichUnit, item whichItem, widget target returns boolean
юзаем предмет в точку
native UnitUseItemPoint takes unit whichUnit, item whichItem, real x, real y returns boolean
852002 to 852007 (moveslot): Эти приказы перемещают указанный предмет в соответствующий слот инвентаря героя, отдавшего приказ. Идентификатор 852002 переместит предмет в первый слот, идентификатор 852003 – во второй и т.д. Можно с помощью IssueInstantTargetOrderById перетащить итем самому себе.
852008 to 852013 (useslot): Заставляют героя, отдавшего приказ, использовать предмет, находящийся в соответствующем слоте инвентаря. Идентификатор 852008 использует предмет в первом слоте, идентификатор 852009 – во втором и т.д.
дропают предмет в точку (на землю короче выкидываем)
native UnitDropItemPoint takes unit whichUnit, item whichItem, real x, real y returns boolean
МАНИПУЛЯЦИИ С ПРЕДМЕТОМ (не приказы)
даем итем (не создаем !!!)
native UnitAddItem takes unit whichUnit, item whichItem returns boolean
создаем итем определенного типа
native UnitAddItemById takes unit whichUnit, integer itemId returns item
создаем итем определенного типа в определенный слот
native UnitAddItemToSlotById takes unit whichUnit, integer itemId, integer itemSlot returns boolean
удаляем итем
native UnitRemoveItem takes unit whichUnit, item whichItem returns nothing
удаляем итем с определенного слота
native UnitRemoveItemFromSlot takes unit whichUnit, integer itemSlot returns item
размер инвентаря
native UnitInventorySize takes unit whichUnit returns integer
итем в слоте
native UnitItemInSlot takes unit whichUnit, integer itemSlot returns item
иммитация
как понял ниже три заставляют не только продавать/покупать. но и делать действия от имени игрока
иммитация от имени игрока - нанимать войска, которые есть в наличии у лагеря
native IssueNeutralImmediateOrder takes player forWhichPlayer, unit neutralStructure, string unitToBuild returns boolean
native IssueNeutralImmediateOrderById takes player forWhichPlayer,unit neutralStructure, integer unitId returns boolean
Объяснение: IssueNeutralImmediateOrder это иммитация приказа, заставляет нейтральное здание neutralStructure (чаще всего магазин) от имени игрока forWhichPlayer нанимать войска
иммитация от имени игрока - заставляет купить/продать выбранную цель
native IssueNeutralTargetOrder takes player forWhichPlayer,unit neutralStructure, string unitToBuild, widget target returns boolean
native IssueNeutralTargetOrderById takes player forWhichPlayer,unit neutralStructure, integer unitId, widget target returns boolean
иммитация от имени игрока - заставляет что-то делать с точкой (непонятная нативка). Думаю, эта штука вроде типа помогает разведку делать. Помните, у гоблина можно разведку делать
native IssueNeutralPointOrder takes player forWhichPlayer,unit neutralStructure, string unitToBuild, real x, real y returns boolean
native IssueNeutralPointOrderById takes player forWhichPlayer,unit neutralStructure, integer unitId, real x, real y returns boolean
если у вас расшарен общий контроль это поможет например синему купить что-то у красного. хотя не всегда работает. Не путайте покупку и тренировку
851971 (smart): Приказ (цель-точка или цель-объект), аналог правой клавиши мыши.
852000 (skillmenu): Приказ (без указания цели), при выполнении которого открывается меню навыков героев. Если же триггерно заставить выполнить этот приказ обычную боевую единицу, то исчезнет ее карта команд, которая возвратится, если выбрать боевую единицу.
851994 (buildmenu): Приказ (без указания цели), открывающий меню строительства воина, способного возводить здания.
851973 (stunned): Этот приказ отдается боевым единицам, подвергшимся оглушающим способностям, таким как ‘AOws’ (Громовая поступь), лишая их возможности двигаться и атаковать.
По сути совет правильный, но приказ (имеется в виду skillmenu) указан неверно: OrderId("attributemodskill") = 852576
выучить навык
native SelectHeroSkill takes unit whichHero, integer abilcode returns nothing
ГРУППЫ - ОТРЯДЫ
заставляет отряд применять приказ
native GroupImmediateOrder takes group whichGroup, string order returns boolean
native GroupImmediateOrderById takes group whichGroup, integer order returns boolean
отряду приказ в цель
native GroupTargetOrder takes group whichGroup, string order, widget targetWidget returns boolean
native GroupTargetOrderById takes group whichGroup, integer order, widget targetWidget returns boolean
заставляет отряд использовать приказ в точку
native GroupPointOrder takes group whichGroup, string order, real x, real y returns boolean
native GroupPointOrderById takes group whichGroup, integer order, real x, real y returns boolean
native GroupPointOrderLoc takes group whichGroup, string order, location whichLocation returns boolean
native GroupPointOrderByIdLoc takes group whichGroup, integer order, location whichLocation returns boolean
27

» WarCraft 3 / Есть ли функция, которая возвращает стоимость юнита?

ssbbssc, ну и у юнита можно, при покупке даешь голды 15 игроку, запоминаешь сколько в переменную, покупаешь его в магазине. Есть нативка. Драколич вроде другое имел в виду.
нативки с приказами
строительство в точку
заставляет юнита строить определенное здание в точке (у нежити с этим проблемы, точнее с рудником)
native IssueBuildOrder takes unit whichPeon, string unitToBuild, real x, real y returns boolean
native IssueBuildOrderById takes unit whichPeon, integer unitId, real x, real y returns boolean
чтобы возвести сплетенный рудник эльфов или проклятый рудник нежити вроде используют IssueTargetOrderById, наводя на рудник
function IssueBuildOrderByIdLocBJ takes unit whichPeon, integer unitId, location loc returns boolean
if (unitId == 'ugol') then проклятый рудник
return IssueHauntOrderAtLocBJ(whichPeon, loc)
else
return IssueBuildOrderById(whichPeon, unitId, GetLocationX(loc), GetLocationY(loc))
endif
endfunction
стандартные приказы
применяет абилки без цели, нанимает (тренирует) войска, улучшает здания и проводит исследования
native IssueImmediateOrder takes unit whichUnit, string order returns boolean
native IssueImmediateOrderById takes unit whichUnit, integer order returns boolean
применяет приказы в точку
native IssuePointOrder takes unit whichUnit, string order, real x, real y returns boolean
native IssuePointOrderById takes unit whichUnit, integer order, real x, real y returns boolean
native IssuePointOrderLoc takes unit whichUnit, string order, location whichLocation returns boolean
native IssuePointOrderByIdLoc takes unit whichUnit, integer order, location whichLocation returns boolean
применяет приказы в цель (в качестве цели могут быть юниты, предметы, декорации - деревья)
native IssueTargetOrder takes unit whichUnit, string order, widget targetWidget returns boolean
native IssueTargetOrderById takes unit whichUnit, integer order, widget targetWidget returns boolean
по дереву и золоту:
"harvest" - добывать ресурсы
"eattree" - съесть дерево
"grabtree" - вырвать дерево
"sentinel" - сторожевая сова
необычные приказы
ИСПОЛЬЗОВАНИЕ instantTargetWidget на цель targetWidget
native IssueInstantTargetOrder takes unit whichUnit, string order, widget targetWidget, widget instantTargetWidget returns boolean
native IssueInstantTargetOrderById takes unit whichUnit, integer order, widget targetWidget, widget instantTargetWidget returns boolean
Объяснение: на примере IssueInstantTargetOrder, заставляет юнита whichUnit использовать приказ order на targetWidget с помощью instantTargetWidget
Пример: есть приказ на гуи "dropitem" передать targetWidget итем instantTargetWidget или использовать какое-нибудь заклинание предмета на него
order_dropitem = 852001
С таким же успехом можно юзать итем на цель
ИСПОЛЬЗОВАНИЕ instantTargetWidget в точку
native IssueInstantPointOrder takes unit whichUnit, string order, real x, real y, widget instantTargetWidget returns boolean
native IssueInstantPointOrderById takes unit whichUnit, integer order, real x, real y, widget instantTargetWidget returns boolean
Объяснение: на примере IssueInstantPointOrder, заставляет юнита whichUnit использовать приказ order в точку (x,y) или что-то сделать в точке с помощью instantTargetWidget
Пример: к примеру есть приказ на гуи "dropitem" выбросить предмет targetWidget или приказ использовать итем instantTargetWidget в точку
order_dropitem = 852001

http://xgm.guru/p/wc3/warden-buyitem

юнит передает предмет цели target (можно так и продать в магазин, если магазин будет целью)
native UnitDropItemTarget takes unit whichUnit, item whichItem, widget target returns boolean
перемещает предмет в слот (если там был слот занят, то меняет местами). Иногда можно перемещать исчезнутые итемы в слот (например, они невидимы, заставляем их переместить в слот, и становятся видимы).
native UnitDropItemSlot takes unit whichUnit, item whichItem, integer slot returns boolean
юзаем предмет
native UnitUseItem takes unit whichUnit, item whichItem returns boolean
юзаем предмет в цель (в качестве цели могут быть юнит, итем. декорация)
native UnitUseItemTarget takes unit whichUnit, item whichItem, widget target returns boolean
юзаем предмет в точку
native UnitUseItemPoint takes unit whichUnit, item whichItem, real x, real y returns boolean
852002 to 852007 (moveslot): Эти приказы перемещают указанный предмет в соответствующий слот инвентаря героя, отдавшего приказ. Идентификатор 852002 переместит предмет в первый слот, идентификатор 852003 – во второй и т.д. Можно с помощью IssueInstantTargetOrderById перетащить итем самому себе.
852008 to 852013 (useslot): Заставляют героя, отдавшего приказ, использовать предмет, находящийся в соответствующем слоте инвентаря. Идентификатор 852008 использует предмет в первом слоте, идентификатор 852009 – во втором и т.д.
дропают предмет в точку (на землю короче выкидываем)
native UnitDropItemPoint takes unit whichUnit, item whichItem, real x, real y returns boolean
МАНИПУЛЯЦИИ С ПРЕДМЕТОМ (не приказы)
даем итем (не создаем !!!)
native UnitAddItem takes unit whichUnit, item whichItem returns boolean
создаем итем определенного типа
native UnitAddItemById takes unit whichUnit, integer itemId returns item
создаем итем определенного типа в определенный слот
native UnitAddItemToSlotById takes unit whichUnit, integer itemId, integer itemSlot returns boolean
удаляем итем
native UnitRemoveItem takes unit whichUnit, item whichItem returns nothing
удаляем итем с определенного слота
native UnitRemoveItemFromSlot takes unit whichUnit, integer itemSlot returns item
размер инвентаря
native UnitInventorySize takes unit whichUnit returns integer
итем в слоте
native UnitItemInSlot takes unit whichUnit, integer itemSlot returns item
иммитация
как понял ниже три заставляют не только продавать/покупать. но и делать действия от имени игрока
иммитация от имени игрока - нанимать войска, которые есть в наличии у лагеря
native IssueNeutralImmediateOrder takes player forWhichPlayer, unit neutralStructure, string unitToBuild returns boolean
native IssueNeutralImmediateOrderById takes player forWhichPlayer,unit neutralStructure, integer unitId returns boolean
Объяснение: IssueNeutralImmediateOrder это иммитация приказа, заставляет нейтральное здание neutralStructure (чаще всего магазин) от имени игрока forWhichPlayer нанимать войска
иммитация от имени игрока - заставляет купить/продать выбранную цель
native IssueNeutralTargetOrder takes player forWhichPlayer,unit neutralStructure, string unitToBuild, widget target returns boolean
native IssueNeutralTargetOrderById takes player forWhichPlayer,unit neutralStructure, integer unitId, widget target returns boolean
иммитация от имени игрока - заставляет что-то делать с точкой (непонятная нативка). Думаю, эта штука вроде типа помогает разведку делать. Помните, у гоблина можно разведку делатьДумаю, эта штука вроде типа помогает разведку делать. Помните, у гоблина можно разведку делать
native IssueNeutralPointOrder takes player forWhichPlayer,unit neutralStructure, string unitToBuild, real x, real y returns boolean
native IssueNeutralPointOrderById takes player forWhichPlayer,unit neutralStructure, integer unitId, real x, real y returns boolean
если у вас расшарен общий контроль это поможет например синему купить что-то у красного. хотя не всегда работает. Не путайте покупку и тренировку
851971 (smart): Приказ (цель-точка или цель-объект), аналог правой клавиши мыши.
852000 (skillmenu): Приказ (без указания цели), при выполнении которого открывается меню навыков героев. Если же триггерно заставить выполнить этот приказ обычную боевую единицу, то исчезнет ее карта команд, которая возвратится, если выбрать боевую единицу.
851994 (buildmenu): Приказ (без указания цели), открывающий меню строительства воина, способного возводить здания.
851973 (stunned): Этот приказ отдается боевым единицам, подвергшимся оглушающим способностям, таким как ‘AOws’ (Громовая поступь), лишая их возможности двигаться и атаковать.
По сути совет правильный, но приказ (имеется в виду skillmenu) указан неверно: OrderId("attributemodskill") = 852576
выучить навык
native SelectHeroSkill takes unit whichHero, integer abilcode returns nothing
ГРУППЫ - ОТРЯДЫ
заставляет отряд применять приказ
native GroupImmediateOrder takes group whichGroup, string order returns boolean
native GroupImmediateOrderById takes group whichGroup, integer order returns boolean
отряду приказ в цель
native GroupTargetOrder takes group whichGroup, string order, widget targetWidget returns boolean
native GroupTargetOrderById takes group whichGroup, integer order, widget targetWidget returns boolean
заставляет отряд использовать приказ в точку
native GroupPointOrder takes group whichGroup, string order, real x, real y returns boolean
native GroupPointOrderById takes group whichGroup, integer order, real x, real y returns boolean
native GroupPointOrderLoc takes group whichGroup, string order, location whichLocation returns boolean
native GroupPointOrderByIdLoc takes group whichGroup, integer order, location whichLocation returns boolean
27

» WarCraft 3 / Есть какя нить функция или еще что либо которая позволила бы узн

недавно задавали такой вопрос "как узнать стоимость " можно продать
нечто похожее помню было с итемами, даешь dummy и продаешь предмет в магазин
27

» WarCraft 3 / Есть какя нить функция или еще что либо которая позволила бы узн

нативок таких нет. поэтому стандартным способом никак.
только костыльным можно забить базу данных
  1. можно использовать поля объектов. Например, уровень предмета, хп-предмета. Их в редакторе объектов забиваем заранее. Там можно узнать стоимость и др. Смотри какие поля можно использовать, часто в игре остается много не используемых полей. Еще есть у предметов и у юнитов не используемое поле CustomValue. Его вот триггерно забиваем значениями.
  2. или использовать ячейки хэш-таблицы, переменные, массивы и др. По ключу можно забить равкод или хэндл. Или еще как-нибудь.
Суффикс не получится использовать, но если так уж хочется, то можно использовать текст, ну например, название юнита: "Ферма +1", "+1" можно было бы как-нибудь спрятать. Не знаю можно ли скрыть. Ну из строки доставать значение. Кстати имя можно изменять будет.
27

» WarCraft 3 / вопрос по спеллам

Принятый ответ
как отследить? так таймер + проверка расстояния
там каждую секунду сначала двигают к цели, потом проверяют расстояние. Если расстояние между снарядом и целью меньше чем n, то дамажим.
Ищи наработку на слово arrow, вот скинул пару. только не помню, jass там или гуи. не открывал
что за название темы? и есть для этого специальная тема
Загруженные файлы
27

» WarCraft 3 / Добавление в группу юнитов с "Москитами"

была тема о том что нативки которые начинают с GroupEnum....могут не выделять москитов в группу, третий коммент выше - рабочий вариант. Пикаем всех dummy, и даем москитов после того, как добавили в группу.
правда, не все функции. посмотрите код/карту внимательно, сюда добавил все существующие в варе пики и проверял xgm.guru/p/wc3/187447?postid=345848#comment10
с помощью тех нативок GroupEnum..., которые ловят москитов, нельзя указать радиус. Поэтому делаем такую вещь - используем фильтр. Фильтр отсеивает не нужных. Короче берет всех кто попал в круг вокруг цели, и фильтром отсеивает. Если вернет true, то юнита зачисляют в группу, иначе отсеивают. можно проверять с помощью xgm.guru/p/wc3/iscoordsincircle прописываем в нем эту функцию
27

» WarCraft 3 / Предметы (триггер)

datar1231, нее. это просто плагин, снимает кучу ограничении и дает новые гуишные команды триггерам. А вот у обычного редактора стоят ограничения, когда он пробует открыть карту (а в ней допустим сняты ограничение на декор, на ландшафт, и др. есть непонятная функция. У меня карта пустая, только триггеры, одну нестандартную гуишную функцию ввел, но стандартный редактор не может распознать функцию. и поэтому не открывает. у тебя плагин отключен, я с этим знаком - также было. там может не запуститься из-за ОС и других непонятных ситуации - решение смотри на странице нового JNGP ) . вот переделал.
Загруженные файлы
27

» WarCraft 3 / Вторая кнопка "Построить"

вторая 2 кнопка строить, построить
хотите больше 12 зданий , то юзайте канал +способность от игрушечная ферма / игрушечная башня / шкатулка вождей. Можно использовать dummy-юнитов, создавать предметы и каставать.
умолчу, изобретение бреда
  1. Можно подогнать строящие участки (типа маленький квадратик - башни, квадратик побольше - фермы, еще больше - бараки и др.). Там когда выбираешь, там просто пустой dummy-юнит без модели, у него площадка зеленым подсвечено.
  2. Под эту площадку подбираешь здание.
  3. Жаль, невозможно подобрать указывающая на цель способность с ресурсами, нельзя. Можно было на участок определить. Хотел конечно юзнуть такую штуку как способность "поставка ресурсов", но с разными id-приказами. Параллельно с этим будет канал без иконки (выключена "Изображение"), но будет одинаковый приказ. Хотел как-то связать канал + поставка ресурсов. Когда жмешь на поставку ресурсов, там срабатывает приказ, приказ от поставки ресурсов одинаков с каналом, то активирует канал. Канал должен показать указатель цели. Кажется не заработает это
  1. А строит еще один дамми-юнит, нет который зеленый, а другой. Строить будет через приказ. Приказы имеют свойство возвращать булеан. Если строить можно, то сам приказ вернет истину, иначе ложь. Там у даймика все прописано.
27

» WarCraft 3 / Как запретить обмениваться ресурсами между игроками-союзниками?

Принятый ответ
кажется есть настройки в триггерах, в разделе игра. там флаги выставляешь (да/нет)
точно не уверен, так как так не проверишь в одиночку. Нужно с друзьями тестить.
код, для поиска
GUI triggers: Игра - Set Запретить Торговлю между союзниками to Вкл.,
Jass function: call SetMapFlag(MAP_RESOURCE_TRADING_ALLIES_ONLY, true)
27

» WarCraft 3 / Как отследить двойной клик на юнита? Гуи

Vayne, ты знаешь как делать дабл-клик? счетчик + таймер. в виде счетчика целочисленная переменная. когда кликаешь, то нужно проверять счетчик C, если C равно 0, то запустить таймер на 1-3 сек. и прибавить единицу счетчику C, иначе, если C равно 1, то обнулить счетчик C, и обязательно проверить время таймера (то есть не истекло ли оно за 1-3 сек. и тут твои действия). Если время за 1-3 сек. проходит, значит обнуляем счетчик таймером.
Загруженные файлы
27

» WarCraft 3 / Призраки

Naadir, в описании у предметов, в окошечках, ни на что не влияет прозрачность.
27

» WarCraft 3 / Призраки

если хотите сделать как эффект у духа (не сама механика: имею в виду, когда охотница ночью неподвижна, она просто не видима, и противник атаковать не может ее)
Анимация - изменить окраску верха юнит на (100%,100%,100%) с 50% прозрачность. {Где 50% прозрачный}
правда это только приблизительно, если взять и создать отдельного юнита и дать способность "дух", то будет заметно, что мой только приблизительно. поэксперементируйте с прозрачностью, можно вообще сделать невидимыми для отдельных игроков невидимыми через GetLocalPlayer(), только полностью невидимыми не будут, их атаковать можно будет
там кодировка RGBA (red - красный, green - зеленый, blue - синий) и еще alpha - прозрачность. Вообщем-то кодируются от 0 до 255, в hex от 00 до ff. В триггерах (цвета юнитов, текстагов) пишут проценты (от 0% до 100%).
тексты
тоже самое с текстом |cff808080 Текст. |R - очень похож на прозрачный текст, только вот последние 6 символов отвечают за цвета (808080), а первые ff - не понятно за что
Загруженные файлы
27

» WarCraft 3 / Канал Дистанционная атака

канал - это просто пустышка, кнопка. можно или из юнита снаряд сделать и двигать к цели, или взять какую-нибудь другую способность типа молота и там модель сменить
27

» WarCraft 3 / Поведение ИИ. Агрессия. Нубский вопрос

Naadir, тоже думал об этом. приоритет скорее всего за другое отвечает. независимо от того какой приоритет поставишь, крипы агрятся на самого ближнего, и агрятся на тех, кто их спровоцировал (то есть обычно с атакой, если сам юнит ничего не делает, то они не трогают его до сих пор, пока не прибьют всех агрессивных и сопротивляющихся). Если приказать юниту отойти и спрятаться за спинами товарищей, то противники переключаются на его товарищей.
в ро есть приоритет? порылся на сайте, инфы нет точной
приорит у юнита
другие пишут, что за построение. там как раз в редакторе задать значение можно от 0 до 20. влияет на то, каким номером будет группа иконок расположена по порядку при выборе группы рамочкой.. герои - первыми, маги - вторыми.. пехота, саммоны (типа скелетов), нейтралы (если у вас есть кролик, то выбрав группу увидите его иконку в конце). Данная чтука помогает нормально отструктурировать микроконтроль. Например, переключение Tab-ом с героев на магов, потом на пехоту итд по кругу.

Есть в РО у способностей строка "Приоритет для кражи заклинания".
Это поле влияет на одну способность. Известна абилка "Похищение магии", ворует заклинания у врага и направляет обратно. А у способностей приоритет для кражи заклинания т.е поидее какой шанс для кражи заклинания. обычно ворует атакуемые заклинания. Если посмотреть, то можно заметить, что приореты расставлены именно у атакующих заклинании.

приоритет у предметов - пока неизвестно, но склоняюсь к тому, что отвечает за поведение ИИ. типа какой предмет покупать, какой продать. но это не точно
27

» WarCraft 3 / Как проверить длину строки?

Принятый ответ
ssbbssc, так вот эта функция LengthString() считает длину строки, а вот как это он сделает - другой вопрос. он хочет наверное с помощью чата типа денежку добавить
AntiMage, лови примеры. проверяй дебагом. Кстати пробелы тоже символы, русские буквы считают как за 2 символа. Все это написано в вложенном архиве. Короче как я узнал - дебагом.
Загруженные файлы
27

» WarCraft 3 / Не могу разобраться с оформлением

Filius Dei, потому что повесил событие на синего игрока. повесь на остальных, общее. Я думал, что немного шаришь. Ну ничего, начнешь с jass-а изучать, с чего-то надо изучать