26

» WarCraft 3 / Не запускается скрипт пишет ошибку, гляньте

Принятый ответ
Zeix, во-первых у тебя отсутствует then после равкода абилки ... == 'A000' then
Во-вторых, ты объявляешься локалку внутри ифа, а это нужно делать только в начале функции, т.е. нужно либо объявить её в начале и уже потом после/внутри ифа установить ей значение (хотя в данном случае можно этоисразу сделать), либо выносить проверку из ифа в отдельную предыдущую функцию, которая уже будет вызывать эту.
26

» WarCraft 3 / Ladik's MPQ Editor v4.0.0.937

ScorpioT1000, на мониторах ещё большего размера и большие иконки будут выглядеть как маленькие пятнышки... а ещё трава зелёная, и небо голубое. Каскад неоспоримых фактов.
Если ты не видишь такие иконки на большом мониторе, может тебе и вовсе не нужен такой большой монитор?) вдруг ещё чего не углядишь.
26

» WarCraft 3 / Способности и алгоритмы на заказ

Chongoyuto, это ж Орчид из доты. Тут не нужен DamageEngine, тут можно просто детектить входящий урон по юниту, записывать его пока висит бафф (суммировать), а при снятии баффа наносить юниту 0.3 от записанного урона.
Примерно так же работает Маледикт у ВичДоктора, и по таком же детекту работал СоулКетчер у ШадоуДемона.
26

» WarCraft 3 / При удалении способности из РО, выходит ошибка

Принятый ответ
Проблема известная. Проблема старая. У себя в карте так же с ней сталкивался.
Решения "раз и навсегда" не нашёл, поэтому делаю иначе:
Когда мне больше НЕ нужен какой-либо объект в РО, я просто убираю его отовсюду, сбрасываю до дефолтных значений, переименовываю во что-то типа "DELETE - Name of ...", и скидываю в отдельную категорию (куда-нибудь к нейтралами через "расу" и прочие параметры).
Когда мне понадобится НОВЫЙ объект, то я сначала посмотрю что у меня там в "мусорке" имеется, и возможно выберу оттуда (с юнитами/предмета/баффами/гредйам работает на 100%, а вот с абилками - тут нужно выбирать основу).
Конечно если у тебя эти ненужных объектов около 1000-1500, то это уже такое себе...
26

» WarCraft 3 / Поиск игроков

ИРИНА БОТ !!!
Я раньше залипал в доту-имбу, когда ещё гарена жива была (2011-2015 года). Собирали фуллы по 5х5 за пару минут, порой не успеваешь зайти они уже поехали.
Сейчас увидел её кто-то схостил на ирине, другая версия конечно, но схожая. Игра всего-то 2х2, я уж думал что всё, фигня это... но через пару дней я влился в костяк постоянных игроков (среди которых даже узбеки были) и их оказалось на много больше. Так что мыуже собирали 5х5 и катали нормально. Только осталось подгадать время, у меня так выходило с этими ребятами собираться с 16 до 20 часов по МСК, в остальное время - их поменьше, но они есть. В другие карты других игроков так же может быть довольно много, так что просто надо мониторить и не стесняться контактировать с адекватными игроками.
26

» WarCraft 3 / Способности и алгоритмы на заказ

Chongoyuto, если делать совсем топорно, то за основу можно взять дефолтный "веер клинков" Варденки, и в нём выставить базовый урон 20/40/60/80. Далее триггерно отлавливать момент каста, и выбирая всех вокруг наносить им дополнительный урон, который надо как-то посчитать...
Я бы сделал триггерный дебафф, который считал бц стаки на конкретном юните, а при попытке нанести ему урон - проверял бы наличие баффа. Если он есть, то +1 стак и урон от числа стаков. Если нету - то просто добавить бафф и первый стак + урон от этого стака (я не помню получает ли он урон первого стака в момент его получения, или же только после первого).
26

» WarCraft 3 / Способности и алгоритмы на заказ

Chongoyuto, ну здесь же всё подписано, и можно изменить.
Базовый урон, расчет мин/макс значений для пика Силы/Ловкости, отталкивание (хоть и мгновенное), время стана...
26

» WarCraft 3 / Способности и алгоритмы на заказ

но это не настоящий расчет адаптивного удара
Chongoyuto, ты уверен что оно тебе надо?
Вот тебе как из доты, только тут базовый урон сразу 20/40/60/80 и плюс ещё от 25% до 50/100/150/200% (от Ловкости). А оглушение от 0.25 до 0.75/1.5/2.25/3.0 секунды.
local unit CASTER = GetTriggerUnit()
local unit TARGET = GetSpellTargetUnit()
local integer LEVEL = GetUnitAbilityLevel(CASTER,'A0G6') // A0G6 - равкод от "Adaptive Strike"
local integer AGI = GetHeroAgi(CASTER,true)
local integer STR = GetHeroStr(CASTER,true)
local real AxS = I2R(AGI) / I2R(STR)
local real SxA = I2R(STR) / I2R(AGI)
local real AGI_BONUS = 0.25
local real DAMAGE_BASE = LEVEL * 20.
local real STUN = 0.25
local real PUSH = 100.
local real DAMAGE_TOTAL
local real ANGLE = Atan2(GetUnitY(TARGET)-GetUnitY(CASTER),GetUnitX(TARGET)-GetUnitX(CASTER))
local location POINT

if AxS > 1.5 then
	set AGI_BONUS = LEVEL * 0.5
elseif AxS >= 0.5 then
	set AGI_BONUS = AGI_BONUS + (AxS-0.5) * (0.5*LEVEL-0.25)
