La Sombra del Mar Опубликовано 9 июня, 2021 Автор Жалоба Поделиться Опубликовано 9 июня, 2021 1 смотря с какой координаты z в какую нужно спускать.Скорость это 512. Уменьшить ее.2Можно попробовать либо удалить этот блок, либо удалить returnif ( PCSkipEquip == 1 )set PCSkipEquip to 0set OnPCEquip to 0set pickedup to 1returnendif 3 удалить вторую строку set timer to ... Которая после elseif state == 1 Поменять в соответствующем месте:If ( timer > 2 )Fadein 1.5Set state to 2Endif1. Уменьшить скорость оказалось достаточно, спасибо. 2. Вообще ни на что не повлияло. Мб есть еще какие способы? Не то чтобы это прямо критично, просто было бы удобнее иметь возможность поднять книгу без активации, как и все другие.3. Теперь темнота вообще не рассеивается, а звук кастуемого спелла проигрывается бесконечно. Begin _skooma_smoke float timer short state short doOnce if ( timer < 5 ) Set timer to ( timer + GetSecondsPassed ) endif if ( timer >= 5 ) disable setdelete 1 return endif if ( state == 0 ) ; play smoke sound, fade out, make player fall Playsound, "Blackoutin" FadeOut 3 Set state to 1 elseif ( state == 1 ) ; smoking in progress if ( timer > 2 ) ; player is already lying and screen is black - cast skooma smoke effect once if ( doOnce == 0 ) Cast, "wh_skooma_smoke_effect", Player Set doOnce to 1 return endif endif if ( timer > 5 ) ; fade in, make player stand up FadeIn 1.5 Set state to 2 endif else ; get rid of this object if ( timer == 0 ) disable endif endif End Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 16 июня, 2021 Жалоба Поделиться Опубликовано 16 июня, 2021 1. Уменьшить скорость оказалось достаточно, спасибо. 2. Вообще ни на что не повлияло. Мб есть еще какие способы? Не то чтобы это прямо критично, просто было бы удобнее иметь возможность поднять книгу без активации, как и все другие.3. Теперь темнота вообще не рассеивается, а звук кастуемого спелла проигрывается бесконечно. Begin _skooma_smoke float timer short state short doOnce if ( timer < 5 ) Set timer to ( timer + GetSecondsPassed ) endif if ( timer >= 5 ) disable setdelete 1 return endif if ( state == 0 ) ; play smoke sound, fade out, make player fall Playsound, "Blackoutin" FadeOut 3 Set state to 1 elseif ( state == 1 ) ; smoking in progress if ( timer > 2 ) ; player is already lying and screen is black - cast skooma smoke effect once if ( doOnce == 0 ) Cast, "wh_skooma_smoke_effect", Player Set doOnce to 1 return endif endif if ( timer > 5 ) ; fade in, make player stand up FadeIn 1.5 Set state to 2 endif else ; get rid of this object if ( timer == 0 ) disable endif endif End 3 FadeIn 1.5 переместить в блок if timer >= 5 Ссылка на комментарий Поделиться на другие сайты Поделиться
La Sombra del Mar Опубликовано 19 июня, 2021 Автор Жалоба Поделиться Опубликовано 19 июня, 2021 3 FadeIn 1.5 переместить в блок if timer >= 5Ок, а что насчет зацикленного звука каста? Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 19 июня, 2021 Жалоба Поделиться Опубликовано 19 июня, 2021 Ок, а что насчет зацикленного звука каста?Добавьте после этой строки Set doOnce to 1ЭтуFadeIn 1.5 Ссылка на комментарий Поделиться на другие сайты Поделиться
La Sombra del Mar Опубликовано 23 июня, 2021 Автор Жалоба Поделиться Опубликовано 23 июня, 2021 (изменено) Добавьте после этой строкиSet doOnce to 1ЭтуFadeIn 1.5Не повлияло. Вообще ничего не помогает, и никак не могу понять что вообще провоцирует это зацикливание. То ли дело в скрипте активатора, кастующего спелл, то ли в скриптах самих трубок где-то закрался косяк. Сделала по-другому, без стадий, зацикливание звука теперь начинается сразу, после первого же применения. До этого было после нескольких, где-то после 5-6. И, что характерно, звук каста идет, но действия эффекта нет. Begin _skooma_smoke_2 short doonce float TimePassed set TimePassed to (TimePassed + GetSecondsPassed) if ( doonce == 0 ) Playsound, "Blackoutin" FadeOut 3 Cast, "wh_skooma_smoke_effect", player set doonce to 1 endif if ( TimePassed >= 3 ) FadeIn 1.5 set TimePassed to 0 disable setDelete, 1 endif end Вот еще раз на всякий случай скрипты трубок, может с ними как-то связано: Begin _skooma_pipe short button short pickup short status if ( pickup == 1 ) Set pickup to 0 activate return endif if ( OnActivate == 1 ) if ( MenuMode == 0 ) MessageBox "Что вы хотите сделать с трубкой скуума?" , "Курить", "Взять" Set status to 1 else Set pickup to 1 return endif endif endif If ( status == 1 ) set button to GetButtonPressed if ( button == -1 ) return elseif ( button == 0 ) if ( player->GetItemCount, ingred_moon_sugar_01 > 0 ) player->RemoveItem, "ingred_moon_sugar_01", 1 PlaceAtPC "wh_skooma_spell_activator" 1, 0, 0 Set status to 0 return else MessageBox "Для этого нужен лунный сахар" Set status to 0 return endif elseif ( button == 1 ) Set status to 0 Set pickup to 1 endif endif End begin Skooma_pipe_act short button short status if ( OnActivate == 1 ) if ( MenuMode == 0 ) MessageBox "Что вы хотите сделать с трубкой скуума?" , "Курить", "Ничего" Set status to 1 else Set status to 0 return endif endif If ( status == 1 ) set button to GetButtonPressed if ( button == -1 ) return elseif ( button == 0 ) if ( player->GetItemCount, ingred_moon_sugar_01 > 0 ) player->RemoveItem, "ingred_moon_sugar_01", 1 PlaceAtPC "wh_skooma_spell_activator" 1, 0, 0 Set status to 0 return else MessageBox "Для этого нужен лунный сахар" Set status to 0 return endif elseif ( button == 1 ) Set status to 0 return endif endif endif End Изменено 23 июня, 2021 пользователем La Sombra del Mar Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 24 июня, 2021 Жалоба Поделиться Опубликовано 24 июня, 2021 Как понять зацикливание звука? Экран темнеет? Со спеллом все правильно?Добавьте в блок к этой строчкеset doonce to 1ЭтоMessagebox "cast" Ссылка на комментарий Поделиться на другие сайты Поделиться
La Sombra del Mar Опубликовано 24 июня, 2021 Автор Жалоба Поделиться Опубликовано 24 июня, 2021 После того как активатор кастанул спелл, звук каста не прекращается, а воспроизводится снова и снова, в ускоренном темпе. Экран темнеет, потом светлеет, тут все в порядке. Спелл срабатывает, но эффекта нет, что тоже не норма - в дефолтном варианте с этим проблем не было. Сам спелл с тех пор не менялся, только скрипты. Месседжбокс добавила, хоть и не совсем понимаю как это должно было помочь. Не помогло. Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 25 июня, 2021 Жалоба Поделиться Опубликовано 25 июня, 2021 После того как активатор кастанул спелл, звук каста не прекращается, а воспроизводится снова и снова, в ускоренном темпе. Экран темнеет, потом светлеет, тут все в порядке. Спелл срабатывает, но эффекта нет, что тоже не норма - в дефолтном варианте с этим проблем не было. Сам спелл с тех пор не менялся, только скрипты. Месседжбокс добавила, хоть и не совсем понимаю как это должно было помочь. Не помогло.А мессадж выводится один раз или спамит? Приведите дефолтную версию. Ссылка на комментарий Поделиться на другие сайты Поделиться
La Sombra del Mar Опубликовано 26 июня, 2021 Автор Жалоба Поделиться Опубликовано 26 июня, 2021 А мессадж выводится один раз или спамит? Приведите дефолтную версию.Один раз. Дефолтная вот, это еще вообще до начала каких-либо изменений: Begin _skooma_smoke float timer short state short doOnce if ( state == 0 ) ; play smoke sound, fade out, make player fall Playsound, "Blackoutin" FadeOut 2 Player->ModCurrentFatigue -999 Set state to 1 elseif ( state == 1 ) ; smoking in progress Set timer to ( timer + GetSecondsPassed ) if ( timer > 2 ) ; player is already lying and screen is black - cast skooma smoke effect once if ( doOnce == 0 ) Set doOnce to 1 Cast, "wh_skooma_smoke_effect", Player endif endif if ( timer > 2 ) ; fade in, make player stand up FadeIn 1.5 Player->ModCurrentFatigue 999 Set timer to 0 Set state to 2 endif else ; get rid of this object if ( timer == 0 ) disable ; disabling object endif if ( timer < 5 ) Set timer to ( timer + GetSecondsPassed ) endif if ( timer >= 5 ) setdelete 1 ; deleting object endif return endif End Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 27 июня, 2021 Жалоба Поделиться Опубликовано 27 июня, 2021 (изменено) Begin _skooma_smoke Begin _skooma_smoke float timer short state if ( timer >= 10 ) disable setdelete 1 ; deleting object elseif ( state == 0 ) ; play smoke sound, fade out, make player fall Playsound, "Blackoutin" FadeOut 2 Player->ModCurrentFatigue -999 Set state to 1 elseif ( state == 1 ) ; smoking in progress Set timer to ( timer + GetSecondsPassed ) if ( timer > 2 ) Set state to 2 endif elseif ( state == 2 ) Set state to 3 Cast, "wh_skooma_smoke_effect", Player FadeIn 1.5 Player->ModCurrentFatigue 999 elseif ( state == 3 ) Set timer to ( timer + GetSecondsPassed ) if ( timer >= 5 ) if ( getdisabled == 0 ) disable ; disabling object endif endif endif End Изменено 27 июня, 2021 пользователем Larkin Ссылка на комментарий Поделиться на другие сайты Поделиться
La Sombra del Mar Опубликовано 29 июня, 2021 Автор Жалоба Поделиться Опубликовано 29 июня, 2021 И все равно звук зависает, теперь не сразу, но после 4-5 применений. Провела эксперимент, заспавнив несколько раз перед собой просто активатор - вроде бы по части звука все в порядке. Похоже дело все же в скрипте самой трубки, а не активатора со спеллом. Вроде бы там все просто - появился активатор, кастанул спелл, пропал. Но хоть убей не пойму что именно вызывает такой эффект. Может быть такое что скрипт реагирует на наличие в инвентаре лунного сахара не один раз, а зацикливает результат? Вот в этом фрагменте: elseif ( button == 0 ) if ( player->GetItemCount, ingred_moon_sugar_01 > 0 ) player->RemoveItem, "ingred_moon_sugar_01", 1 PlaceAtPC "wh_skooma_spell_activator" 1, 0, 0 Set status to 0 return else MessageBox "Для этого нужен лунный сахар" Set status to 0 return endif Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 29 июня, 2021 Жалоба Поделиться Опубликовано 29 июня, 2021 И все равно звук зависает, теперь не сразу, но после 4-5 применений. Провела эксперимент, заспавнив несколько раз перед собой просто активатор - вроде бы по части звука все в порядке. Похоже дело все же в скрипте самой трубки, а не активатора со спеллом. Вроде бы там все просто - появился активатор, кастанул спелл, пропал. Но хоть убей не пойму что именно вызывает такой эффект. Может быть такое что скрипт реагирует на наличие в инвентаре лунного сахара не один раз, а зацикливает результат? Вот в этом фрагменте: elseif ( button == 0 ) if ( player->GetItemCount, ingred_moon_sugar_01 > 0 ) player->RemoveItem, "ingred_moon_sugar_01", 1 PlaceAtPC "wh_skooma_spell_activator" 1, 0, 0 Set status to 0 return else MessageBox "Для этого нужен лунный сахар" Set status to 0 return endif Тут все правильно. Playsound, "Blackoutin"Messagebox "spam" Тестите и ск6адите если будет спамить. Ссылка на комментарий Поделиться на другие сайты Поделиться
La Sombra del Mar Опубликовано 30 июня, 2021 Автор Жалоба Поделиться Опубликовано 30 июня, 2021 Не спамит, только раз выводится. Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 1 июля, 2021 Жалоба Поделиться Опубликовано 1 июля, 2021 Не спамит, только раз выводится.Тогда звук не должен зависать. Он один раз запускается. Ссылка на комментарий Поделиться на другие сайты Поделиться
La Sombra del Mar Опубликовано 1 июля, 2021 Автор Жалоба Поделиться Опубликовано 1 июля, 2021 Да, но тут какая-то непонятная аномалия. Причем в других похожих скриптах все со звуком в порядке, так что даже OpenMW обвинить не получится. Видимо, придется пойти другим путем, добавляя игроку эффекты скриптом, а не заклинанием. Ссылка на комментарий Поделиться на другие сайты Поделиться
La Sombra del Mar Опубликовано 2 июля, 2021 Автор Жалоба Поделиться Опубликовано 2 июля, 2021 Вот, очередное чудище Франкенштейна, слепленное на коленке. Убрала активатор, теперь спелл кастуется напрямую - это, насколько я помню, работало нормально. Но проверить пока не могу, т.к. нет реакции даже на выбор варианта "Курить". Вопрос тот же, что и всегда - что я делаю не так? Begin _skooma_pipe short button short state short pickup float TimePassed if ( pickup == 1 ) Set pickup to 0 activate return endif if ( OnActivate == 1 ) if ( MenuMode == 0 ) if ( state == 0 ) MessageBox "Что вы хотите сделать с трубкой скуума?" , "Курить", "Взять" set state to 1 else Set pickup to 1 return endif endif if ( state == 1 ) set button to GetButtonPressed if ( button == -1 ) return elseif ( button == 0 ) if ( player->GetItemCount, ingred_moon_sugar_01 > 0 ) player->RemoveItem, "ingred_moon_sugar_01", 1 Playsound, "Blackoutin" FadeOut 2 Cast "wh_skooma_smoke_effect" player set state to 0 return else MessageBox "Для этого нужен лунный сахар" set state to 0 return elseif ( button == 1 ) Set pickup to 1 endif endif endif endif set TimePassed to (TimePassed + GetSecondsPassed) if ( TimePassed >= 2 ) FadeIn 1.5 set TimePassed to 0 endif End Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 4 июля, 2021 Жалоба Поделиться Опубликовано 4 июля, 2021 endifendif if ( stateСюда еще endif. MessageBox "Для этого нужен лунный сахар"set state to 0returnEndif.Здесь endif. Ссылка на комментарий Поделиться на другие сайты Поделиться
La Sombra del Mar Опубликовано 5 июля, 2021 Автор Жалоба Поделиться Опубликовано 5 июля, 2021 endifendif if ( stateСюда еще endif. Сюда это куда? Сразу после if ( state) что ли? Пробовала ставить в разные места блока, не сработало. Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 5 июля, 2021 Жалоба Поделиться Опубликовано 5 июля, 2021 Сюда это куда? Сразу после if ( state) что ли? Пробовала ставить в разные места блока, не сработало.Перед if state Ссылка на комментарий Поделиться на другие сайты Поделиться
La Sombra del Mar Опубликовано 9 июля, 2021 Автор Жалоба Поделиться Опубликовано 9 июля, 2021 Заработало, спасибо. Со звуком тоже все норм. Но обнаружилась еще проблема: нет реакции на выбор "Взять". А после новой попытки активации меню выбора уже нет, только сразу подбирается. И еще момент: хотелось бы чтобы сначала затемнялся экран, а после этого через пару секунд кастовался спелл, чтобы этого не было видно. Полагаю, рядом с Cast "wh_skooma_smoke_effect" player надо воткнуть еще один таймер. Но вот как именно это оформить чтобы не запороть опять весь скрипт? Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 9 июля, 2021 Жалоба Поделиться Опубликовано 9 июля, 2021 Заработало, спасибо. Со звуком тоже все норм. Но обнаружилась еще проблема: нет реакции на выбор "Взять". А после новой попытки активации меню выбора уже нет, только сразу подбирается. И еще момент: хотелось бы чтобы сначала затемнялся экран, а после этого через пару секунд кастовался спелл, чтобы этого не было видно. Полагаю, рядом с Cast "wh_skooma_smoke_effect" player надо воткнуть еще один таймер. Но вот как именно это оформить чтобы не запороть опять весь скрипт? Скрипт приведите. Ссылка на комментарий Поделиться на другие сайты Поделиться
La Sombra del Mar Опубликовано 9 июля, 2021 Автор Жалоба Поделиться Опубликовано 9 июля, 2021 Скрипт приведите. Begin _skooma_pipe short button short state short pickup float TimePassed if ( pickup == 1 ) Set pickup to 0 activate return endif if ( OnActivate == 1 ) if ( MenuMode == 0 ) if ( state == 0 ) MessageBox "Что вы хотите сделать с трубкой скуума?" , "Курить", "Взять" set state to 1 else Set pickup to 1 return endif endif endif if ( state == 1 ) set button to GetButtonPressed if ( button == -1 ) return elseif ( button == 0 ) if ( player->GetItemCount, ingred_moon_sugar_01 > 0 ) player->RemoveItem, "ingred_moon_sugar_01", 1 Playsound, "Blackoutin" FadeOut 2 Cast "wh_skooma_smoke_effect" player set state to 0 return else MessageBox "Для этого нужен лунный сахар" set state to 0 return elseif ( button == 1 ) Set state to 0 Set pickup to 1 endif endif endif set TimePassed to (TimePassed + GetSecondsPassed) if ( TimePassed >= 3 ) FadeIn 1.5 set TimePassed to 0 endif End Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 11 июля, 2021 Жалоба Поделиться Опубликовано 11 июля, 2021 set state to 0ReturnEndif Вот здесь он должен быть Ссылка на комментарий Поделиться на другие сайты Поделиться
La Sombra del Mar Опубликовано 11 июля, 2021 Автор Жалоба Поделиться Опубликовано 11 июля, 2021 Перед else? Ссылка на комментарий Поделиться на другие сайты Поделиться
Larkin Опубликовано 12 июля, 2021 Жалоба Поделиться Опубликовано 12 июля, 2021 MessageBox "Для этого нужен лунный сахар"set state to 0returnEndifelseif ( button Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти