28

» WarCraft 3 / Вылетает редактор при попытке добавить способность в хеш-таблицу

Принятый ответ
Ability - недоделанная вещь, её вообще нельзя использовать.
Сохранить равкод способности можно через сохранение целочисленной (integer).
28

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

Можно, между прочим, сразу игрока получать, а случае неверной строки возвращать null.
28

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

Реализация на JASS.
Код
Можно bj_setPlayerTargetColor заменить на локальную, которую даже можно не обнулять.
function StringToPlayerColor takes string color returns playercolor
    set color = StringCase(color, false)
    if color == "red" then
        return PLAYER_COLOR_RED
    elseif color == "blue" then
        return PLAYER_COLOR_BLUE
    elseif color == "cyan" then
        return PLAYER_COLOR_CYAN
    elseif color == "purple" then
        return PLAYER_COLOR_PURPLE
    elseif color == "yellow" then
        return PLAYER_COLOR_YELLOW
    elseif color == "orange" then
        return PLAYER_COLOR_ORANGE
    elseif color == "green" then
        return PLAYER_COLOR_GREEN
    elseif color == "pink" then
        return PLAYER_COLOR_PINK
    elseif color == "light gray" then
        return PLAYER_COLOR_LIGHT_GRAY
    elseif color == "light blue" then
        return PLAYER_COLOR_LIGHT_BLUE
    elseif color == "aqua" then
        return PLAYER_COLOR_AQUA
    elseif color == "brown" then
        return PLAYER_COLOR_BROWN
    endif
    return null
endfunction

function StringToPlayerId takes string color returns integer
    local integer i
    set bj_setPlayerTargetColor = StringToPlayerColor(color)
    if bj_setPlayerTargetColor != null then
        set i = 0
        loop
            if GetPlayerColor(Player(i)) == bj_setPlayerTargetColor then
                return i
            endif
            set i = i + 1
            exitwhen i == bj_MAX_PLAYERS
        endloop
    endif
    return -1
endfunction

Можно поступить иначе: создать структуру для играющих игроков с сохранением полученного объекта в структуры в какой-нибудь массив, в которой будет сохранятся строчный цвет игрока (который можно будет определить функцией, обратной StringToPlayerColor), а при написании в чат пробегаться по массиву игроков и смотреть, у кого же нужный цвет.
28

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

Можно так не заморачиваться, а менять цвет юнита входящего в область карты на цвет прикреплённый к игроку. А при смене цвета выбирать всех юнитов игрока и делать то же самое.
А можно вообще отключить выбор цвета в меню выбора карты.
28

» WarCraft 3 / Функции отдачи приказа

в стройке там какой-то специальный не id-приказ. а id юнита (равкод здания)
Это чтобы напрямую строить, buildmenu открывает меню строительства.
28

» WarCraft 3 / Функции отдачи приказа

Steal nerves, супер.
Что значит unitToBuild (unitId в Id варианте функции)?
Я так полагаю, что туда можно просто передать любой приказ.

Цитата из твоего ответа.
По сути совет правильный, но приказ (имеется в виду skillmenu) указан неверно: OrderId("attributemodskill") = 852576
Это разные приказы, приказ skillmenu указан абсолютно верно, attributemodskill - другой приказ, это приказ повышения характеристик (равкод способности 'Aamk').
28

» WarCraft 3 / Некоторые функции юнитов

Steal nerves:
с описании гуи менюшки
Да, тоже нашёл.
Вот нельзя было это и в common.j написать?
интересно ограничение на все типы?
Эти способности есть только у рынка, который продаёт предметы и нейтральных юнитов, которые появляются на карте. Эти функции лишь ставят лимит на кол-во продаваемых предметов или нейтральных юнитов ожновременно.
28

» WarCraft 3 / Некоторые функции юнитов

Вот, что она делает. Работает и на обычных юнитов.
Загруженные файлы
28

» WarCraft 3 / Некоторые функции юнитов

Steal nerves, спасибо большое.
Осталось только выяснить, что делает эта функция.
native UnitSetUsesAltIcon takes unit whichUnit, boolean flag returns nothing
28

» WarCraft 3 / Некоторые функции юнитов

скорость анимации
Спасибо.
если не ошибаюсь, это еда
Это не еда.
28

» WarCraft 3 / Как можно узнать что декорация была атакована/выбрана

Принятый ответ
Пример 2
Тривиально же.
Через события способностей
Через событие приказа в цель
если стало меньше
В отличие от юнитов и предметов, у разрушаемых объектов нет UserData, чтобы было куда сохранить их жизнь. То есть, придётся использовать хеш.
Загруженные файлы
28