endif

if SxA > 1.5 then
	set STUN = LEVEL * 0.75
	set PUSH = 300.
elseif SxA >= 0.5 then
	set PUSH = PUSH + (SxA-0.5) * 200
	set STUN = STUN + (SxA-0.5) * (0.75*LEVEL-0.25)
endif

set DAMAGE_TOTAL = DAMAGE_BASE + AGI_BONUS * AGI

// толчок + ломает деревья
set POINT = Location(GetUnitX(TARGET)+PUSH*Cos(ANGLE),GetUnitY(TARGET)+PUSH*Sin(ANGLE))
call SetUnitPositionLoc(TARGET,POINT)
call DestroyTree(GetLocationX(POINT),GetLocationY(POINT),200.) // ломает деревья в радиусе 200
call RemoveLocation(POINT)

// наносит урон конкретного типа
call DealDamage(CASTER,TARGET,1,DAMAGE_TOTAL)

// даммикаст оглушения (ротация на 24 уровня от 0.25 до 4.00)
call DStun_cast(CASTER,TARGET,STUN)
26

» WarCraft 3 / Способности и алгоритмы на заказ

Хотел бы я тебе рассказать как автор этой карты считал урон и оглушение, но лучше туда вообще не смотреть... х)
Загруженные файлы
26

» WarCraft 3 / Анимация юнита при нажатии способности

Qulore:
как ульта сфа из доты
Изначально ульт СФа из доты базировался на 2м скилле Горного Короля (клэп), только урон на 0 выставлен и добавлено время подготовки. Сам по себе он обеспечивал только лишь кратковременно замедляющий дебафф (не знаю как там сейчас, не слежу). Раз от деформации рельефа избавились, то полагаю что можно использовать вместо него любой другой скилл, например Рёв (без наложения эффекта), а дебафф - накладывать вручную (не говоря уже об уроне от так же вручную создаваемых волн).
26

» WarCraft 3 / SLK оптимизация при помощи w3x2lni

IceFog, странная штука. У меня она так не делает.
У меня на карте стоят "рынки" у которых есть абилки Aneu,Apit,Avul (выбор, скупка, инвул).
Я кучу раз прогонял множества версий своей карты через Lni, и у меня ни разу не было такой проблемы.
А проблема только в иконке? или что-то не работает?
26

» WarCraft 3 / Как узнать есть ли цель способности за кастующим юнитом

Можно просто без цели каст сделать и анимацию легания, а цель выбирать рандомно и тех кто сзади имеется. Если никого нет - то никто и не отлетит.
26

» WarCraft 3 / Сбрасываются триггерные способности

Где-то тут давно поднимали тему на счет того что после загрузки абилки кэшируются не в том порядке и что-то в таком духе... Кароче, надо тестить эту фигню. И найти тот древний топик, где про это писали. Но мне кажется вылечить это врядли получится, максимум - придумать костыль для момента загрузки.
26

» WarCraft 3 / Эффект снижения лечения

human1, можно, я же написал выше пример для GUI - просто юзаешь арифметику, и оно нормально считает результат и задаёт это значение. Для jass ограничение вроде в 10 символов, дальше то ли смысла нет писать, то ли оно просто не выводит результаты конда проверяешь, но считает правильно... Ну там посмотреть самому можно, если тебе прям нужно уточнить эту информацию.
26

» WarCraft 3 / Эффект снижения лечения

Makeba, смысл не в том что оно меньше (спойлер - оно не меньше), а в том что не нужно вручную забивать все знаки после точки, ибо 1/64 = 0.0158730158...
26

» WarCraft 3 / Эффект снижения лечения

human1:
как это возможно? В wc3 минимальное время - 0.01 сек.
Это минимальное которое можно в это окошко вписать, всего-то.
А так ты можешь указать и 0.01 * 0.01, и он тебе посчитает 0.0001
26

» WarCraft 3 / Эффект снижения лечения

OVOgenez:
Можно в тупую без особого напряга - каждые 1/32 сек проверять хп юнита
Ну я ж так делал у себя, только мне там было достаточно и 0.1 секунды
Это та самая абилка которая при понижении ХП возвращала 20/40/60% от потери, и при повышении - докидывала ещё 20/40/60% сверху.
26

» WarCraft 3 / Эффект снижения лечения

TeX13
это все полностью переделывать надо
Нужно сделать отдельную функцию для "лечения", и внедрить её везде.
Внутри этой функции будет идти проверка на бафф, либо вообще на ряд баффов и суммарное изменение эффективности лечения.
Потихоньку все те хилки, где у тебя стоит функция "становить ХП юнита как его ткущее ХП + число" будешь заменять на эту новую, которая внутри будет проверять/считать что нужно и регулировать отхил.
26

» WarCraft 3 / Как была сделана карта Dota LoD?

Принятый ответ
как там реализовано то, что герою дают на выбор способности, чтобы в дальнейшем эти способности можно улучшать через красный плюсик?
Так ты хотел?
Загруженные файлы
26

» WarCraft 3 / процентное увеличение маг урона как сделать?

Вполне можно юзать абилку Благославение Элуны
При её правильной настройке она просто множит урон на некое значение.
В стандарте число менее 1.00 будет уменьшать урон, а более - увеличивать.
Я у себя её юзаю на 6-ти секундном баффе, который уменьшает входящий маг.урон на 15/30/45/60% (это 0.85/0.70/0.55/0.40 от урона).
Еще есть другой дебафф, который временно повышает входящий маг.урон по указанному врагу на 20/25/30% (это 1.20/1.25/1.30 от урона).