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

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

Закрытая тема
 
J
expert
offline
Опыт: 48,747
Активность:
Jass вопросник

Вопросы


Если вы не разу не имели дело с джазом, задавайте свои вопросы сюда, я и другие постараемся ответить.
Однако предупреждаю, тема не для "помогите мне сделать", а для "научите меня сделать". Не стесняйтесь даже самых нупских вопросов
Продолжение этой темы, однако для задания вопросов необязательно копаться там
Однако рекомендуется сначала почитать статьи на сайте - (ссылка).
Но так как чтение всего занимает слишком много времени, то хотя бы прошу почитать только эту статью, по возможности можно еще эту и эту.
Статьи более или менее исчерпывающие, однако, если вам что-то непонятно уже прям в самих статьях, то спрашивайте, не стесняйтесь.

Крайне взываю народ задавать вопросы исключительно по теме, а не "разве эта негритянская музыка еще пользуется популярностью?"

Инструкции по задаванию вопросов от профессионалов

Немного о Jass



JASS это текстовое представление знакомым вам триггеров из редактора, ничего больше.

Но если в редакторе вы выбираете функции только из тех, что доступны изначально, в Jass вы можете творить их самостоятельно.
Но самое главное, что вам даже не придётся отказываться от привычных для вас триггеров, таким образом, переход на Jass не лишает вас каких либо возможностей вовсе.

Аббревиатура Jass на самом деле ничто иное, как "просто еще одна система сценарирования" но это еще проще, тут всего одно слово несёт смысл,

сценарирование.

Да-да, вы на самом деле - сценарист, пишете историю своего собственного мира, так как желаете этого сами и Jass расширяет ваши возможности, ограничивая их лишь рамками возможностей игры.

То, что вы уже сделали, не будет потеряно, а только станет лучше, если применить Jass в дополнение к триггерам.

Основной фигурой всегда был и будет герой, вы, конечно, делали для своих героев уникальные способности и характеристики, скорее всего, использовали триггеры, при помощи Jass вы откроете возможности, что ранее были недоступны.

Как пример того, что можно сделать своими руками.

Отредактировано Jon, 01.09.2007 в 19:16.
Старый 12.08.2007, 04:40
Krol

offline
Опыт: 16,909
Активность:
Jon, вот я сначало делаю заклинание на триггерах, а потом перевожу на джазз и убераю все утечки, удобно ли это?
Старый 12.08.2007, 04:44
J
expert
offline
Опыт: 48,747
Активность:
нет, это может быть и легко, но это неправильно, из-за того что тот объем действий что представляет джаз, много больше того что представляет тригеры, существует много способов оптимальных или нет решить определенную проблему, допустим ты сделал спел на GUI, перевел в джаз, и избавился от утечек, ты всего навсего привел в хорошее состояние тот способ решения проблемы который предоставляли тебе триггеры, однако в джазе, можно было бы сделать все совсем по другому, не только другими функциями, и использованием локальных переменных, но и другим алгоритмом, другой системой решения проблемы.
Например ты сделал на триггерах периодическое движение юнита по кругу, как у тебя это выглядит?
а очень просто, у тебя есть периодический выключенный триггер который перемещает юнита, и другой триггер который включает первый по необходимости.
Это пожалуй единственный способ как можно реализовать это на триггерах, этот способ не оптимален тем, что во первых ты занимимаеш 2 триггера, а также несколько глобальных переменных (центр круга, юнит, скорость), также если перевести готовый вариант на триггерах в джаз код, то он будет совершено не читабельный, и занимающий покрайне мере 2 страницы текста.
На джазе это можно было бы сделать иначе, можно было бы сделать таймер (что-то вроде периодического триггера), который бы и вызывал нужную тебе функцию и двигал юнита, все бы влезло в один триггер, код был бы не больше одной страницы (удобно читаемым) и без глобальных переменных, и если вы знаете джаз, то разобраться в способе решения проблемы и алгоритмах не своих кодах легче на джазе, чем в триггерах.
Такчто то что я тебе советую, это писать сразу чисто на джазе с нуля, конешно ты незнаете всех функций, вполне можно создать одно действие в триггерах перевести в код и вставить эту функцию в ваш код. и собирать свой скрипт по кусочкам, а не шлифовать грубую материю.

