0
11
1 месяц назад
0

» WarCraft 3 / Elemental Mark Ver:2.00

Можно попросить сделать лёд?

По какому пути надо импортировать эффекты? чёт не работает
0
11
1 месяц назад
0

» XGM Team / Обновление способностей 2024

Ура, люди любят большие цифарки! Это точно пойдет на пользу
1
11
2 месяца назад
1

» Блог им. rsfghd / движение по безье

Простите за некропост, выражаю автору благодарочку за скилл. Переписал через хэш без триггерслипа, прилепил урон и вывел в одну функцию, заменил юнита на эффект (для UjPI)
Пример использования: call RocketStrike(caster, x, y, "Abilities\\Weapons\\BansheeMissile\\BansheeMissile.mdl", ammout, dmg, 50., 200., DAMAGE_TYPE_FIRE)
код
// проверка способности
function Trig_MilionGhost_Conditions takes nothing returns boolean
    return GetSpellAbilityId() == 'A026'
endfunction

//движение
function MilionGhostMove takes nothing returns nothing
    local timer t = GetExpiredTimer()
    local integer h = GetHandleId(t)
    local unit GT = LoadUnitHandle(hash, h, 1)
    local effect eff = LoadEffectHandle(hash, h, 2)
    local real startx = LoadReal(hash, h, 3)
    local real starty = LoadReal(hash, h, 4)
    local real startz = LoadReal(hash, h, 5)
    local real midx = LoadReal(hash, h, 6)
    local real midy = LoadReal(hash, h, 7)
    local real midz = LoadReal(hash, h, 8)
    local real endx = LoadReal(hash, h, 9)
    local real endy = LoadReal(hash, h, 10)
    local real endz = LoadReal(hash, h, 11)
    local real time = LoadReal(hash, h, 12)
    local real maxTime = LoadReal(hash, h, 13)
    local real x
    local real y
    local real z
    local real dmg = LoadReal(hash, h, 14)
    local real rng = LoadReal(hash, h, 15)
    local group g 
    local unit un
    local damagetype dmgtype = LoadDamageTypeHandle(hash, h, 16)
    //-------------
    set x = startx + ( ( 2.00 * ( midx - startx ) ) + ( startx - 2.00 * midx + endx ) * time ) * time
    set y = starty + ( ( 2.00 * ( midy - starty ) ) + ( starty - 2.00 * midy + endy ) * time ) * time
    set z = startz + ( ( 2.00 * ( midz - startz ) ) + ( startz - 2.00 * midz + endz ) * time ) * time
    //-------------
    call SetSpecialEffectX(eff, x)
    call SetSpecialEffectY(eff, y)
    call SetSpecialEffectZ(eff, z - GetAxisZ(x, y))
    set time = time + 0.025 / maxTime
    //-------------
    if time >= 1.00 then
        call DestroyEffect(eff)
        call FlushChildHashtable(hash, h)
        call DestroyTimer(t)
        // наносим урон
        //---------------------------
        set g = CreateGroup()
        call GroupEnumUnitsInRange(g, x, y, rng, null)
        loop
            set un = FirstOfGroup(g)
            exitwhen un == null
            if IsUnitEnemy(un, GetOwningPlayer(GT)) and not IsUnitType(un, UNIT_TYPE_DEAD) and not IsUnitType(un, UNIT_TYPE_STRUCTURE) then
               call UnitDamageTarget(GT, un, dmg, true, false, ATTACK_TYPE_NORMAL, dmgtype, WEAPON_TYPE_WHOKNOWS)
                //call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Human\\ManaFlare\\ManaFlareBoltImpact.mdl", un , "orign"))
            endif
            call GroupRemoveUnit(g, un)
        endloop
        call DestroyGroup(g)
        //----------------------------
    else 
        call SaveReal(hash, h, 12, time)
    endif 
    
    //-------------
    set g = null 
    set un = null
    set eff = null
    set GT = null 
    set t = null
    set dmgtype = null
