16

» WarCraft 3 / Возможно ли триггерно пришить юниту тип героя и аттрибуты? +Мемхак

SсRealm, проблема с крашем в пролёте. Самое
простое решение проблемы и за помощью бы не обращался. Можно кучу всего придумать, во главе которой проверка на подбор юнит/герой, отрубив у книг автоактивацию.
Но тут вопрос о том, возможно ли привить юниту тип героя для отображения этих самых статов.
16

» Hero of Warcraft [RPGArena] (4 сезон) / Hero of Warcraft: Обновление 6.4A: "Мир Бездны"

Последние новости!

Анонс 6.5


Коллекция
Способностей и монстров!
Убивая монстров на карте(РУКОЙ ИМЕННО ГЕРОЯ), вы получаете его душу в свой Бестиарий, получаете всю информацию о нем и можете призвать в любой игре!
Также с заклинаниями, теперь вы можете просмотреть все способности которые есть в игре, которые вы собрали и которых нету в книге(запрещенные способности, ульты героев на 10 ур., создаваемые способности артефактами, силы героев и так далее)

Возможность перейти ко ЗЛУ!
В любом режиме игры, отныне вы сможете уйти из альянса и примкнуть к одним из сил зла(их несколько, они воюют и друг с другом и с альянсом и с монстрами подземелья) - Культ Многоликого. Который снабдит вас магазинами с особыми уникальными товарами. Такие как, щупальца как у фракции древнего бога или особые зелья мутации.

Изменения НПС, визуала карты. В новых обновлениях мы постарались уделить внимание всему.4еелваршывпго
Выход уже 23 июля

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

» Hero of Warcraft [RPGArena] (4 сезон) / Hero of Warcraft: Обновление 6.4A: "Мир Бездны"

P.S. кокон на скрине который они бьют это Сильвана под обликом кокона, бредовый герой но со своей ноткой хаоса
Загруженные файлы
16

» Hero of Warcraft [RPGArena] (4 сезон) / Hero of Warcraft: Обновление 6.4A: "Мир Бездны"

И да монстры теперь реально лутают предметы на земле, хд
Самое бредовое и веселое что мы добавляли в изменение правил игры
Загруженные файлы
16

» SpellLAB[RPGArena] / Новая карта SpellLAB [Warcraft 3]

Вышла новая версия! Прокрутить к ресурсу

BETA 1.1

Исправлен баг с вылетом при использовании фрагмента рандомных спеллов.
Изменен шрифт для чата(сброшен до стандартного).
С секретного босса Мистер Жаб теперь выдает МЕЧ КАРАТЕЛЯ с шансом 33%.
Хэв фан
16

» SpellLAB[RPGArena] / Новая карта SpellLAB [Warcraft 3]

Вышла новая версия! Прокрутить к ресурсу

BETA 1.0

📖Исправлены названия и описания способностей фреймами
📝 Проведены работы над шрифтом и над фреймами сообщений
Загруженные файлы
16

» Hero of Warcraft [RPGArena] (4 сезон) / Hero of Warcraft [RPGArena] (4 сезон)

Последние новости!
Также немного новостей - мы планируем поработать над геймплеем карты, а именно превратить его во что-то похожее на RogueLike, разбив карту не на один огромный ландшафт а на комнаты с рандомным содержимым.
Идею поддержали многие из HoWTeam, на данный момент эта идея на стадии концептов, но уже скоро начнем работать над ней. Планируем большую систему, идей много как это сбалансировать(сделать так, чтобы условно начальные комнаты были простые, а дальше сложнее, может тематические какие-то например разнообразив их биомами/добавляя ежедневные/недельные эвенты где комнаты Х допустим будут изменяться, будут появляться всякие приколюхи и к ним игроки будут стремится)
Загруженные файлы
16

» Hero of Warcraft [RPGArena] (4 сезон) / Hero of Warcraft [RPGArena] (4 сезон)

Вышла новая версия! Прокрутить к ресурсу

Hero of Warcraft 6.0

Основные нововведения(за 5 версий)


Изменение интерфейса!

Теперь, вы можете увидеть свои хар-ки сразу же над новой панелькой с информацией о вашем герое, фракции, о текущих заданиях и хаос правилах игры!
Сделано все на фреймах(да, именно над этим мы работали в основном)

ОХОТА!

Новый режим игры!
Выживание с первых секунд игры. С начала игры все враги друг другу!
Игроки не появляются на спавне, теперь игроки имеют свой мини-лагерь на карте.
После смерти, чтобы игрок воскрес ему нужно воспользоваться точкой захвата.
Если их нету и игрок умирает, игрок признается проигранным.
Эта игра - на захват подземелья с первых секунд игры, удачи!

А также:

