28

» WarCraft 3 / Проблема с магазином

ну попробуй выставить координаты иконки "Выбрать героя" на 0, -11
28

» Администрация XGM / разные вопросы с одинаковой ссылкой

Ruti Ragnason, ты не понял наверное даже по видео, но это 2 РАЗНЫХ вопроса с ОДНОЙ ОДИНАКОВОЙ ссылкой, ты хочешь перейти на вопрос, который уже отвечен, а попадаешь на вопрос без ответа

т.е. попробуй зайти сейчас в вопросы по варику, во вкладку "с ответом" и попасть в вопрос "Как изменять значение атаки появляющихся саранчидов?" где всего лишь 2 коммента
28

» WarCraft 3 / Дальнобойные атаки сквозь препятствия

МрачныйВорон, с каких пор я стал мастером? а так с ответом согласен, обычно я реализовывал это через мгновенную атаку у юнита и триггерами с регистрацией получения урона делал кастомные снаряды, сам урон с автоатаки блочил этой либой, сохраняя для повторного нанесения при достижении цели
большие минусы (которые лично мне никогда не были минусами), это то, что весь урон нужно делать триггерным, т.е. яды, скиллы из ро и прочая ерунда у юнита с такой атакой будут вызывать кастомные снаряды, тут поможет мемхак либо damage engine
28

» WarCraft 3 / Как изменять значение атаки появляющихся саранчидов?

единственная проблема моих предложений, что ты кастера никак не узнаешь, тут либо выбирать ближайшего при входе на карту при условии что это тот же игрок, либо делать триггерный аналог, может ещё есть варианты
28

» WarCraft 3 / Как изменять значение атаки появляющихся саранчидов?

quq_CCCP, выбор юнитов игрока позволяет выбрать москитов

и почему у тебя это событие не сработало тоже интересно, у меня всё ок с этим

у меня оба варианта работают
прикладываю так же карту
28

» WarCraft 3 / Warsmash аналог WarCraft III развивается полным ходом!

можно пример банального преимущества варсмеша по сравнению с вариком? а то даже не ясно зачем его изучать и по ощущениям лучше досконально разобраться в мемхаке / рендередже чем в варсмеше
28

» WarCraft 3 / Как на 1.26 отследить вход раба в логово, чтоб сделать действие

событие погружен на транспорт, делаешь двумерный массив под кол-во рабов, при отдачи приказа или периодическим таймером проверяешь кол-во юнитов в этом логове
28

» WarCraft 3 / Триггер Зума

это значение берёт отрывок из нужной строки, к примеру:
я пошёл покупать табуретку, мыло и верёвку
Подстрока( ( строка выше ), 10, 15 ) == окупа
т.е. первая цифра отвечает за начало получения текста, а второе за его конец, учитывая пробелы точки и прочее, все символы
28

» WarCraft 3 / Нестабильная система опыта

попробуй этот код, я не знаю
код
globals
    constant group TempG   = CreateGroup( )
    constant group TempG_1 = CreateGroup( )
    player TempPlayer = null
endglobals

native UnitAlive takes unit id returns boolean

function Trig_SystemExperience_Actions takes nothing returns nothing
    local unit dead   = GetTriggerUnit( )
    local real xdead  = GetUnitX( dead )
    local real ydead  = GetUnitY( dead )
    local integer i   = 0
    local integer exp = GetUnitLevel( dead ) * 35 + GetRandomInt( 1, 12 )
    local unit u
    
    set TempPlayer = GetOwningPlayer( dead )
    
    if IsUnitType( dead, UNIT_TYPE_SUMMONED ) then
        set exp = exp / 2
    endif
    
    call GroupEnumUnitsInRange( TempG, xdead, ydead, 1350.00, null )
    
    loop
        set u = FirstOfGroup( TempG )
        exitwhen u == null
        call GroupRemoveUnit( TempG, u )
        
        if UnitAlive( u ) and IsUnitEnemy( u, TempPlayer ) and IsUnitType( u, UNIT_TYPE_HERO ) then
            call GroupAddUnit( TempG_1, u )
            set i = i + 1
        endif
    endloop
    
    set exp = exp / i
    
    loop
        set u = FirstOfGroup( TempG_1 )
        exitwhen u == null
        call GroupRemoveUnit( TempG_1, u )
        
        call AddHeroXP( u, exp, true )
        call GroupRemoveUnit( TempG_1, u )
    endloop
    
    set dead = null
