28

» WarCraft 3 / Получение точки применения способности ?

Указатель на объект обнулили, а Location остался в памяти
Да не факт. В статье ADOLF писал, что удалять не надо.
Я вот из-за таких непоняток и не использую точки.
28

» WarCraft 3 / Получение точки применения способности ?

Странно, Function List о них не знает
TESH обнови. Но тогда, правда, подсветка cJass пропадёт.
28

» WarCraft 3 / Получение точки применения способности ?

ты уверен? точно одно не срабатывает раньше другого?
Может одно и срабатывает раньше на пару микро или наносекунд.
Нет, я ставил таймер, они срабатываю одновременно.
Я хотел статейку накатать о способностях вообще, но лень)
Вот тестовая карта.
Загруженные файлы
28

» WarCraft 3 / Получение точки применения способности ?

Хотя мне казалось что заклинания которые юнит поддерживает (channeling) тоже запускают "EVENT_PLAYER_UNIT_SPELL_CAST".
Я тестировал, EVENT_PLAYER_UNIT_SPELL_CAST и EVENT_PLAYER_UNIT_SPELL_CHANNEL абсолютно одинаковые события.
А что именно не работает?

constant native GetSpellTargetLoc           takes nothing returns location
Лучше это.
constant native GetSpellTargetX				takes nothing returns real
constant native GetSpellTargetY				takes nothing returns real

function SCOnDeathFilter takes nothing returns boolean
  local boolean isConvertable = false
  local unit u = GetDyingUnit()
  set isConvertable = not IsUnitType(u, UNIT_TYPE_UNDEAD) and not IsUnitType(u, UNIT_TYPE_MECHANICAL)
  return isConvertable and (SCQuantity > 0)
endfunction
Забыл про обнуление.
function SCOnDeathFilter takes nothing returns boolean
    return (SCQuantity > 0) and not (IsUnitType(GetDyingUnit(), UNIT_TYPE_UNDEAD) or IsUnitType(GetDyingUnit(), UNIT_TYPE_MECHANICAL))
endfunction
28

» WarCraft 3 / Проблема с изменением архива кампании с Ladik's MPQ Editor.

а не карты и кампании.
Я подумал, что речь идёт о внутренней кампании. Сами карты и кастомные кампании остались такого же формата.
28

