Эммм, ну так давай будем в каждую карту любого жанра пихать молот бурь, цепную молнию и т.д.
Это же так интересно
Мне интересно. Мне нравится большинство стандартных способностей и я всегда рад видеть вменяемо настроенную под текущую карту стандартную способность. Я не отрицаю нестандарт, но я никогда не против наличия стандарта. Не разделяю, в общем, этого хейта стандарта по умолчанию. Proshel_Doty:
Мб TcX не взлетел потому что о нём знали только в теме на хгм?
Я тогда не был на хгм но ТсХ мне не зашел. Экшон, достаточно вяло натянутый на игру долгим откликом клавишей. Bergi_Bear:
Люди зашли в варкрафт, они хотят стандартные скилы со стандартными механиками
Какие 2 главные карты в СНГ? Вроде Петры и ЖнА. Не сильно стандартные скилы с не сильно стандартными механиками. Быть может Legion TD? Тоже нет. Дота? Точно не дота.
P.S. Клянусь Богом, человек решивший перенести кнопку предпросмотра сообщения в раскрывающийся список самой кнопки "отправить" не спал три ночи в поисках способа ухудшить пользовательский интерфейс.
А нельзя срубленное дерево триггерно заменить на целое дерево без путей, но с моделькой (или выставить анимацию триггерно) срубленного? И просто отменять приказ на "сожрать дерево", если цель пень, но используется не лопата.
Если вы считаете, что эффективнее писать все свое, чем брать готовое, то это ваше личное мнение
Если вы считаете, что это никому не нужно, то это ваше личное мнение
Если вы считаете, что знание костылей jass и blizzard VM - полезное знание для дальнейшей жизни, то это ваше личное мнение
Если вы считаете что это его личное мнение, это ваше личное мнение.
Это путь к иконке. Внутри папки "imports" твоего Wurst-проекта должна быть папка "ReplaceableTextures" внутри которой 2 папки - "CommandButtons" и "CommandButtonsDisabled". Иконку помещаешь в CommandButtons, а ее DIS версию в CommandButtonsDisabled.
Как ты указывал пути импортируя вещи в редактор так же ты должен организовывать пути внутри папки improt твоего проекта.
effectIndex это, собсно, индекс эффекта. Одно улучшение может иметь до 4х эффектов.
Сами типы эффектов можно найти в UpgradeEffectType перечислении внутри UpgradeObjEditing модуля.
Сама ошибка говорит о необходимости использования метода addEffect... вместо setEffectType. Видимо setEffectType считается устаревшей и была изъята из употребления.
Что подразумевает, что ты уже используешь какие-то либы переопределяющие/дополняющие поведение стандартных функций. Это уже не моя головная боль, а твоя, на твоей совести.
Это для случаев, когда сам не знаешь что в переменной?
Спойлер
function UnitDamageTarget(u, target)
local t = type(target)
if t == "unit" then
-- урон по юниту
elseif t == "group" then
-- урон по всем юнитам в группе
elseif t == "player" then
-- урон по всем юнитам игрока
elseif t == "rect" then
-- урон по всем юнитам в области
end
end
Но реализовать это можно, конечно, изящнее
Спойлер
do
local oldType = type
function type(...)
local t = oldType(...)
if t ~= "userdata" then
return t
else
-- кастомный код
end
end
end
Ты уверен, что это не из-за указанного пути? Модель .mdx, а путь указываешь .mdl.
Уверен что нигде не устанавливается нулевой размер юнита?
И почему не используешь HeroDefinition, UnitDefinition или BuildingDefinition классы для генерации объектов с человечески названными методами? В setInt, setReal, setString и т.д. очень легко запутаться.
Не такой уж и умный, если посоветовал такую глупость.
Оптимизировать надо когда это надо, а не когда это лучше. В твоем случае даже появляется угроза превышения лимита операций, что приведет к прерыванию работы триггера, не говоря уже о невозможности поддержки такой гигантской лестницы условий.
Подскажите, пожалуйста, я дичь делаю, или всё чётко-ровно и так и нужно?
Это так называемый оператор возврата из функции return, который завершает работу функции. Тебе это мало о чем скажет, но например такая конструкция
не завершит работу всего триггера, а лишь цикла, вернее, текущей итерации цикла. При этом цикла группы юнитов или группы игроков, но не цикла целочисленных "от A до B", который может быть как внутри триггера, так и внутри цикла группы юнитов/игроков.
В общем, от такого хорошего совета ты сразу влез в океан условностей которые предусмотреть не сумеешь. В итоге такая "оптимизация" лишь породит кучу новых ошибок.
Отсутствие воспитания, отсутствие образования, отсутствие дисциплины. Все вышеперечисленное стоит на вполне объективном социальном и экономическом фундаменте, который был заложен N лет назад. До этого, существовал мало кому сейчас известный моральный кодекс "человек человеку друг, товарищ и брат". После произошедшего, нас со всех экранов и каждого радиоприемника начали учить, что все вокруг говно и нет ничего в этой вселенной важнее твоей личности. Ты личность, ты индивидуальность, а проявление уважения к другому человеку есть уничижение твоей собственной личности и твоей, самой важной, индивидуальности. Ну и разумеется напишут, что ты свободный человек, не нравится, катись к черту отсюда, дескать, не угодила наша помойка, ну и иди куда подальше, мы в ней сами плавать будем.
Сделать с этим ты не можешь ничего, только быть примером для подражания. Человеком, с которым тебе бы самому было приятно общаться. Но какого-то просветления ни мое ни твое поколение уже не увидит.
Задача гуишника взять собранный умными людьми triggerdata и скопировать себе. Побочный эффект это конечно куча неиспользованного кода, но неиспользуемый код лучше чем унылый)
Пользователь сам волен выбирать используемые библиотеки. Никому не уперлось копировать себе в CustomScript тонну неизвестно вообще чего и зачем.
Да хоть в 100500, современные IDE в прямых руках замечательно всё соберут в один нужный файлик.
Гуишнику не нужны IDE. Именно гуишнику придется брать чужие библиотеки и собирать их у себя в один triggerdata файл в чем он не разберется.
Тут скорее сборщик писать придется. Хватит и консольной программы, закинул в папку заготовленные triggerdata файлы с кастомными функциями, а сброщик уже сам это дело соберет и кинет в папку с игрой. Правда CustomScript в карту копировать так и так вручную придется.
Только вот нужно 100500 времени чтоб её развить и доделать.
Не сказал бы, процесс достаточно ускоряется практикой Ctrl+C/V
Тут основная проблема в том что все это дело нужно распихивать в один единственный текстовый файл (в два, если с подсказками), да еще по заранее определенным секциям. Рядовой гуишник в этом деле запутается если будет использовать больше одной сторонней библиотеки.
Так я и хотел бы переопределить, только не добавлением в custom_code, а таким нехитрым способом
Если я правильно понял твое заблуждение, то triggerdata не определяет код функций, он лишь определяет код вызова функций. Имя функции, принимаемые параметры, возвращаемое значение и описание, которое будет отображаться в GUI редакторе.
Технически это позволяет лишь добавить в GUI функции твоей библиотеки, но не их начинку.
Ничего не истинно, все дозволено.
Мы давно пришли к моменту, когда не написать каких-то систем для массового пользования. Все оно будет иметь сугубо нишевый характер. Посему вопрос "кому оно надо" бессмысленен в виде его применимости абсолютно в любой ситуации.
Это не рудимент, это подход к проектированию программы. Смысл его заключается в разделении и изоляции друг от друга логических блоков. Изоляции блока проверки произошедшего события и блока ответных на событие действий. Гарантия отсутствия мешанины из смеси проверок событий и непосредственного действия.
» WarCraft 3 / 19. Расширенная индексация
» WarCraft 3 / Custom hero: Revival
Позже с (тогда еще) пацанами с форума "инфо" играли.
Ред. GetLocalPlayer
» WarCraft 3 / Custom hero: Revival
Proshel_Doty:
Bergi_Bear:
» WarCraft 3 / Ищу разработчика по наработке с земельным участком
Ред. GetLocalPlayer
» WarCraft 3 / Как выставить предмету дерево-цель?
» WarCraft 3 / Сценарий на любом языке
» WarCraft 3 / Сценарий на любом языке
Ред. GetLocalPlayer
» WarCraft 3 / WURST Импорт иконок
Как ты указывал пути импортируя вещи в редактор так же ты должен организовывать пути внутри папки improt твоего проекта.
» WarCraft 3 / UpgradeDefinition WURST
Ред. GetLocalPlayer
» WarCraft 3 / UpgradeDefinition WURST
Сами типы эффектов можно найти в UpgradeEffectType перечислении внутри UpgradeObjEditing модуля.
Ред. GetLocalPlayer
» WarCraft 3 / Проверка типа переменной
» WarCraft 3 / Проверка типа переменной
Ред. GetLocalPlayer
» WarCraft 3 / Импорт модели в карту на Wurst
Уверен что нигде не устанавливается нулевой размер юнита?
И почему не используешь HeroDefinition, UnitDefinition или BuildingDefinition классы для генерации объектов с человечески названными методами? В setInt, setReal, setString и т.д. очень легко запутаться.
» WarCraft 3 / Оптимизация.
Ред. GetLocalPlayer
» WarCraft 3 / Оптимизация.
Оптимизировать надо когда это надо, а не когда это лучше. В твоем случае даже появляется угроза превышения лимита операций, что приведет к прерыванию работы триггера, не говоря уже о невозможности поддержки такой гигантской лестницы условий. Это так называемый оператор возврата из функции return, который завершает работу функции. Тебе это мало о чем скажет, но например такая конструкция
» WarCraft 3 / Что не так с комьюнити?
» WarCraft 3 / Что не так с комьюнити?
Сделать с этим ты не можешь ничего, только быть примером для подражания. Человеком, с которым тебе бы самому было приятно общаться. Но какого-то просветления ни мое ни твое поколение уже не увидит.
» WarCraft 3 / Создаём фрейм на русских гуи триггерах (только Reforged)
» WarCraft 3 / Создаём фрейм на русских гуи триггерах (только Reforged)
Тут скорее сборщик писать придется. Хватит и консольной программы, закинул в папку заготовленные triggerdata файлы с кастомными функциями, а сброщик уже сам это дело соберет и кинет в папку с игрой. Правда CustomScript в карту копировать так и так вручную придется.
» WarCraft 3 / Создаём фрейм на русских гуи триггерах (только Reforged)
Тут основная проблема в том что все это дело нужно распихивать в один единственный текстовый файл (в два, если с подсказками), да еще по заранее определенным секциям. Рядовой гуишник в этом деле запутается если будет использовать больше одной сторонней библиотеки.
» WarCraft 3 / Создаём фрейм на русских гуи триггерах (только Reforged)
Технически это позволяет лишь добавить в GUI функции твоей библиотеки, но не их начинку.
» WarCraft 3 / Создаём фрейм на русских гуи триггерах (только Reforged)
Мы давно пришли к моменту, когда не написать каких-то систем для массового пользования. Все оно будет иметь сугубо нишевый характер. Посему вопрос "кому оно надо" бессмысленен в виде его применимости абсолютно в любой ситуации.
» WarCraft 3 / В чем проблема?
Снизу в окне галочка "Разрешить использовать отрицательные значения в редакторе объектов".
» WarCraft 3 / Дебаггер Lua
» WarCraft 3 / Дебаггер Lua