endfunction



// создание эффектов
function MilionGhostCreate takes nothing returns nothing
    local timer t = GetExpiredTimer()
    local integer h = GetHandleId(t)
    local unit GT = LoadUnitHandle(hash, h, 1)
    local integer AmountRocket = LoadInteger(hash, h, 2)
    local real x = LoadReal(hash, h, 3) // центр конечной области
    local real y = LoadReal(hash, h, 4)// центр конечной области
    local timer t1
    local integer h1
    local effect eff
    local real xstart = GetUnitX(GT)
    local real ystart = GetUnitY(GT)
    local real zstart = GetAxisZ(xstart, ystart) + 50
    local real xend //конечная точка способности
    local real yend //конечная точка способности
    local real zend //конечная точка способности
    local real angle
    local real distance
    local real midx // средняя точка способности
    local real midy // средняя точка способности
    local real midz // средняя точка способности
    local real time 
    local real maxtime
    local real Scatter = LoadReal(hash, h, 8)
    local damagetype dmgtype = LoadDamageTypeHandle(hash, h, 9)
    //-------------
    
    if AmountRocket > 0 then
        call SaveInteger(hash, h, 2, AmountRocket-1)
        set t1 = CreateTimer()
        set h1 = GetHandleId(t1)
        //---------       
        set eff = AddSpecialEffect(LoadStr(hash, h, 5), xstart, ystart)
        call SetSpecialEffectZ(eff, zstart)
        
        //высчитываем начало и конец
        set xend = x + GetRandomReal( -Scatter, Scatter ) * Cos( GetRandomReal( 0.00, 360.00 ) * bj_DEGTORAD ) 
        set yend = y + GetRandomReal( -Scatter, Scatter ) * Sin( GetRandomReal( 0.00, 360.00 ) * bj_DEGTORAD )
        set zend = GetAxisZ(xend, yend)
        set angle     = Atan2( yend - ystart, xend - xstart )
        set distance  = SquareRoot( ( xend - xstart ) * ( xend - xstart ) + ( yend - ystart ) * ( yend - ystart ) )
        
        //высчитываем середину
        set midx = xstart + ( distance / 2 ) * Cos( angle + GetRandomReal( -90.00, 90.00 ) * bj_DEGTORAD )
        set midy = ystart + ( distance / 2 ) * Sin( angle + GetRandomReal( -90.00, 90.00 ) * bj_DEGTORAD )
        set midz = GetAxisZ( midx, midy )
        
        // проверка на высоты
        if zstart < zend then
            set midz = midz + zend
        else
            set midz = midz + zstart
        endif
        
        set midz = midz + distance
        
        // время 
        set time = 0
        set maxtime = distance * ( 0.025 / 10.00 )
        
        // всё сохраняем
        call SaveUnitHandle(hash, h1, 1, GT)
        call SaveEffectHandle(hash, h1, 2, eff)
        call SaveReal(hash, h1, 3, xstart)
        call SaveReal(hash, h1, 4, ystart)
        call SaveReal(hash, h1, 5, zstart)
        call SaveReal(hash, h1, 6, midx)
        call SaveReal(hash, h1, 7, midy)
        call SaveReal(hash, h1, 8, midz)
        call SaveReal(hash, h1, 9, xend)
        call SaveReal(hash, h1, 10, yend)
        call SaveReal(hash, h1, 11, zend)
        call SaveReal(hash, h1, 12, time)
        call SaveReal(hash, h1, 13, maxtime)
        call SaveReal(hash, h1, 14, LoadReal(hash, h, 6))
        call SaveReal(hash, h1, 15, LoadReal(hash, h, 7))
        call SaveDamageTypeHandle(hash, h1, 16, dmgtype)
        
        //стартуем
        call TimerStart( t1, 0.025, true, function MilionGhostMove )
        //---------
    else 
        call FlushChildHashtable(hash, h)
        call DestroyTimer(t)
    endif 
    //-------------
    set eff = null
    set t1 = null
    set GT = null 
    set t = null
    set dmgtype = null
