Показать сообщение отдельно
Старый 07.01.2006, 13:43   #668
boobl

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Декомпилятор скриптов Готи

Некоторое замечание по поводу выставления во всех возможных случаях return 0;
просматриваю сейчас все ошибки выданные декомпилятором, в числе оных оказалась функция Condition в файле диалогов, которая отвечает за возможность появления определённого диалога. нашёл несколько таких кондишнов в теле которых нет ничего.
я сам до этого времени считал что обработчик скриптов, не увидев слова return просто возвращает нулик, в таком случае тот диалог был бы невозможен в любом случае... речь идёт о диалоге со Скатти рядом с ареной, в этом диалоге ГГ говорит "Я хочу сражаться на арене!", но проблема в том что я не помню, есть ли этот диалог на самом деле!! вот и прокрались сомнения в мои рассуждения о умолчаниях..
Дальше - больше: я начал рыться в других диалогах в поисках таких же пустых кондишнов, но имеющих return. я нашёл. там было написано return 1;

---- на этом поток мыслей оборвался

кажется я понял, я был прав.. по дефолту любая функция возвращает 0, и "Я хочу сражаться на арене!" действительно невозможно. видимо разработчики начали писать это, но решили не морочиться с организацией битв на арене, также это объясняет то, что когда спрашиваешь у Скатти насчёт ставки, он говорит что бои пока не намечаются и надо подойти позже.. хорошо.
в таком случае в функциях *_loop по дефолту возвращается LOOP_END, как в случае с "ошибочной" функцией рандомной болтовни орков между собой.

а void я ставить всётаки не решаюсь, всёравно возвращаемое значение можно не использовать нигде, больше ошибок от этого не станет.
Ответить с цитированием