💀Новый босс - Безголовый!
В библиотеке на карте поселился новый безумный босс, запертый в клетке. Освободив его, он начнет крушить все подземелье(уж поверьте, он будет сильнее всех прошлых). Чем этот босс силен?
Во 1, он обладает тремя случайными артефактами из обычной игры и их силой, он может усилятся со временем и использовать их, что полное безумие!
Во 2, он обладает случайной магией из книги удачи и пользуется ею с умом
В 3, он призывает существ всех уровней при атаке рядом с собой, но не бойтесь, его скорость атаки очень низкая.
В 4, у него 800 урона и при атаке он наносит бонусный урон в огромной области от него. Задевая даже себя, но ему 800 урона не страшно, ведь..
В 5, у него божественный тип защиты и 4000 хп.
Но, и про прошлых боссов мы не забыли, им мы тоже дали по 2 случайных артефакта из обычной игры чтобы сделать битву с ними немного интереснее и сложнее =)

Также были проведены работы над ландшафтом, исправлены баги которые вы отправляли с Discord и слегка изменен баланс способностей, приятной игры =)
16

» SpellLAB[RPGArena] / Новая карта SpellLAB [Warcraft 3]

Вышла новая версия! Прокрутить к ресурсу

BETA0.8

Ребаланс фрагментов
❤️
Капля крови теперь восстанавливает 75 здоровья (25 раньше)
Кулак гордыни наносит двойной урон от харок (раньше просто урон от всех харок)
Любовный алмаз снижает манакост на 40, вы наносите 60 урона себе (вместо 20/20)
Пасть гончей наносит обычный урон от скорости ходьбы. (вместо / 2 )
Частичка Солнца теперь добавляет +60 к урону(вместо 40)
Эссенция огня +100 к урону(вместо 60)
🩶
Удар справедливости +15 к атаке(вместо +10)
Руна +35 к дамагу/хилу (вместо +20)
Пристрастие рыцаря 50 урона(вместо 24)
Золотой мешок +200 голды при создании(вместо +100)
Бриллианты мага больше не повышают кулдаун, снижают манакост равный разуму * 2
💜
(ТЬМА) Все призывные существа на 30 секунд теперь призываются на 15 секунд.
Злое зло теперь также снижает перезарядку на 30 секунд.
💚
Порченное касание отнимает теперь 20 хп, вместо 6
Высасывание маны отнимает 50 маны (вместо 25)
🩵
Синяя звезда теперь дает +15 к макс мане вместо +6
Клешня краба +30 атаки дает теперь вместо +10

Изменение геймплея
🟡 Повышение уровня
Теперь каждый уровень вы получаете 10 очков модернизации
⬅️ Перемещение
в красной книге теперь имеет перезарядку 10 секунд
16

» SpellLAB[RPGArena] / Новая карта SpellLAB [Warcraft 3]

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

» WarCraft 3 / Культисты 3.5 | Многопользовательская детектив-игра в Warcraft 3

Вышла новая версия! Прокрутить к ресурсу

Культисты 3.4

Проведены работы над оптимизацией и был изменен интерфейс!
Приятных расследований!
Загруженные файлы
16

» SpellLAB[RPGArena] / Новая карта SpellLAB [Warcraft 3]

Вышла новая версия! Прокрутить к ресурсу

0.7

Исправлен баг с названиями и описаниями способностей.
Добавлена команда -rem для удаления способностей.
Добавлена команда -tutor для подробностей
Команда -off выключает tutor(подсказки на экране)
Теперь все игроки видят места боссов.
16

» WarCraft 3 / У меня магия происходит в тригерах

MATRITSA, меня больше прикалывает кстати что ты на сайте 7 лет и за 7 лет грамотность не апнулась ни на 1 уровень, до сих пор варны получаешь. Скажи, это твой стиль письма или как?)
Не в обиду, но, нифига же не понятно что пишешь
16

» WarCraft 3 / Фреймы в мультиплеере(десинхронизация)

quq_CCCP, писал с телефона, поэтому может звучать запутанно.
Но что я имею ввиду:
Общий таймер, две локалки(pl - player, num - integer) срабатываемый каждую 0.1 сек, в котором действие loop на проверку GetLocalPlayer() == Player(a).
Внутри этой проверки проверка на нажатие, проверка на кнопку.
Начальные значения: num - 0, player - Player(PLAYER_NEUTRAL_AGRESSIVE).
Если нажата кнопка номер 1, тогда
set num = 1
И так как кнопка нажата
set pl = Player(a).
и так в конце endloop. Далее, идет уже проверка.
if ( num == 1 ) then
Отправить сообщение(общее действие) pl 1 сообщение под номером 1
16

