Defman,
Может кто-нибудь объяснить про return TRUE/FALSE? Уроки Vam'a читал,но так и не понял,что эта функция делает.Например,что она делает в данном случае:
Пишу в первый и последний раз, ибо подобное здесь даже лучше не спрашивать, это все надо знать изначально.
1. В твоем случае имеем функцию на выполнение того или иного условия, которая выражена в:
if(Npc_KnowsInfo(other,DIA_Xardas_FirstEXIT)) && (POTION_IncreaseFight == FALSE)
{
return TRUE;
};
Разобьем её на части чтобы понятнее было, примерно так, где:
Если Нпс уже знает квест/информацию, например, пусть это будет "Приготовить зелье для Ксара"
if(Npc_KnowsInfo(other,DIA_Xardas_FirstEXIT))
далее идет логический операнд - ИИ
&&
и Нпс (не нашел, не приготовил и т.д.) требуемого зелья
(POTION_IncreaseFight == FALSE)
То при проверке этих двух условий, обработчик функции возвращает TRUE для дальнейшего исполнения кода.
{
return TRUE;
};
Если одно из двух выше указанных условий не соблюдено, то функция возвращает FALSE, что означает, что любое дальнейшее выполнение команд этой логической ветки будет невозможно.
2. TRUE и FALSE - диапазон значений логического типа, обычная их трактовка такая:
TRUE - Истина, которая всегда равна 1, FALSE - ложь, которая всегда равна 0 (по умолчанию для всех значений переменных/функций, если не прописано иное).
При написании, можно указывать как: TRUE так и 1 вместо него, эти значения всегда равнозначны, что верно и для FALSE - 0.
3. Таким образом, твое условие можно записать так:
Если Нпс уже знает квест/информацию = 1,
И
Нпс (не нашел, не приготовил и т.д..) требуемого зелья = 0.
То, так как оба этих значения истинны, то функция возвращает TRUE - 1.
4. Если указанные условия были выполнены, то начинается новый диалог/квест и прочее, прочее...
Примерно где-то так.
Зы, В туторе Вама все это расписано, просто вникать нужно лучше.