28

» WarCraft 3 / Как убрать звуки окружения

Absolute, тогда способом Hanabishi, если не используешь cJass, то прочитай про {{//! inject}} в vJass, статья на сайте есть.
28

» WarCraft 3 / По поводу создания героя только 1 раз...(Помогите)

Ничего у меня не получалось, пока не добавил Продажа войск.
Возможно и я где-то накосячил с реализацией твоего способа, продажу войск добавлял. Глянешь потом прикреплённую карту, если найдёшь ошибку, то пришли сюда исправленную.
28

» WarCraft 3 / Как убрать звуки окружения

Загляни в GUI. Должна быть либо в Environment, либо в Game, либо в Sound. Точно помню, что была.
Загруженные файлы
28

» Мир безумного / WarCraft 3 - 1.30 PTR

(который ставится сверху).
С 1.28 это уже 1 клиент, до этого ставился сверху.
28

» WarCraft 3 / Как убрать звуки окружения

Загляни в GUI. Должна быть либо в Environment, либо в Game, либо в Sound. Точно помню, что была.
28

» WarCraft 3 / Событие на вход в воду

CreateRegion() нельзя делать при объявлении глобалки, не знаю почему, но фаталит
Да, нельзя, а почему, не знаю.
28

» WarCraft 3 / Мапинг 1.26 /1.29

работает на 1.29 патче
Разве? Тут написано, что гарена будет на 1.26 всегда.
И то что на новых патчах нету удобных средств для модмейкинга - это вовсе не нытье, а самый настоящий факт
WEX волне себе неплох, подсветка синтаксиса и JassHelper есть, больше мне ничего не надо.
28

» WarCraft 3 / Мапинг 1.26 /1.29

1.29 доступен не для официального клиента, а для Public Test. Ты прав, что ток в сражение играют люди.
Доброе утро, патч давно вышел на официальных серверах, сейчас на PTR тестируют 1.30)
28

» WarCraft 3 / По поводу кастомных заклинаний...

Загугли "Jass New Gen Pack Rebuild", вылезет ссылка на сайт xgm (то есть на этот сайт) с постом о нужном тебе редакторе.
28

» WarCraft 3 / Мапинг 1.26 /1.29

Пиши на 1.26, на нём сейчас многие играют в кастомки, так как это последний патч, что поддерживает гарена. 1.29 доступен только на официальных, а там играют в стандартные сражения.
28

» Администрация XGM / Не могу удалить прикреплённый файл

Я сейчас вот что ещё обнаружил. Нельзя прикрепить файл во время редактирования.
Как же горит от этого бага, уууух.
28

» WarCraft 3 / Как сделать анти сингл?

Зачем сложности с циклом, всё уже придумали до вас...
Для этого нужен JNPG.
Загруженные файлы
28

» WarCraft 3 / По поводу создания героя только 1 раз...(Помогите)

И так для каждого типа героев в таверне.
Зачем для каждого, если можно сделать через переменную? И твоим способом не сработает, я пробовал: герой не удаляется из таверны, потому что не был добавлен в таверну после её постройки.

Вот карта, где я сделал своим способом, отключение идёт для каждого игрока.
UPD: добавил способ 8gabriel8, но он не работает.
Или это в разделе ,,Условия,, находится?
Действия -> Открываешь широкий выпадающий список и сразу увидишь.
28

» CancerCraft / CancerCraft

Проорал с названий спелов.
То есть это пока тест? Я просто подумал, что наконец нашёл весёлую карту для игры с другом.
28

» WarCraft 3 / Что быстрее, искать индекс структуры через loop или хештаблицей?

Если кому интересно.
Вот книга, где доказано, что у хештаблиц, в которых коллизии решены с помощью цепочек, сложность поиска O(1 + a), где а - коэффициент заполнения хештаблицы, a = n / m, n - количество хранимых элементов, m - размер основного массива.
28

» WarCraft 3 / По поводу создания героя только 1 раз...(Помогите)

Нужно на GUI?
Делаешь новую карту в JNPG. Открываешь Редактор Триггеров -> Melee Initialization. Конвертируешь его в Custom Text. Зажимаешь Ctrl и кликаешь ЛКМ по MeleeStartingHeroLimit. Откроется код этой функции. Там будет цикл с функциями ReducePlayerTechMaxAllowed. Опять жмёшь Ctrl и кликаешь ЛКМ по этому тексту. Там будет функция SetPlayerTechMaxAllowed(whichPlayer, techId, limit). Вот она нам и нужна. Указываешь игрока, которому нужно установить лимит, равкод героя, который будет лимитирован, и сам лимит - в твоём случае это 1.
Аналог в GUI - Player -> Limit Training Of Unit-Type.

Неужели очень сложно просто порыться в GUI? Я ранее часто так выявлял нужные функции в Jass, сейчас уже реже.
В GUI даже поиск есть.
28

» WarCraft 3 / Как уменьшить кол-во даваемой exp за юнита

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

То есть крип первого уровня даст 25 * 0.8 = 20 ед. опыта, а вражеская боевая единица - 25 ед.
28

» WarCraft 3 / Что быстрее, искать индекс структуры через loop или хештаблицей?

у хештаблицы не (1)
В WCIII может и не O(1), но у нормальных хештаблиц есть регулирующее число, которое и определяет этот "почти O(1)".

Всё равно хеш в Jass быстрее цикла, в котором помимо обращения к ячейкам ещё и постоянный инкремент.
28

» WarCraft 3 / Что быстрее, искать индекс структуры через loop или хештаблицей?

Ну так у тебя сложность цикла O(n), а хештаблицы O(1). Очевидно, что хеш тут будет быстрее.
Если же юнит или предмет будет привязан к структуре, то тогда номер структуры можно сохранять в UserData.
28

» WarCraft 3 / Вопрос по Jass

nvc123:
ответ - в структурах не должно быть глобальных переменных
Ответ неверен. Внутри структуры не может быть блока globals, потому что это бессмысленно: все поля в структуре уже являются глобальными переменными.
struct MyStruct
    unit u // На самом деле будет создан глобальный массив юнитов.
    static unit u2 // Будет создана 1 глобальная переменная типа юнит.
endstruct

Skolz:
тема ещё не закрыта. Мне нужен ответ. А не статьи
Читай статьи и тестируй сам. Так получишь ответы на многие вопросы.
28

» WarCraft 3 / Триггерный автокаст?

Обращение в массив быстрее обращения в хеш, но юзай то, что больше нравится.
8gabriel8:
А вот для союзников восстановление маны может по каким-то причинам не произойти?
Если союзник имеет иммун к заклинаниям, то возможно.
28

» WarCraft 3 / Вопрос по Jass

function GetDistancePoints takes real x1, real y1, real x2, real y2 returns real
    return SquareRoot((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2))
endfunction

function GetDistanceUnitPoint takes unit u, real x, real y returns real
    local real dx = GetUnitX(u) - x
    local real dy = GetUnitY(u) - y
    return SquareRoot(dx * dx + dy * dy)
endfunction

function GetDistanceUnits takes unit u1, unit u2 returns real
    local real dx = GetUnitX(u1) - GetUnitX(u2)
    local real dy = GetUnitY(u1) - GetUnitY(u2)
    return SquareRoot(dx * dx + dy * dy)
endfunction