» WarCraft 3 / Как ускорить работу редактора карт?

После этих манипулиций на карте не будет юнитов, которые сами по себе грузят редактор, а также не останется специальных переменных, которые создаются при указании в гуи юнитов, стоящих на карте.
Эти переменные могут использоваться, потому стоит их оставить. А чтобы их окончательно удалить, нужно найти их в блоке globals, что в самом верху war3map.j.
28

» WarCraft 3 / Как можно узнать что декорация была атакована/выбрана

Да-да, jass'еры, как регистрировать виджет?
Можно только зарегистрировать смерть виджета. Через custom script, конечно же.
Если событие на приказ-цель, то можно узнать сразу цель-разрушаемый объект
constant native GetOrderTargetDestructable  takes nothing returns destructable
28

» WarCraft 3 / Ауры

Иконка будет, только если в константах это поставить.
28

» WarCraft 3 / Создание модели искусственной тени

Я поставил флаг Unshaded, и квадрат перестал появлятся при затенении экрана.
А по поводу видимости модели в белом тумане - виспов тоже в нём видно.
28

» WarCraft 3 / Создание модели искусственной тени

але, я пытаюсь скрыть модель в тумане, а не показать
А я про то, что строение с твоей моделью у меня в тумане скрыто. Никаких белых квадратов.
28

» WarCraft 3 / Создание модели искусственной тени

Хм, у меня почему-то не видна. Ничего не менял в модели.

Попробуй поставить в материале флаг Unfogged.
Загруженные файлы
28

» WarCraft 3 / Создание модели искусственной тени

есть ли какие либо решения?
Посмотри модель сферы тьмы, там у одного эффекта в качестве текстуры используется чёрный кружок с режимом modulate. Сохрани её и глянь, как она сделана. Я так когда-то сделал такую текстуру.
UPD: вот и сама модель.
Загруженные файлы
28

» WarCraft 3 / Прошу помощи с мультибордом смертей...

Принятый ответ
Вот как это выглядит
Гхм, слишком сложно сделано.
Заведи себе глобальную переменную целочисленного типа. Назови её "Номер игрока". При срабатывании триггера на смерть делай следующее.
Номер игрока = номер игрока(игрок-владелец(умирающий юнит))
массив[Номер игрока] = массив[Номер игрока] - 1
В настройке переменной твоего массива нужно поставить изначальное значение 3, а размер массива на количество игроков в твоей карте.
появилась до того как я создал вот этот триггер с этой фотки.
Ты тут каждые 0.1 секунды увеличиваешь значение на 3. Зачем?
28

» WarCraft 3 / Иконки на заказ

Ну вообще можно делать рамки в самом JNGP сразу с импортом в карту, для этого достаточно знать английский и прочитать этот мануал. Если не нравятся рамки, что он делает, их можно заменить в папке grimext.
Но лично я всё также делаю с помощтю Button Manager, так как мне сразу в карту импорт не нужен. Я в нём все стандартные рамки продублировал и кинул в кастомные, ибо у Button Manager есть баг у стандартных рамок: он всегда делает Disabled версию, хочешь ты этого или нет.
Загруженные файлы
28

» WarCraft 3 / Прошу помощи с мультибордом смертей...

У тебя есть массив со смертями. Номер ячейки есть номер игрока
Также есть триггер, который регистрирует смерть героя.
В нём ты узнаёшь номер игрока-владельца умирающего героя, и уменьшаешь значение в нужной ячейке на 1 (массив[ячейка] = массив[ячейка] - 1). Обновляешь это значение в мультибоарде.

Если всё сделано так, но не работает, то скриншот триггера сюда.
28

» WarCraft 3 / Как ускорить работу редактора карт?

Вот поэтому я всё, что можно разместить на карте, создаю сам во время инициализации или после старта игры.
28

» WarCraft 3 / Какой необходимый размер иконка как монета и дерево?

Принятый ответ
Так залезь в архивы и смотри.

Иконка золота для подсказок.
Путь: UI\Widgets\ToolTips\Human
Там же и остальные иконки для подсказок.

Иконка золота для верхней панели.
Путь: UI\Feedback\Resources
Там же и остальные иконки для верхней панели.

Оба типа иконок имеют разрешение 32х32.
Загруженные файлы
28

» WarCraft 3 / Как ускорить работу редактора карт?

Какой редактор используется?
Если JNGP, то пробовал ли делать карту без JNGP или с выключенным UMSWE? JNGP подгружает много всяких плагинов, которые могут быть и не нужны.