3

» WarCraft 3 / HonestAI

У меня не было нет и не будет акка в соцсетях. Просто кинь карту с расой.

Здесь чем не форум? Взял да спросил. Поддержка бесплатная и пожизненная. И только интернет у меня до конца месяца.
3

» WarCraft 3 / HonestAI

Да.
Конечно можно. Каждый из этих ИИ содержит базу данных всех боевых единиц в игре, потребуются правки. Если на карте нет AMAI, то одинаковые фрагменты можно вынести в один файл. Это я сделаю, а подбирать последовательность строительства не хочу. С тебя минимальное знание jass (править функцию BuildSequencez).
Весь процесс создания прошел в преодолении недостатков нативных функций, до интеллекта так и не дошло.
Я не узнаю, если придет пм. Писать в комменты.
3

» Кузня Волчачки / Потрошение XGM: Туманные события

Первый годный текст. Теперь бы словарный запас расширить. И я даже ждать буду.
3

» WarCraft 3 / ИИ на Jass'e и неработающая функция SetProduce

Всего скриптов ИИ существует только три = стандартный в war3.mpq, AMAI и мой. Автор статьи к ним отношения не имеет.
Потому что даже один и тот же коммент с кирилицей, после переноса в другую строку, может уже не приводить к вылету.
3

» WarCraft 3 / ИИ на Jass'e и неработающая функция SetProduce

Имя не меняй.
Да, и, кажется, первого слипа на 1 секунду недостаточно, чтобы увидеть "Script started", надо 3 секунды.
А еще, не помню что, но было что-то такое, чего нельзя делать в теле функции main. То есть на будущее сделай так:
function main takes nothing returns nothing
    call Sleep( 1.0 )  // ждать одну секунду
    call DisplayTextToPlayer( GetLocalPlayer(), 0.0, 0.0, "Script started" )

    call myLoop()

    call DisplayTextToPlayer( GetLocalPlayer(), 0.0, 0.0, "Script exiting" )
endfunction
3

» WarCraft 3 / ИИ на Jass'e и неработающая функция SetProduce

Дефолтный human.ai находится в архиве war3x.mpq
Мной замечено, что символы за пределами ASCII в скриптах ИИ, но не common.ai, приводят к отключению скрипта и краху. Иногда. Не важно где эти символы: в комментах или нет.
SetProduce работает без глюков. Последний параметр указывает на номер городка ИИ. А вот в нумерации городков глюки есть.
Коммент напротив слипа ошибочен. Интерпретатор всего лишь добавит паузу в 1 секунду по лимиту операций.
В джазе пробелы не важны, А вот в скаримовском папирусе да.
3

» WarCraft 3 / Mdlvis - портит или меняет освещение, как и

mdlVis портит нормали и даже фаталит из-за нормалей. Бывает, приходится обнулять нормали, чтобы mdlvis смог открыть модель.
Способ есть.
  1. В War3ModelEditor сохранить копию модели в текстовом формате mdl.
  2. Отредактировать модель в mdlVis и сохранить в текстовом формате mdl.
  3. Из не редактированной копии перекинуть нормали для каждой поверхности.
  4. Р-ом War3ModelEditor конвертировать в mdx.
Судя по тому, что на скринах нормалей не видно, автору вопроса все таки нужно "Ищи ответ по запросу нормалей вершин."
3

» WarCraft 3 / ИИ не защищает союзников

В моем скрипте последовательно выполнялись:
ClearCaptainTargets - отмена задач ИИ;
CaptainGoHome - отправить войска домой;
InitAssault - уволить все войска;
RemoveGuardPosition - игнор ИИ и врагов;
приказ Stop;
приказ Move;
телепорт;
RecycleGuardPosition.
И после всего этого юниты все равно бежали не к ближайшему противнику, а туда, где должны были воевать раньше.

Советы:
Галка напротив Сражение. Она отвечает за защиту союзника.
Галка напротив защита.
Добавить целям условие(кроме обычная цель) лагерь не атакован
Если я правильно помню, то цель враг главный лагерь не правильно названа и может вести к интервенту.
Обычная цель указывает на подсвеченного союзником врага. Это можно делать триггером.
Дальше JASS или выбирать все цели триггерами.
3

» WarCraft 3 / Умножение типов real

Практически одинаково.
Мои тесты дали следующие значения в единицах процессорных тактов.
Объявление локальной переменной любого типа (при каждом вызове функции): 2700
Присваивание литерала локальной переменной любого типа: 700
Присваивание литерала глобальной переменной любого типа: 6700
Присваивание литерала элементу массива: 7500
Обращение к локальной переменной любого типа или константам true, false, null: 300
Обращение к глобальной переменной: 1300
Обращение к элементу массива: 400
Обращение к формальному параметру функции: 1000
Когда в вещественном литерале забыли поставить точку: 300
Целочисленные операции +, -, *: 600
Вещественные операции +, -: 800
Вещественная операция *: 1000
Целочисленное деление: 800
Вещественное деление: 1400
Унарный минус: 3500
Операции <, >: 1300
Операции <=, >=: 1100
Операции ==, !=: 700
Операция not: 100
Вызов пустой функции и возврат по return: 8500
Вызов пустой функции и возврат по endfunction: 9200
Передача первого значения функции: 3800
Передача каждого следующего значения функции: 1700
Возврат значения из функции: 900
loop 2 000
endloop 1 600
exitwhen true 3 300
if true then endif 2 800
if false then else endif 2 800
if not false then endif 2 900
3

