15

» WarCraft 3 / Откуда могла взяться погрешность?

NazarPunk:
Воот оно как, познавательно. Спс
Bergi_Bear:
Ого у тебя монитор широкий (2560 x 1080),варик весьма странно выглядит, каким то пустым
Потому что на карте ничего нет ) А так, это лучшее разрешение для работы и игр и фильмов )

PT153:
  1. Функция SquareRoot даёт такие значения. Убери её вызов и корень считай на калькуляторе Windows.
  2. Смещение у тебя такое себе. Делишь на 100, умножаешь на 22. Такое число вполне себе может не иметь точного представления в типе float, зависит от значений максимальных координат.

И хватит использовать BJDebugMsg. Используйте это, рассинхрона не будет.
function DebugMsg takes string s returns nothing
    call DisplayTimedTextToPlayer(GetLocalPlayer(), 0., 0., 5., s)
endfunction
Понимаю, спасибо.
15

» WarCraft 3 / Критическая ошибка в триггерах

PT153:
DarkLigthing, нет, это всё равно бессмысленно, ибо при каждом сохранении редактор заново генерирует .j файл.
Я предположил, всё равно другие не дали ответа человеку. Ну, значит эти глобалки хранятся ещё где-то кроме .j .lua файлов. Видимо внутри wtg.
15

» WarCraft 3 / Критическая ошибка в триггерах

PT153:
Fly123, Reset Triggers в помощь.

DarkLigthing, мда, зачем MPQ Editor, когда в редакторе ландшафта можно Файл - Экспортировать скрипт?
А импорт скрипта обратно, есть?
15

» WarCraft 3 / Критическая ошибка в триггерах

Fly123:
DarkLigthing, это можно сделать, не закрывая и не сохраняя карту в ворлд эдиторе предварительно?
Это нужно проделывать с закрытой картой или её копией.
15

» WarCraft 3 / Критическая ошибка в триггерах

Fly123:
Roy Mustang, нет, там нету((

DarkLigthing, как это сделать? Можно поподробнее?
Берёшь MPQMaster извлекаешь им war3map.j, открываешь блокнотом и удаляешь поля gg_rect___ которые тебе мешают
И добавляешь war3map.j обратно.
пример:
15

» WarCraft 3 / Критическая ошибка в триггерах

Попробуй вытащить war3map.j и удалить оттуда эти регионы в глобалках. Потом вернуть обратно в карту.
15

» WarCraft 3 / Fatal eror

А зачем именно фатал если можно просто выкинуть в меню?
EndGame(false)
15

» WarCraft 3 / FourCC как собрать integer обратно?

NazarPunk:
print(('>I4'):unpack('hfoo')) --> 1751543663
print(('>I4'):pack(1751543663)) --> hfoo
Спасибо!
15

» WarCraft 3 / [Lua] Преобразование предметов

NazarPunk:
Теже грабли, только на lua. Почему никто не делает работу с зарядами?

for i = 0, 6 do
	if GetItemTypeId(UnitItemInSlot(unit, i)) == id then
		RemoveItem(UnitItemInSlot(unit, i))
	end
end
у героя шесть слотов инвентаря, так сложно посмотреть в константах bj_MAX_PLAYER_SLOTS?
Хм. буду фиксить )
15

» WarCraft 3 / [Lua] Сравнение списков(массивов)

NazarPunk:
О ес, оно заработало я сам всё решил. Спасибо за внимание :)
А код вы есстественно никому не покажете?
Я выложу это как наработку, нужно немного времени на отладку )
15

» WarCraft 3 / [Lua] Сравнение списков(массивов)

Extremator:
А что мешает отслеживать изменение содержимого инвентаря? Т.е. получение предмета, который подходит для манипуляций, после чего поочерёдно проверять только те списки, в которых этот предмет участвует... ну и делать что надо
Так ведь я так и делаю. Юнит получает предмет, содержимое его инвентаря записывается в таблицу. И вот, я не могу придумать по какой схеме мне сравнить эту таблицу со списками рецептов. Вот есть TransfigurationData.List[ID] в нём списки TransfigurationData.List[ID][ID1,2,3,4,5....]
Нужно как-то сделать проверку есть ли в списке TransfigurationData.List[0][1](как пример) то что в инвентаре героя, если да то убрать их и выдать TransfigurationData.Result[Тот же ID что и у List] :)

