Ваши вопросы по Jass'y - Страница 4 - Форум


Правила форума ·

Ваши вопросы по Jass'y

H_A_PK

#1
Здесь вы можете задать интересующий вам вопрос по JASS. Наши юзиры помогут вам и подскажут ответ.



  • 1. На тему распространяются Правила Раздела, за несоблюдения правил будут выносится предупреждения, а затем замечания (батхёрт)
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#46
Quote (SunCreep)
А так?))

Quote (H_A_PK)
И объявление их идёт строго в начале триггера.

Так:
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

AncientPenguin

#48
Может так:



И по идее надо не 30 юнитов, а 35 (0+10*35=350). Индексы массива начинаются с 0, а не с 1, ну это ладно, а вот двигать юнита каждые 0.04 секунды на 300 это перебор (за секунду улетит на расстояние в 7500).

SunCreep

#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)

где-то ошибка,отсутствует название.
Прикрепления: 8464746.png (15.0 Kb) · 3125223.png (11.8 Kb)

H_A_PK

#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, при том переменная локальная...
надо глобальное значение smile AncientPenguin, а так всё тоже самое..
Quote (AncientPenguin)

CS: set udg_Unit2[bj_forloopAIndex] = CreateUnit(p,'e000',GetUnitX(u),GetUnitY(u),0)

чет я нивижу что у тебя юнит u объявлялсяя dry
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#52
Quote (AncientPenguin)
двигать юнита каждые 0.04 секунды на 300 это перебор (за секунду улетит на расстояние в 7500).

??? он будет его вокруг юнита вразать а не за 300

Добавлено (24.08.11, 00:21)
---------------------------------------------
SunCreep, юзай это:

А не работает потому что у тебя 'e000' указан, укажи нормального юнита ....
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

AncientPenguin

#53
Quote (SunCreep)
AncientPenguin, во-первых forLoopAIndex


Пардон, гуи не пользуюсь вообще по этому плохо знаком с бж переменными.

Quote (SunCreep)
где-то ошибка,отсутствует название.


Quote (AncientPenguin)
CS: local player p = GetOwningPlayer(GetTriggerUnit())


Это вставил? я там только это менял. И название переменной исправил?)

SunCreep

#54
H_A_PK, я ставил a001 я так понял,что это будет стражник,но реакции тоже не было.

Добавлено (24.08.11, 00:24)
---------------------------------------------
H_A_PK, окей поставил hfoo,результат - создалось куча стражников и всё.

AncientPenguin

#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)


Если вот на эти Х и У двигать юнита то он полетит по спирали, а не вращаться будет, надо тогда брать координаты кастера, а не дамми.

H_A_PK

#56
Quote (SunCreep)
H_A_PK, окей поставил hfoo,результат - создалось куча стражников и всё.

ой, исправил*, смотри снова под споилером...

Добавлено (24.08.11, 00:31)
---------------------------------------------
Quote (AncientPenguin)

Если вот на эти Х и У двигать юнита то он полетит по спирали, а не вращаться будет, надо тогда брать координаты кастера, а не дамми.

ладно, исправил, не заметил smile
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

H_A_PK

#58
SunCreep, опять исправил XD
написал se, а не set
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D

H_A_PK

#60
Quote (SunCreep)
H_A_PK, нетолько.В формуле повторяющегося триггера ты открыл 3 скобки,а закрыл 2 в обоих случаях))

старею, вечно у меня энта путаница со скобками smile
Ползут 2 пирожка.
Первый: Я тебя щас трахну.
Второй: Почему?
Первый: Потому что я с яйцами :D
Поиск: