16

» WarCraft 3 / Помощь по World Editor

ZinC ...
то есть лень перегнать в джасс уже готовую наработку за 20 секунд без доп софта? проще неделю ждать ответа?
16

» WarCraft 3 / ZinC: Благодать AOE

Способ реализации:
Zinc
изи перевёл в православный
globals
//globals from SpellHolyBoltAOE:
constant boolean LIBRARY_SpellHolyBoltAOE=true
group SpellHolyBoltAOE__g=CreateGroup()
unit SpellHolyBoltAOE__caster
unit SpellHolyBoltAOE__target
real SpellHolyBoltAOE__x
real SpellHolyBoltAOE__y
real SpellHolyBoltAOE__range
real SpellHolyBoltAOE__heal
real SpellHolyBoltAOE__damage
real SpellHolyBoltAOE__life
real array SpellHolyBoltAOE__data
boolean SpellHolyBoltAOE__isEnemy
boolean SpellHolyBoltAOE__isUndead
integer SpellHolyBoltAOE__level
constant integer SpellHolyBoltAOE__abilityId='SHhb'
constant integer SpellHolyBoltAOE__allyUndeadAction=0
constant integer SpellHolyBoltAOE__enemyNoUndeadAction=0
constant string SpellHolyBoltAOE__spellEffect="HolyLight.mdx"
constant string SpellHolyBoltAOE__spellEffectAttach="origin"
constant attacktype SpellHolyBoltAOE__attackType=ATTACK_TYPE_MAGIC
//endglobals from SpellHolyBoltAOE
    // Generated
trigger gg_trg_SpellHolyBoltAOE= null

trigger l__library_init

//JASSHelper struct globals:

endglobals
native UnitAlive takes unit u returns boolean


