0
3
3 месяца назад
0

» Unryze Jass API / UjAPI - О Проекте

Привет 👋
Если я с компилирую карту в версии 1.26 UjApi могу ли я её запустить на 1.36 версии ?
0
3
6 месяцев назад
0

» WarCraft 3 / Всем привет. Как найти путь до модели *mdx ?

Я правильно понял, что я могу прописать вообще любой путь и модель подгрузиться?
1
3
6 месяцев назад
1

» WarCraft 3 / Недостаточно ресурсов памяти для обработки этой команды...

Похоже на защищенную карту.
xDeprotect в помощь
0
3
6 месяцев назад
0

» WarCraft 3 / Найти/Узнать id Тайла: Бездна (не строить)

Дренор: бездна - 'Oaby'
Спасибо большое)) Но у меня почему то Дренор под id: 'cOc1'
0
3
1 год назад
0

» WarCraft 3 / Сохранение карты в Reforged и Автозагрузка героев. Десинхрон???

Итого: Правильно ли я понимаю ситуацию:
Есть карта. Её можно открыть в jngp 1.26 и в какой-то новой версии редактора для рефа.
Если запускать карту, собранную в jngp, что в рефорже что в 1.26 десинк не происходит.
Если запускать карту, собранную в рефовом редакторе, то в рефе десинкает?
Да, всё верно!
0
3
1 год назад
Отредактирован Smeto
0

» WarCraft 3 / Сохранение карты в Reforged и Автозагрузка героев. Десинхрон???

карту в луа перепиши не десинхнет
10k кода... Не готов переписывать, собственно, как это по фиксить на Jass ? А главное, в чём проблема десинхрона?
0
3
1 год назад
Отредактирован Smeto
0

» WarCraft 3 / [Lua] Поток прекращается после 5 раз вызова функции

Я решил проблему, путем отправки блока в InitGlobals(), однако мне не ясно, что происходит через 15 секунд, вне блока InitGlobals()?
0
3
1 год назад
Отредактирован Smeto
0

» WarCraft 3 / [lua]Не получается запустить редактор и игру,Lua+VScode|cheapack

nazarpunk:
" require 'build' {
game = [[D:\Games\Warcraft III\retail\x86_64\]], Warcraft III.exe
--project = "D:\\Games\\Warcraft 3 1.26\\Maps\\LotAS\\Evolition\\",
project = arg[1],
map = 'Evolition0.02_Reforged.w3x',
--src = 'src',
run = arg[2],
--syntaxCheck = true,
options = {
language = "en",
consoleColor = true,
}
}
"
Спасибо, действительно, по невнимательности добавил в карту scr и в этом оказалась проблема+ потому что она была пустая, добавил пустой файл с форматом .lua и стал запускаться редактор и игра.
Остался один вопросик, у меня почему то карта сразу не запускается с пустым кодом?
Но а если я запущу редактор, нажму ctr+s то тогда она с редактора сразу запустит карту
0
3
1 год назад
Отредактирован Smeto
0

» WarCraft 3 / Инструкция по настройке запуска cheapack в VSCode

Приветствую)
Подскажите, что такое папка или где её найти "папку src" ?
0
3
1 год назад
0

» WarCraft 3 / Связанные юниты

Smeto, смотри, на хэндл юнита A вещаем хэндл юнита B. На хэндл юнита B вешаем хэндл юнита A.
При смерти одного из них убиваем второго.
Ты же на хэндл юнита A вешаеш хэндл юнита A. Зачем? Его же можно получить через GetUnitHandle().
Другой момент, что таким образом к одному юниту можно привязать только одного юнита. Для более сложных взаимодействий и цепочек связей придётся что-то похитрее городить.

