Перейти к содержанию

Глюк в наипростейшем скрипте(((


Рекомендуемые сообщения

сапш.

Begin P_note_script

 

If ( OnActivate == 1 )

If ( PCVampire == 1 )

MessageBox "Хм..Я вампир...И в этой бумаге сказано, что поможет вампиру пройти в дверь замка...стоит её прочитать.."

else

MessageBox "Любопытно...здесь сказано что вампиры могут пройти через дверь замка только если у них есть специальное кольцо..Стоит взять это кольцо...Вдруг я вампиром стану.."

endif

activate

endif

 

End

 

во-первых. когда я беру записку с тела кричера мэсседж не идёт (так должно быть?)

во вторых. Когда я бросаю на землю записку, активирую, мэссэдж появляется. но вот я её захотел взять..и тут облом. нажимаю "Взять" так что вы думаете? кнопка "Взять" ПРОСТО-НАПРОСТО ПРОПАДАЕТ, вылетает опять мэссэдж бокс, я нажмаю "Закрыть", свиток закрывается, у игрока всё немеет (такое ощущение что идёт "Дисабле плэй котрол") и через секунду-две всё ок..запсика остаётся лежать на полу.

чё за фигня? :1anim_at:

Ссылка на комментарий
Поделиться на другие сайты

Можешь вот так сделать:

 

Begin P_note_script

If ( OnEquip player == 1 )
If ( PCVampire == 1 )
 MessageBox "Хм..Я вампир...И в этой бумаге сказано, что поможет вампиру пройти в дверь замка...стоит её прочитать.."
 activate
else
 MessageBox "Любопытно...здесь сказано что вампиры могут пройти через дверь замка только если у них есть специальное кольцо..Стоит взять это кольцо...Вдруг я вампиром стану.."
 activate
endif
endif

End

 

Тогда скрипт срабатывает при попытке прочитать записку в инвентаре.

А по-нормальному (если с квестом) вообще вот так надо:

 

Begin P_note_script

If ( OnEquip player == 1 )
If ( PCVampire == 1 )
 If ( getjournalindex "ИД журнала" < 10 );нужный журнальный индеск
  MessageBox "Хм..Я вампир...И в этой бумаге сказано, что поможет вампиру пройти в дверь замка...стоит её прочитать.."
  Journal "ИД журнала" 15;нужный индеск больше указанного в строке 5
  activate
 else
  MessageBox "Любопытно...здесь сказано что вампиры могут пройти через дверь замка только если у них есть специальное кольцо..Стоит взять это кольцо...Вдруг я вампиром стану.."
  Journal "ИД журнала" 15;нужный индеск больше указанного в строке 5
  activate
 endif
endif
endif

End

Ссылка на комментарий
Поделиться на другие сайты

но объясните почему глюк с обычным скриптом?

и ещё:

Вайл, в скрипте № 2 нельзя ли просто убрать функции сетджоурнал индекс и джоурнал?

Изменено пользователем Реван
Ссылка на комментарий
Поделиться на другие сайты

но объясните почему глюк с обычным скриптом?

 

Тебе объяснили: потому что ты указал If ( OnActivate == 1 ), а берёшь записку с трупа, то есть в менюмоде. If ( OnActivate == 1 ) - значит в гейммоде (не в режиме меню) навести прицел на предмет и нажать пробел, а If ( OnEquip player == 1 ) - значит взять предмет курсором, в режиме меню :ad:

 

Вайл, в скрипте № 2 нельзя ли просто убрать функции сетджоурнал индекс и джоурнал?

 

Так это мой скрипт N1! :1anim_av:

В нём мессаджбокс будет появляться при каждом прочтении записки. Можно это ограничить и без журнала, чтобы один раз мессажбокс вылезал:

 

Begin P_note_script

short doonce

If ( OnEquip player == 1 )
If ( PCVampire == 1 )
 If ( doonce == 0 )
  MessageBox "Хм..Я вампир...И в этой бумаге сказано, что поможет вампиру пройти в дверь замка...стоит её прочитать.."
  set doonce to 1
  activate
 else
  MessageBox "Любопытно...здесь сказано что вампиры могут пройти через дверь замка только если у них есть специальное кольцо..Стоит взять это кольцо...Вдруг я вампиром стану.."
  set doonce to 1
  activate
 endif
endif
endif

End

Изменено пользователем Vile
Ссылка на комментарий
Поделиться на другие сайты

ога спс. значит это уже готовый скрипт все дела...там ниче изменять не надо?

упдате

неа!

ошибка в 5 строке! онквип (онкьюп) ты как то не так написал! мне пишут синтакс еррор он лайн 5 ор куднт фэриэйбл ор функшн "Он куьюп (квип)"

Изменено пользователем Реван
Ссылка на комментарий
Поделиться на другие сайты

патамушта OnPCEquip, а OnEquip не существует в природе, хоть бы в MFSD заглядывали чтоль перед творчеством

эту переменную надо объявлять

short OnPCEquip

Изменено пользователем Майк
Ссылка на комментарий
Поделиться на другие сайты

это значит я пишу переменную шорт, потом в скрипте пишу шорт онпскьюип и всё?
Ссылка на комментарий
Поделиться на другие сайты

А что будет, если такой скрипт приделать:

 

Begin P_note_script

 

if ( MenuMode == 1 )

If ( PCVampire == 1 )

MessageBox "На теле животного была записка. Прочитав ее я понял,что ....... ..Я вампир...И в этой бумаге сказано, что поможет вампиру пройти в дверь замка...стоит её прочитать.."

else

MessageBox "Любопытно...здесь сказано что вампиры могут пройти через дверь замка только если у них есть специальное кольцо..Стоит взять это кольцо...Вдруг я вампиром стану.."

endif

activate

endif

 

End

 

и прикрепить этот скрипт к creature

Изменено пользователем Night User
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...