Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#1160
Старый 19.04.2013, 09:35
  #1160
^
Nargott
 
Аватар для Nargott
📖
Регистрация: 09.05.2009
Адрес: Смоленск
Сообщения: 1584
Регистрация: 09.05.2009
Адрес: Смоленск
Сообщения: 1584
По умолчанию
Re: Скрипты

RedHeavenHeroGetPlayerState(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.
Сайт проекта - пока неактивен
Автор Асимметричных шахмат
Разработчик Heroes 5.5 WarGame Edition.
Сайт проекта - пока неактивен
Автор Асимметричных шахмат
Nargott вне форума
Ответить с цитированием