ImbaStyle, конечно нет, близзарды не для того их сделали, максимум сделать таблицу во весь экран и текстуру фона сменить на прозрачную, если это именно текстура и она одна для таблицы.
Нужно установить Random Seed чтобы было как можно меньше повторений, для этого нам нужно случайное целое число, желательно побольше (совсем большое 3242572438726738049568236)
Которое нам надо бы сгенерировать при старте игры, а как это сделать не юзая GerRanomInt\Real, GroupPickRandomUnits и тому подобное, подумайте на досуге...
Дефолтное воскрешение сделано специально чтобы не воскрешать героев, там установлены хардкодные цели (т.е ваши настройки цели ни на что не влияют), увы это не единственная такая способность где нельзя заменить дефолтные цели, так что делаем триггерно.
Ну без мультборда, значит в лейблборде, но зачем?
Что это даст? Баффы искать и абилки юнита можно искать мемхаком, но это ресурсоемко.
Да и как вы будите следить за хп\мп и баффами 10 юнитов? Вы похожи на это ?
Если у вас 1 герой то все просто, переодический таймер который будет заносить в таблицу значения всего что нужно, для баффов нужна база данных...
Несколько юнитов, перенаправляй выбор ну или можно иначе, сам магазин сделать просто декором, а для продажи использовать даммиков.
Чтобы даммика мог выбрать только игрок - нужно создать дамми героя, вручить ему ульт панды пивовара с длительностью 0 и настройками где вызванное существо будет твой магазин, вуаля, при клике на иконку героя слева вверху ты будешь выделять свой магазин, а камеру триггерно переноси к другому "декоративному магазину", самих даммиков располагай за границами камеры, чтобы их было невозможно выделить другим способом.
Clamp, кстати вот обновленный мемхак а так же новые и обновленные функции:
Пока что все не разобрал и не заставил работать все в куче, нужно будет довырезать мусор и dota only код.
Тестмап с основными либами работает исправно.
LainMikoroso, эмм не настолько чтобы отказываться от глобалок, да и создание 100500 локалок не есть хорошо.
Темболее не нужно заниматься такой фигней лучше сосредоточится на более важных вещях.
Этот код запишит в файл mydata.pld все что загружает в память движёк при создании этого юнита, далее этот код можно запустить функцией Preloader( путь до *.pld файла ), таким образом мы можем сделать N скриптов погрузки для каждого героя, в тавернах продавать даммиков и при покупке даммиков вызвать этот скрипт, потом через пару секунд создать героя.
Способности можно подгружать таким же способом, только нужно заставить героя выиучить их и пременить, очень быстро (кодом, а не руками) и в файл попадет все что грузил движок.
Нельзя бы, одним из важных моментов для фрога является независимость доты от патча.
Да с фрогом понятно, ему вовсе пох, ему кастом шипы кто то писал, там код явно не детсадовский конверт гуи в jass фрога, я про тех кто делает карты сейчас и собрался тоже избавится от дефолтных шипов (уж больно это корявый спелл, не стак, делает неуязвимым юнита).
AntiMage, айсфрог больше не фаворит, не?
Создай их на карте изначально, потом удали при старте удали, время загрузки карты увеличится, зато не будет просадок фпс при выборе нового героя и так далее. Способности прелоадят с помощью preload, постепенно, как только появился герой которому нужны эти способности, то потихонечку подгружаются эффекты скиллов, создаются даммики которым по очереди с некоторым интервалов вручают по 1 скиллу героя + так же все вспомогательные дамми способности.
Чтоб в красном плюсе были таланты (типа на 11 лв можно апнуть силу) просто добавляй канал юниту в список доступных геройских скиллов *(Редактор обьектов), где ниче нету кроме описания, триггерно лови выучку канала и вручай герою спеллбук с нужными скиллами.
Очень просто, на эти скиллы нужно сделать ссылки в коде, что их что то использует, ибо отключить галочку - Удалять не используемые способности, оптимизаторы таким образом удаляют мусор, который не где не прменяется, это как у фрога доте - 400+ юнитов говна, вроде альтернативных ультов феникса, старого сикера, и так далее.
Самый верный способ, создайте на карте всех нужных вам юнитов в некой области из которой они будут удалены при старте игры, легко и просто?
function StartAbilityCooldown takes unit whichUnit, integer abilityId, real cd returns boolean
local integer pAbility = 0
if whichUnit == null or GetUnitAbilityLevel( whichUnit, abilityId ) < 1 or cd == 0.00 then
return false
endif
set pAbility = GetUnitAbility(whichUnit, abilityId)
if pAbility < 1 then
return false
else
if ReadRealMemory(pAbility+0x134)==-1 and ReadRealMemory(pAbility+0x138)==-1 then
call WriteRealMemory(pAbility+0x134,0)
call WriteRealMemory(pAbility+0x138,0)
endif
set Memory[pReserverdIntArg1 / 4] = SetRealIntoMemory(cd)
call CallThisCallWith2Args( pStartAbilityCD, pAbility, pReserverdIntArg1 )
return IsAbilityOnCooldown( pAbility )
endif
return false
endfunction
На мемхаке стан довольно геморойный, нет сама функция в 1 строчку, но вы не оберетесь багов, если не будите следить за юнитом, ибо если юнит умрет и это герой, который потом воскреснет то он не будет больше оглашаться хоть ты тресни. Нужно удалять кастом стан до смерти, юнита, но как вы это будите ловить, если у юнита есть крест перерождения (или аналог), то он тоже багнется....
Есть одно событие EVENT_WIDGET_DEATH - которое какраз срабатывает до смерти юнита, при падении хп меньше минимума и если его юзать то какраз можно удалить кастом стан, но это единичное событие, на конкретный виджет, для него придется создавать отдельный триггер, в общем с даммиками проще... Кроме редких исключений где длительность стана за ранее не известна да и этот стан может быть отменён спецефичискими действиями, пример - купол войда из доты, аналог ульта атропса (если че то магические сети не стак, пока висит одна вторую не повешать).. ssbbssc, требования героя, скилл сделать для героя...
ssbbssc, достаточно указать у молота бурь требование уровня больше 2 и в разрешенные цели добавить Уязвимые-Неуязвимые, то даммик сможет пулять стан в имунных к магии юнитов, с щитами проще пареной репы - даммика создавай за нейтрально пассивных и он не собьет амулет защиты, но нужно указать в допустимых целях союзников.
Эмм у критов и так есть настройки баша, да и баша есть настройки крита, т.е баши могут множить урон как и криты, криты и баши - способности клоны, с разными ветками действий в коде...
» WarCraft 3 / Интерфейс
» WarCraft 3 / Рандомизация героев
Которое нам надо бы сгенерировать при старте игры, а как это сделать не юзая GerRanomInt\Real, GroupPickRandomUnits и тому подобное, подумайте на досуге...
» WarCraft 3 / Интерфейс
» WarCraft 3 / Как воскрешать умершего Героя способностью?
» WarCraft 3 / Интерфейс
Что это даст? Баффы искать и абилки юнита можно искать мемхаком, но это ресурсоемко.
Да и как вы будите следить за хп\мп и баффами 10 юнитов? Вы похожи на это ?
Если у вас 1 герой то все просто, переодический таймер который будет заносить в таблицу значения всего что нужно, для баффов нужна база данных...
» WarCraft 3 / Магазин для локального игрока
Чтобы даммика мог выбрать только игрок - нужно создать дамми героя, вручить ему ульт панды пивовара с длительностью 0 и настройками где вызванное существо будет твой магазин, вуаля, при клике на иконку героя слева вверху ты будешь выделять свой магазин, а камеру триггерно переноси к другому "декоративному магазину", самих даммиков располагай за границами камеры, чтобы их было невозможно выделить другим способом.
» WarCraft 3 / Хак на память Warcraft3
Пока что все не разобрал и не заставил работать все в куче, нужно будет довырезать мусор и dota only код.
Тестмап с основными либами работает исправно.
» WarCraft 3 / Запрет игры в одиночной
» WarCraft 3 / Разный загрузочный экран.
» WarCraft 3 / Вопрос о функциях
Темболее не нужно заниматься такой фигней лучше сосредоточится на более важных вещях.
» WarCraft 3 / Как правильно инициализировать способности и юнитов в массиве?
Способности можно подгружать таким же способом, только нужно заставить героя выиучить их и пременить, очень быстро (кодом, а не руками) и в файл попадет все что грузил движок.
» WarCraft 3 / Вопрос о функциях
» WarCraft 3 / Использование SetUnitFlyHeight
» WarCraft 3 / Как правильно инициализировать способности и юнитов в массиве?
Создай их на карте изначально, потом удали при старте удали, время загрузки карты увеличится, зато не будет просадок фпс при выборе нового героя и так далее. Способности прелоадят с помощью preload, постепенно, как только появился герой которому нужны эти способности, то потихонечку подгружаются эффекты скиллов, создаются даммики которым по очереди с некоторым интервалов вручают по 1 скиллу героя + так же все вспомогательные дамми способности.
Ред. quq_CCCP
» WarCraft 3 / Как сделать систему талантов?(прокачка так же как скилы у героя)
» WarCraft 3 / как без потери обьектов из w3o конвентировать в slk таблицу?
Самый верный способ, создайте на карте всех нужных вам юнитов в некой области из которой они будут удалены при старте игры, легко и просто?
» WarCraft 3 / Как сделать атаку юнита по области?
Ред. quq_CCCP
» WarCraft 3 / Кулдаун абилки буквально замораживается
» WarCraft 3 / Вопросы по функциям
» WarCraft 3 / способ оглушить
» WarCraft 3 / способ оглушить
» WarCraft 3 / способ оглушить
Есть одно событие EVENT_WIDGET_DEATH - которое какраз срабатывает до смерти юнита, при падении хп меньше минимума и если его юзать то какраз можно удалить кастом стан, но это единичное событие, на конкретный виджет, для него придется создавать отдельный триггер, в общем с даммиками проще... Кроме редких исключений где длительность стана за ранее не известна да и этот стан может быть отменён спецефичискими действиями, пример - купол войда из доты, аналог ульта атропса (если че то магические сети не стак, пока висит одна вторую не повешать)..
ssbbssc, требования героя, скилл сделать для героя...
Ред. quq_CCCP
» WarCraft 3 / способ оглушить
» WarCraft 3 / Хак на память Warcraft3
» WarCraft 3 / способ оглушить