» Кузня Волчачки / Что мешает дуосу выполнять свои обещания?

Я слухи не сею, мне правды хватает. 4 года назад Алиса посоветовала герою статьи пойти в менеджеры, тогда у него получалось. С тех пор Дуос ладит с людьми все хуже и хуже. Чего бы ему посоветовать? Может сменить логин и не признаваться, а начать заного?
3

» WarCraft 3 / BLP плагин

Я отправлю в пм. Это екзешник с только английской локалью.
3

» WarCraft 3 / Альфа-канал: прозрачность и цвет игрока

В режиме Transparent значения альфа-канала от 0 до 197 плавно повышают прозрачность с 0% до 25%, а значения с 198 до 255 означают полную прозрачность.
3

» WarCraft 3 / Вопрос про снижение лагов

На глаз: последние 3 строки левого скрина отнимут 130 000 тактов, правого - 40 000 тактов.
SetUnitX совершенно не работает с путями. Она предназначена для дамми.
SetUnitPositionLoc не имеет полноценной альтернативы.
Не эти строчки будут вызывать лаги, а те, где создаются/ воскрешаются/ получают предметы/ получают приказы юниты, эффекты и тп.
3

» WarCraft 3 / Проблема с ИИ

Как возможные версии: два рудника рядом; остановка выполнения ИИ из-за ошибки; ИИ не видит лес. Я дико сомневаюсь, что для ИИ включен туман войны, но если лес виден, он все равно должен быть в радиусе 2000.0 от раба.
3

» WarCraft 3 / Отследить добычу ресурсов

У разных способов добычи разные наборы возможных приказов. Ставь сниффер на добытчика.
autoharvestgold = 852021 autoharvestlumber = 852022 (не ловятся, но мало ли)
harvest = 852018 resumeharvesting=852017 returnresources=852020
smart = 851971 move=851986(пока у пеона такой приказ, невозможно определить, что он делает)
AImove=851988(бывает, когда пеон в числе атакующих, как вурдалак)
Если у пеона бывает 851971 и 851986, то придется потратиться на массив юнитов и событие с периодом. 852018, 852017, 852020 - занести в массив. Не 852018, 852017, 852020, 852021, 852022, 851971, 851986, 851988, - вычеркнуть.
3

» WarCraft 3 / Вариации декораций

Или удалять/создавать или (лучше, сложнее) сделать анимации.
3

» WarCraft 3 / Атака на дирижабле для ИИ

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

» WarCraft 3 / ИИ не атакует некоторое время

В блок globals вставить:
integer timerVarz=0
call LaunchAttack( ) заменить на
    if timerVarz>=1200 and timerVarz<=1500 then
    else
        call LaunchAttack(  )
    endif
Перед функцией main поставить:
function timerz takes nothing returns nothing
    loop
        set timerVar=timerVar+1
        call Sleep(1.0)
    endloop
endfunction
Перед call PlayGame( ) вставить call StartThread( function timerz )
3

» WarCraft 3 / Проблема с моделью ( не работает в редакторе карт) / mdlvis и тд

По скринам видно, что все редакторы, включая WE смогли открыть файл модели и отобразить ее. Только нет скрина с отображением модели в WE. У меня модель открылась и отобразилась во всех перечисленных редакторах и в игре.
(?)
3

» WarCraft 3 / AI редактор и дирижабли

Если сработала CommonSuicideOnPlayer, то все юниты сразу лезут в дирижабль. Определить, по какой цели началась атака поможет такая строка
call DisplayTimedTextToPlayer(GetLocalPlayer(),0,0,20, +"attack 1")
Пишет текст на экране.
3

» WarCraft 3 / AI редактор и дирижабли

Общепринято дописывать в конце .bak, - это значит: "больше не нужно, но на всякий случай оставим".
.wai обратно переименовывал напрасно. Это нужно будет сделать перед редактированием в редакторе ИИ. Но у тебя же окончательный вариант?
Конкретно .ai файлы можно не удалять/вновь импортировать, а заменять в 1 действие через контекстное меню.
Ниже под #1 "Обычная атака" атаковать юнита, отмеченного союзником. #2 - "Новый лагерь" - ближайший рудник на котором крипы или враги.
function LaunchAttack takes nothing returns nothing
    local unit target = null
    local boolean setAlly = true

    // Don't launch any attack while town is threatened
    if (TownThreatened()) then
        call Sleep( 2 )
        return
    endif

    // Target Priority #1
    if (target == null) then
        set target = GetAllianceTarget()
        if (target != null) then
            set setAlly = false
        endif
        
    endif

    // Target Priority #2
    if (target == null) then
        set target = GetExpansionFoe()
        
        if (target != null) then
            set take_exp = false
            call CommonSuicideOnPlayer(true,true,1,Player(0),0,0)
            return
        endif
    endif
    
    // Target Priority #3
Еще раз по комменту #12: Да; да; да; нет; нет. А в менеджере все то же самое, но доступны только некоторые файлы, зато есть команда "заменить", позволяющая не следить за правильными именем и путем файла.
3

» WarCraft 3 / как в MPQ открыть фаил wai для редактирования?

wai можно редактировать только в редакторе ИИ WE. В MPQ Editor его можно извлечь, добавить, переименовать. Открыть нельзя.