endfunction

// функция ракетной атаки
function RocketStrike takes unit GT, real x, real y, string RocketEff, integer AmountRocket, real RocketDmg, real RocketScatter1, real RocketScatterMax, damagetype dmgtype returns nothing
    local timer t = CreateTimer()
    local integer h = GetHandleId(t)
    //-------------------
    call SaveUnitHandle(hash, h, 1,GT)
    call SaveInteger(hash, h, 2, AmountRocket)
    call SaveReal(hash, h, 3, x)
    call SaveReal(hash, h, 4, y)
    call SaveStr(hash, h, 5, RocketEff)
    call SaveReal(hash, h, 6, RocketDmg)
    call SaveReal(hash, h, 7, RocketScatter1)
    call SaveReal(hash, h, 8, RocketScatterMax)
    call SaveDamageTypeHandle(hash, h, 9, dmgtype)
    call TimerStart(t, 0.1, true, function MilionGhostCreate)
    //-------------------
    set t = null 
endfunction

// основная функция
function Trig_MilionGhost_Actions takes nothing returns nothing
    local unit GT = GetTriggerUnit()
    local real x = GetSpellTargetX( )
    local real y = GetSpellTargetY( )
    local real dmg = 50.
    local integer kol = 10
    //-------------
    call RocketStrike(GT, x, y, "Abilities\\Weapons\\BansheeMissile\\BansheeMissile.mdl", kol, dmg, 50., 200., DAMAGE_TYPE_FIRE)
    //-------------
    set GT = null 
endfunction

//===========================================================================
function InitTrig_MilionGhost takes nothing returns nothing
    set gg_trg_MilionGhost = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_MilionGhost, EVENT_PLAYER_UNIT_SPELL_EFFECT )
    call TriggerAddCondition( gg_trg_MilionGhost, Condition( function Trig_MilionGhost_Conditions ) )
    call TriggerAddAction( gg_trg_MilionGhost, function Trig_MilionGhost_Actions )
endfunction
0
11
10 месяцев назад
0

» WarCraft 3 / [JASS] AOE Благодать

Карта не та прилеплена
0
11
1 год назад
Отредактирован Konstantin19
0

» Arena of War 2: Hero Survival (собери героя мечты) / Обновление AOW 2.18b: Heroes Survival

Фишка что ли какая-то отвечать однотипно по методичке или как?
У всех должен быть одинаковый вкус, и желательно такой как у тебя?
Фониус Персон:
посмотрите на пример любой ААА ИГРЫ
Ну ок, давайте посмотрим
БДО и ВОВ:
неудачные как эта китайска
Как раз эта карта в Китае популярна. Есть, кстати, ещё хуже по заполнению экрана в том числе рекламой.
Про китайские карты не надо. У них есть возможно полностью менять интерфейс. Но во всех популярных картах они его всегда оставляют или делают околодефолтный. Не просто так же да?
Загруженные файлы
0
11
1 год назад
0

» Arena of War 2: Hero Survival (собери героя мечты) / Обновление AOW 2.18b: Heroes Survival

А интерфейс всё равно на пол экрана, как по мне карта перегружена и отталкивает всеми этими UI
Возможно только местного обывателя, не привыкшего ни к чему, кроме стандартного интерфейса варкрафта. А так на вкус и цвет все фламастеры разные.
Вот например скин с популярной карты в Китае
Загруженные файлы
0
11
1 год назад
0

» Arena of War 2: Hero Survival (собери героя мечты) / Обновление AOW 2.18b: Heroes Survival

