4

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

Кет:
А вот это уже интересно, всё таки можно заменить озвучку глобально!
Дык это и на старой версии работало.
AntNo:
Если в папку с Warcraft III закинуть файлы, повторив пути из casc архива то эти изменения будут в игре.
Работает с иконками, работает со звуками. С остальным видимо тоже работает - не проверял.
Пример на герое эльфов:
Warcraft III\Units\nightelf\herowarden - поместил озвучку (.wav) из старого варкрафта и в игре воспроизводится она.
С иконкой героя то же самое.
Если не трудно, можете пояснить/дать ссылку на руководство по смене звука?
Очень хочется сменить озвучку на старую, но совсем не понимаю, как.
4

» WarCraft 3 / Пояснение Timer Exploit

8gabriel8:
Так если у него 12 игроков и меняется владелец, то скорее всего владельцем становится нейтральный. И в итоге получится, что игрок сможет кормить чужого ДХ вместо своего. Но лучше уточнить этот момент.

По крайней мере на его скрине JNGP.
Allstars:
8gabriel8:
Наверное, про массивы надо пояснить. Ставя галку массив при создании переменной и указывая его размерность, ты словно говоришь игре: «Создай переменных этого типа столько-то штук.» Только переменных будет на одну больше, чем указано в размерности, так как у компьютера счёт идёт от 0. Например, массив назван timer, размерность его указана 3, это четыре переменных: timer[0]; timer[1]; timer[2] и timer[3]. Можно указывать в триггере custom value юнита, чтобы обращение сразу шло к нужному таймеру.
Есть пара важных замечаний по размерности, во-первых, размер массива не может быть больше 8191 на старых патчах вроде 1.26 и 32767 на новых, начиная с 1.29 вроде, во-вторых, размерность массива критически важна для таймеров, а для типов логическая, целочисленная, реальная, боевая единица, отряд и прочих можно задать размерность 1 и указывать любое число в массиве, не превышая предел, такая переменная нормально будет работать. Все типы переменных на размерность не проверял, просто заметил, что массив таймеров выше размерности не работает, потому упомянул.

Не знаю, как у тебя сделано, потому предположу, что есть способность кормления многострадального, которая переводит его под контроль на минуту. Триггер будет выглядеть так:
Событие: Юнит Приводит способность в действие
Условие: (Ability being cast) = Кормление
Действие: Боевая единица - Change owner (Target of ability being cast) to (Owner of (Casting unit))
Обратный отсчёт - Start timer[(Custom value of (Target of ability being cast))] Однократный на 60 секунд.
зачем все эти заморочки через cusom value просто пишешь
Событие: Юнит Приводит способность в действие
Условие: (Ability being cast) = Кормление
Действие: Боевая единица - Change owner (Target of ability being cast) to (Owner of (Casting unit))
Обратный отсчёт - Start timer[(Playernumber (Target of ability being cast))] Однократный на 60 секунд.

Да, игроков 12.
По сути происходит следующее: игроку постоянно необходимо следить за несчастным героем и кормить его юнитами.
Если на долгое время отвлечься - Охотник перейдёт под нейтрально-враждебный контроль и, соответственно, придётся его всеми силами убивать как можно скорее - чтобы тот появился в таверне игрока и последнего можно было бы возродить.
Да, вроде оно.
По крайней мере то, что было непонятно теперь, во-первых, понятно, а во-вторых есть возможность от чего-то оттолкнуться.
Вопрос закрыт, всем спасибо)
4

» WarCraft 3 / Пояснение Timer Exploit

8gabriel8:
Тоже сначала о подобном подумал, потому что 12 таймеров делать бред, но пришла мысль, что он, наверное, хочет отображать время таймера для каждого игрока в окне.
Да, так и есть)

NazarPunk:
Заводите глобальную переменную "SECOND" и какждую секунду таймером делаете SECOND = SECOND + 1.
Записываете на охотников время когда вернуть контроль ""SECOND = SECOND + 120" например.
Проходите циклом и сверяете. Делается одним таймером/триггером на гуй-мй.
Стоит отметить, что таймер может увеличиваться во времени.
Идея крутая, но она не подходит именно по этой причине - по факту "120" может меняться в процессе игры. Соответственно в этом случае придётся сделать 12 переменных. Что, конечно, менее затратно, но всё равно совсем не эстетично)

Extremator:
NulliFLie:
Может есть возможность используя этот jass-код остальное написать на триггерах?
Всё это можно сделать на обычных триггерах...
Не поделитесь мудростью идеи?)
Было бы очень здорово будучи новичком получить такой опыт.
4

» WarCraft 3 / Пояснение Timer Exploit

Hate:
а зачем вам оно если вы вообще не шарите в жассе?
Объясню концепцию идеи:
Существует Многострадальный Охотник на демонов. Время его контроля ограниченно - в течении фиксированного времени его разум затмевает кровь демонов - тогда-то, будучи демоном, его можно контролировать (и подкармливать трупами демонов, дабы увеличить длительность затуманивания разума). Однако может произойти момент, когда таймер дойдёт до нуля и Охотнику вернётся разум.
Игроков 12 - соответственно таймеров тоже должно быть 12. Теоретически каждому охотнику для каждого игрока можно сделать таймер-переменную - и отслеживать значение каждой из 12 переменных, возвращая, в зависимости от этой переменной принадлежность Охотника тому или иному игроку. Но выглядит это ужасно криво и некрасиво)
Так как у меня при обучении такого охотника присваивается оному Custom value, обозначающий номер игрока, которому он изначально принадлежал - я подумал, что можно было бы в теории привязать таймер по индексу (А индексом будет это самое Custom value). И в ходе поисков осуществления подобного нашёл этот эксплоит.
Может есть возможность используя этот jass-код остальное написать на триггерах?