XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Extremator

offline
Опыт: 39,403
Активность:
Да блин, у меня карта на рабочем столе была :DD ой лооооол
А с ночью быть? Т.Т
Старый 10.05.2014, 10:56
Buulichkaa
Делаю спеллы за еду
offline
Опыт: 20,146
Активность:
это решается такой вот нехитрой строкой :D
SetFloatGameState(ConvertFGameState(2), 12);
Старый 10.05.2014, 10:57
Extremator

offline
Опыт: 39,403
Активность:
Buulichkaa:
это решается такой вот нехитрой строкой :D
SetFloatGameState(ConvertFGameState(2), 12);
эмм... это куда-то толкать надо? оО
в код? хотя тогда причём тут отображение в редакторе...
кароч я ничего не понял
Но ночь мешает... Вот я хочу юнита покрасить в РО по RGB
начинаю менять - отображается же затемнёно, в итоге видно не так как надо...
если нажать L - отключится освещение, но тогда и окрашенные юниты во время дня практически теряют окраcку по RGB...
что же делать .-.
взялся попробовать жасс - жизнь пошла под откос
Старый 10.05.2014, 11:05
Buulichkaa
Делаю спеллы за еду
offline
Опыт: 20,146
Активность:
Extremator, запихиваешь эти две строки в инициализацию, все равно куда, это может быть инициализация триггера или либы или даже inject в main\config
SetFloatGameState(ConvertFGameState(2), 12); //тут на месте 12 может быть любое время дня
SuspendTimeOfDay(false) //а эта строка запускает время, чтобы оно тикало
Buulichkaa добавил:
как все запущено
Старый 10.05.2014, 11:10
Tobi123

offline
Опыт: 7,826
Активность:
Extremator:
А ночь то как убрать?! что это за фигня
в настройках стоит "фикс.полдень", а там ночь!!! ><
L
Старый 10.05.2014, 11:26
Buulichkaa
Делаю спеллы за еду
offline
Опыт: 20,146
Активность:
а лол, вы про ночь в редакторе... ахаха рукалицо
Старый 10.05.2014, 11:49
Extremator

offline
Опыт: 39,403
Активность:
не ну правда... Ночь не оч...
кароч сравнил со старым редактором
там всё нормально делается, а в новом - ночная шляпа...
вот
Старый 10.05.2014, 13:15
nvc123
new status
offline
Опыт: 59,284
Активность:
Extremator, перед тем как нажать тест мапы надо сохранить иначе не скомпилит
Tobi123, хэш с кучей таймеров уг полное
за подобное надо руки отрывать
юз глобалок/структур на 1 таймере превосходит хэш по простоте, красоте и быстродействию
nvc123 добавил:
Extremator, кинь скрины всех настроек
Старый 10.05.2014, 13:23
Extremator

offline
Опыт: 39,403
Активность:
nvc123:
Extremator, перед тем как нажать тест мапы надо сохранить иначе не скомпилит
Не издевайся х)) это я и сам знаю!
Extremator добавил:
Пока вы всё ещё смотрите мой топик, я бы хотел спросить следующее
Я выкладывал код триггера abc, в котором я инициализирую триггер с его событием/условием/действия (без 2-го у меня), и там я додумался создать не один триггер, а сразу два! с разными событиями и действиями.
Теперь такой вопрос - верно ли я понимаю, что правильнее (ну или просто лучше) было бы всё же создать только один триггер в данном случаи, а действия для 2го - просто засунуть в старт таймера (у меня там стоит null, а так было бы function abc_actions_periodic).
Старый 10.05.2014, 14:56
Buulichkaa
Делаю спеллы за еду
offline
Опыт: 20,146
Активность:
Extremator, да, правильно
Старый 10.05.2014, 16:25
ScorpioT1000
Работаем
offline
Опыт: отключен
Старый 10.05.2014, 18:23
Кет

offline
Опыт: 111,109
Активность:
Extremator, у меня вот тоже компилятор vJass не работает. И проверка синтаксиса. Печально это.
Старый 11.05.2014, 00:33
Msey
????
offline
Опыт: 67,346
Активность:
Старый 11.05.2014, 01:18
Кет