Не знаю ни про какие модификаторы. У меня обычая версия 1.27. Один единственный раз запустилась данная карта, пока разглядывал её и она просто испарилась, отрубилась и т.д. При попытке запуска, строка загрузки грузится и как доходит до конца - игра вылетает. Такое повторяется бесконечное количество раз.
Установи чистую версию варкрафта без модификаторов. Версия 1.27 с iCCup тоже не поддерживает эту карту. Когда у одного не работает, а у остальных работает, обычно проблема именно в том, у кого не работает.
0
11
1 год назад
0

» Arena of War 2: Hero Survival (собери героя мечты) / Обновление AOW 2.18b: Heroes Survival

Прикрепляю скрин что на 1.27b тоже работает
Загруженные файлы
0
11
1 год назад
Отредактирован Konstantin19
0

» Arena of War 2: Hero Survival (собери героя мечты) / Обновление AOW 2.18b: Heroes Survival

Халтура! Игра не запускается. При запуске вылетает и так бесконечное количество раз. Зачем выкладывать неработоспособный игровой файл? 😡😡😡
Версия карты тестилась на рубатле и на иринаботе, 10-15 человек спокойно играло в неё. Карта не совместима с WFE и другими сторонними модификаторами.
Просьба указать, что конкретно не работает и что ты делаешь перед запуском карты. Желательно скрины и видео записать, приложить багрепорт.
Загруженные файлы
0
11
1 год назад
Отредактирован Konstantin19
0

» WarCraft 3 / Задержка в функции, которая выполняется для локального игрока

Делать TimerStart для локального игрока нельзя.
Делать TriggerSleepAction для локального игрока тоже нельзя.
Получается запустить таймер нужно для всех, чего я сделать не могу, потому что функция BlaBlaFunction выполняется для локалплеера. Следовательно мне нужно запустить таймер из предыдущей функции, которая и вызывает BlaBlaFunction, чего я сделать не могу по тех причинам.
goodlyhero:
Альтернативно 2 - сделать слип у всех игроков, но вывести только у нужного через проверку условия.
Практически нереально, потому что основная функция вызывается путем клика мышки игрока по кнопке, сделанной с помощью МХ и никак не синхронизируется с другими игроками, и я не смогу вызывать таймер для всех
Но у меня кажется появилась идея: засинхронить нажатие кнопки для всех игроков, соответственно можно выполнять функцию для всех игроков с итогами только для одного.

Вы внимательно код вызыва таймера посмотрите. Там functin BlaBlaFunctionTimer
это лишь пример для скрина, что бы было более понятно о чем я говорю

Всем спасибо, сделал через синхронизацию, теперь не десинхронит.
0
11
1 год назад
Отредактирован Konstantin19
0

» WarCraft 3 / Battle for Azeroth

Кстати, спавн одновременный делать на всех бараках лучше не надо. В сурве не зря разный спавн по времени, это сильно разгружает проц в эту секунду и убирает пролаг во время спавна.
Пока у тебя 4 расы, пролаг создания не чувствуется, а вот когда будет 8, это уже сильно будет заметно.
Вообще хотелось бы уточнить, чем именно карта отличается от сурва? я пока вижу тоже самое, с другими моделями. Хотя нет, даже модели повторяются.
0
11
1 год назад
0

» XGM Конкурсы / Весеннее обострение [Событие на весь март]

Участники, делайте так, что бы ваш лэнд можно было украсть))
1
11
1 год назад
1

» WarCraft 3 / Duodecimal TD


Не согласен. Ужапи должен стать стандартным инструментом для любого жанра карт. Он невероятно удобен и многократно ускоряет процесс разработки "технодемки". Мало того, дак вы, как я понимаю, предлагаете мне не пользоваться благами лаунчера и делать свою собственную систему снарядов, их отлов и ещё 1000000-е уровневые способности для поднятия уровня здоровья и защиты? >.<
Нет, я предлагаю делать более "взрослые" механики, а не "увеличение радиуса полёта снаряда" в стандартной ТД. Можете посмотреть на какую нибудь китайскую ТД и взять пару механик на вооружение.
3
11
1 год назад
Отредактирован Konstantin19
3

