private void Loop(){ player owner real min bool ok unit u for( int i = 0 ; i < DummyMax ; i++ ) { ok=true SetUnitPosition( D1.u, GetX(D1.u) + D1.spdX, GetY(D1.u) + D1.spdY ) if (i != DummyMax-1) { for( int j = i+1 ; j <= DummyMax ; j++ ) { if ( Dist( GetX(D1.u), GetY(D1.u), GetX(D2.u), GetY(D2.u) ) < D1.r + D2.r + D2.speed() ) { min = Min(D1.hp, D2.hp) D1.hp-=min D2.hp-=min if ( D2.hp < MIN_HP ) { DelDummy(D2) } if ( D1.hp < MIN_HP ) { DelDummy(D1) i-- ok=false break } } } } if ( ok ) { owner=GetOwningPlayer(D1.u) GroupEnumUnitsInRange(g,GetX(D1.u),GetY(D1.u),D1.r,null) do { u=FirstOfGroup(Group) if IsUnitEnemy( u, owner ) { UnitDamageTarget( D1.u, u, D1.hp, false, false, ATTACK_TYPE_MAGIC, DAMAGE_TYPE_MAGIC, WEAPON_TYPE_WHOKNOWS ) } GroupRemoveUnit( Group, u ) }whilenot( u==null ) } } owner=null }
Добавлено (26 Июня 2013, 17:52:48) --------------------------------------------- как в 1 классе.... Переменные задаются с начала кода, а не в конце или в середине.... -_-
Goodie, расстановка==отступы? Это в местном [ code ] табуляция фиговая, так все норм. А объявление удобней перед использованием делать, понятней потом. Но да, не читабельно в том-то и проблема а забытое
void blabla() { bool isUnitTroll = true if (isUnitTroll) { real wow = 0.3827 int z = 0x00 } }
Но когда хочется посмотреть в скомплимированный код, то получаешь это:
Код
function blabla takes nothing returns nothing local boolean isUnitTroll=true local real cjlocgn_00000000 local integer cjlocgn_00000001 if ( isUnitTroll ) then set cjlocgn_00000000=0.3827 set cjlocgn_00000001=0x00 endif endfunction