Показать сообщение отдельно
Старый 22.12.2006, 12:12   #1570
marazmus
A.G.F.C.
 
Регистрация: 02.09.2005
Сообщений: 6
marazmus вне форума

По умолчанию 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);};
Обьяснений, мне кажется, тут даже не требуется :).
Отправить личное сообщение для Ответить с цитированием