Отредактировано Jon, 12.08.2007 в 05:01.
Старый 12.08.2007, 04:54
El Mognefico
Demonic Jackal
offline
Опыт: 3,673
Активность:
А как с помощью джаза сменить модель юнита на другую?
Старый 12.08.2007, 22:37
DFlyer
<3 MJ
offline
Опыт: 44,079
Активность:
El Mognefico
Напрямую просто сменить модель нельзя.
Либо заменять юнита:
Код:
function ReplaceUnitBJ takes unit whichUnit, integer newUnitId, integer unitStateMethod returns unit

Либо использовать различные заклинания превращения/абилу "Тёмный".
Старый 12.08.2007, 23:12
El Mognefico
Demonic Jackal
offline
Опыт: 3,673
Активность:
DFlyer
это я знаю, просто думал, что можно кодом сразу сменить.
Старый 12.08.2007, 23:14
StoX

offline
Опыт: 30
Активность:
я вобще незнаю что такое джасс мне бы всё обьяснить на пальцах!
Старый 12.08.2007, 23:27
DFlyer
<3 MJ
offline
Опыт: 44,079
Активность:
Старый 12.08.2007, 23:31
Swarog
The Dark One
offline
Опыт: 794
Активность:
Такой вопрос. Я попробовал сделать заклинание, наносящее урон, зависящий от одного из статов героя. Я сделал цикл и проверял наличие нужного мне бафа, пока он не появлялся, а затем наносил урон. Эффект был нулевым. Тогда я сделал, наоборот. И подействовало.
Само условие я взял готовым - преобразовал триггер в текст, равно как и остальные функции. От себя добавил только цилк. Я потом пробовал ставить другие условия (в разных триггерах), но вышло то же. Может условие в цикле задаётся не так как обычно?
Старый 12.08.2007, 23:39
DFlyer
<3 MJ
offline
Опыт: 44,079
Активность:
Swarog
Не понимаю, что у тебя не получается. Не получается проверка баффа? Может ты используешь заклинание, у которого нету баффа?
Старый 13.08.2007, 08:43
Swarog
The Dark One
offline
Опыт: 794
Активность:
DFlyer, у меня всё вышло, только наоборот :), Вначале я использовал молот бурь, потом проделал то же с волшебным огнём.
Старый 13.08.2007, 09:14
WordEdit

offline
Опыт: 11,597
Активность:
Есть ли вообще какое-нибуть событие которое позволяет опр. вызов native ф-ий?...
Например мне надо определить момент когда вызывается ф-ия Cheat(), так вот можно ли как нибуть через события или условия отловить момент когда эта ф-ия вызвалась?
Старый 13.08.2007, 09:22
DFlyer
<3 MJ
offline
Опыт: 44,079
Активность:
Нету. У мну только есть идея как отловить вызов не-native функции.
Старый 13.08.2007, 09:35
WordEdit

offline
Опыт: 11,597
Активность:
DFlyer, как? Я можт ченибуть другое придумаю...
Старый 13.08.2007, 09:47
J
expert
offline
Опыт: 48,747
Активность:
никак
Старый 13.08.2007, 10:04
WordEdit

offline
Опыт: 11,597
Активность:
Фигово:(, тогда как лучше всего сделать чтоб карта читала твои немного изменённые скрипты(т.е common.j, Blizzard.j...). Кинуть их в архив карты в папочку /Scripts или есть др. более лучший вариант? А то я че-то не доконца с этими скриптами разобрался...
Старый 13.08.2007, 10:34
J
expert
offline
Опыт: 48,747
Активность:
нету, а зачем? вполне нормально и в скрипты брасать...
Старый 13.08.2007, 10:39
YellowStar
poon
offline
Опыт: 15,144
Активность:
Как отрубить сейв игры ее загрузки и вообще какие функции отключают эти кнопки.
[+] 2 пункта от Волчачка: 10.6 Создание вопроса, не относящегося к выбранному проекту.
Старый 13.08.2007, 10:47
J
expert
offline
Опыт: 48,747
Активность:
NaRaYaN я не думаю что отключить сейв можно, но можно препятствовать загрузке карты
Старый 13.08.2007, 10:50
YellowStar
poon
offline
Опыт: 15,144
Активность:
Препятсвывать загрузке я умею а отключать сейв я думаю можно через джеи файл. Это было в одной карте в батле. Вроде жизнь крестьянина 2.
Старый 13.08.2007, 10:56
Закрытая тема

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

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

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

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



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