Ваши вопросы по Jass'y
|
|
#1
Здесь вы можете задать интересующий вам вопрос по JASS. Наши юзиры помогут вам и подскажут ответ. - 1. На тему распространяются Правила Раздела, за несоблюдения правил будут выносится предупреждения, а затем замечания (батхёрт)
Ползут 2 пирожка. Первый: Я тебя щас трахну. Второй: Почему? Первый: Потому что я с яйцами :D
|
#46
Quote (H_A_PK) И объявление их идёт строго в начале триггера. Так:
Ползут 2 пирожка. Первый: Я тебя щас трахну. Второй: Почему? Первый: Потому что я с яйцами :D
|
#47
H_A_PK, а,да.Я забыл про это)) Ща попробую.
|
#48
Может так:
И по идее надо не 30 юнитов, а 35 (0+10*35=350). Индексы массива начинаются с 0, а не с 1, ну это ладно, а вот двигать юнита каждые 0.04 секунды на 300 это перебор (за секунду улетит на расстояние в 7500).
|
#49
Мм реакции нету.Добавлено (24.08.11, 00:15) --------------------------------------------- AncientPenguin, во-первых forLoopAIndex во-вторых Quote (AncientPenguin) SetUnitX( udg_Unit2[bj_forloopAIndex], GetUnitX(udg_Unit2[bj_forloopAIndex]) + 300*Cos(.0174532*x)) SetUnitY( udg_Unit2[bj_forloopAIndex], GetUnitY(udg_Unit2[bj_forloopAIndex]) + 300*Sin(.0174532*x)) затребовал калы Quote (AncientPenguin) CS: set udg_Unit2[bj_forloopAIndex] = CreateUnit(p,'e000',GetUnitX(u),GetUnitY(u),0) где-то ошибка,отсутствует название.
|
#50
Quote (AncientPenguin) local real x = 0 Для каждого числа от 1 до 30 делать SetUnitX( udg_Unit2[bj_forloopAIndex], GetUnitX(udg_Unit2[bj_forloopAIndex]) + 300*Cos(.0174532*x)) SetUnitY( udg_Unit2[bj_forloopAIndex], GetUnitY(udg_Unit2[bj_forloopAIndex]) + 300*Sin(.0174532*x)) установить х=х+10 гениально, в переодическом триггере объявить Х и в конце увеличить его на 10, при том переменная локальная... надо глобальное значение AncientPenguin, а так всё тоже самое..Quote (AncientPenguin) CS: set udg_Unit2[bj_forloopAIndex] = CreateUnit(p,'e000',GetUnitX(u),GetUnitY(u),0) чет я нивижу что у тебя юнит u объявлялсяя
Ползут 2 пирожка. Первый: Я тебя щас трахну. Второй: Почему? Первый: Потому что я с яйцами :D
|
#51
Quote (H_A_PK) а так всё тоже самое.. так же не работает))
|
#52
Quote (AncientPenguin) двигать юнита каждые 0.04 секунды на 300 это перебор (за секунду улетит на расстояние в 7500). ??? он будет его вокруг юнита вразать а не за 300
Добавлено (24.08.11, 00:21) --------------------------------------------- SunCreep, юзай это: А не работает потому что у тебя 'e000' указан, укажи нормального юнита ....
Ползут 2 пирожка. Первый: Я тебя щас трахну. Второй: Почему? Первый: Потому что я с яйцами :D
|
#53
Quote (SunCreep) AncientPenguin, во-первых forLoopAIndex
Пардон, гуи не пользуюсь вообще по этому плохо знаком с бж переменными.
Quote (SunCreep) где-то ошибка,отсутствует название.
Quote (AncientPenguin) CS: local player p = GetOwningPlayer(GetTriggerUnit())
Это вставил? я там только это менял. И название переменной исправил?)
|
#54
H_A_PK, я ставил a001 я так понял,что это будет стражник,но реакции тоже не было.Добавлено (24.08.11, 00:24) --------------------------------------------- H_A_PK, окей поставил hfoo,результат - создалось куча стражников и всё.
|
#55
Quote (H_A_PK) ??? он будет его вокруг юнита вразать а не за 300
Quote (H_A_PK) set x = GetUnitX(udg_Unit2[bj_forloopAIndex) + 300*Cos(.0174532*udg_x) set y = GetUnitY(udg_Unit2[bj_forloopAIndex) + 300*Sin(.0174532*udg_x)
Если вот на эти Х и У двигать юнита то он полетит по спирали, а не вращаться будет, надо тогда брать координаты кастера, а не дамми.
|
#56
Quote (SunCreep) H_A_PK, окей поставил hfoo,результат - создалось куча стражников и всё. ой, исправил*, смотри снова под споилером...
Добавлено (24.08.11, 00:31) --------------------------------------------- Quote (AncientPenguin) Если вот на эти Х и У двигать юнита то он полетит по спирали, а не вращаться будет, надо тогда брать координаты кастера, а не дамми. ладно, исправил, не заметил Code С-приводит способность в действие CS: local unit u = GetTriggerUnit() CS: local unit u2 для каждого числа от 1 до 30 делать CS: set u2 = CreateUnit(GetOwningPlayer(u),'e000',GetUnitX(u),GetUnitY(u),0) CS: set udg_Unit2[bj_forloopAIndex] = u2 CS: set u2 = null CS: set udg_Unit2[32] = u включить триггер
С-каждые 0.04 сек. CS:local real x CS:local real y установить х=х+10 Для каждого числа от 1 до 30 делать CS:set x = GetUnitX(udg_Unit2[32]) + 300*Cos(.0174532*(udg_x+(bj_forloopAIndex*10))) CS:set y = GetUnitY(udg_Unit2[32]) + 300*Sin(.0174532*(udg_x+(bj_forloopAIndex*10))) CS:call SetUnitX(udg_Unit2[bj_forloopAIndex],x) CS:call SetUnitX(udg_Unit2[bj_forloopAIndex],y) окончательная версия
Ползут 2 пирожка. Первый: Я тебя щас трахну. Второй: Почему? Первый: Потому что я с яйцами :D
|
#57
H_A_PK, символ забыл,какой-то)
|
#58
SunCreep, опять исправил XD написал se, а не set
Ползут 2 пирожка. Первый: Я тебя щас трахну. Второй: Почему? Первый: Потому что я с яйцами :D
|
#59
H_A_PK, нетолько.В формуле повторяющегося триггера ты открыл 3 скобки,а закрыл 2 в обоих случаях))
|
#60
Quote (SunCreep) H_A_PK, нетолько.В формуле повторяющегося триггера ты открыл 3 скобки,а закрыл 2 в обоих случаях)) старею, вечно у меня энта путаница со скобками
Ползут 2 пирожка. Первый: Я тебя щас трахну. Второй: Почему? Первый: Потому что я с яйцами :D
|