|
|
|
|
A.G.F.C.
Регистрация: 02.09.2005
Сообщений: 6
|
|
|
|
|
|
Re: М: Скриптинг в Готике
Цитата:
Сообщение от Roomper link=board=gothic&t=1105030050&start=1560#1568 date=12/22/06, в 10:00:44
Столкнулся с еще одной проблемой. Короче написал я скрипт предмета – письмо. Просмотрел я весь класс C_Item и не нашел подходящей элемента, которому можно было присвоить функцию, чтобы та вызывалась один раз после прочтения этого письма. var func on_state[4] – не подходит, так как функция, присвоенная этому элементу, вызывается каждый раз после использования предмета. Подскажите, пожалуйста, где можно написать (в смысле, в каком скрипте) условие задуманного мной действия, и при этом чтобы оно выполнялось.
|
Самыми общими словами: Заводим переменную. Присваиваем этой переменной true при первом вызове вышеприведенной функции on_state. В дальнейшем (при последующих вызовах) проверяем эту переменную на значение - если она уже true, то далее код просто не выполняем. Для примера - тот же нещщастный скрипт Кавалорна :)
Код:
func void DIA_Addon_Cavalorn_MeetingIsRunning_Info(){ if(DIA_Addon_Cavalorn_MeetingIsRunning_OneTime == FALSE) { AI_Output(self,other,"DIA_Addon_Cavalorn_MeetingIsRunning_08_00"); //Добро пожаловать в 'Кольцо', мой друг. DIA_Addon_Cavalorn_MeetingIsRunning_OneTime = TRUE; } else { AI_Output(self,other,"DIA_Addon_Gaan_MeetingIsRunning_08_01"); //Ватрас даст тебе следующее задание. }; AI_StopProcessInfos(self);};
Обьяснений, мне кажется, тут даже не требуется :).
|