» WarCraft 3 / Duodecimal TD

Использовать UjAPI что бы делать механики из 2010 года - кощунство.
Вот как я развлекаюсь в UjAPI
2
11
1 год назад
2

» WarCraft 3 / Knife Battle TD Abyss Challenge

Заявленные 1.27а не поддерживаются
Загруженные файлы
0
11
1 год назад
0

» WarCraft 3 / No Brain Autocast Svinodefence

Идея списана с игры: Magic Survival на андройд?)
5
11
1 год назад
5

» XGM Team / XGM - Премия 2022 года - Объявление победителей!

О, привет, неожиданно и приятно хоть где то быть номинированным :)) Спасибо :)
0
11
1 год назад
0

» Arena of War 2: Hero Survival (собери героя мечты) / Обновление Arena of War 2.17

что она какая-то насыщенная тонной комплексного контента. Юзеру нужно простое рубилово, а не карта, которую надо заучивать в несколько траев)
Игра максимальна дружелюбна к новичкам. Тут есть автосборка рекомендуемых предметов и автопрокачка рекомендуемых способностей.
А сборка артефактов сделана в одном магазине и даже стрелочками показано, что нужно покупать.
Да, действительно, я сделал в карте много фишек, срытых возможностей, квестов. Но для 1-ой игры на самом просто уровне сложности, это все не требуется.
1
11
1 год назад
Отредактирован Konstantin19
1

» Arena of War 2: Hero Survival (собери героя мечты) / Обновление Arena of War 2.17

Konstantin19, тогда не совсем понятно, почему мне при загрузке карты упорно пишут "Игрок Блабланейм — 0 exp". Вряд ли это из-за игры с ботами, в предыдущих версиях опыт за это вполне себе шёл.
Опыт идет и в соло игре тоже, сохраняется через "-save" а так же сам, после выигрыша/проигрыша. А по поводу EXP - 0 - два вараинта, либо ник слишком длинный и содержит большое количество разнообразных и запрещенных символов типа ][, либо он на кириллице. Привязка опыта идет по нику в том числе, и код не может его зашифровать адекватно, а по этому адекватно сохранить тоже не может.
Прецеденты уже были, у игрока был ник типа !!000000JI00\|/er000!!!, после смены ника на более адекватный, всё стало сохраняться.
Если после смены ника ситуация неизмениться, то я бы попросил более подробное описание проблемы и какие выполняются действия, потому что жалоб на новую систему опыта не поступало, да и много тестил на Ирине не с одним человеком.
Вспомнил ещё 1 баг, есть, он появляется только на Ирине. Опыт не загружается онлайн игре, если играть через бота одному. Это чтото связанное исключительно с Ириной.
0
11
1 год назад
0

» Arena of War 2: Hero Survival (собери героя мечты) / Обновление Arena of War 2.17

А можно поподробнее насчёт того, что там нового в системе опыта игрока?
Нового ничего, система опыта была с версии 2.15, просто обновил синхронизацию опыта, она теперь точнее и быстрее работает и не вызывает десинк в редких случаях, как это делала предыдущая
0
11
1 год назад
0

» WarCraft 3 / Эмочка любви

Топ контент, смотреть строго 18+
0
11
1 год назад
Отредактирован Konstantin19
0

» WarCraft 3 / JNGP: Rebuild от PT153

Лайк!
0
11
1 год назад
0

» Legend of Worlds / UFS ARENA DARO

UFS arena Топ за свои деньги
6
11
1 год назад
Отредактирован Konstantin19
6

» WarCraft 3 / Yoruichi Shihoin Light Form

Контент, который мы заслужили
2
11
2 года назад
2

» Arena of War 2: Hero Survival (собери героя мечты) / Обновление Arena of War 2.16

Как-то не видно активности и комментариев. Хочется узнать мнение новичков о карте. Как дела обстоят с порогом вхождения
а новички тут не сидят)