Делаем триггер на него вешаем бойцов и смерть бойцов по хэндлу триггера.
Один из них умер - убиваем второго (или двоих). Ну, и не забываем очищать всё. Дабы утечек небыло.
Профит
Не вижу смысла в динамических триггерах, ибо всёравно с хэндлами возиться, а задача спокойно и с одним триггером решается.
Спасибо за разбор )
Ты прав делал лишние действие)
😎Зацени😎:
Если больше юнитов допустим, трое связанных, то работать с параметром *set custom value*)
Пришла идея в голову:)
Целочисленная переменная Index, для того что избежать повторов пар из трёх юнитов)
Set custom value Unit1,Unit2,Unit 3=Index
SaveUnitHandle(HASH_TABLE,Index,1,U1)
SaveUnitHandle(HASH_TABLE,Index,2,U2)
SaveUnitHandle(HASH_TABLE,Index,3,U3)
Set Index++
…
Юнит умер:
local unit u
set bj_forLoopAIndex=1
loop 
exitwhen bj_forLoopAIndex>3
set u=LoadUnitHandle(HASH_TABLE,GetUnitPointValue(GetDyingUnit()), bj_forLoopAIndex)
If u=Живой then 
     call KillUnit(u) 
Endif
bj_forLoopAIndex++
endloop
    
...
0
3
1 год назад
0

» WarCraft 3 / Связанные юниты

Делаем триггер на него вешаем бойцов и смерть бойцов по хэндлу триггера.
Один из них умер - убиваем второго (или двоих). Ну, и не забываем очищать всё. Дабы утечек небыло.
Профит
Допустим, одновременно 50 пар на карте, профит будет в создании 50 триггеров и удалении их? Мне вот не понятно, если это один триггер, как отличить допустим первую пару от второй и так далее?)
0
3
1 год назад
Отредактирован Smeto
0

» WarCraft 3 / Связанные юниты

Smeto, зачем на юнита сохранять хэндл этого же юнита? Да и условие можно убрать, а поиск второй половинки засунуть в триггер смерти юнита.
Не совсем понял тебя, если ты про GetHandleId(UNIT_Х), нам же нужен уникальный ключ, который не будет повторяться и по которому мы будем находить второго юнита, поэтому у двух разных Юнитов ключ первого и так же наоборот. Грубо говоря, два ключа)
Я же сохраняю первого юнита под его же id и второго же под id первого и так же наоборот для того чтоб отследить по id умирающего второго юнита, потому что если умрет первый, а у второго будет другой хэндл в ключе, то мы второго не найдём.
А условие я прописал для того чтоб не всех подряд проверял, автор же не уточнял каких крипов проверять
Может я что то не понимаю, то подправь меня пожалуйста)
0
3
1 год назад
0

» WarCraft 3 / Приказ оставаться на месте

msproper, ну можно при спавне/инициализации юнитов, сохранить в них позицию. Сделать простую систему отлова нахождения в бою и возвращать обратно на свои посты юнитов
Можно микроскрин тригера позязя?) или на словах
Попробуй устанвливать им позицию через SetUnitPosition
0
3
1 год назад
0

» WarCraft 3 / Проблема с ботом

что за проблема ты естественно не объяснил, ходите к гадалкам с такими вопросами
а... Проблема в том, что после 1 раунда не наступает второй)
Как-то совсем не пришло в голову объяснить, в чём проблема...)
Как отслеживаешь конец первого раунда?
Как пытаешь запустить второй?
1
3
1 год назад
1

» WarCraft 3 / Связанные юниты