О ес, оно заработало я сам всё решил. Спасибо за внимание :)
15

» WarCraft 3 / как дать рабочему второй список построек?

Создаёшь книгу заклинаний, создаёшь фейк заклинания(тип заклинания указание точки применения) служащие лишь для того чтобы отследить их ID.
Добавляешь рабочему необходимые постройки, отлавливаешь сработавшее заклинание и приказываешь ему строить здание в месте указания цели способности.
Загруженные файлы
15

» WarCraft 3 / Кто знает как сделать систему улучшения предмета?

Clamp:
Даже если бы было нельзя, хрустальный шар — плохая идея, поскольку требует указания цели.
Если дать абилку повышение характеристики то никакого указания цели не потребуется, я тестировал метод который описал выше.
15

» WarCraft 3 / Кто знает как сделать систему улучшения предмета?

Clamp:
Зачем хрустальный шар, если любому предмету можно дать абилку?
Хм, я просто не был уверен что любой предмет становится кликабельный после того как ему вручают активную абилку. :)
15

» WarCraft 3 / Кто знает как сделать систему улучшения предмета?

Создаёшь массив из предметов типа "Хрустальный шар" убираешь ему способность разведки местности, добавляешь кастомные 2 способности:
Повышение урона
Фейк повышение любой характеристики на 0 ед.
Далее логика на гуи: Юнит использовал предмет, проверка типа предмета и золота, действие - убрать предмет старый, дать новый, установить значение золота как текущее значение минус ( сколько стоит апгрейд )
Рабочий код:
        local ItemUpgrade = CreateTrigger()
        TriggerRegisterUnitEvent(ItemUpgrade,GetTriggerUnit(), EVENT_UNIT_USE_ITEM)
        TriggerAddAction(ItemUpgrade,function() 
            if GetItemTypeId(GetManipulatedItem()) == FourCC('I000') and GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD) > 100  then
            RemoveItem(GetManipulatedItem())
            UnitAddItemByIdSwapped(FourCC('I001'),GetTriggerUnit())
            SetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,PLAYER_STATE_RESOURCE_GOLD-100)
            elseif GetItemTypeId(GetManipulatedItem()) == FourCC('I000') then BJDebugMsg('Нехватает золота для улучшения')
            end
        end)
15

» WarCraft 3 / [Lua] Микрофриз при получении способности

Nelloy:
Видимо у спосбности много уровней. Чтобы избежать микрофриза при получении, создайте юнита в начале игры, дайте ему способность и удалите его.
В точку, это из-за уровней способности. Сбросил до трёх, фризы ушли спасибо! )

quq_CCCP:
Вас не смущает уровень способности - 20? Можно доигратся чтобы карта 40 минут загружалась...
Настоятельно не рекомендую делать абилки на 4+ уровней, в слк таблице место только для 4 уровней, все остальное в тхт файлах, а их вар распаковывает жутко долго. Так же не мешает делать подгрузку, чтобы все необходимое было либо изначально на карте, либо использовать preload.
Да, это в корни неверная система вместо уровней я лучше напишу кодом таблицу изменений характеристик способностей. Если это будет реально...
15

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

DracoL1ch:
Вы так говорите, как будто близард вас слушает. Когда товар куплен, уже пофиг, нравится или нет, бабло на балансе
Из недавнего письма с переносом даты совсем не просто так упоминается о возврате средств, это способ Blizzard спекулировать законами США о возврате средств, так как сроки поджимают :) Так что как раз сейчас бабло они назад отдадут при первом же запросе. Да и как бы там ни было, Reforged > Nil.
Загруженные файлы
15

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

umbrella_gaming:
Castiel:
не могу запустить редактор беты 1.32 у меня у одного такое ?
Он запускается через бнет, напрямую не запускается, вот такая дохлая лошадь.
Чтобы запустить напрямую, нужно создать ярлык с параметром -launch
15

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

bOrissko:
LongbowMan:
bOrissko, ого, кто-то уже успел намутить системку. Это на луа?
Да, на луа. Также автор уже выложил проект для ознакомления.
А можно ссылку на этот проект?
15

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

Choperok:
Если поставить рядом юнитов двух разных игроков и запустить карту, то игра вылетит. Так понятно?
Типо так?
15

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

Steal nerves:
а редактор в рефордже какой? такой же?
Он отсутствует в принципе в этих ранних сборках бэты.