Герои Меча и Магии 5 - Картостроительство (Редактор карт)В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.
тогда, может, сработает pcall? pcall (f, arg1, ···) Вызывает функцию f с данными параметрами в защищенном режиме (protected mode). Это значит, что при возникновении любой ошибки внутри функции f она дальше не передается; напротив, pcall перехватывает ошибку и возвращает статус.
тогда, может, сработает pcall? pcall (f, arg1, ···) Вызывает функцию f с данными параметрами в защищенном режиме (protected mode). Это значит, что при возникновении любой ошибки внутри функции f она дальше не передается; напротив, pcall перехватывает ошибку и возвращает статус.
Да, он написал. Но это расширение для языка, а не встроенная конструкция, и оно не для внедрения в игру. Версия lua в игре не 5.1, а 4.0. Разработчики убрали почти все встроенные функции.
Нет. Много потоков получается одновременных. К тому же на каждую даже стандартную функцию нужна эта обходилка. Да и даже в самой простой ситуации приходится перед разрабовскими функциями писать много условий, чтобы те в ошибку не улетели.
Неужели нет никаких даже обработок исключений хотя бы. Самому чтоле писать))
DyrmanНет. Много потоков получается одновременных. К тому же на каждую даже стандартную функцию нужна эта обходилка. Да и даже в самой простой ситуации приходится перед разрабовскими функциями писать много условий, чтобы те в ошибку не улетели.
Неужели нет никаких даже обработок исключений хотя бы. Самому чтоле писать))
Потоки начинаются и заканчиваются... Что, надо, чтобы все-все функции работали без ошибок вне зависимости от того, что передать в них в качестве параметров? Что эти обработки исключений должны делать?
RedHeavenHeroПотоки начинаются и заканчиваются... Что, надо, чтобы все-все функции работали без ошибок вне зависимости от того, что передать в них в качестве параметров? Что эти обработки исключений должны делать?
Для тестовой базы должны быть бесконечные потоки. Совмещение в один поток чревато задержками скрипта и невозможностью выполнять свои функции, плюс высокая возможность убиения скрипта. Разбиение во много потоков чревато задержками самой игры. Пока есть выход использовать смешанную систему: часть последовательно, часть параллельно, но при стремлении системы к бесконечности, задержка вырастет. Самым оптимальным решением как раз бы оказались пропуски тех функций, которые дают сбои. Как ни странно, даже сбойная функция может послужить во благо. В одиночной игре это все не так критично, но в сетевой(не хот сит) это полный абзац! )
Существует возможность создания стековой системы замещения на неполной обработке одной функции другой, дабы сэкономить ресурсы. Но такая система плоха в тестировании.
Добавлено через 5 минут Придётся выбрать просто обычную оптимальную систему, в которой уже наверняка исключены ошибки(стековую), но и создать и вторую среду для тестирования(распараллеле
RedHeavenHeroНо других способов обойти ошибку, кроме как использовать startThread, вроде бы и нет.
Плохо Кстати, я твоего Хафада переделаю: сделаю чтобы на героев его абилка тоже действовала, даже если те сидят в городе. Можешь, конечно, и сам сделать) Нужна будет только одна функция без триггеров и принудительных соприкосновений.
DyrmanПлохо Кстати, я твоего Хафада переделаю: сделаю чтобы на героев его абилка тоже действовала, даже если те сидят в городе. Можешь, конечно, и сам сделать) Нужна будет только одна функция без триггеров и принудительных соприкосновений.
Позволяет установить перехватчик ошибки. По умолчанию при возникновении ошибки скрипта текущий поток завершает свою работу. Благодаря данной функции у Вас есть возможность откорректировать это поведение – перед остановом управление будет передано функции fCallback Нашел у Новика. Если это не поможет-тогда больше вариантов нет)
Позволяет установить перехватчик ошибки. По умолчанию при возникновении ошибки скрипта текущий поток завершает свою работу. Благодаря данной функции у Вас есть возможность откорректировать это поведение – перед остановом управление будет передано функции fCallback Нашел у Новика. Если это не поможет-тогда больше вариантов нет)
В первом миссии и во второй меняется только число около target mission. Копировал, вроде, с файла разработчиков, c небольшими изменениями. Однако, герой в следующую миссию с недавнего времени переходить перестал. Не могу понять, в чем дело...
Мне нужно, чтобы в городах под руководством игрока 1 вообще никогда не появлялись герои-некроманты, маги, орки и тэльфы. Вроде, по описанию, ф-ия подходит, но только при попытке её написать скрипт ругается на nil в третьем параметре, хотя я ума не приложу, в мануале написано true/nil ....
В первом миссии и во второй меняется только число около target mission. Копировал, вроде, с файла разработчиков, c небольшими изменениями. Однако, герой в следующую миссию с недавнего времени переходить перестал. Не могу понять, в чем дело...
Как я понимаю, данный кусок сохраняет героев, имена которых указаны в pool, какими они были в этой миссии на конец игры. М.б. использовал @Win() и герой остался первого уровня, поэтому и перешел в следующую миссию ни с чем. TargetMission должен быть равен текущей миссии. Можно попробовать написать в TargetCampaign имя файла кампании.