Ордмайер Опубликовано 5 июля, 2006 Жалоба Поделиться Опубликовано 5 июля, 2006 Написал скрипт призыва монстра. Все бы хорошо, но он выводит кучу ошибок в строке 19. Что надо исправить, скажите пожайлуста... begin summon_scrib Short _ll_summon_scribFloat timer If ( MenuMode == 1 ) ReturnEndif If ( Player -> GetSpellEffects, "_ll_summon_scrib" == 1 ) PlaySound "conjuration cast" FadeIn 1.0 player->PlaceAtPc "_ll_scrib_summon" 6, 6, 1 FadeOut 1.0endif Set timer to ( timer + GetSecondsPassed ) if timer > 60 "_ll_scrib_summon" -> disable MessageBox "Призванный вами скриб исчез." endifend Ссылка на комментарий Поделиться на другие сайты Поделиться
UraXa Опубликовано 5 июля, 2006 Жалоба Поделиться Опубликовано 5 июля, 2006 Проверь, включен ли у _ll_scrib_summon Referensis Presist.Если нет-включи.Если я не угадал ошибку, перепиши её сюда!А ещё: зачем"Short _ll_summon_scrib"? Ссылка на комментарий Поделиться на другие сайты Поделиться
Ордмайер Опубликовано 5 июля, 2006 Автор Жалоба Поделиться Опубликовано 5 июля, 2006 (изменено) {зачем "Short _ll_summon_scrib"?}Выдает еще несколько ошибок. Типа переменная не обьявлена. Так... Посмотрел свойства скриба этого, но там вообще-то нету Referensis Presist. Вообще. Может я тупой, но я не нашел. Изменено 5 июля, 2006 пользователем Ордмайер Ссылка на комментарий Поделиться на другие сайты Поделиться
UraXa Опубликовано 5 июля, 2006 Жалоба Поделиться Опубликовано 5 июля, 2006 Ордмайер сказал: {зачем "Short _ll_summon_scrib"?}Выдает еще несколько ошибок. Типа переменная не обьявлена. Так... Посмотрел свойства скриба этого, но там вообще-то нету Referensis Presist. Вообще. Может я тупой, но я не нашел.Извини-это я ступил(References Presist у животных автоматически включено)напиши, что именно он пишет Ссылка на комментарий Поделиться на другие сайты Поделиться
EJ-12 Опубликовано 6 июля, 2006 Жалоба Поделиться Опубликовано 6 июля, 2006 Попробуй вот-так: Short _ll_summon_scrib (да, "бегин" надеюсь не забыл поставить?)If ( MenuMode == 1 )ReturnEndifIf ( Player -> GetSpellEffects, "_ll_summon_scrib" == 1 )PlaySound "conjuration cast";FadeIn 1.0 (для начала без альфазатемнения экрана)PlaceAtPc "_ll_scrib_summon" 6, 6, 1; (player-> Не нужно);FadeOut 1.0ReturnendifЕНД ; а вот нижний блок повесь на скриба. Вся штука в том, что ДЕЗЭЙБЛЯЩЕЕСЯ существо уже должны быть в мире из начала. Явившееся по скрипту оно не расценивается как РЕФЕРЕНС, что и вызывает ошибку. Поэтому закончи скрипт на (см. выше) а нижний блок переделай в отдельный скрипт и повесь на скриба. Бегин то-то3Флоат таймериф плеер гет спел фификт такойто == 1Set timer to ( timer + GetSecondsPassed )if timer => 60"_ll_scrib_summon" -> disableMessageBox "Призванный вами скриб исчез."endifend Но лучше используй следующую конструкцию;) Она без таймера, что несколько облегчает загрузку процеесора;)**************************************************Вот такой вариант решения:Глобальный скрипт (помещается в раздел СТАРТ СКРИПТ) Begin Short _ll_summon_scrib2short Doonce;**********************************************if ( MenuMode == 1 ) returnendif;**********************************************if ( doOnce == 0 )if ( Player ->GetSpellEffects, "_ll_summon_scrib" == 1 ) PlaceAtPC "_ll_scrib_summon", 1 , 105, 0 set doOnce to 1 return endif endifif ( doOnce == 1)if ( Player -> GetSpellEffects, "_ll_summon_scrib" == 0 ) "_ll_scrib_summon"->SetDelete 1 set doOnce to 0 return endif endifend А вот локальный скрипт, для Скриба:) Begin Short _ll_summon_scrib3if ( OnActivate == 1 ) MessageBox "Выпивший чаю скриб"If ( onDeath == 1 ) MessageBox "Призванный вами скриб исчез." disable returnendifif ( Player -> GetSpellEffects, "_ll_summon_scrib" == 1 )return endifif ( Player -> GetSpellEffects, "_ll_summon_scrib" == 0 )MessageBox "Призванный вами скриб исчез." disable return endifend Да, что еще важно в этой конструкции, ПОСТАВЬ СКРИБА В МИР!!! тоесть создай пустую ячейку (или воспользуйся готовой - например ТОДДТЕСТ, тоесть не использующейся в игре ячейкой) и поставь туда через КС своего скриба (с локальным скриптом вестимо)Да скрипты содержат русские знаки ", поэтому лучше перепиши их(скрипты) с нуля в редакторе... Ссылка на комментарий Поделиться на другие сайты Поделиться
Ордмайер Опубликовано 6 июля, 2006 Автор Жалоба Поделиться Опубликовано 6 июля, 2006 (изменено) Хм... Сейчас попробую... Так... Поставил скриптики... Первый компилится без проблем, но во втором, который вешается на скриба, выводит в строке 6 следующие ошибки:Miss mached quotesLine 6 function reference object "if" not foundMiss mached quotes"_ll_scrib_summon disable Could not parse this lineMiss matched if/else/endif starting on line 3 От последней ошибки не спасает и вписывание еще одного endif А другой вариант, без таймера, не подходит, ибо таймер нужен... Изменено 6 июля, 2006 пользователем Ордмайер Ссылка на комментарий Поделиться на другие сайты Поделиться
Ордмайер Опубликовано 6 июля, 2006 Автор Жалоба Поделиться Опубликовано 6 июля, 2006 Так. Проблему решил. Дело в кавычках и подчеркивании. Вот правильный вариант скрипта на скриба: begin _ll_scrib_effect Float timer If ( player -> GetSpellEffects, "_ll_summon_scrib" ) Set timer to ( timer + GetSecondsPassed ) if timer => 60 ll_scrib_summon -> disable MessageBox "Призванный вами скриб исчез." endifendifend Ссылка на комментарий Поделиться на другие сайты Поделиться
EJ-12 Опубликовано 6 июля, 2006 Жалоба Поделиться Опубликовано 6 июля, 2006 Ордмайер сказал: Так... Поставил скриптики... Первый компилится без проблем, но во втором, который вешается на скриба, выводит в строке 6 следующие ошибки:Miss mached quotesLine 6 function reference object "if" not foundMiss mached quotes"_ll_scrib_summon disable Could not parse this lineMiss matched if/else/endif starting on line 3 От последней ошибки не спасает и вписывание еще одного endif А другой вариант, без таймера, не подходит, ибо таймер нужен... Не нужен там таймер, вместо таймера у тебя работает заклинание. На сколько ты вызываешь скриба. Скрипт "смотрит" за ниличием закла на игроке, когда заклинание пропадает то скрипт удаляет и скриба. К томуже таймер усложняет скрипт, в случае если заклинаие длится меньше минуты придется делать второй/т. д. скрипт с новыми идешниками скрибов. ПОСТАВЬ СКРИБА В МИР!!!!! выше означенная ошибка указывает на отсутсвие кречести в мире.Скрипты рабочие, проверенные в ИСНе. Ссылка на комментарий Поделиться на другие сайты Поделиться
UraXa Опубликовано 6 июля, 2006 Жалоба Поделиться Опубликовано 6 июля, 2006 . Цитата ПОСТАВЬ СКРИБА В МИР!!!!! выше означенная ошибка указывает на отсутсвие кречести в мире.Какая? Miss Matched quotes? Ссылка на комментарий Поделиться на другие сайты Поделиться
Ордмайер Опубликовано 8 июля, 2006 Автор Жалоба Поделиться Опубликовано 8 июля, 2006 Скриб уже поставлен, все работает, я не думаю, что надо переделывать. Всем спасибо за помощь. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти