Naratzul Опубликовано 6 августа, 2011 Опубликовано 6 августа, 2011 "theReaper", , без обсе не обойтись. Попробуй функцией IsKeyPressed X (Х - скан-код клавиши). Чтобы при нажатии на эту клавишу игроку добавился спелл. Вот примерный скрипт: scn NameScript Begin GameMode if (IsKeyPressed 49) ; если нажать на клавишу N player.addspell IDspell else player.removespell IDspell endif end
theReaper Опубликовано 7 августа, 2011 Опубликовано 7 августа, 2011 спасибо и еще: как узнать число, что соответствует клавиши? 49 - N А остальные? На этом сайте есть статья об этом?
YourBunnyWrote Опубликовано 7 августа, 2011 Опубликовано 7 августа, 2011 Обычные сканкоды клавиатуры Windows, здесь есть Всё провисло и болтается.
theReaper Опубликовано 7 августа, 2011 Опубликовано 7 августа, 2011 'YourBunnyWrote' сказал(-а): Обычные сканкоды клавиатуры Windows, здесь есть спасибо
Нормальный пацан Опубликовано 8 августа, 2011 Опубликовано 8 августа, 2011 Есть где нибудь еще уроки кроме Вики румор?
Myyrn Опубликовано 8 августа, 2011 Опубликовано 8 августа, 2011 OSFM читал? И скрипты Беседки изучал?
Нормальный пацан Опубликовано 8 августа, 2011 Опубликовано 8 августа, 2011 'Myyrn' сказал(-а): OSFM читал? И скрипты Беседки изучал? Всё начинаю) Спасибо)
Jasan Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 Ребят, помогите, пожалуйста, написать скрипт. При активации двери задается 7 вопросов и в каждом свои варианты ответов. Если все ответы верны, то дверь активируется, иначе нет. Пробовал делать на основе туториала http://wiki.rumor.ru/index.php?title=Oblivion:Scripting_Tutorial:_My_Second_Script , но у меня получается полная ересь и, разумеется, ничего не работает, как мне нужно.
YourBunnyWrote Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 ScriptName Ololo short Button short Question Begin OnActivate Set Question to 1 ; End Begin GameMode If Question == 0 Return ElseIf Question == 1 MessageBox "Вопрос №1", "Вариант ответа №1", "Вариант ответа №2" ; И так далее ... Set Button to GetButtonPressed If Button == 0 ; Здесь поставить номер правильного ответа Set Question to 2 ; В случае правильного ответа переходим к следующему вопросу Else Set Question to 0 ; Иначе перестаём задавать вопросы EndIf ElseIf Question == 2 MessageBox "Вопрос №2", "Вариант ответа №1", "Вариант ответа №2" ; И так далее ... Set Button to GetButtonPressed If Button == 0 ; Здесь поставить номер правильного ответа Set Question to 3 ; В случае правильного ответа переходим к следующему вопросу Else Set Question to 0 ; Иначе перестаём задавать вопросы EndIf ElseIf ; ... ; И так далее ElseIf Question == 7 MessageBox "Вопрос №7", "Вариант ответа №1", "Вариант ответа №2" ; И так далее ... Set Button to GetButtonPressed If Button == 0 ; Здесь поставить номер правильного ответа ; В случае правильного ответа активируем двери DoorRef.Activate ; Где DoorRef - ссылка на дверь Else Set Question to 0 ; Иначе перестаём задавать вопросы EndIf EndIf End 1 Всё провисло и болтается.
Jasan Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 YourBunnyWrote, спасибо большое =) А нельзя сделать так, чтобы игрок до конца не знал, что он где-то ошибся? Просто мне хотелось, в случае не верной последовательности долбонуть ловушкой =)
Myyrn Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 Можно. При каждом правильном ответе прибавляем 1 к переменной. set variable to variable + 1. Блок будет выглядеть так. If Button == 0 ; Здесь поставить номер правильного ответа Set Question to 3 ; В случае правильного ответа переходим к следующему вопросу Set Countmistakes to countmistakes + 1 Else Set Question to 3 EndIf Последний блок. ElseIf Question == 7 MessageBox "Вопрос №7", "Вариант ответа №1", "Вариант ответа №2" ; И так далее ... Set Button to GetButtonPressed If Button == 0 ; Здесь поставить номер правильного ответа set countmistakes to countmistakes + 1 if countmistakes >= 7 ; В случае правильного ответа активируем двери ; Семь ответов правильно. DoorRef.Activate ; Где DoorRef - ссылка на дверь endif Else ;ловушка EndIf 1
Jasan Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 На 7 вопросе зацикливается... Чтобы не ответил на 7 вопросе, он появляется бесконечно... Наверное я нуп) Вот код, посмотрите и скажите, пожалуйста, где у меня ошибка ScriptName WCArchivSecretDoor01 short Button short Question short Countmistakes Begin OnActivate Set Question to 1 ; End Begin GameMode If Question == 0 Return ElseIf Question == 1 MessageBox "Введите первое число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 3 ; Здесь поставить номер правильного ответа Set Question to 2 ; В случае правильного ответа переходим к следующему вопросу Set Countmistakes to countmistakes + 1 Else Set Question to 2 EndIf ElseIf Question == 2 MessageBox "Введите второе число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 7 ; Здесь поставить номер правильного ответа Set Question to 3 ; В случае правильного ответа переходим к следующему вопросу Set Countmistakes to countmistakes + 1 Else Set Question to 3 EndIf ElseIf Question == 3 MessageBox "Введите третье число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 5 ; Здесь поставить номер правильного ответа Set Question to 4 ; В случае правильного ответа переходим к следующему вопросу Set Countmistakes to countmistakes + 1 Else Set Question to 4 EndIf ElseIf Question == 4 MessageBox "Введите четвертое число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 4 ; Здесь поставить номер правильного ответа Set Question to 5 ; В случае правильного ответа переходим к следующему вопросу Set Countmistakes to countmistakes + 1 Else Set Question to 5 EndIf ElseIf Question == 5 MessageBox "Введите пятое число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 3 ; Здесь поставить номер правильного ответа Set Question to 6 ; В случае правильного ответа переходим к следующему вопросу Set Countmistakes to countmistakes + 1 Else Set Question to 6 EndIf ElseIf Question == 6 MessageBox "Введите шестое число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 4 ; Здесь поставить номер правильного ответа Set Question to 7 ; В случае правильного ответа переходим к следующему вопросу Set Countmistakes to countmistakes + 1 Else Set Question to 7 EndIf ElseIf Question == 7 MessageBox "Введите седьмое число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 9 ; Здесь поставить номер правильного ответа set countmistakes to countmistakes + 1 if countmistakes >= 7 ; В случае правильного ответа активируем двери WCDoorArchiv02.Activate ; Где DoorRef - ссылка на дверь EndIf Else Cast WCArchivDoorTrap Player EndIf EndIf End
The next Decade Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 Нужна маленькая помощь. Может кто нибудь рассказать как написать такой скрипт: При поднятии предмета (в данном случае меча) появляется сообщение "текст". Так-же при поднятии предмета должно появлятся малое заклинание, но что-бы одновременно с этим меч был зачарован. ___ И ещё один скрипт: Нужно что-бы при попадании заклинания в противника он застывал в воздухе (не падал как при параличе), а поверх него появлялась декорация льда. Это должно длится 10 секунд, и при этом противнику должен наносится урон в 5 едениц каждую секунду. "Walking the path of Heaven, the man who'll rule everything..."(Tendou Souji)
YourBunnyWrote Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 "Jasan", , ещё раз перечитал твой первый пост. Ты же хочешь открыть ту же дверь, которая тебе задаёт вопросы, так? Тогда так: ScriptName WCArchivSecretDoor01 short Button short Question short Countmistakes Begin OnActivate If Countmistakes < 7 Set Question to 1 EndIf End Begin GameMode If Question == 0 Return ElseIf Question == 1 MessageBox "Введите первое число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 3 ; Здесь поставить номер правильного ответа Set Question to 2 ; В случае правильного ответа переходим к следующему вопросу Set Countmistakes to countmistakes + 1 Else Set Question to 2 EndIf ElseIf Question == 2 MessageBox "Введите второе число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 7 ; Здесь поставить номер правильного ответа Set Question to 3 ; В случае правильного ответа переходим к следующему вопросу Set Countmistakes to countmistakes + 1 Else Set Question to 3 EndIf ElseIf Question == 3 MessageBox "Введите третье число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 5 ; Здесь поставить номер правильного ответа Set Question to 4 ; В случае правильного ответа переходим к следующему вопросу Set Countmistakes to countmistakes + 1 Else Set Question to 4 EndIf ElseIf Question == 4 MessageBox "Введите четвертое число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 4 ; Здесь поставить номер правильного ответа Set Question to 5 ; В случае правильного ответа переходим к следующему вопросу Set Countmistakes to countmistakes + 1 Else Set Question to 5 EndIf ElseIf Question == 5 MessageBox "Введите пятое число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 3 ; Здесь поставить номер правильного ответа Set Question to 6 ; В случае правильного ответа переходим к следующему вопросу Set Countmistakes to countmistakes + 1 Else Set Question to 6 EndIf ElseIf Question == 6 MessageBox "Введите шестое число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 4 ; Здесь поставить номер правильного ответа Set Question to 4 ; В случае правильного ответа переходим к следующему вопросу Set Countmistakes to countmistakes + 1 Else Set Question to 7 EndIf ElseIf Question == 7 MessageBox "Введите седьмое число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 9 ; Здесь поставить номер правильного ответа set countmistakes to countmistakes + 1 If Countmistakes >= 7 Set Question to 0 Activate EndIf Else Cast WCArchivDoorTrap Player EndIf EndIf End Всё провисло и болтается.
neamteam Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 Здравствуйте все.Я новичок в плагиностроении Oblivion.Мой персонаж вампир и постоянно напрягает залазить кому то в дом и пить крови.Я знаю что кровь в бутылках тоесть Человеческая Кровь жажду не уталяет.Хочеться сделать плагин тоесть реальную кровь в бутылках которая бы уталяла жажду моего вампира.Те кто может помочь пожалуйста напишите на phoenix1607@russia.ru или отпишитесь здесь.
YourBunnyWrote Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 'The сказал(-а): При поднятии предмета (в данном случае меча) появляется сообщение "текст". ScriptName Trololo Begin OnAdd Message "текст" End 'The сказал(-а): Так-же при поднятии предмета должно появлятся малое заклинание, но что-бы одновременно с этим меч был зачарован. Появляться у кого? У игрока? 'The сказал(-а): Нужно что-бы при попадании заклинания в противника он застывал в воздухе (не падал как при параличе) Это противоречит законам физики 'The сказал(-а): а поверх него появлялась декорация льда Одними шейдерами тут не отделаться... 'The сказал(-а): Это должно длится 10 секунд, и при этом противнику должен наносится урон в 5 едениц каждую секунду. Стандартный магический эффект "Урон холодом", по моему тебе подходит. Дополнительные скрипты не нужны. Всё провисло и болтается.
Jasan Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 YourBunnyWrote, все равно зацикливается 7 вопрос((
Myyrn Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 ElseIf Question == 7 MessageBox "Введите седьмое число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 9 ; Здесь поставить номер правильного ответа set countmistakes to countmistakes + 1 Set Question to 0 If Countmistakes >= 7 Activate EndIf Else Cast WCArchivDoorTrap Player Set Question to 0 EndIf EndIf А если седьмой блок сделать таким?
The next Decade Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 Да, заклинание должно появлятся у игрока. "Walking the path of Heaven, the man who'll rule everything..."(Tendou Souji)
TonyWalker Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 как зделать из тяжёлой брони лёгкую?
neamteam Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 по моему вопросу может кто помоч ? я думаю чтобы создать бутылку со скриптом утоления жажды вампиризма.Никто не поможет где можно откопать этот скрипт ? ну или написать мне) очень нужна помощь !)TonyWalker Можно в Конструкторе сделать.Заходишь в броню в редакторе и выбираешь заместо Heavy - Light
TonyWalker Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 спс всё зделал забыл просто плаг зделать активным в кострукторе))
Jasan Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 'Myyrn' сказал(-а): ElseIf Question == 7 MessageBox "Введите седьмое число", "1", "2", "3", "4", "5", "6", "7", "8", "9" Set Button to GetButtonPressed If Button == 9 ; Здесь поставить номер правильного ответа set countmistakes to countmistakes + 1 Set Question to 0 If Countmistakes >= 7 Activate EndIf Else Cast WCArchivDoorTrap Player Set Question to 0 EndIf EndIf А если седьмой блок сделать таким? Не зацикливается, но всегда срабатывает ловушка, даже при правильном ответе Почему то условие неправильность проскакивает между 6 и 7 вопросом. Т.е. после ответа на 6 вопрос выскакивает ловушка, появляется 7 вопрос, а потом ГГ убивает ловушка)
Myyrn Опубликовано 13 августа, 2011 Опубликовано 13 августа, 2011 Понимаю. Проблема в том, что нельзя ухватить фрейм и получается, что button = -1 и ловушка срабатывает. If Button == 9 ; Здесь поставить номер правильного ответа set countmistakes to countmistakes + 1 Set Question to 0 If Countmistakes >= 7 Activate EndIf Else if ( button > -1) Cast WCArchivDoorTrap Player Set Question to 0 endif EndIf Цитатакак зделать из тяжёлой брони лёгкую? Почитай туториалы по предметам. Цитатапо моему вопросу может кто помоч ? я думаю чтобы создать бутылку со скриптом утоления жажды вампиризма.Никто не поможет где можно откопать этот скрипт ? ну или написать мне) очень нужна помощь !) Поковыряйся в скриптах с меткой vampire. Кажется, просто удаляются мощные стадии вампиризма и добавляется слабая(айди, вроде, vampire25 и пр.).
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти