JackFastGame #1 - 2 weeks ago 1
Голосов: +1 / -0

» WarCraft 3 Reforged / Как запретить возможность сохраняться?

Утилка Анрайза помогла, спасибо ему.
globals
		timer SaveBlockTimer = CreateTimer( )
		dialog PreventSave___Dialog = DialogCreate()
	endglobals
		
	function PreventSave___Exit takes nothing returns nothing
		call DialogDisplay(GetLocalPlayer(), PreventSave___Dialog, false)
	endfunction

	function PreventSave___StopSave takes nothing returns boolean
		local boolean GameAllowSave = false

		if GameAllowSave == false then
			call DisplayTextToPlayer(GetLocalPlayer(), 0, 0, "Save Game is Disabled")
			call DialogDisplay(GetLocalPlayer(), PreventSave___Dialog, true)
		endif

		call TimerStart( SaveBlockTimer, 0.00, false, function PreventSave___Exit)

		return false
	endfunction

	function AntiSaveSystemInit takes nothing returns nothing
		local trigger AntiSaveLocalTrigger = CreateTrigger()
		call TriggerRegisterGameEvent( AntiSaveLocalTrigger, EVENT_GAME_SAVE )
		call TriggerAddCondition( AntiSaveLocalTrigger, Filter(function PreventSave___StopSave ) )
		set AntiSaveLocalTrigger = null
	endfunction
JackFastGame #2 - 3 weeks ago 0
Голосов: +0 / -0

» За огненной стеной / JNGP: Rebuild от PT153

PT153:
Если вкратце: новый pjass не сообщенает некоторые неошибки, которые сообщал старый. И наоборот сообщается те ошибки, которые всегда ведут к крашу, а старый pjass их не сообщал.
Новый pjass с мемхаком дружит?
Новый TESH имеет лучший функционал: можно добавлять свои функции и шаблоны.
А вот это уже интересно. Свои функции надо вручную добавлять или он сам ловит их сигнатуры в коде карты?
JackFastGame #3 - 2 months ago 1
Голосов: +1 / -0

» WarCraft 3 Reforged / Движение без поворота

plllo2:
я так понимаю вот так хочешь сделать? www.youtube.com/watch?v=lAeT55AO2-Y
Призови бога вц3 Драколича, мб поможет )
Да, только юнит должен не атаковать, а просто анимацию атаки проигрывать)
Ну там как я понял он инструментами мемхака это сделал вроде SetUnitFacingInstant. Попробую что-нибудь придумать.

Так, поворот я сделал, SetUnitFacingInstant действительно свою работу выполняет. Осталось понять, как сделать так, чтобы анимация атаки не сбивалась анимацией передвижения.
JackFastGame #4 - 2 months ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Как узнать версию графики в Warcraft 3 Reforged?

Bergi_Bear:
И самые главный вопрос зачем всё это?
Например для изменения размера некоторых эффектов, которые слишком большие в HD режиме
Или же можно сделать полное отключение некоторых графических элементов в SD или HD графике, для повышения производительности на слабых компьютерах
Я не мог перенести Скиллшот Арену на Рефорджед из-за этого бага. Масштаб у всех юнитов разный, даже у снарядов. Из-за этого перенос карты невозможен, т.к. если делать масштаб под одну графику, на другой будет дикое несоответствие хитбоксов и визуала, что очень важно для карты. Делал этот багрепорт ещё когда бета Рефорджеда была. До сих пор не пофиксили.
JackFastGame #5 - 10 months ago (изм. ) 0
Голосов: +0 / -0

» IrInA Host Bot / Главная страница

world_editor:
Подскажите с проблемой в картах орпг (любых), ввожу код сохранения персонажа и тут же разрывает соединение. В конекторе надпись: сервер удалил хоста, и такое только с игроками, до этого момента всё хорошо работало. Как можно исправить?
Походу на Ирине и локально ники разные у игроков. Из-за этого десинхрон возникает в картах при проверке на ник. У меня самого такая хрень: мой ник я вижу как JackFast..., у остальных он нормальный: JackFastGame. Странная фигня.
JackFastGame #6 - 10 months ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 Reforged / SetUnitName мемхак

DracoL1ch:
без восстановления памяти ты скатишься к рандомным крашам после игры, ставь актуальную версию хака
Я видел во второй версии хака функцию InitResoreMemoryOnExit, её надо юзать? У меня после попытки выйти из карты зависает Варкрафт с последующим бесконечным заполнением оперативки процессом War3.exe. Как правильно пользоваться восстановлением памяти?
Я правильно понимаю, что она должна выгружать все заинжекченные dll после выхода из карты?
JackFastGame #7 - 10 months ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / [Reforged] Главное меню в стиле LK

С этой убогой интерполяцией точно скачивать не буду.
JackFastGame #8 - 1 year ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Релиз Warcraft 3: Reforged

Локализацию для карт ещё не завезли, не проверяли?
JackFastGame #9 - 1 year ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Lua и ООП

Почему self = nil можно не делать, ведь удаляя объект из списка (таблицы) экземпляров, мы удаляем не сам объект, а ссылку на него из этого списка, разве нет?
Этого будет достаточно?
function Skillshot:Create (...)
    local this = {}
    
    table.insert(skillshotObjectList, this)

	...
end
function Skillshot:Destroy ()
    table.remove(skillshotObjectList, TableFindElement(skillshotObjectList, self))
end
JackFastGame #10 - 1 year ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Lua и ООП

prog:
JackFastGame, если не важен порядок, то практически в любом языке один из самых быстрых способов удаления чего-либо из списка это поменять его местами с последним элементом списка, занулить последний элемент и сократить длину списка на 1.
Тьфу, оказывается я неправильно вызывал функцию.
Это полностью очищает экземпляр из памяти?
function Skillshot:Destroy ()
    skillshotObjectList[self.id] = skillshotObjectList[skillshotIndex]
    skillshotObjectList[self.id].id = self.id
    table.remove(skillshotObjectList)
    self = nil
    skillshotIndex = skillshotIndex - 1
end
JackFastGame #11 - 1 year ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Lua и ООП

PT153:
Я не спец, но разве не у obj нужно ставить переменную damage?
Ох, действительно, спасибо!
prog:
Drulia_san, фигню понаписал, у тебя методы создаются для каждого экземпляра, а должны для индексной таблицы создаваться один раз, иначе зачем тебе метатаблица и индексная таблица тогда...
Да, сразу это заметил. Но это ведь для наглядности, ничего не мешает вынести эти методы.
В общем, всем спасибо, практически разобрался в принципе работы. Отдельная благодарность к Drulia_san.
Единственное, нужно уточнить один нюанс. Как реализовать деструктор? Имеется список skillshotObjectList, содержащий все создаваемые экземпляры. Необходимо реализовать удаление экземпляра из памяти и соотвественно очистку его из skillshotObjectList.
function Skillshot:Create (...)
    local this = {}
    
    skillshotIndex = skillshotIndex + 1
    skillshotObjectList[skillshotIndex] = this
    this.id = skillshotIndex

	...
end

function Skillshot.Destroy (this)
    ???
    skillshotIndex = skillshotIndex - 1
end
JackFastGame #12 - 1 year ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Lua и ООП

prog:
Хоть убейте, не нашёл. Как мне, к примеру, реализовать внутри метода "класса" цикл foreach, который пробегает по всем созданным объектам данного "класса"?
Хранить список созданных экземпляров где-нибудь, например в метатаблице, чтобы был простой доступ к этому списку. Создание экземпляров реализовать через метод-фабрику, который инициализирует экземпляр и назначает ему метатаблицу.
Для большего удобства - список экземпляров можно либо записывать в каждый экземпляр при его создании либо положить в индексную таблицу в метатаблице, чтобы до этого списка было еще проще добраться из экземпляров.
Почему-то в цикле он пробегает только по последнему созданному объекту, причём сколько всего объектов, столько раз по нему и проходит.
Реализовывал и через pairs, и через for i = 1, #list.
Для добавления в список я использую table.insert(list, object).
Что я делаю не так?

Вот фрагмент кода. В main loop выводит урон последнего созданного объекта.
Skillshot = {}
list = {}

function Skillshot:Create (damage)
    local obj = {}
    
    setmetatable(obj, self)
    self.__index = self
	table.insert(list, obj)
    
    self.damage = damage

    return obj
end

function Skillshot.Update ()

    --Main loop
    for i = 1, #list do 
        local obj = list[i]

        Debug("i = " .. i .. " " .. list[i].damage)
    end
end

do
    local InitGlobalsOrigin = InitGlobals
    function InitGlobals()
    InitGlobalsOrigin()

        function test()
            local dmg = 5
            TimerStart(CreateTimer(), 2.0, true, function ()
                dmg = dmg + 5
                local skillshot = Skillshot:Create(dmg)
            end)
        end
        test()
    end
end
JackFastGame #13 - 1 year ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Lua и ООП

PT153:
Никаких статей по этому поводу не нашёл
Плохо искали.
Хоть убейте, не нашёл. Как мне, к примеру, реализовать внутри метода "класса" цикл foreach, который пробегает по всем созданным объектам данного "класса"?
JackFastGame #14 - 1 year ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Lua и ООП

Hate:
луа не ооп, не нужно страдать в нем этим
Тогда какой самый адекватный способ реализации чего-то близкого к ООП? Не к Джассу же возвращаться.
JackFastGame #15 - 1 year ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Кулдаун спелов

quq_CCCP:
Bergi_Bear, кстати они таки сделали StartAbilityCooldown или нет?
К релизу должны подвезти.
JackFastGame #16 - 1 year ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / как узнать координаты в редакторе?

Я думал автор спрашивает про координаты точки на экране для фреймов.
JackFastGame #17 - 1 year ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Бета версия Warcraft III Reforged 1.32

Ребят, как кодить на Луа в Рефорджеде? Я подключил к VSCode плагин для Lua, как его в карту интегрировать?
JackFastGame #18 - 1 year ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Ищу разработчика для карты Лорды Европы за оплату!

100 р. скил на гуи
200 р скил на jass
Почему на ГУИ дешевле? Реализовать же сложнее.
JackFastGame #19 - 1 year ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / [lua] Математические функции

Капец, мне не нравится синтаксис Луа :(
JackFastGame #20 - 1 year ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Бета версия Warcraft III Reforged 1.32

Игровые скрины очень уж похожи на ВК3, в который импортнули модельки...
JackFastGame #21 - 2 years ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Оптимальная способность с самонаводящимся снарядом

PT153:
JackFastGame, какой эффект? Там нет никаких эффектов, только наносимый урон в 2 раза меньше указываемого.
А, спецэффект? Нужно импортировать пустой файл по пути
Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdx

Другой нормальной способности не нашёл, чтобы без баффов и без приколов. Потому либо баффы, либо приколы.
Спасибо, мне нравится это решение.
Промазал по лучшему ответу, исправьте плиз :(
Всё, разобрался, извините :)
JackFastGame #22 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Оптимальная способность с самонаводящимся снарядом

Death Coil в самый раз.
Штука хорошая, но как убрать эффект при попадании во врага?
JackFastGame #23 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Как поднять полоску здоровья?

Либо способ, предложенный NazarPunk'ом, либо увеличить шкалу выбора юнита. Но тогда она увеличится в размерах сама шкала и круг выделения юнита.
JackFastGame #24 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Как создать процентный отхил? (триггерно)

Но это будет тогда 10% от текущего здоровья, а не от максимального...
В смысле?
текущее здоровье + текущее здоровье*0.1
Выносим общее слагаемое за скобку и получаем
текущее здоровье*(1+0.1) = текущее здоровье*1.1
JackFastGame #25 - 2 years ago (изм. ) 2
Голосов: +2 / -0

» WarCraft 3 Reforged / Как создать процентный отхил? (триггерно)

Mate:
Если не ошибаюсь надо текущее здоровье + текущее здоровье*0.10. Тогда будет прибавка в 10%.
Лучше 1.1*текущее здоровье, так эстетичнее =)
JackFastGame #26 - 2 years ago 1
Голосов: +1 / -0

» WarCraft 3 Reforged / Самый производительный Bullet Hell

А как вы выяснили, что Жар Преисподней оптимальный по производительности вариант? Каким алгоритмом игра ищет юнитов вокруг ауры?
JackFastGame #27 - 2 years ago 1
Голосов: +1 / -0

» WarCraft 3 Reforged / Официально стал доступен PTR 1.31

Никто не в курсе, есть ли где-нибудь документация или туториал как работать с нативками интерфейса в 1.31?
Я думаю вы уже видели этот скриншот www.reddit.com/r/warcraft3/comments/bjev7c/new_ui_made_by_trigge...
Я искал на Хайве, но не нашёл ничего относящегося к этому. Может, кто-нибудь знает?
JackFastGame #28 - 2 years ago 1
Голосов: +1 / -0

» WarCraft 3 Reforged / Официально стал доступен PTR 1.31

quq_CCCP:
JackFastGame, 15 лет ждали от близзардов.
Зато теперь можно с уверенностью сказать, что нам принадлежит власть, которая и не снилась нашим отцам!
JackFastGame #29 - 2 years ago 1
Голосов: +1 / -0

» WarCraft 3 Reforged / Официально стал доступен PTR 1.31

Господи, это так божественно. С этими новыми функциями редактора я себя ощущаю с перчаткой, полной камней бесконечности.
JackFastGame #30 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Идеальная система опыта и добычи золота в мультиплеере

Можно ввести систему импакта (полезных действий).
Засчитывать очки импакта каждому игроку за каждое полезное действие. Нанёс 10 урона — получи 1 очко. Отхилил 8 хп — получи 1 очко. Затанчил 15 урона — получи 1 очко. Для саппортов, которые не умеют хилить, это тоже работает: дал союзнику какое-нибудь усиление например на дополнительный дамаг, и когда он наносит урон, часть урона засчитывается тебе, следовательно ты тоже получаешь очки импакта. В общем, за каждое полезное действие, за каждый вклад в игру человек получает очки. В конце волны весь накопленный голд и опыт распределяется между всеми участниками в зависимости от количества импакта.
JackFastGame #31 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Лаги при создание юнитов через loop

Может, сама моделька юнита нагружает игру?
JackFastGame #32 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Корабли 16 века

Ресурс заброшен или ещё надежды есть?
Собираюсь делать карту с морскими боями на кораблях, работы зачётные!
JackFastGame #33 - 2 years ago 2
Голосов: +2 / -0

» WarCraft 3 Reforged / Доспехи веры, зависящие от кол-ва юнитов вокруг ауроносца

Не работает, потому что в триггере событие есть, а действие или условие не зарегистрировано
Напиши в конце, где инициализируешь триггер
call TriggerAddAction(gg_trg_togetherwestand, function FindTarget)
JackFastGame #34 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Тюрьма Демонов

Ребят, 1.6к просмотров, кто играл-то хоть? Отпишитесь, как карта.
JackFastGame #35 - 2 years ago 1
Голосов: +1 / -0

» WarCraft 3 Reforged / Siege Strategy

Карта супер. Осталось добавить ещё юнитов для разнообразия и решить проблему с хп-барами. Сделать какие-нибудь кастомные.
JackFastGame #36 - 2 years ago (изм. ) 1
Голосов: +1 / -0

» WarCraft 3 Reforged / Достижения "Автор"

8gabriel8:
тонкий троллинг, заставил по ссылкам бегать :D
А вообще, кого эти ачивки волнуют?
JackFastGame #37 - 2 years ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Юниты тупят при передвижении

8gabriel8:
Москитами. Вроде дать и снять надо.
Появляется проходимость через препятствия, исчезают хп-бары и нельзя выделить юнита в качестве цели.
JackFastGame #38 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Юниты тупят при передвижении

Разные игроки для клонов работают без задержки.
Слушай, а как можно скрыть надпись (имя игрока) над юнитом, когда наводишь на него?
JackFastGame #39 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Юниты тупят при передвижении

8gabriel8:
Скинь свой ландшафт.
Прикрепленные файлы
JackFastGame #40 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Юниты тупят при передвижении

Никак не получается воспроизвести проблему в карте для теста. Использую ли твои триггеры, либо GUI-триггеры, юниты не тормозят.
Потому что карта супер маленькая и препятствий очень мало
Как тригеры будут работать с автоатакой и патрулём?
Автоатак нет. Патруль не используется.
JackFastGame #41 - 2 years ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Юниты тупят при передвижении