//library SpellHolyBoltAOE:

    function SpellHolyBoltAOE__getRange takes nothing returns real
        set SpellHolyBoltAOE__data[1]=100 // 2 уровень
        set SpellHolyBoltAOE__data[2]=200 // 3 уровень
        set SpellHolyBoltAOE__data[3]=300
        return SpellHolyBoltAOE__data[SpellHolyBoltAOE__level]
    endfunction
    function SpellHolyBoltAOE__getHeal takes nothing returns real
        set SpellHolyBoltAOE__data[1]=200 // 2 уровень
        set SpellHolyBoltAOE__data[2]=400 // 3 уровень
        set SpellHolyBoltAOE__data[3]=600
        return SpellHolyBoltAOE__data[SpellHolyBoltAOE__level]
    endfunction
    function SpellHolyBoltAOE__getDamage takes nothing returns real
        set SpellHolyBoltAOE__data[1]=100 // 2 уровень
        set SpellHolyBoltAOE__data[2]=200 // 3 уровень
        set SpellHolyBoltAOE__data[3]=300
        return SpellHolyBoltAOE__data[SpellHolyBoltAOE__level]
    endfunction
    function SpellHolyBoltAOE__isTarget takes nothing returns boolean
        if ( IsUnitType(SpellHolyBoltAOE__target, UNIT_TYPE_STRUCTURE) ) then // Отсеиваем механических юнитов
            return false
        endif
        if ( IsUnitType(SpellHolyBoltAOE__target, UNIT_TYPE_MECHANICAL) ) then // Отсеиваем летающих юнитов
            return false
        endif
        if ( IsUnitType(SpellHolyBoltAOE__target, UNIT_TYPE_FLYING) ) then // Отсеиваем кастера
            return false
        endif
        if ( SpellHolyBoltAOE__caster == SpellHolyBoltAOE__target ) then
            return false
        endif
        return true
    endfunction
            function SpellHolyBoltAOE__anon__1 takes nothing returns nothing
                set SpellHolyBoltAOE__target=GetEnumUnit() // Отсеиваем мёртвых юнитов
                if ( not ( UnitAlive(SpellHolyBoltAOE__target) ) ) then // Отсеиваем юнитов по расстоянию функцией, которая учитывает радиус юнита
                    return
                endif
                if ( not ( IsUnitInRangeXY(SpellHolyBoltAOE__target, SpellHolyBoltAOE__x, SpellHolyBoltAOE__y, SpellHolyBoltAOE__range) ) ) then
                    return
                endif
                set SpellHolyBoltAOE__isEnemy=IsPlayerEnemy(GetOwningPlayer(SpellHolyBoltAOE__caster), GetOwningPlayer(SpellHolyBoltAOE__target))
                set SpellHolyBoltAOE__isUndead=IsUnitType(SpellHolyBoltAOE__target, UNIT_TYPE_UNDEAD) // Отсеиваем цели
                if ( not ( SpellHolyBoltAOE__isTarget() ) ) then // Отсеиваем дружественную нежить, если она игнорируется
                    return
                endif
                if ( not SpellHolyBoltAOE__isEnemy and SpellHolyBoltAOE__isUndead and SpellHolyBoltAOE__allyUndeadAction == 0 ) then // Отсеиваем враждебную НЕ нежить, если она игнорируется
                    return
                endif
                if ( SpellHolyBoltAOE__isEnemy and not SpellHolyBoltAOE__isUndead and SpellHolyBoltAOE__enemyNoUndeadAction == 0 ) then
                    return
                endif
                call DestroyEffect(AddSpecialEffectTarget(SpellHolyBoltAOE__spellEffect, SpellHolyBoltAOE__target, SpellHolyBoltAOE__spellEffectAttach)) // Создаём эффект
                set SpellHolyBoltAOE__life=GetUnitState(SpellHolyBoltAOE__target, UNIT_STATE_LIFE)
                if ( SpellHolyBoltAOE__life < GetUnitState(SpellHolyBoltAOE__target, UNIT_STATE_MAX_LIFE) and ( ( not SpellHolyBoltAOE__isUndead and not SpellHolyBoltAOE__isEnemy ) or ( SpellHolyBoltAOE__allyUndeadAction == 1 and SpellHolyBoltAOE__isUndead and not SpellHolyBoltAOE__isEnemy ) or ( SpellHolyBoltAOE__enemyNoUndeadAction == 1 and not SpellHolyBoltAOE__isUndead and SpellHolyBoltAOE__isEnemy ) ) ) then // Лечим
                    call SetUnitState(SpellHolyBoltAOE__target, UNIT_STATE_LIFE, SpellHolyBoltAOE__life + SpellHolyBoltAOE__heal)
                endif
                if ( ( SpellHolyBoltAOE__isUndead and SpellHolyBoltAOE__isEnemy ) or ( SpellHolyBoltAOE__allyUndeadAction == 2 and SpellHolyBoltAOE__isUndead and not SpellHolyBoltAOE__isEnemy ) or ( SpellHolyBoltAOE__enemyNoUndeadAction == 2 and not SpellHolyBoltAOE__isUndead and SpellHolyBoltAOE__isEnemy ) ) then // Наносим урон
                    call UnitDamageTarget(SpellHolyBoltAOE__caster, SpellHolyBoltAOE__target, SpellHolyBoltAOE__damage, true, false, SpellHolyBoltAOE__attackType, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS)
                endif
            endfunction
        function SpellHolyBoltAOE__anon__0 takes nothing returns nothing
            if ( SpellHolyBoltAOE__abilityId != GetSpellAbilityId() ) then
                return
            endif
            set SpellHolyBoltAOE__caster=GetTriggerUnit()
            set SpellHolyBoltAOE__level=GetUnitAbilityLevel(SpellHolyBoltAOE__caster, SpellHolyBoltAOE__abilityId)
            set SpellHolyBoltAOE__x=GetSpellTargetX()
            set SpellHolyBoltAOE__y=GetSpellTargetY()
            set SpellHolyBoltAOE__range=SpellHolyBoltAOE__getRange()
            call GroupClear(SpellHolyBoltAOE__g)
            call GroupEnumUnitsInRange(SpellHolyBoltAOE__g, SpellHolyBoltAOE__x, SpellHolyBoltAOE__y, SpellHolyBoltAOE__range + 200, null)
            set SpellHolyBoltAOE__heal=SpellHolyBoltAOE__getHeal()
            set SpellHolyBoltAOE__damage=SpellHolyBoltAOE__getDamage()
            call ForGroup(SpellHolyBoltAOE__g, function SpellHolyBoltAOE__anon__1)
        endfunction
    function SpellHolyBoltAOE__onInit takes nothing returns nothing
        local trigger t=CreateTrigger()
        local integer i
        set i=0
        loop
        exitwhen ( i >= bj_MAX_PLAYER_SLOTS )
            call TriggerRegisterPlayerUnitEvent(t, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
        set i=i + 1
        endloop
        call TriggerAddAction(t, function SpellHolyBoltAOE__anon__0)
    endfunction

//library SpellHolyBoltAOE ends
//===========================================================================
// 
// Благодать AOE
// 
//   Warcraft III map script
//   Generated by the Warcraft III World Editor
//   Date: Tue Apr 11 02:19:50 2023
//   Map Author: xgm.guru/user/nazarpunk
// 
//===========================================================================

//***************************************************************************
//*
//*  Global Variables
//*
//***************************************************************************


function InitGlobals takes nothing returns nothing
endfunction

//***************************************************************************
//*
//*  Unit Creation
//*
//***************************************************************************

//===========================================================================
function CreateUnitsForPlayer0 takes nothing returns nothing
    local player p= Player(0)
    local unit u
    local integer unitID
    local trigger t
    local real life

    set u=CreateUnit(p, 'hfoo', 619.7, 331.2, 208.205)
    set life=GetUnitState(u, UNIT_STATE_LIFE)
    call SetUnitState(u, UNIT_STATE_LIFE, 0.01 * life)
    set u=CreateUnit(p, 'Hpal', 406.8, 256.7, 1.810)
    call SetHeroLevel(u, 5, false)
    set life=GetUnitState(u, UNIT_STATE_LIFE)
    call SetUnitState(u, UNIT_STATE_LIFE, 0.01 * life)
    call SetUnitState(u, UNIT_STATE_MANA, 360)
    call SelectHeroSkill(u, 'SHhb')
    call IssueImmediateOrder(u, "")
    set u=CreateUnit(p, 'hfoo', 695.8, 333.4, 200.761)
    set life=GetUnitState(u, UNIT_STATE_LIFE)
    call SetUnitState(u, UNIT_STATE_LIFE, 0.01 * life)
    set u=CreateUnit(p, 'ugho', 639.8, 189.2, 164.997)
    set life=GetUnitState(u, UNIT_STATE_LIFE)
    call SetUnitState(u, UNIT_STATE_LIFE, 0.01 * life)
    set u=CreateUnit(p, 'ugho', 725.4, 193.0, 170.308)
    set life=GetUnitState(u, UNIT_STATE_LIFE)
    call SetUnitState(u, UNIT_STATE_LIFE, 0.01 * life)
endfunction

//===========================================================================
function CreateNeutralHostile takes nothing returns nothing
    local player p= Player(PLAYER_NEUTRAL_AGGRESSIVE)
    local unit u
    local integer unitID
    local trigger t
    local real life

    set u=CreateUnit(p, 'hfoo', 778.6, 324.8, 194.445)
    set life=GetUnitState(u, UNIT_STATE_LIFE)
    call SetUnitState(u, UNIT_STATE_LIFE, 0.01 * life)
    set u=CreateUnit(p, 'hfoo', 862.5, 327.9, 192.006)
    set life=GetUnitState(u, UNIT_STATE_LIFE)
    call SetUnitState(u, UNIT_STATE_LIFE, 0.01 * life)
    set u=CreateUnit(p, 'ugho', 809.8, 195.0, 170.976)
    set life=GetUnitState(u, UNIT_STATE_LIFE)
    call SetUnitState(u, UNIT_STATE_LIFE, 0.01 * life)
    set u=CreateUnit(p, 'ugho', 900.2, 193.0, 174.032)
    set life=GetUnitState(u, UNIT_STATE_LIFE)
    call SetUnitState(u, UNIT_STATE_LIFE, 0.01 * life)
endfunction

//===========================================================================
function CreatePlayerBuildings takes nothing returns nothing
endfunction

//===========================================================================
function CreatePlayerUnits takes nothing returns nothing
    call CreateUnitsForPlayer0()
endfunction

//===========================================================================
function CreateAllUnits takes nothing returns nothing
    call CreatePlayerBuildings()
    call CreateNeutralHostile()
    call CreatePlayerUnits()
endfunction

//***************************************************************************
//*
//*  Triggers
//*
//***************************************************************************

//===========================================================================
// Trigger: SpellHolyBoltAOE
//===========================================================================

function InitCustomTriggers takes nothing returns nothing
    //Function not found: call InitTrig_SpellHolyBoltAOE()
endfunction

//***************************************************************************
//*
//*  Players
//*
//***************************************************************************

function InitCustomPlayerSlots takes nothing returns nothing

    // Player 0
    call SetPlayerStartLocation(Player(0), 0)
    call SetPlayerColor(Player(0), ConvertPlayerColor(0))
    call SetPlayerRacePreference(Player(0), RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(Player(0), true)
    call SetPlayerController(Player(0), MAP_CONTROL_USER)

    // Player 1
    call SetPlayerStartLocation(Player(1), 1)
    call SetPlayerColor(Player(1), ConvertPlayerColor(1))
    call SetPlayerRacePreference(Player(1), RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(Player(1), true)
    call SetPlayerController(Player(1), MAP_CONTROL_USER)

    // Player 2
    call SetPlayerStartLocation(Player(2), 2)
    call SetPlayerColor(Player(2), ConvertPlayerColor(2))
    call SetPlayerRacePreference(Player(2), RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(Player(2), true)
    call SetPlayerController(Player(2), MAP_CONTROL_USER)

    // Player 3
    call SetPlayerStartLocation(Player(3), 3)
    call SetPlayerColor(Player(3), ConvertPlayerColor(3))
    call SetPlayerRacePreference(Player(3), RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(Player(3), true)
    call SetPlayerController(Player(3), MAP_CONTROL_USER)

    // Player 4
    call SetPlayerStartLocation(Player(4), 4)
    call SetPlayerColor(Player(4), ConvertPlayerColor(4))
    call SetPlayerRacePreference(Player(4), RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(Player(4), true)
    call SetPlayerController(Player(4), MAP_CONTROL_USER)

    // Player 5
    call SetPlayerStartLocation(Player(5), 5)
    call SetPlayerColor(Player(5), ConvertPlayerColor(5))
    call SetPlayerRacePreference(Player(5), RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(Player(5), true)
    call SetPlayerController(Player(5), MAP_CONTROL_USER)

    // Player 6
    call SetPlayerStartLocation(Player(6), 6)
    call SetPlayerColor(Player(6), ConvertPlayerColor(6))
    call SetPlayerRacePreference(Player(6), RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(Player(6), true)
    call SetPlayerController(Player(6), MAP_CONTROL_USER)

    // Player 7
    call SetPlayerStartLocation(Player(7), 7)
    call SetPlayerColor(Player(7), ConvertPlayerColor(7))
    call SetPlayerRacePreference(Player(7), RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(Player(7), true)
    call SetPlayerController(Player(7), MAP_CONTROL_USER)

    // Player 8
    call SetPlayerStartLocation(Player(8), 8)
    call SetPlayerColor(Player(8), ConvertPlayerColor(8))
    call SetPlayerRacePreference(Player(8), RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(Player(8), true)
    call SetPlayerController(Player(8), MAP_CONTROL_USER)

    // Player 9
    call SetPlayerStartLocation(Player(9), 9)
    call SetPlayerColor(Player(9), ConvertPlayerColor(9))
    call SetPlayerRacePreference(Player(9), RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(Player(9), true)
    call SetPlayerController(Player(9), MAP_CONTROL_USER)

    // Player 10
    call SetPlayerStartLocation(Player(10), 10)
    call SetPlayerColor(Player(10), ConvertPlayerColor(10))
    call SetPlayerRacePreference(Player(10), RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(Player(10), true)
    call SetPlayerController(Player(10), MAP_CONTROL_USER)

    // Player 11
    call SetPlayerStartLocation(Player(11), 11)
    call SetPlayerColor(Player(11), ConvertPlayerColor(11))
    call SetPlayerRacePreference(Player(11), RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(Player(11), true)
    call SetPlayerController(Player(11), MAP_CONTROL_USER)

endfunction

function InitCustomTeams takes nothing returns nothing
    // Force: TRIGSTR_002
    call SetPlayerTeam(Player(0), 0)
    call SetPlayerTeam(Player(1), 0)
    call SetPlayerTeam(Player(2), 0)
    call SetPlayerTeam(Player(3), 0)
    call SetPlayerTeam(Player(4), 0)
    call SetPlayerTeam(Player(5), 0)
    call SetPlayerTeam(Player(6), 0)
    call SetPlayerTeam(Player(7), 0)
    call SetPlayerTeam(Player(8), 0)
    call SetPlayerTeam(Player(9), 0)
    call SetPlayerTeam(Player(10), 0)
    call SetPlayerTeam(Player(11), 0)

endfunction

function InitAllyPriorities takes nothing returns nothing

    call SetStartLocPrioCount(0, 11)
    call SetStartLocPrio(0, 0, 1, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(0, 1, 2, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(0, 2, 3, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(0, 3, 4, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(0, 4, 5, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(0, 5, 6, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(0, 6, 7, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(0, 7, 8, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(0, 8, 9, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(0, 9, 10, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(0, 10, 11, MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(1, 11)
    call SetStartLocPrio(1, 0, 0, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(1, 1, 2, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(1, 2, 3, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(1, 3, 4, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(1, 4, 5, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(1, 5, 6, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(1, 6, 7, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(1, 7, 8, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(1, 8, 9, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(1, 9, 10, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(1, 10, 11, MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(2, 11)
    call SetStartLocPrio(2, 0, 0, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(2, 1, 1, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(2, 2, 3, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(2, 3, 4, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(2, 4, 5, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(2, 5, 6, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(2, 6, 7, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(2, 7, 8, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(2, 8, 9, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(2, 9, 10, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(2, 10, 11, MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(3, 11)
    call SetStartLocPrio(3, 0, 0, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(3, 1, 1, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(3, 2, 2, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(3, 3, 4, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(3, 4, 5, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(3, 5, 6, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(3, 6, 7, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(3, 7, 8, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(3, 8, 9, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(3, 9, 10, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(3, 10, 11, MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(4, 11)
    call SetStartLocPrio(4, 0, 0, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(4, 1, 1, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(4, 2, 2, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(4, 3, 3, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(4, 4, 5, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(4, 5, 6, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(4, 6, 7, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(4, 7, 8, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(4, 8, 9, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(4, 9, 10, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(4, 10, 11, MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(5, 11)
    call SetStartLocPrio(5, 0, 0, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(5, 1, 1, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(5, 2, 2, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(5, 3, 3, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(5, 4, 4, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(5, 5, 6, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(5, 6, 7, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(5, 7, 8, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(5, 8, 9, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(5, 9, 10, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(5, 10, 11, MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(6, 11)
    call SetStartLocPrio(6, 0, 0, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(6, 1, 1, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(6, 2, 2, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(6, 3, 3, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(6, 4, 4, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(6, 5, 5, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(6, 6, 7, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(6, 7, 8, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(6, 8, 9, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(6, 9, 10, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(6, 10, 11, MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(7, 11)
    call SetStartLocPrio(7, 0, 0, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(7, 1, 1, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(7, 2, 2, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(7, 3, 3, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(7, 4, 4, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(7, 5, 5, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(7, 6, 6, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(7, 7, 8, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(7, 8, 9, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(7, 9, 10, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(7, 10, 11, MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(8, 11)
    call SetStartLocPrio(8, 0, 0, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(8, 1, 1, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(8, 2, 2, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(8, 3, 3, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(8, 4, 4, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(8, 5, 5, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(8, 6, 6, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(8, 7, 7, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(8, 8, 9, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(8, 9, 10, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(8, 10, 11, MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(9, 11)
    call SetStartLocPrio(9, 0, 0, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9, 1, 1, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9, 2, 2, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9, 3, 3, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9, 4, 4, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9, 5, 5, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9, 6, 6, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9, 7, 7, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9, 8, 8, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9, 9, 10, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(9, 10, 11, MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(10, 11)
    call SetStartLocPrio(10, 0, 0, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10, 1, 1, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10, 2, 2, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10, 3, 3, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10, 4, 4, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10, 5, 5, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10, 6, 6, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10, 7, 7, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10, 8, 8, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10, 9, 9, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(10, 10, 11, MAP_LOC_PRIO_HIGH)

    call SetStartLocPrioCount(11, 11)
    call SetStartLocPrio(11, 0, 0, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11, 1, 1, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11, 2, 2, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11, 3, 3, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11, 4, 4, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11, 5, 5, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11, 6, 6, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11, 7, 7, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11, 8, 8, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11, 9, 9, MAP_LOC_PRIO_HIGH)
    call SetStartLocPrio(11, 10, 10, MAP_LOC_PRIO_HIGH)
endfunction

//***************************************************************************
//*
//*  Main Initialization
//*
//***************************************************************************

//===========================================================================
function main takes nothing returns nothing
    call SetCameraBounds(- 3328.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), - 3584.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), - 3328.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), - 3584.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM))
    call SetDayNightModels("Environment\\DNC\\DNCDalaran\\DNCDalaranTerrain\\DNCDalaranTerrain.mdl", "Environment\\DNC\\DNCDalaran\\DNCDalaranUnit\\DNCDalaranUnit.mdl")
    call NewSoundEnvironment("Default")
    call SetAmbientDaySound("DalaranRuinsDay")
    call SetAmbientNightSound("DalaranRuinsNight")
    call SetMapMusic("Music", true, 0)
    call CreateAllUnits()
    call InitBlizzard()

call ExecuteFunc("SpellHolyBoltAOE__onInit")

    call InitGlobals()
    call InitCustomTriggers()

endfunction

//***************************************************************************
//*
//*  Map Configuration
//*
//***************************************************************************

function config takes nothing returns nothing
    call SetMapName("TRIGSTR_025")
    call SetMapDescription("TRIGSTR_032")
    call SetPlayers(12)
    call SetTeams(12)
    call SetGamePlacement(MAP_PLACEMENT_TEAMS_TOGETHER)

    call DefineStartLocation(0, 320.0, 192.0)
    call DefineStartLocation(1, 320.0, 192.0)
    call DefineStartLocation(2, 320.0, 192.0)
    call DefineStartLocation(3, 320.0, 192.0)
    call DefineStartLocation(4, 320.0, 192.0)
    call DefineStartLocation(5, 320.0, 192.0)
    call DefineStartLocation(6, 320.0, 192.0)
    call DefineStartLocation(7, 320.0, 192.0)
    call DefineStartLocation(8, 320.0, 192.0)
    call DefineStartLocation(9, 320.0, 192.0)
    call DefineStartLocation(10, 320.0, 192.0)
    call DefineStartLocation(11, 320.0, 192.0)

    // Player setup
    call InitCustomPlayerSlots()
    call SetPlayerSlotAvailable(Player(0), MAP_CONTROL_USER)
    call SetPlayerSlotAvailable(Player(1), MAP_CONTROL_USER)
    call SetPlayerSlotAvailable(Player(2), MAP_CONTROL_USER)
    call SetPlayerSlotAvailable(Player(3), MAP_CONTROL_USER)
    call SetPlayerSlotAvailable(Player(4), MAP_CONTROL_USER)
    call SetPlayerSlotAvailable(Player(5), MAP_CONTROL_USER)
    call SetPlayerSlotAvailable(Player(6), MAP_CONTROL_USER)
    call SetPlayerSlotAvailable(Player(7), MAP_CONTROL_USER)
    call SetPlayerSlotAvailable(Player(8), MAP_CONTROL_USER)
    call SetPlayerSlotAvailable(Player(9), MAP_CONTROL_USER)
    call SetPlayerSlotAvailable(Player(10), MAP_CONTROL_USER)
    call SetPlayerSlotAvailable(Player(11), MAP_CONTROL_USER)
    call InitGenericPlayerSlots()
    call InitAllyPriorities()
endfunction




//Struct method generated initializers/callers:

16

» WarCraft 3 / Подскажите про совместимость карт в Warcraft III

Как быть? (Может есть какой-то конвертер?)
имей у себя все версии варкрафта, делов то на 100 гигов
есть куча старых карт и даже кампаний которые и на 1.26 то не запускаются
16

» WarCraft 3 / Рефордж. Не сохраняются импортированные модели .

новые модели не работали
часть моделей вновь крашат карту
так назови ему которая 100% заработает, он проверит
16

» WarCraft 3 / Новое обновление KK: Battle Platform!

Гарена отправилась на свалку истории
а в чём была причина? как то внезапно
была куча комнат по 255, а через пол года раз и закрылась
16

» WarCraft 3 / Новое обновление KK: Battle Platform!

У нас большая часть в игру заходит понастольгировать и уходит в другие игры
ну если новых необычных годных карт никто не пишет - вот и заходят в старьё 2007 года покатать пол часика и в дотан катку
а эти ваши иероглифы - ну их, ничё не понятно, лучше в старые добрые земли богов - вот это да, вот это интересно
а уж если ролеплей и союзы через чат заключать - это же вершина кайфа - что может быть приятнее? да еще и расой пауков поиграть
почему из всего многообразия карт у нас ТАК популярны легион тд и земли богов? это для меня наверное навсегда останется загадкой
16

» WarCraft 3 / WarCrafting

Отправь одного светляка на шахту, а одного на лес и получишь данное соотношение.
а если отправить 1 в шахту а 20 на лес то какое будет соотношение?
Lord_Teo:
Одна валюта, поэтому проще думать.
а, теперь ясно
Lord_Teo:
мне, например, не нравятся орковские армии
вопросов больше не имею
16

» WarCraft 3 / WarCrafting

  1. Стоимость юнитов и улучшений выражается только в золоте и эквивалентна стоимости в стандартном режиме с учетом того, что 1 ед. дерева = 3 ед. золота.
но курса 1 к 3 никогда не было
с чего ты взял что эквивалентна?
почему бы не оставить деревянные цены как в оригинале?
(будут добавлены не все стандартные юниты)
чем не угодили?
16

» WarCraft 3 / Новое обновление KK: Battle Platform!

они опять перепродались и сменили UP на KK ?
можно еще добавить что это бывший netease
  1. Netease
  2. reckfeng UP官方对战平台 UP对战平台 upduizhan
  3. KK对战平台
это всё одно и то же
а сайт тоже поменяется у KK ?
16

» IrInA Host Bot / Обновление коннектора (анонс)

если играть без обновленного гейм.длл(без которого играет абсолютное большинство)
а если большинство не ставит MS Visual C++ и .NET Framework, то ирина тоже им должна всё сама установить? а лучше даже и не требовать их установки?
Spykontishek:
А в обновленном лаунчере же заявлялось, что и без манипуляций с game.dll не будет выкидывать
щас бы не понимать разницу между коннектором и ланчером
а потом требовать от коннектора фичи ланчера
Spykontishek:
Не забудьте исправить вылет с больших карт
а потом не понимать разницу между ОШИБКОЙ, которую надо ИСПРАВЛЯТЬ и фичей, которую не исправляют а добавляют
16

» WarCraft 3 / Сломалась карта

бекапов не делал к сожалению
земелька стекловатой
но карту очень жаль, т.к. много времени потратил на неё
помним скорбим
Загруженные файлы
16

» IrInA Host Bot / Обновление коннектора (анонс)

а что с ним то не так?
да это он во всякие земли богов и наступление орды играет, где мамкины кодеры понапихают кривых мемхаков, а потом вахтёры заставляют всех в лобби перезаходить
ну а виновата естесвинна ирина
16

» WarCraft 3 / China Pack Icons №1

будто вас беспокоят эти зелёные иконки
зелёная иконка = карта недоделанная
без вариантов
16

» WarCraft 3 / Модель белого гриба

Я буду помнить тебя всегда
за даларан
спасибо тебе бородатый гном!
лучше выкладывай модельку белого гриба
а то может ты для приличия ответил а сам ничё не понял чё делать надо
16

» WarCraft 3 / Модель белого гриба

Принятый ответ
Ashenvale - Environment - Mushrooms
Felwood - Environment - Mushrooms
Sunken Ruins - Environment - Mushrooms
Underground - Environment - Mushrooms
Underground - Environment - Mushroom Blue
Панель декораций
Ашенваль - Окружение - Грибы
Фелвуд - Окружение - Грибы
Затонувший город - Окружение - Грибы
Подземелье - Окружение - Грибы
Подземелье - Окружение - Синий гриб
WESTRING_DOOD_APMS=Грибы=Mushrooms
WESTRING_DOOD_DPSH=Синий гриб=Mushroom Blue
war3.mpq\Doodads\Doodads.slk
War3x.mpq\Doodads\Doodads.slk
War3Patch.mpq\Doodads\Doodads.slk
war3.mpq
APms - AshenShrooms - WESTRING_DOOD_APMS - Doodads\Ashenvale\Plants\AshenShrooms\AshenShrooms*.mdx - Textures\AshenNatural.blp
CPms - FelwoodShrooms - WESTRING_DOOD_APMS - Doodads\Felwood\Plants\FelwoodShrooms\FelwoodShrooms*.mdx - Textures\FelwoodNatural.blp
GPsh - ShroomsBlue - WESTRING_DOOD_DPSH - Doodads\Underground\Plants\ShroomsBlue\ShroomsBlue.mdx - ReplaceableTextures\Mushroom\G_MushroomTree.blp
War3x.mpq
GPsh - Blue Mushroom WESTRING_DOOD_DPSH - Doodads\Underground\Plants\ShroomsBlue\BlueMushroomTree.blp + ShroomsBlue.mdx
ZPms - Mushrooms WESTRING_DOOD_APMS - Doodads\Ruins\Plants\Ruins_Shroom\Ruins_Shroom*.mdx - Textures\Ruins_PlantLife.blp



берешь
War3x.mpq\Textures\Ruins_PlantLife.blp - перерисовываешь - вставляешь в карту по тому же пути
и юзаешь декорации - Затонувший город - Окружение - Грибы
только почему-то при вставке в карту она удаляется
где-то надо тыкнуть галку типа "использовать нестандартные дудады"
ну или возьми Doodads\Ruins\Plants\Ruins_Shroom\Ruins_Shroom*.mdx + Textures\Ruins_PlantLife.blp и вставь как новую модель через импорт объектов
Я не достиг такого уровня развития извените
в пеинте кисточкой по png повазюкать не умеешь?
16

» WarCraft 3 / Модель белого гриба

ну вон возьми красный гриб и перекрась у него шляпу в коричневый а ногу в серый - будет тебе белый гриб
Загруженные файлы
16

» WarCraft 3 / что является пиратством на XGM ?

Использование нелицензионного программного обеспечения
где в торрент-файле написано, что этот торрент-файл является нелицензионным ?
кому принадлежат права на торрент-файл с хешем XXXXXXXXXX ?
есть хоть один патент на созданный физлицом торрент-файл?
вот лицензия, где написано что бит-торрент протокол является открытым и бесплатным:
Full name
BitTorrent Open Source License v1.0
This License provides that:
  1. You may use, sell or give away the Licensed Product, alone or as a component of an aggregate software distribution containing programs from several different sources. No royalty or other fee is required.
т.е. это всё равно что запретить буфер обмена или все в мире компакт диски или все в мире флешки или авторучки
авторучкой можно написать плохое слово в чей-либо адрес - значит ли это, что надо запретить все авторучки?
а про кухонные ножи и подавно
16

» WarCraft 3 / что является пиратством на XGM ?

признан нарушающим принципы сообщества
  1. где можно почитать список этих принципов?
не стоит забывать про законодательство.
  1. по какому закону РФ запрещено копировать торрент-файлы?
16

» WarCraft 3 / Проигрывание погоды

создаем область с эффектом дождь допустим,и по таймеру перемещяем ее в рандомное место на карте!Норм идейка?
а где w3x ?