endfunction

function Trig_SystemExperience_Conditions takes nothing returns boolean
    return not IsUnitType( GetTriggerUnit( ), UNIT_TYPE_STRUCTURE )
endfunction

function InitTrig_SystemExperience takes nothing returns nothing
    set gg_trg_SystemExperience = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ( gg_trg_SystemExperience, EVENT_PLAYER_UNIT_DEATH )
    call TriggerAddCondition( gg_trg_SystemExperience, Condition( function Trig_SystemExperience_Conditions ) )
    call TriggerAddAction( gg_trg_SystemExperience, function Trig_SystemExperience_Actions )
endfunction
28

» WarCraft 3 / Нестабильная система опыта

    call GroupEnumUnitsInRange(groupAct, xdead, ydead, 1350, null)
    loop
        set u = FirstOfGroup(groupAct)
        exitwhen u == null
        if GetWidgetLife(u) > 0.405 and IsUnitEnemy(u, GetOwningPlayer(dead)) and IsUnitType(u, UNIT_TYPE_HERO) then
            call AddHeroXP(u, exp, true)
            call GroupRemoveUnit(groupAct, u)
        endif
        set u = null
    endloop
    call DestroyGroup(groupAct)
бесконечный цикл может произойти если юнит не прошёл условия, да и банальное страдание логики тут наблюдается, к примеру зачем выставлять null после этого цикла переменной u, если условие выхода из цикла: u == null?

ну как бесконечный, этот цикл прервётся от оп лимита

как и все последующие действия
28

» WarCraft 3 / Урон в зависимости от дальности

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

если без мх, рефа и бд, то:
если у героя нет всяких ядов, абилок и прочей ерунды, только автоатака, то достаточно зарегистрировать событие получения урона и проверять источник повреждения, атаку ты всё равно не сможешь узнать, но сможешь задать множитель полученного урона, повторно нанеся его (отключив триггер перед нанесением и включив после, чтобы не зациклить)
28

» Блог им. rsfghd / Спеллпак Повелителя Грома

либо нет мотивации либо лень делать ульт, нинаю, так что:
Опрос: допиливать ли спеллпак?
1. 
да, сделай красивую ульту
2. 
нет, выкладывай что есть
3. 
допиливай когда будет желание
28

» WarCraft 3 / Триггер для добавления В союз ботов между собой и нет


ну попробуй это


чтобы команда сработала нужно ввести например -alliance 1 + 12, плюс с пробелами нигде не учитывается поэтому можно любые 3 фигни тыкнуть между этими цифрами, главное чтобы было расстояние в 3 буквы, можешь добавить для этого проверку если нужно чтобы учитывалось написанное между ними
Загруженные файлы
28

» WarCraft 3 / Триггер для добавления В союз ботов между собой и нет

у меня есть подозрения что ты отдельный триггер для каждого игрока делал, из-за события
28

» WarCraft 3 / Кнопки Меню, Общение, Союзники при помощи мемхака

memhack v1.5
APIMemoryGameUI:
    function GetUpperButtonBarButton takes integer id returns integer
        local integer pOff              = 0
        local integer pUpperButtonBar   = GetUIUpperButtonBarFrame( )

        if pUpperButtonBar > 0 then
            if id == 0 then
                set pOff = 0x138
            elseif id == 1 then
                set pOff = 0x130
            elseif id == 2 then
                set pOff = 0x134
            elseif id == 3 then
                set pOff = 0x160
            endif

            if pOff > 0 then
                return ReadRealMemory( pUpperButtonBar + pOff )
            endif
        endif

        return 0
    endfunction

Загруженные файлы
28

» WarCraft 3 / Как сделать скилл, как у тролля в доте?

Dorg, накину подсказку заранее, яды, другие скиллы у героя и вообще любой источник урона повысит скорость атаки по всем задетым юнитам, не только автоатака

чтобы этого не было придётся все скиллы делать триггерными либо использовать damage engine / memoryhack / reforged
28

» Администрация XGM / Как отредактировать свой ресурс?

а, понятно, а самому дату никак не обновить?

всё-таки ресурс не один и постоянно трогать модераторов не хочется