» WarCraft 3 / JNGP не работает(

а как его включить?
У тебя 9-й уровень, но что за вопросы! В редакторе ландшафта, в верху есть меню UMSWE, нужно нажать и поставить галку напротив Enable UMSWE.
Если она стоит, то нужно снять галку, перезапустить редактор, и поставить.
После этого опять перезапускаем редактор.
28

» WarCraft 3 / Проблема с изменением архива кампании с Ladik's MPQ Editor.

Версия игры 1.30.4.
Версии, начиная с 1.30, используют защищённый от изменения тип хранения, CASC. Потому ничего поменять нельзя.
28

» XGM Конкурсы / Warcraft III Mini-Game Contest-2018

Либо не бросал вовсе. Либо рандомный сбой. 1-5 раз подряд.
Я видел, что он кинул карту в комментарии уже после дедлайна. //Комментарий, 3-я страница снизу.
28

» XGM Конкурсы / Warcraft III Mini-Game Contest-2018

Хех, либо я не успел забросить, либо у меня утекало больше положенного. :/
А ты когда кидал? Надо было кинуть в ЛС Raised до 23.59 19.01.2019.
Я кинул за пару секунд до дедлайна.
28

» Администрация XGM / Выставление рейтинга для набивания ачивки

И что теперь, лечь и расплакаться?
Нет, такое нужно сообщать, дабы наказать нарушителей.
В этом же случае дело не в хейте, он ставил минусы тупо всем, что очень походит на набивание ачивки. До этого ты дал ему мут, потому что он набивал другую ачивку.
ScorpioT1000:
Исправили.
Спасибо.

По поводу предложений для новой системы: уберите дизы, оставьте только лайки, как на новых форумах близзард.
28

» WarCraft 3 / [Важно!] Как оптимизировать цикл порядка?

		loop
			exitwhen offset == 0
			set powers[power + 1] = count
			set offset = offset - 1
		endloop
Но ведь тут ничего полезного не происходит, ты просто в powers[power + 1] offset раз присваиваешь одно и то же значение.
28

» WarCraft 3 / Стартовые локации одного цвета

т.е. вторая дефайнится в момент удаления первой?
Нет, при удалении просто удаляется такая-то строчка кода и всё.
Т.е. динамически движок отслеживает перед загрузкой положения локаций и отслюнявливает в спавн-мешок только одну, которая раньше по айди?
Вот это не понял.

Создай пустую карту, экспортируй скрипт (Файл - Экспорт скрипта) и ищи функцию config, там все ответы.

В моих картах конфиг я делаю сам с помощью инжекта.
раскрыть
//! textmacro InitPlayer takes i, team, color
    set p = Player($i$)
    call DefineStartLocation($i$, CENTER_X, CENTER_Y)
    call SetPlayerStartLocation(p, $i$)
    call SetPlayerColor(p, ConvertPlayerColor($color$))
    call SetPlayerRacePreference(p, RACE_PREF_RANDOM)
    call SetPlayerRaceSelectable(p, true)
    call SetPlayerController(p, MAP_CONTROL_USER)
    call SetPlayerTeam(p, $team$)
//! endtextmacro

//! inject config
    local player p
    call SetMapName("TRIGSTR_001")
    call SetMapDescription("TRIGSTR_003")
    call SetPlayers(MaxPlayers)
    call SetTeams(2)
//! runtextmacro InitPlayer("0", "0", "1")
//! runtextmacro InitPlayer("1", "0", "2")
//! runtextmacro InitPlayer("2", "0", "3")
//! runtextmacro InitPlayer("3", "0", "4")
//! runtextmacro InitPlayer("4", "0", "5")
//! runtextmacro InitPlayer("5", "1", "6")
//! runtextmacro InitPlayer("6", "1", "7")
//! runtextmacro InitPlayer("7", "1", "8")
//! runtextmacro InitPlayer("8", "1", "9")
//! runtextmacro InitPlayer("9", "1", "11")
    set p = null
//! endinject
Кстати, есть баг с выставлением цвета, если стоит галка Fixed Settings в настройках игроков. Подробнее тут.
28

» WarCraft 3 / Стартовые локации одного цвета

Принятый ответ
Потому задефайнить можно только 1 раз (а вот почему). Стартовая локация это не какой-то юнит, это специальная функция в коде.
28

» WarCraft 3 / JNGP не работает(

Переустанови JNGP, рукамами удали и остаточные файлы и папки от него.Почисти реестр например с помощью Ccleaner , отключили антивирусные програмы.Дальше устанавливай JNGP в отдельную от варкрафта папку.Добавь эту папку в разрешения антивируса.Пользуйся.Чтоб запускался парсер необходимо чтоб в пути к карте не было кирилицы
Зачем всё это, для начала надо просто выяснить, в чём дело. Похоже на то, что UMSWE отключён, потому что он и не включён при установке.
28

» WarCraft 3 / Какая версия Warcraft 3 лучше?

ниче такого?
В самом common.j - да. В движке игры - понятия не имею, там могли всё сломать.
Про различия в common.j. Комментарий 29.
28

» WarCraft 3 / Защита карты в 2019

Т.к. мне сказали, что он сбивает скрипты...
Главное не делать названия функций и строки одинаковыми, тогда норм будет.
28

» WarCraft 3 / Какая версия Warcraft 3 лучше?

новых патчах добавлено много несовместимостей
Это не так, всё совместимо, в common.j ничего не меняли такого, чтобы что-то сломалось, проблемы есть только внутри самой игры, из-за чего некоторые карты и не работают. Но это всё правят.
28

» WarCraft 3 / Подскажите как проще всего написать рандом >покупку< героя

И наверное это N*X - 1 а не N*X - N.
N * (X - 1) = N * X - N.
Но тут да, была ошибка. Верно будет N * X - 1.
Я не знал про приём с умножением.
Для повышения разброса рандома
Пусть X = 4, тогда нужно выбрать число с 0 по 3. Пусть N = 1, тогда будут выбираться числа с 0 по 3. Пусть N = 25, тогда числа будут выбираться с 0 по 99 (больший разброс). Но индексы у нас с 0 по 3, потому полученное число нужно разделить на N (то есть на 25).
28

» WarCraft 3 / Подскажите как проще всего написать рандом >покупку< героя

LordDracula:
можно через массив. по индексу от 1 до количество героев записывать их id, и через функцию рандомного числа для массива получать героя
Абсолютно верный совет, делаем массив равкодов для героев, пусть равкодов будет X, тогда они будут записаны в ячейки с 0 по (X-1) включительно.

Далее в триггере, что ловит нажатие на спелл "Выбрать рандомного героя" выбираем случайное число с 0 по (X-1) включительно.
Для повышения разброса рандома можно выбирать число с 0 по N * (X-1) включительно, где N - какое-то положительно целое число. После этого выбранное число делим на N. Выходит такая формула.
local integer raw = GetRandomInt(0, N * X - N) / N
После этого создаём героя с выбранным равкодом.
call CreateUnit(GetTriggerPlayer(), HeroRawCodes[raw], x, y, 0.)
28

» WarCraft 3 / JNGP не работает(

Принятый ответ
Возможно, ты отключил UMSWE. Включи его в соответствующей вкладке и перезапусти редактор.
28

» WarCraft 3 / Хотел создать способность на подобии бумеранга

По итогу всё равно выкидывает в главное меню игры
Просто выкидываем без какой-либо ошибки? Нужно сначала сохранить карту, а потом жать "Протестировать". Если всё равно выкидывает, то другое дело.