Перейти к содержанию
Аватар пользователя
#1176
RedHeavenHero
GetPlayerState(i) == 1 or 0
Если функция вернула единицу (игрок жив), то "==" вернет 1 и эта 1 будет прибавлена к n, иначе вернет nil. Но nil прибавлять нельзя и операция "или" заменяет его на 0.
Понял, значит это издержки конструкции
n = n + (isCondition or 0)

Поэтому советую вместо нее использовать более адекватную с точки зрения читабельности (вместо попыток складывать числа с логикой):
if (isCondition) then
n = n + 1
end

И вопросов никаких вызывать не будет.
Разработчик Heroes 5.5 WarGame Edition.
Сайт проекта - пока неактивен
Автор Асимметричных шахмат