SetUnitPathing не помогает. Делал юнитов летающими - всё хорошо, за исключением двух вещей: визуально выглядит убого, могут проходить через препятствие. Суть спелла в том, чтобы запутать противника. Это иллюзии, и они должны с точностью повторять движения главного юнита. Но этот лагучий алгоритм нахождения пути всё портит :(
PT153:
Не надо делать период таймера очень маленьким, все тупить начинают. 0.25 должно хватить.
Даже сделал так, что каждому следующему юниту приказ отдаётся с большей задержкой (первому юниту через 0.1с, второму - через 0.2с, и т.д.), но все манипуляции с таймером сводятся к тому, что либо главный юнит начинает тупить вместе с остальными, либо они тупят по очереди.
JackFastGame #42 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Юниты тупят при передвижении

8gabriel8:
Скинь триггер и способность потестировать.
И как ты сделал отображение скорости вместо атаки и защиты?
Скинул карту.
Скорость - это способность на прибавку защиты с 300 уровнями (отображается как зеленая или красная скорость), а белая скорость - это изначальная защита юнита.
Прикрепленные файлы
JackFastGame #43 - 2 years ago 2
Голосов: +2 / -0

» WarCraft 3 Reforged / когда выйдет warcraft 3 reforget?

В США по закону нельзя выпускать продукт позднее чем за год до его анонса, но это не точно.
Почему каждый второй пишет reforget, простое ведь слово?
JackFastGame #44 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Юниты тупят при передвижении

8gabriel8:
JackFastGame, можешь сделать не цикл, а другой триггер с таймером в 0.00 секунд, может так ждать поиска пути каждого юниты не будут?
Сделал с таймером 0.01 сек, тупить начал даже главный юнит :/
JackFastGame #45 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Юниты тупят при передвижении

8gabriel8:
Тогда либо из-за невидимости точки назначения тормозит, либо из-за преград на пути, либо из-за всего вместе.
Надо поискать причину с помощью тестов
Но на вскидку предполагаю, что поиск пути из-за препятствий притормаживает.
Возможно лаги происходят из-за цикла в триггере, где отдаёшь приказ всем иллюзиям. Типа все действия в триггере выполняются последовательно, Каждый поиск пути требует чуть-чуть времени, что замедляет все остальные действия. Но это не точно, надо проверять.
При полном вижене карты так же тупят :/
8gabriel8:
Возможно лаги происходят из-за цикла в триггере, где отдаёшь приказ всем иллюзиям. Типа все действия в триггере выполняются последовательно, Каждый поиск пути требует чуть-чуть времени, что замедляет все остальные действия. Но это не точно, надо проверять.
Слушай, да. При двух юнитах гораздо быстрее реагируют.
JackFastGame #46 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Юниты тупят при передвижении

8gabriel8:
А проверял на карте с ровным ландшафтом и полной видимостью, там тоже тормозят при увеличении расстояния?
На маленькой карте без препятствий всё ок
JackFastGame #47 - 2 years ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Юниты тупят при передвижении

8gabriel8:
Формулы именно такие, а не:
(x+range)*cos(bj_DEGTORAD*angle)
(y+range)*sin(bj_DEGTORAD*angle)
это вопрос
Я скопировал из триггера
x и y - координаты центра окружности
JackFastGame #48 - 2 years ago (изм. ) 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Юниты тупят при передвижении

8gabriel8:
Так как реализовал движение каждого юнита, по какой формуле триггер высчитывает, что юнит должен пойти не в ту точку, куда отправлен основной юнит, а в ту, что ему предназначена?
Создаётся центр окружности в месте, где был главный юнит. Он телепортируется в указанную точку и таким образом задаёт радиус окружности, и создаётся 8 юнитов на этой окружности. С этого момента каждый юнит двигается симметрично оси своего радиуса, т.е. если основной юнит сместился на 30 градусов и его расстояние увеличилось на 200 от центра, то каждый юнит также смещает своё положение относительно центра окружности на 30 градусов и 200 расстояния.
range - расстояние от центра окружности до точки приказа главного юнита
angle - угол от центра окружности до точки приказа + 40*i, где i - номер дополнительного юнита. (т.е. у каждого следующего угол сдвинут на 40 градусов)
targetx = x+range*Cos(bj_DEGTORAD*angle)
targety = y+range*Sin(bj_DEGTORAD*angle)
Отдаётся приказ smart на targetx и targety.
JackFastGame #49 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Юниты тупят при передвижении

8gabriel8:
Это не объясняет, как происходит уменьшение и увеличение круга.
Как видно, юниты сильно тупят, когда круг увеличиваются, и быстро реагируют, когда сужается.
JackFastGame #50 - 2 years ago 0
Голосов: +0 / -0

» WarCraft 3 Reforged / Юниты тупят при передвижении

8gabriel8:
А каким триггером реализована способность?
А что конкретно интересует? Событие ловит приказ главного юнита и этот же приказ отдаётся остальным через IssuePointOrder(). Т.е. нажал за главного юнита двигаться куда-то, и остальные тоже пошли в какую-то сторону (каждый в разную).