2

Алгоритм для создания круговой области

» WarCraft 3
Всех приветствую. Возник такой вопрос, который наполовину связан с игрой и наполовину с программированием. В ходе разработки функций отрисовки нестандартных форм для областей (круги), возникла проблема: нужен алгоритм для размещения клеток-квадратов по точкам с координатами (это все будущие ячейки регионов, которые в сумме дадут круг). Нашел алгоритм Брезенхэма, который помог отрисовать окружности, но этого недостаточно, так как нужно круг затушевать. Как это реализовать?
P.S.: на скриншоте привожу пример, как в игре будут располагаться ячейки региона (отрисованы круги с радиусами 1 и 2 в точке (0;0), при наложении остаются пробелы; смещение координат там не учитывалось (при добавлении ячейки региона в точке образуется она выше и правее от указанной точки со стороной 32).
3

УУУУ Функции

» WarCraft 3
Идея такая - рассчитать урон с триггерного наношения урона, по данному юниту, с учётом всякого
Маг урон ещё понятно, но вот физ будет сложновато просчитать...
Примерная штуковина:
» раскрыть
function DamageCalculatorMagic2 takes unit c, unit t returns real
    local unit t1 = GetAttackedUnitBJ()
    local unit c1 = GetEventDamageSource()
    local real r = GetEventDamage()
    if c == c1 then
    if t == t1 then
    return r
    endif
    endif
endfunction
Как заставить его выполняться через EVENT_UNIT_DAMAGED?
3

Снова эти функции

» WarCraft 3
Нужно ли обнулять юнитов и строки с таких функций?
function MDWC takes unit c, unit t, real dmg, real cc, real cm, string color returns nothing
....
endfunction
4

Поясните функцию

» WarCraft 3
Объясните, что означают следующие строки в этой функции:
boolean attack = ???
boolean ranged = ???
Тип атаки - тип урона, например магия будет заблочена Анти-Маг-Щитом
Тип Дамага = Эффект при дамаге (?)
Тип Оружия = Звук урона (?)
» раскрыть
native UnitDamageTarget takes unit whichUnit, widget target, real amount, boolean attack, boolean ranged, attacktype attackType, damagetype damageType, weapontype weaponType returns boolean
=======
UnitDamageTarget(c,t,dmg,true,false,ATTACK_TYPE_MAGIC,DAMAGE_TYPE_UNKNOWN,WEAPON_TYPE_WHOKNOWS)
3

Проблемы с новым JNGP

» WarCraft 3
Качал отсюда: xgm.guru/p/wc3/jassnewgenpack-r
В итоге скачался zip с JNGP, распаковал, врубил.
Но сама проблема в том, что если JassHelper находит ошибки, то тупо зависает и всё.
Может быть есть где нибудь установщик R1.2 версии JNGP?
4

Не могу найти подходящую ауру

» WarCraft 3
Просто нубский вопрос, как всегда в общем. У какой ауры я смогу сделать такие настройки (или какие параметры нужны чтобы заработало)?
Ауру раздаёт здание, она действует на другие здания, сама на себя и на союзников. По стандарту аура выносливости не работает на здания, только если сделать отдельную ауру с 1 параметром "сам воин", только тогда начинает работать, но при этом она в упор не раздаётся на другие здания, аура ничего не должна делать, только лишь накладывать эффект
9

Невыделяемость на время

» WarCraft 3
Можно ли сделать юнита невыделяемым на время? Способность москиты почему-то нельзя удалить после добавления.
5

Анимации

» WarCraft 3
Как заставить юнита проиграть нужную анимацию при касте скилла?
» раскрыть
    if GetAbilityName(GetSpellAbilityId()) == "Предсмертный крик" then
    call SaveUnitHandle(udg_GHT,h,1,caster)
    call TimerStart(t,0.05,false,function Trig_Skills_ActionsHeal)
    set t = null
    call SetUnitAnimation(caster, "Death") //<----
    call BJDebugMsg(I2S(h)+" Предсмертный крик")
    else
При попытке переделать анимацию со скилла "channel", тоже 0 эффекта.
Юнит всё равно воспроизводит "Stand Channel"
5

Не работает

» WarCraft 3
Приветствую,подскажите пожалуйста ошибку тригера.
В идеале должен при ударе с шансом (ловкость героя)наносить урон от силы
3

Фатал при отмене улучшения юнита

» WarCraft 3
Улучшение стандартное как у башни альянса, делаю этот трюк с со стандартными башнями (Грейжу башню в магическую, отменяю, всё пучком). А стоит отменить мою такую же сделанную по аналогии то фатал, поставил время строительства в 0, временное решение, но всё равно башня строится где-то около секунды и можно успеть отменить и тогда снова фатал (read memory), процедура рядовая, никаких триггеров на отлов отмены строительства нет.
Башня 1 улучшается в Башню 2, оба юнита здания. По форуму ничего похожего не нашел =(
3

Анимация постройки

» WarCraft 3
Здравствуйте! Скачал пак зданий хаоса, и обнаружил, что анимация birth идет отдельной моделью. Как сделать так, чтобы она возникала при строительстве?

Broken sword 1 music and speech problem

» Музыка
Hi,
I have installed Broken sword 1 on mu computer and copy music and speech files from CD1 and CD2, because i want to play the game from hard disk. I put those files in directory SPEECH1 (CD1), SPEECH2 (CD2), MUSIC1 (CD1) and MUSIC2 (CD2). But SCUMMVM emulator can't recognize these folders and game run without music and speech. I red on this forum that i should put all music files in MUSIC folder, also all speech files in SPEECH folder. But some files have same names and they will overwrite if i put them together, especially SPEECH.CLU.
How can i resolve this problem, becaouse i understood that emulator doesnt support disk swap. Can i organise those files and folders so emulator can read them all?
Please help.
I didn't find the right solution from the Internet.
References:-
[url=https://jobs.vidzzy.com/hire-3d-product-animation-studio/]3D Product animation studio[/url]
Thanks!

Broken sword 1 music and speech problem

» Музыка
Hi,
I have installed Broken sword 1 on mu computer and copy music and speech files from CD1 and CD2, because i want to play the game from hard disk. I put those files in directory SPEECH1 (CD1), SPEECH2 (CD2), MUSIC1 (CD1) and MUSIC2 (CD2). But SCUMMVM emulator can't recognize these folders and game run without music and speech. I red on this forum that i should put all music files in MUSIC folder, also all speech files in SPEECH folder. But some files have same names and they will overwrite if i put them together, especially SPEECH.CLU.
How can i resolve this problem, becaouse i understood that emulator doesnt support disk swap. Can i organise those files and folders so emulator can read them all?
Please help.
I didn't find the right solution from the Internet.
References:-
<a href=https://jobs.vidzzy.com/hire-3d-product-animation-studio/>3D Product animation studio</a>
Thanks!
4

Исследование и пасивка

» WarCraft 3
Смысл вот в чём: сделал исследование, с помощью которого юнит получает пасивку и в процессе следующего исследования этого исследования (тавтология) эта пасивка улучшается.
Например: на первом уровне исследования вампирка 10% на втором 20% и т.д., но(!) когда я провожу исследование способность не улучшается! Но в тоже время так работает с активными способностями.
Вопрос: это всё особенность пасивок или в чем дело?
4

WispMagic

» WarCraft 3
Иконка сделанная на основе иконки светлячка.

Читать далее...
9

Убивать вне радиуса области относительно юнита - триггерно

» WarCraft 3
Хочу сделать чтобы если пехотинец оказался слишком далеко от своего здания "дом", допустим на расстоянии 5000+, то он сразу умирал. Дайте какой-нибудь гайд или наработку с похожей штукой, где есть работа с областями относительно юнита.
3

Олдскульные иконки (8 штук)

» WarCraft 3
Посидел, называется, пару часиков за иконками. Временами на меня нападало вдохновение, и я делал что-то годное (как Торрент), а временами мне просто хотелось видеть иконку в новом цвете (как Апхивал и Андаинг). По результатам выкладываю аж целых 8 (!) иконок, имеющих активную и пассивную составляющие.

Читать далее...
5

Звук в игре создаётся пачками

» Unity 3D
есть скрипт для озвучки
public void PlaySound(int y_soundNum)
{
GameObject y_gameObject = Instantiate(y_sfx, Vector3.zero, Quaternion.identity) as GameObject;
AudioSource y_audioSource = y_gameObject.GetComponent<AudioSource>();
y_audioSource.clip = y_audioClips[y_soundNum];
y_audioSource.Play();
Destroy(y_gameObject, y_audioClips[y_soundNum].length);
}
но при создании звука он создает сразу пачку объектов. как можно сделать так чтобы звуковой объект создавался только 1? нажатии кнопки, ходьбе, атаке???
5

Юниты входящие в область идут,хотя не должны

» WarCraft 3
Сделал передвижение юнитов врага от области к области,но вся "соль" в том,что,если в неё зайдет игрок,то он тоже пойдет от области к области. Во всех триггерах условие входящего юнита - игрок 12(крипы то есть)
11

Создание триггерных иллюзий

» WarCraft 3
Решил написать небольшую библиотеку по созданию своих триггерных иллюзий.
((кат
((код
library IllusionSystem initializer onInit requires Table

Читать далее...
5

Группа способностей

» WarCraft 3
Подскажите пожалуйста можно ли на гуи в тригерах вносить способность в группу способностей?
Пример:Герой поднял предмет и мне надо удалить у героя способность определенной группы.не зависимо от того какая из способностей этой группы у него есть.Заранее спасибо.
7

Можно ли прикрепить эффект молнии к юниту?

» WarCraft 3
Итак, господа, есть ли у нас возможность ни прибегая к всякого рода извращениям прикрепить эффект молнии от одного юнита к другому, дабы при удалении или приблежении оный эффект растягивался и наоборот(Как у Виспа из Дотана)? Ибо в триггерах позволено создать только от одной точки к другой.
4

Микро контроль ИИ

» StarCraft 2
Приветствую всех:)
Никак не могу найти, что отвечает за управление (разведку) любого рабочего, а так же разбегание юнитов от беинлингов и разложенных либераторов. Полагаю это что то одно общее. Если с разведкой относительно понятно (ставится флагами) но это не дает ответа на мой вопрос. Где этот код/скрипт/триггер/агент? Что то же есть где то.
4

"Удаляемость" некоторых handle-объектов

» WarCraft 3
Всех приветствую. Исследуя свойства различных объектов типа handle проводил проверки на их полную удаляемость (например, если id нового объекта повторялся с id предыдущего объекта, я считал данный результат проявлением так называемой "удаляемости"). Такой логике подчинялись юниты, предметы, разруш. объекты и т.д., что удивило - даже хэш-таблицы, события, условия и действия триггеров. ID для новых объектов перезаписывался, что для меня говорило о высвобождении памяти в игре, но столкнулся с такими объектами, которые якобы удаляются функциями, но оставляют след по себе, такие как: звук, задание и деформация земли (что, удивительно, тоже объект). Они не удаляются полностью, так как за собой оставляют id. Даже деформации земли после загрузки сохранения игры в памяти не очищаются (хотя их графическая составляющая исчезает, если они временные).

Читать далее...
13

Пик расы через чат

» WarCraft 3
Сделал наработку выбора расы через чат для стандартного милли,но для мили требуется триггер "Ввести условия победы/поражения" и до пика кто-то точно проиграет из-за отсутствия юнитов. Как это можно починить?
1

Свиток пятый

» Древние Свитки
Свиток пятый - пятый фильм из проекта, посвящённого созданию машинимы на движке игры WARCRAFT III

Читать далее...
1

Добавление способности через native

» WarCraft 3
Парни, замутите пожалуйста пример добавления способности, которая не пропадет после морфа. Нашел что это делается через натив в этой статье xgm.guru/p/wc3/abilities пункт 3.1 но не могу понять как реализовать
3

Вопрос про иконки.

» WarCraft 3
У меня есть иконки формата .PNG и .TGA. Как их конвертировать в BLP?
13

Удаление событий из триггера.

» WarCraft 3
У меня такой вопрос, если в триггер можно добавить событие, то есть ли возможность его удалить (аналогичный вопрос по условиям и действиям)?
8

Сравнение кода по производительности

» WarCraft 3
У меня есть функция, которая срабатывает каждые 0.05 секунд. Она даёт или обновляет ауру ближайшим наземным миньонам. Для этого она проходит через их массив, где будет не более ~60 занятых ячеек.
» Код функции
caster - источник ауры, p - игрок, к которому был послан caster, range_image - индикатор радиуса ауры, p.minions - массив миньонов, m.minion - ссылка на юнита, который связан со структурой Minion, abildata.range - радиус ауры, call BuffAirSupport.start - старт или обновление баффа ауры.
method cooldownEnd takes nothing returns nothing
    local integer a = 0
    local Minion m = caster
    local CustomPlayer p = m.foe
    call SetImagePosition(range_image, GetUnitX(m.minion), GetUnitY(m.minion), 0.)
    loop
        set m = p.minions[a]
        if IsUnitType(m.minion, UNIT_TYPE_GROUND) and GetDistanceUnits(caster.minion, m.minion) <= abildata.range then
            call BuffAirSupport.start(m, data, caster.owner, armor)
        endif
        set a = a + 1
        exitwhen a > p.minions.top
    endloop
endmethod
Я подумал, что можно это сделать с помощью группы.
((кат Версия через группу

Читать далее...