АзгалорПервые 2 строки связанны с p3heroname, а боевой скрипт вешается и комбат запускается на герое под названием p1heroname. Собственно, герой p1heroname существует?
Upd: Открыл твою карту, чекнул скрипт, p1heroname нигде не упоминается. Собственно, вопрос от нашего(почему-то в этом случае молчаливого) скрипта: "Да кто такой этот ваш p1heroname?!"
p1heroname определяется в других функциях, на них ссылки в " doFile(path.. "Grand_Duel_db.lua"); " ведут. иначе да, скрипт вообще бы ругался, согласен)
p3heroname = GetPlayerHeroes(3)[0];
print(p3heroname);
Эти 2 строки только для проверки что игра видит нормально героя 3 игрока ИИ. Их можно закомментировать, ничего не изменится. Ну и этот же кусок кода я вставлял в другие тесты, где отрабатывает функция телепорта через взаимодействие со скелетом на карте. Итог тот же. Сейчас перенёс в основной файл MapScript.lua чтоб быстрее проверять работает или нет. А так он будет вообще отдельно лежать и идти туда нужно долго по карте для срабатывания.
Скрипт битвы я хочу прикрутить к герою игрока. а не ИИ. поэтому навешиваю на p1heroname.
Если где-то логический косяк. Допускаю, lua специфичен крайне. В голове остаточные знания с универа о программировании лежат)
Кстати, вспомнился вопрос, почему нельзя редактировать через MapScriptsEditor файлы xdb?