» WarCraft 3 / Фреймы в мультиплеере(десинхронизация)

quq_CCCP, а можно ли изменять локальную переменную локально, интересно, т.е. провести луп, если игрок нажал на кнопку вбить в локальную переменную что игрок который нажал на кнопку равен 1 условно. Начальное значение игрока будет нейтральный агрессор. А потом после проверки, сделать действие. У всех оно сработает, просто локал игрок который нажал кнопку его получит, код сработает на него. А у всех остальных код сработает точно также, такие же переменные, но значение вывода текста игроку будет равно нейтральному агрессору.
И вот интересно, сработает или нет
16

» WarCraft 3 / Фреймы в мультиплеере(десинхронизация)

quq_CCCP, хм, иначе говоря, как думаешь, так будет работать? Сейчас попробовал превратить в триггер с действием "Каждую 0.1 секунду". GetLocalPlayer используется в цикле, (loop 10 раз, где Х это номер игрока)
Господи спаси
function Trig_ClickEvent_Actions takes nothing returns nothing
    local integer pn = GetConvertedPlayerId(pl)
    local force pf = GetForceOfPlayer(pl)
    local player pl
    local integer p = 0
    local integer a = 1
    local integer b = 1
    local integer frame
    loop
    exitwhen p > 10
    
    if ( GetLocalPlayer() == Player(p) ) then
    set pl = Player(p)
    set pn = p+1
    set pf = GetForceOfPlayer(pl)
    set frame = FindCLayerUnderCursor()
    if IsKeyPressed( 0x01 ) then // проверяем нажата ли ЛЕВАЯ клавиша мыши в данный момент, если нужна правая то 0x02
        if LMBTap then // проверяем нажимали ли ранее (Check ведь каждые 0.1 секунду происхjlbn)
            set LMBTap = false //Если нет, говорим что нажимаем
            
            set bj_lastClickedFrame = frame // записываем последний фрейм что нажали
            
            if bj_lastClickedFrame == HeroFunct then // проверяем кнопка ли фрейм
                call ClearTextMessages()
                call SetFrameSize( HeroButton, 0.027, 0.032 ) // Если да то уменьшаем (Типо анимация)
                call DisplayTextToForce(GetForceOfPlayer(pl),GetAbilityBaseTip(abi_hero_p[int_player_hero[pn]],1)+"|n"+GetAbilityBaseUbertip(abi_hero_p[int_player_hero[pn]],1))
            endif
            if bj_lastClickedFrame == FactFunct then // проверяем кнопка ли фрейм
                call ClearTextMessages()
                call SetFrameSize( FactionButton, 0.027, 0.032 ) // Если да то уменьшаем (Типо анимация)
                call DisplayTextToForce(GetForceOfPlayer(pl),GetAbilityBaseTip(abi_fac[UI_FactionID[pn]],1)+"|n"+GetAbilityBaseUbertip(abi_fac[UI_FactionID[pn]],1))
            endif
            
            if bj_lastClickedFrame == B3Funct then // проверяем кнопка ли фрейм
                call ClearTextMessages()
                call SetFrameSize( Button3, 0.027, 0.032 ) // Если да то уменьшаем (Типо анимация)
    loop
    exitwhen a > 4
    call DisplayTimedTextToForce(pf,45.0,"|cffffcc00Задание номер:|r "+I2S(a))
    call DisplayTimedTextToForce(pf,45.0,QuestText[1]+QuestName[1][a]+QuestText[2]+I2S(IntCrit[1][a])+QuestText[3]+RewardName[1][a])
    if ( QuestCheck[1][a] == false ) then
    call DisplayTimedTextToForce(pf,45.0,"|c00FF0000Не выполнен|r")
    else
    call DisplayTimedTextToForce(pf,45.0,"|c0000FF00Выполнен|r")
    endif
    set a = a + 1
    endloop
            endif
            if bj_lastClickedFrame == B4Funct then // проверяем кнопка ли фрейм
                call ClearTextMessages()
                call SetFrameSize( Button4, 0.027, 0.032 ) // Если да то уменьшаем (Типо анимация)
                set a = 5
    loop
    exitwhen a > 8
    if ( Quest[2][b] == 3 ) then
    call DisplayTimedTextToForce(pf,45.0,"|cffffcc00Задание номер:|r "+I2S(a))
    call DisplayTimedTextToForce(pf,45.0,QuestText[1]+QuestName[2][b]+QuestText[2]+I2S(IntCrit[2][b])+QuestText[3]+RewardName[2][b])
    endif
    if ( Quest[2][b] == 4 ) then
    call DisplayTimedTextToForce(pf,45.0,"|cffffcc00Задание номер:|r "+I2S(a))
    call DisplayTimedTextToForce(pf,45.0,QuestText[4]+QuestName[2][b]+QuestText[5]+I2S(IntCrit[2][b])+QuestText[3]+RewardName[2][b])
    endif
    if ( Quest[2][b] == 5 ) then
    call DisplayTimedTextToForce(pf,45.0,"|cffffcc00Задание номер:|r "+I2S(a))
    call DisplayTimedTextToForce(pf,45.0,QuestText[1]+QuestName[2][b]+QuestText[2]+I2S(IntCrit[2][b])+QuestText[3]+RewardName[2][b])
    endif
    if ( QuestCheck[2][b] == false ) then
    call DisplayTimedTextToForce(pf,45.0,"|c00FF0000Не выполнен|r")
    else
    call DisplayTimedTextToForce(pf,45.0,"|c0000FF00Выполнен|r")
    endif
    set b = b + 1
    set a = a + 1
    endloop
            endif
            if bj_lastClickedFrame == B5Funct then // проверяем кнопка ли фрейм
                call ClearTextMessages()
                call SetFrameSize( Button5, 0.027, 0.032 ) // Если да то уменьшаем (Типо анимация)
                set a = 9
    loop
    exitwhen a > 11
    if ( Quest[3][b] == 6 ) then
    call DisplayTimedTextToForce(pf,45.0,"|cffffcc00Задание номер:|r "+I2S(a))
    call DisplayTimedTextToForce(pf,45.0,QuestText[7]+QuestName[3][b]+QuestText[8]+RewardName[3][b])
    endif
    if ( Quest[3][b] == 7 ) then
    call DisplayTimedTextToForce(pf,45.0,"|cffffcc00Задание номер:|r "+I2S(a))
    call DisplayTimedTextToForce(pf,45.0,QuestText[1]+QuestName[3][b]+QuestText[2]+I2S(IntCrit[3][b])+QuestText[3]+RewardName[3][b])
    endif
    if ( QuestCheck[3][b] == false ) then
    call DisplayTimedTextToForce(pf,45.0,"|c00FF0000Не выполнен|r")
    else
    call DisplayTimedTextToForce(pf,45.0,"|c0000FF00Выполнен|r")
    endif
    set b = b + 1
    set a = a + 1
    endloop
            endif
            if bj_lastClickedFrame == B6Funct then // проверяем кнопка ли фрейм
                call ClearTextMessages()
                call SetFrameSize( Button6, 0.027, 0.032 ) // Если да то уменьшаем (Типо анимация)
                set a = 0
                call DisplayTextToForce(pf,"Активированные |c00E4201Bхаосы|r")
    loop
    exitwhen a > ChaosMax
    if ( ChaosBOOL[a] == true ) then
    call DisplayTextToForce(pf,ChaosNAME[a])
    call DisplayTextToForce(pf,ChaosDISC[a])
    endif
    set a = a + 1
    endloop
            endif
        endif
    else
        set LMBTap = true //говорим что отпустили
        
        if bj_lastClickedFrame == HeroFunct then //если последний нажатый фрейм кнопка
            set bj_lastClickedFrame = 0 //стираем из переменой последний фрейм
            call SetFrameSize( HeroButton, 0.029, 0.034 ) // восстанавливаем размер
            
        endif
        if bj_lastClickedFrame == FactFunct then //если последний нажатый фрейм кнопка
            set bj_lastClickedFrame = 0 //стираем из переменой последний фрейм
            call SetFrameSize( FactionButton, 0.029, 0.034 ) // восстанавливаем размер
            
        endif
        if bj_lastClickedFrame == B3Funct then //если последний нажатый фрейм кнопка
            set bj_lastClickedFrame = 0 //стираем из переменой последний фрейм
            call SetFrameSize( Button3, 0.029, 0.034 ) // восстанавливаем размер
            
        endif
        if bj_lastClickedFrame == B4Funct then //если последний нажатый фрейм кнопка
            set bj_lastClickedFrame = 0 //стираем из переменой последний фрейм
            call SetFrameSize( Button4, 0.029, 0.034 ) // восстанавливаем размер
            
        endif
        if bj_lastClickedFrame == B5Funct then //если последний нажатый фрейм кнопка
            set bj_lastClickedFrame = 0 //стираем из переменой последний фрейм
            call SetFrameSize( Button5, 0.029, 0.034 ) // восстанавливаем размер
            
        endif
        if bj_lastClickedFrame == B6Funct then //если последний нажатый фрейм кнопка
            set bj_lastClickedFrame = 0 //стираем из переменой последний фрейм
            call SetFrameSize( Button6, 0.029, 0.034 ) // восстанавливаем размер
            
        endif
    endif
    endif
    
    set p = p + 1
    endloop
endfunction