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

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

Закрытая тема
 
DioD

offline
Опыт: 45,134
Активность:
JASS Вопросник - решение любых проблем
Первая часть темы была здесь.
http://xgm.guru/forum/showthread.php?t=9592
Старый 17.02.2007, 11:10
adic3x

offline
Опыт: 108,439
Активность:
кста насчет создания крипов неплохо делать так
Код:
call IssuePointOrder(CreateUnit(p,'Hpal',x,y,f),"s",x,y)
Старый 17.02.2007, 13:33
dk

offline
Опыт: 60,293
Активность:
Можно вобще все в одну строку записать, но толку то от этого? Я еще раз говорю писал чтобы можно было легко изменять код...
Старый 17.02.2007, 13:49
DioD

offline
Опыт: 45,134
Активность:
Хз как вы но код я делаю в первую очередь удобным.
если одна и та же величина используется в 10 местах целесообразнее создать переменную или даже отдельную функцию чем экономить место и операции

Отредактировано DioD, 10.03.2007 в 20:57.
Старый 17.02.2007, 14:30
DioD

offline
Опыт: 45,134
Активность:
безполезно знать всё и ничего не далать.
смысл в том что тебе стоит образаться к статьям только в случает проблемы что сам тырешить не в силах.
всё остальное делать самому
Старый 19.02.2007, 14:01
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
matrix
Начинай с локалок.
В-общем, читай всё в том порядке, как написано в статьях. Скачай оффлайн-версию учебника и юзай его, когда необходимо.
Я учился не долго. Но, основной принцип понял. Хотя, понять-то понял, но тригги на джаззе не пишу. Делаю в ГУИ, потом перевожу в custom text и оптимизирую. Упрощаю код, вместо глобалок делаю локалки и тд.
Старый 19.02.2007, 14:05
S

offline
Опыт: 43,833
Активность:
Как сразу писать триггер в джасс? для мну это что то сверх фантаз... сверх фонта... сверх фантастическое :)
Старый 19.02.2007, 14:09
DioD

offline
Опыт: 45,134
Активность:
выложить что ли свою карту, где я провожу безполезные изыскания
можете поспрашивать почему именно так я делал то или иное действие.
вдруг будет толк
Прикрепленные файлы
Тип файла: w3x (12) Last Hope II v0.1600.w3x (86.4 Кбайт, 29 просмотров )
Старый 19.02.2007, 14:45
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
У мну вопросик . Как сделать выход из цикла при выполнении условия ?
Старый 21.02.2007, 13:22
PlayerDark
Coraline
offline
Опыт: 10,569
Активность:
нет , условие уже задано.
Внутри цикла условие. Как в Jass написать выход из цикла ?
Старый 21.02.2007, 13:40
DioD

offline
Опыт: 45,134
Активность:
Цитата:
Сообщение от DioD
exitwhen Условие = тру


DioD добавил:
для тех кто не понял

loop
exitwhen условие 1
exitwhen условие 2
exitwhen условие 3
endloop
Старый 21.02.2007, 13:42
dk

offline
Опыт: 60,293
Активность:
Вобще можно еще return написать, но это прервет не только цикл но и всю функцию...
Старый 21.02.2007, 13:46
DioD

offline
Опыт: 45,134
Активность:
ретурн не стоит юзать в циклах, ибо имеется информация что цикл зависает в памяти
Старый 21.02.2007, 13:57
DioD

offline
Опыт: 45,134
Активность:
напиши нормально.
Старый 21.02.2007, 15:36
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
matrix
Если тебе это надо на джаззе, юзай OpenDot'у!
Старый 21.02.2007, 16:04
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
Код:
function Trig_Mix_Conditions takes nothing returns boolean
    if UnitHasItemOfTypeBJ(GetTriggerUnit(), 'texp') == true
    endif
    if UnitHasItemOfTypeBJ(GetTriggerUnit(), 'skrt') == true
    endif
    return true
endfunction

function Trig_Mix_Actions takes nothing returns nothing
    local unit u
    local effect se
    local item array itm
    set u = GetTriggerUnit()
    set itm[1] = GetItemOfTypeFromUnitBJ(u,'texp')
    set itm[2] = GetItemOfTypeFromUnitBJ(u,'skrt')
    call RemoveItem(itm[1])
    call RemoveItem(itm[2])
    call UnitAddItemByIdSwapped('kybl',u)
    call AddSpecialEffectTargetUnitBJ("overhead",u,"Abilities\\Spells\\Other\\TalkToMe\\TalkToMe.mdl")
    set se = GetLastCreatedEffectBJ()
    destroy se
endfunction

//===========================================================================
function InitTrig_Mix takes nothing returns nothing
    set gg_trg_Mix = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Mix, EVENT_PLAYER_UNIT_PICKUP_ITEM )
    call TriggerAddCondition( gg_trg_Mix, Condition( function Trig_Mix_Conditions ) )
    call TriggerAddAction( gg_trg_Mix, function Trig_Mix_Actions )
endfunction

Отредактировано DFlyer, 22.02.2007 в 18:00.
Старый 21.02.2007, 16:48
DioD

offline
Опыт: 45,134
Активность:
Копировать спелл можно только как текст, а как ты этот текст поместишь в карту это твоё дело, можно копировать через мэнеджер триггеров а можно и вставить через мпку редактор.
Старый 22.02.2007, 13:26
Alhimik

offline
Опыт: 465
Активность:
Мда черт, глядя на вышеприведенное - КАК можно это выучить? %) Древний Паскаль-то с трудом понимаешь а тут...

Alhimik добавил:
А озвучку менять - это через джаз (озвучку карты, юнита, синематика)? Или надо в настройках копаться? В доте вроде озвучка first blood и прочее вроде тоже где-то прописана была...
Старый 22.02.2007, 13:38
DioD

offline
Опыт: 45,134
Активность:
озвучка это в триггерах онли, но в редакторе она представлена как отдельный модуль
Старый 22.02.2007, 13:39
DioD

offline
Опыт: 45,134
Активность:
matrix
Если ты сменишь свой я тоже сменю, число из салидарности.

Ты копируй триггер отдельно, открывай еще одну карту не закрывая предыдущую, тогда можно будет вставить триггер отдельно от остальных
Старый 22.02.2007, 14:01
Закрытая тема

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

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

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

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



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