Добавлен Jack-of-shadow,
опубликован
Программы
Предназначение:
Работа с кодом
Утилита для преобразования Jass кода в cJass .
- автоматически расставляет отступы.
- распутывает навороченные GUI условия.
Использование
Скопируйте исходный код в буфер обмена (CTRL+C) и запустите программу.
После чего вы можете вставить отредактированный код в свою карту.
Пример
Исходный код: 276 строк
function Trig_ff_Func001C takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_STRUCTURE) == true ) ) then
return false
endif
if ( not ( GetSpellAbilityId() == 'AUan' ) ) then
return false
endif
if ( not ( GetDestructableTypeId(GetLastCreatedDestructable()) == 'LTlt' ) ) then
return false
endif
return true
endfunction
function Trig_ff_Func002Func001C takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_ANCIENT) == true ) ) then
return false
endif
if ( not ( 'AUau' == 'AUan' ) ) then
return false
endif
if ( not ( 'YTfc' == 'LTlt' ) ) then
return false
endif
return true
endfunction
function Trig_ff_Func002C takes nothing returns boolean
return true
endfunction
function Trig_ff_Func003Func001C takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_FLYING) == true ) ) then
return false
endif
if ( not ( GetSpellAbilityId() == 'AEsv' ) ) then
return false
endif
if ( not ( GetDestructableTypeId(GetLastCreatedDestructable()) == 'LTbs' ) ) then
return false
endif
return true
endfunction
function Trig_ff_Func003Func002C takes nothing returns boolean
if ( ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_STRUCTURE) == true ) ) then
return true
endif
if ( ( GetSpellAbilityId() == 'AUan' ) ) then
return true
endif
if ( ( GetDestructableTypeId(GetLastCreatedDestructable()) == 'LTlt' ) ) then
return true
endif
return false
endfunction
function Trig_ff_Func003C takes nothing returns boolean
if ( not Trig_ff_Func003Func001C() ) then
return false
endif
if ( not Trig_ff_Func003Func002C() ) then
return false
endif
return true
endfunction
function Trig_ff_Func004Func002C takes nothing returns boolean
if ( not ( GetTerrainTypeBJ(GetRectCenter(GetPlayableMapRect())) == 'Ldrt' ) ) then
return false
endif
if ( not ( GetUnitStateSwap(UNIT_STATE_LIFE, GetTriggerUnit()) >= 10 ) ) then
return false
endif
if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'hfoo' ) ) then
return false
endif
return true
endfunction
function Trig_ff_Func004Func004Func001C takes nothing returns boolean
if ( not ( UnitCanSleepBJ(GetTriggerUnit()) == true ) ) then
return false
endif
if ( not ( GetLearnedSkillBJ() == 'AHbz' ) ) then
return false
endif
if ( not ( GetOwningPlayer(GetTriggerUnit()) == Player(0) ) ) then
return false
endif
return true
endfunction
function Trig_ff_Func004Func004C takes nothing returns boolean
if ( Trig_ff_Func004Func004Func001C() ) then
return true
endif
return false
endfunction
function Trig_ff_Func004C takes nothing returns boolean
if ( not ( UnitCanSleepBJ(GetTriggerUnit()) == true ) ) then
return false
endif
if ( not Trig_ff_Func004Func002C() ) then
return false
endif
if ( not ( IsUnitPausedBJ(GetTriggerUnit()) == true ) ) then
return false
endif
if ( not Trig_ff_Func004Func004C() ) then
return false
endif
if ( not ( IsUnitAliveBJ(GetTriggerUnit()) == true ) ) then
return false
endif
return true
endfunction
function Trig_ff_Func005Func001C takes nothing returns boolean
if ( ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_SUMMONED) == true ) ) then
return true
endif
if ( ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_POISONED) == true ) ) then
return true
endif
return false
endfunction
function Trig_ff_Func005C takes nothing returns boolean
if ( not Trig_ff_Func005Func001C() ) then
return false
endif
return true
endfunction
function Trig_ff_Func006Func001Func002C takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_GROUND) == true ) ) then
return false
endif
if ( not ( GetSpellAbilityId() == 'Acdh' ) ) then
return false
endif
if ( not ( GetDestructableTypeId(GetLastCreatedDestructable()) == 'LTbs' ) ) then
return false
endif
return true
endfunction
function Trig_ff_Func006Func001C takes nothing returns boolean
if ( ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_GROUND) == true ) ) then
return true
endif
if ( Trig_ff_Func006Func001Func002C() ) then
return true
endif
return false
endfunction
function Trig_ff_Func006C takes nothing returns boolean
if ( not Trig_ff_Func006Func001C() ) then
return false
endif
return true
endfunction
function Trig_ff_Func007Func001Func001C takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_FLYING) == true ) ) then
return false
endif
if ( not ( GetSpellAbilityId() == 'AEsv' ) ) then
return false
endif
if ( not ( GetDestructableTypeId(GetLastCreatedDestructable()) == 'LTbs' ) ) then
return false
endif
return true
endfunction
function Trig_ff_Func007Func001Func002C takes nothing returns boolean
if ( ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_STRUCTURE) == true ) ) then
return true
endif
if ( ( GetSpellAbilityId() == 'AUan' ) ) then
return true
endif
if ( ( GetDestructableTypeId(GetLastCreatedDestructable()) == 'LTlt' ) ) then
return true
endif
return false
endfunction
function Trig_ff_Func007Func001C takes nothing returns boolean
if ( Trig_ff_Func007Func001Func001C() ) then
return true
endif
if ( Trig_ff_Func007Func001Func002C() ) then
return true
endif
return false
endfunction
function Trig_ff_Func007C takes nothing returns boolean
if ( not Trig_ff_Func007Func001C() ) then
return false
endif
return true
endfunction
function Trig_ff_Func008Func001Func001C takes nothing returns boolean
if ( ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_STRUCTURE) == true ) ) then
return true
endif
if ( ( GetSpellAbilityId() == 'AUan' ) ) then
return true
endif
if ( ( GetDestructableTypeId(GetLastCreatedDestructable()) == 'LTlt' ) ) then
return true
endif
return false
endfunction
function Trig_ff_Func008Func001C takes nothing returns boolean
if ( Trig_ff_Func008Func001Func001C() ) then
return true
endif
return false
endfunction
function Trig_ff_Func008C takes nothing returns boolean
if ( not Trig_ff_Func008Func001C() ) then
return false
endif
return true
endfunction
function Trig_ff_Actions takes nothing returns nothing
if ( Trig_ff_Func001C() ) then
else
endif
if ( Trig_ff_Func002C() ) then
if ( Trig_ff_Func002Func001C() ) then
else
endif
else
endif
if ( Trig_ff_Func003C() ) then
else
endif
if ( Trig_ff_Func004C() ) then
else
endif
if ( Trig_ff_Func005C() ) then
else
endif
if ( Trig_ff_Func006C() ) then
else
endif
if ( Trig_ff_Func007C() ) then
else
endif
if ( Trig_ff_Func008C() ) then
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 10
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
else
endif
endfunction
//===========================================================================
function InitTrig_ff takes nothing returns nothing
set gg_trg_ff = CreateTrigger( )
call TriggerAddAction( gg_trg_ff, function Trig_ff_Actions )
endfunction
Конечный код 40 строк
nothing Trig_ff_Actions ( ){
if IsUnitType(GetTriggerUnit(),UNIT_TYPE_STRUCTURE) and GetSpellAbilityId()=='AUan' and GetDestructableTypeId(GetLastCreatedDestructable())=='LTlt' {
}else{
}
if true {
if IsUnitType(GetTriggerUnit(),UNIT_TYPE_ANCIENT) and 'AUau'=='AUan' and 'YTfc'=='LTlt' {
}else{
}
}else{
}
if (IsUnitType(GetTriggerUnit(),UNIT_TYPE_FLYING) and GetSpellAbilityId()=='AEsv' and GetDestructableTypeId(GetLastCreatedDestructable())=='LTbs') and (IsUnitType(GetTriggerUnit(),UNIT_TYPE_STRUCTURE) or GetSpellAbilityId()=='AUan' or GetDestructableTypeId(GetLastCreatedDestructable())=='LTlt') {
}else{
}
if UnitCanSleepBJ(GetTriggerUnit()) and (GetTerrainTypeBJ(GetRectCenter(GetPlayableMapRect()))=='Ldrt' and GetUnitStateSwap(UNIT_STATE_LIFE,GetTriggerUnit())>=10 and GetUnitTypeId(GetTriggerUnit())=='hfoo') and IsUnitPausedBJ(GetTriggerUnit()) and ((UnitCanSleepBJ(GetTriggerUnit()) and GetLearnedSkillBJ()=='AHbz' and GetOwningPlayer(GetTriggerUnit())==Player(0))) and IsUnitAliveBJ(GetTriggerUnit()) {
}else{
}
if (IsUnitType(GetTriggerUnit(),UNIT_TYPE_SUMMONED) or IsUnitType(GetTriggerUnit(),UNIT_TYPE_POISONED)) {
}else{
}
if (IsUnitType(GetTriggerUnit(),UNIT_TYPE_GROUND) or (IsUnitType(GetTriggerUnit(),UNIT_TYPE_GROUND) and GetSpellAbilityId()=='Acdh' and GetDestructableTypeId(GetLastCreatedDestructable())=='LTbs')) {
}else{
}
if ((IsUnitType(GetTriggerUnit(),UNIT_TYPE_FLYING) and GetSpellAbilityId()=='AEsv' and GetDestructableTypeId(GetLastCreatedDestructable())=='LTbs') or (IsUnitType(GetTriggerUnit(),UNIT_TYPE_STRUCTURE) or GetSpellAbilityId()=='AUan' or GetDestructableTypeId(GetLastCreatedDestructable())=='LTlt')) {
}else{
}
if ((IsUnitType(GetTriggerUnit(),UNIT_TYPE_STRUCTURE) or GetSpellAbilityId()=='AUan' or GetDestructableTypeId(GetLastCreatedDestructable())=='LTlt')) {
bj_forLoopAIndex = 1
bj_forLoopAIndexEnd = 10
loop{
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
bj_forLoopAIndex = bj_forLoopAIndex + 1
}
}else{
}
}
//===========================================================================
nothing InitTrig_ff ( ){
gg_trg_ff = CreateTrigger( )
TriggerAddAction( gg_trg_ff, function Trig_ff_Actions )
}
Oбновления
Roadmap
v.1.01
- Вертикальное выравнивание кода
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Цикл while() довольно проблемный , у меня он не сохранялся до этого.К тому же он обратный и еще криво считает.Не вижу в нем надобности в ВЕ никакой.
Doc: Внутри, оно на vbs'e можешь винраром открыть. Но лучше не надо, там все упорото очень)
uranus: Пологаю эту баганую строчку лучше совсем удалить из бибилиотек.
Так если че ваше гуи превратится в чистый jass после сохранения карты и если оно работает и гуи это ваше призвание - оставьте все как есть, имхо лучше оно работать не будет.
Ну а эта тула я так понял чтобы облекчить жизнь людям которые учили с++ и пишут карты онли на сjass чтобы переводить чужой код (вроде всяких наработок или вовсе чего то из чужой карты) в удобный для них формат.
Отредактирован Jack-of-shadow
Я знаю, что СJass превращается после сохранения в Jass2.
Беда многих способностей еще и отсутствие совместимости и прочего, что нужно продумывать в живой карте где десятки способностей. Увы это порой не просто...
Отредактирован nvc123
как муи относится к гуи и джассу?
ты хоть знаешь что такое муи или просто увидел прикольное слово и решил вставлять его куда не лень