Показать сообщение отдельно
Старый 01.08.2006, 08:32   #834
Vam

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

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

2Killer-XXX:
Мой тебе совет, попробуй сесть на МИГ 29 и сделать мертвую петлю... Думаю, что не очень получится. Поэтому наберись терпения, и перечитай всю тему, хуже не будет, а вот скриптинг поймешь.
Зачем так сурово?  ::) Здесь всё намного проще, если есть ошибка, то надо исправить.  ;)

2yp-IIIak:
функция должна возвращать значение(Error: Function should return value), там, где этого не должно быть(или так думаю только я?).
Пока так думают большинство новичков. Пара общих советов:
1. Все функции входа в состояние и выхода из состояния ZS_ не должны ничего возвращать, т.е. их тип должен быть void, в скриптах таких ошибок большинство, их тип записан как int.
2. Функция цикла состояния ZS_xxxx_Loop() всегда должна возвращать тип int, в большинство таких функций надо в конец её дописать return LOOP_CONTINUE;, но не ошибиться.
3. Функции условий диалогов DIA_xxxx_Condition всегда должны возвращать тип int, но в них ошибок не много, совет - если в условии возвращается TRUE, то в конец функции надо добавить return FALSE;
4. Сами функции диалогов DIA_xxxx_Info не должны ничего возвращать, т.е. их тип необходимо изменить с int на void, таких ошибок тоже довольно много.
5. С остальными разбирайся согласно логике работы или спрашивай. Но есть общее правило - если внутри функции есть return, то и в конце он тоже быть обязан.

Твои примеры:
func int B_RemoveGhost()
- здесь функция ошибочно объявлена как int, она ничего не возвращает и не должна возвращать, следовательно тип возвращаемого значения с int необходимо изменить на тип void.
func int B_MM_DeSynchronize()
- аналогично первой.
Ответить с цитированием