Импортировал ситему показа дамага, но выбивает ошибку при сохранении. (Jass я не понимаю и не учил его) Сейчас покажу:
Сама ошибка:
Пишет, что нет такой переменной, красным я выделил создание переменной и ссылание на нее. В компиляторе он заменяет название перемнной когда ее создают на какой-то другой текст.
Сам код:
Исправил это тем что заменил название переменной где ссылается на нее на тот самый текст, (не изменяя local real a). Вроде работает, но есть подозрение что я дебил.
Как я исправил:
И оно работает..
Почему так происходит, и будет ли нормально работать мой вариант?...

Принятый ответ

попробуйте cтереть всё что есть внутри блока "static if", а вместо этого напишите:
local real a
if ( ANGLE_RND ) then
	set a = GetRandomReal( 0, 2 * bj_PI )
else
	set a = ANGLE
endif
но и Ваш способ, думаю, тоже рабочий...))
2 комментария удалено
0
21
6 лет назад
Отредактирован scopterectus
0
попробуйте cтереть всё что есть внутри блока "static if", а вместо этого напишите:
local real a
if ( ANGLE_RND ) then
	set a = GetRandomReal( 0, 2 * bj_PI )
else
	set a = ANGLE
endif
но и Ваш способ, думаю, тоже рабочий...))
Принятый ответ
2
17
6 лет назад
Отредактирован GetLocalPlayer
2
Выключи препроцессор cJass - AdicHelper.
0
19
6 лет назад
0
ScopteRectuS:
Саму строку static if стерать?
стер и саму строку static if, все работает, вроде)
0
17
6 лет назад
0
Поход ошибка из запеременой которая была объявлена в условии и использована дет в не блока
0
21
6 лет назад
0
KaneThaumaturge, нет, я имел ввиду:
static if ( ANGLE_RND ) then
	local real a = GetRandomReal( 0, 2 * bj_PI )
else
	local real a = ANGLE
endif
local real a
if ( ANGLE_RND ) then
	set a = GetRandomReal( 0, 2 * bj_PI )
else
	set a = ANGLE
endif
А вообще, выше уже написали самый правильный ответ, советую воспользоваться им, если не используется cJASS.
GetLocalPlayer:
Выключи препроцессор cJass - AdicHelper.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.