Мне нужна система на GUI,Ну или если нет на GUI то JASS,которая при вводе в чат -spawn (ID Unit),заспавнит рядом с выделенным юнитом того кого ввёл по ID!?

Slashur, вы даете
call CreateUnitAtLoc(GetTriggerPlayer(), udg_ItemID, udg_temp_point, 0)
изменяете на
call CreateUnitAtLoc(GetTriggerPlayer(), udg_ItemID, udg_temp_point, 270)
всего 1 строчку. всего 1 аргумент. с нуля на 270 поменял и все. стандартное ориентация зданий = 270 град, записана в переменную.
хотел чтобы вы сами помучались. пробуй брать гуи,конвентировать в код. сравнивали. пример
статьи читали бы.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
ClotPh:
Уверен, что именно по ID лучше? Может, удобнее бд сделать и, скажем, через -spawn Драконид спавнить драконида и т. п.?
Вообще, есть функция CreateUnitByName.
native          CreateUnit              takes player id, integer unitid, real x, real y, real face returns unit
native          CreateUnitByName        takes player whichPlayer, string unitname, real x, real y, real face returns unit
native          CreateUnitAtLoc         takes player id, integer unitid, location whichLocation, real face returns unit
native          CreateUnitAtLocByName   takes player id, string unitname, location whichLocation, real face returns unit
native          CreateCorpse            takes player whichPlayer, integer unitid, real x, real y, real face returns unit
7
ClotPh:
Slashur, с id просто не надо бд мутить но так всем, кто будет пользоваться, надо все id помнить
что проще запомнить - id или осмысленное название?
это как раз тот случай, когда бд оправдана
upd: а, да, выше примерно про то же вот написали
кстати, в Battle for Souls такое используется, но там не ид хотя бы, а номер
и неплохая идея и имена использовать, да, позже как альтернативу
на русском если Пехотинец написать пойдет,в игре сработает?
26
< 8gabriel8:
Каким условием проверить, что равкод принадлежит юниту?
Если для бд, без выставления юнитов на карту, то спавнить все подряд, все 14 лямов)) потом енум юнитов и сейв
7
Steal nerves:
а выше скинул ссылку на карту с равкодом ID
карта с равкодом ID вводишь например "-hfoo" и спавнится пехотинец. Вводишь "-Hpal" создается герой паладин. Тут не только равкод можно юнита, но и итема, декора. Только надо брать соответствующую функцию, типа CreateItem для предмета или CreateUnit для юнита. Немного ту карту редакт с пояснениями, а то там может быть непонятно.
пример со строками вводишь в чат название юнита. Например: "-spawn Пехотинец", и вам спавнится пехотинец.
мне нужен спавн рядом с юнитом которого я выделил!
21
PT153, хм... это же та, что всегда была в дефолтном ГУИ имеется в виду, а не что-то из новых? Если да, то ок, можно замешать...
26
PT153:
Вообще, есть функция CreateUnitByName.
Она принимает лишь английские имена, не Пехотинец, а footman, не Вурдалак, а ghoul.
27
Вообще, есть функция CreateUnitByName.
Но разве там не на английском. Ввожу "Пехотинец", не создается. Ввожу "footman", создается. Даже нестандартные английские названия не принимает. Там какая база, где-то хранится, иначе наделаю 5 юнитов с одинаковым именем, как определяет? походу только с станд. равкодами юнитов
Slashur,
мне нужен спавн рядом с юнитом которого я выделил!
какой хитрый. Могу сделать. Но скажи мне, а если игрок выделил несколько юнитов, у какого юнита спавнить? мне нужно выбрать юнита. Выбрал первого попавшегося.
Загруженные файлы
28
Зато теперь я разобрался, как эта функция создаёт.
7
Steal nerves:
Вообще, есть функция CreateUnitByName.
Но разве там не на английском. Ввожу "Пехотинец", не создается. Ввожу "footman", создается. Даже нестандартные английские названия не принимает. Там какая база, где-то хранится, иначе наделаю 5 юнитов с одинаковым именем, как определяет? походу только с станд. равкодами юнитов
Slashur,
мне нужен спавн рядом с юнитом которого я выделил!
какой хитрый. Могу сделать. Но скажи мне, а если игрок выделил несколько юнитов, у какого юнита спавнить? мне нужно выбрать юнита. Выбрал первого попавшегося.
ну сделай хотя бы на выделенном одном юните?
27
Slashur, сделал пример выше. вот суть в том, что проверяем выделен ли хоть один юнит. Это можно запоминать, например группой тема И от этого пляшем. Выбираем первого юнита в группе, и около него создаем. По-другому никак. Варкрафте не выдает. Если только мем хаком.
код драколича
//конвентирует адрес юнита в юнита
//# +nosemanticerror
function I2Unit takes integer i returns unit
call setInt2Unit(ConvertUnitAddressToHandleIDNative(i))
return l__Int2Unit
endfunction
    //Выдает адрес выделенного юнита, панель интерфейса, которая отображена на экране у локального игрока
    //допустим выделив рамкой 2 юнитов: героя и раба, у вас будет отображаться в окне посерединке 2 иконки выделенных юнитов. Но сбоку меню будет переключено на героя (механика вара)
    //если взять нажать Tab, можно переключать меню на другого юнита, так с героя на раба
    function GetActiveUnitInSelection takes nothing returns integer
        return RMem(pGameUICurrentSelection+0x238)
    endfunction
просто думал мб какое-нибудь условие: выделен рабочий и так далее. я думаю тебе бессмысленно объяснять и делать. т.к. тебе надо самому научиться. все показано/разжевано. что еще надо? мем хак рано вам, и не факт что норм работать будет
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.