offline
Опыт: 111,109
Активность:
Прочитал. Проверка синтаксиса заработала, но JassHelper по-прежнему не запускается.
А, нет, снова перестала. Мистика.
Как-то раз у меня даже компилятор vJass запустился, но я так и не понял, почему. Было лишь однажды =(

Отредактировано Кет, 11.05.2014 в 03:02.
Старый 11.05.2014, 02:34
Extremator

offline
Опыт: 39,403
Активность:
Мне вот терь интересно как убрать буквы в начале категорий?
А) Б) Ц) Д) и т.д.
а то мне это совсем не нравится...
как и ночь...
а ночь мне очень не нравится...
да...
Extremator добавил:
Для того что бы вычислить расстояние между позициями двух юнитов (или между юнитом и точкой каста)
я рассмотрел стандартную БЖ функцию на сравнение расстояния между точками
function DistanceBetweenPoints takes location locA, location locB returns real
    local real dx = GetLocationX(locB) - GetLocationX(locA)
    local real dy = GetLocationY(locB) - GetLocationY(locA)
    return SquareRoot(dx * dx + dy * dy)
endfunction
Я не нашёл нативку на сравнение двух пар XY, поэтому решил свою функцию для сие деяния...
function DistanceBetweenXY takes real x1, real y1, real x2, real y2 returns real
    local real dx = x2 - x1
    local real dy = y2 - y1
    return SquareRoot(dx * dx + dy * dy)
endfunction
Но тут же я решил её упростить... но, у меня что-то не вышло... Я так понял степень числа пишется как-то иначе, либо вообще не пишется (я не знаю)...
function DistanceBetweenXY takes real x1, real y1, real x2, real y2 returns real
    return SquareRoot((x2 - x1)^2+(y2 - y1)^2)
endfunction
Подскажи как обозначить степень?
или же проще просто писать 125*125 а не 125^2
Миниатюры
Кликните на картинку для увеличения
Название:  1.PNG
Просмотров: 9
Размер:  6.3 Кбайт  

Отредактировано Extremator, 11.05.2014 в 10:43.
Старый 11.05.2014, 10:25
nvc123
new status
offline
Опыт: 59,284
Активность:
Extremator, степень это функция
но если нужен квадрат то перемножить 2 числа намного проще и лучше(по быстродействию) чем вызывать доп функцию
nvc123 добавил:
^ это или
если я не путаю с джавой
nvc123 добавил:
Кет, ос
пути к редактору
вару
карте
Старый 11.05.2014, 11:24
Buulichkaa
Делаю спеллы за еду
offline
Опыт: 20,146
Активность:
Extremator, в джассе существует функция
    native Pow      takes real x, real power returns real
я её не тестил, но логично будет предположить, что умножение двух чисел будет работать быстрее чем вызов этой функции
Старый 11.05.2014, 11:29
Extremator

offline
Опыт: 39,403
Активность:
А что ж тогда быстрее будет, и лучше?
» посчитать 4 числа сразу там где требуется ответ
set i = SquareRoot((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
» юзнуть функцию которая получит числа и даст ответ (сама точно так же всё посчитает)
function DistanceBetweenXY takes real x1, real y1, real x2, real y2 returns real
    return SquareRoot((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
endfunction

set i = DistanceBetweenXY(x1,y1,x2,y2)
Мне ажется что если я хочу посчитать это только в одном месте, ну в общем не часто - то проще написать числа в ряд и посчитать...
Но если я буду постоянно прибегать в подобным вычислениям - наверно проще создать шаблон, на которому будет выводиться ответ... Верно?
Старый 11.05.2014, 11:40
Buulichkaa
Делаю спеллы за еду
offline
Опыт: 20,146
Активность:
Extremator, быстрее будет работать то, где меньше процедур, в идеале надо развернуть абсолютно все функции, но такой код будет не (или менее) читабелен, эти развернутые функции дадут прирост к быстродействию в мизерные доли секунды, а мы же сейчас не на пентиумах сидим...
есть и другой подход - дефайн из сиДжасса - процедур лишних не добавляем, читабельность сохраняем, функцию вставляем в развернутом виде, профит

Отредактировано Buulichkaa, 11.05.2014 в 13:11.
Старый 11.05.2014, 11:49
nvc123
new status
offline
Опыт: 59,284
Активность:
Extremator, в шапке мапы напиши
define DistanceBetweenXY(x1,y1,x2,y2)=SquareRoot((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
в результате ты будешь писать DistanceBetweenXY
а при компиляции оно будет превращаться в SquareRoot((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))
но если тебе нужно находить синус и косинус угла между 2 точками то лучше юзать
float dx = x2 - x1
float dy = y2 - y1
float r=SquareRoot(dx * dx + dy * dy)
float sin=dy/r
float cos=dx/r
nvc123 добавил:
вообще расстояние это гипотенуза, а dx и dy это катеты прямоугольного треугольника
Старый 11.05.2014, 12:08
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 14:52.