Extremator, эмм, перебирать всех юнитов это тупо. Есть же хэш-таблица.
А как сделать хэш-таблицей?
Могу предположить, что это будет работать так, на примере созданных юнитов: Так то любых можно добавить, наступивших в область, убивших и так далее
    ...
    local unit UNIT_1=CreateUnitAtLoc(Player(0),'hfoo',REGION, bj_UNIT_FACING)
    local unit UNIT_2=CreateUnitAtLoc(Player(0),'hfoo',REGION2, bj_UNIT_FACING)
    ...
	//Сохраняем пару по уникальному id первого Объекта
    call SaveUnitHandle(HASH_TABLE,GetHandleId(UNIT_1),1,UNIT_1)
    call SaveUnitHandle(HASH_TABLE,GetHandleId(UNIT_1),2,UNIT_2)
    //Сохраняем пару по уникальному id второго Объекта
    call SaveUnitHandle(HASH_TABLE,GetHandleId(UNIT_2),1,UNIT_2)
    call SaveUnitHandle(HASH_TABLE,GetHandleId(UNIT_2),2,UNIT_1)
    ...
	//Условие
    if GetDyingUnit()=='hfoo' or (GetOwningPlayer(GetDyingUnit()) == Player(PLAYER_NEUTRAL_AGGRESSIVE)) then
		//Загружаем по уникальному ID умирающего юнита его вторую половинку)
        call KillUnit(LoadUnitHandle(HASH_TABLE, GetHandleId(GetDyingUnit()), 2)
    endif
...
0
3
2 года назад
Отредактирован Smeto
0

» WarCraft 3 / (Патч 1.32.10) Внешние файлы .mix и так.далее. Как быть?

Сам микс не нужен, по крайней мере по моему способу. Разве что есть минус, путь прописать получится только вручную.
Отлично, действительно работает. Спасибо. Остается вопрос. Все ли кидать в папку ритейл или же там звук куда то в другое место?
0
3
2 года назад
0
0
3
2 года назад
0

» WarCraft 3 / (Патч 1.32.10) Внешние файлы .mix и так.далее. Как быть?

Bergi , Локальные файлы включены.
Прикладываю карту, .mix.
Прикладываю модельку, которая в mix файле.
Указываю путь к моделе это название файла с расширением
У меня не получается, что я делаю не то видимо. Попробуй ка ты с рабочим примером в идеале
0
3
2 года назад
0

» WarCraft 3 / (Патч 1.32.10) Внешние файлы .mix и так.далее. Как быть?

Через ритейл папку пробуй, два года назад по краней мере так было.
Можно пример?
0
3
2 года назад
0

» WarCraft 3 / Как отредактировать Лорды Европы

Карту в студию, которую пытаешься открыть
0
3
2 года назад
0

» WarCraft 3 / Как в Warcraft писать на С#?

Есть такая штука как cJass
Можно скачать JNGP и работать в сиджассе
cJass это другое.

Спасибо :)


Это проект dotahit с парсером карты походу sourceforge.net/projects/dotahit
Спасибо:)
0
3
2 года назад
0

» Warcraft III - Lua / Главная страница

Unryze, отличная идея у тебя на реализацию))
А что если как-нибудь отмечать нативки, которых нет в рефордже? (Другой цвет или префикс добавлять, который можно включать/отключать в настройках редактора?)
0
3
2 года назад
0

» Warcraft III - Lua / Главная страница

Портируется ли на рефордж или же придется переделывать код?
Если речь о нативках, они будут реализованы как "врапперы" и скорее всего пойдут в Blizzard.j, но работать будут так же, ибо я не горю желанием обзывать функции Blz, но их поддержку можно сделать банальным вызовом соответствующей нативки. Просто немного бы подробнее бы расписал, что именно нужно "портировать".
Согласен, непонятно выразился.
Если допустим я сейчас буду в 1.26 писать на Lua, захочу вот перенести карту в рефордж, смогу ли я уже её редактировать в рефордже с новыми функциями рефорджа(ведь были добавлены новые функции), откроется ли она у меня, а то я так полагаю тут и мемхак частично задействован в этой сборке исходя из видео, а в рефордже его убрали насколь знаю
0
3
2 года назад
0

» Warcraft III - Lua / Главная страница

Портируется ли на рефордж или же придется переделывать код?
2
3
2 года назад
Отредактирован Smeto
2

» WarCraft 3 / Что предпочтительней и почему Lua или Jass?

Unryze, ну это ты жёстко по фактам решил пройтись, респект за разбор, как раз повод дополнить свою статейку :D