одинокий странник Опубликовано 20 апреля, 2011 Жалоба Поделиться Опубликовано 20 апреля, 2011 (изменено) Короче,нужен хитрый скрипт. Есть некая дверь с замком(сам замок на самом деле генератор случайных чисел) №1Дверь№2Замок( генератор случайных чисел)№3Кнопки(5 штук) Надо сделать скрипт для замка и кнопок - чтоб после нажатия на замок он сообщал что надо нажать на правильную кнопку,нажимаем на правильную кнопку,она издаёт звук,потом на замок,он сообщает что можно зайти,если на неправильную он сообщает "Подумай еще!" и меняет правильную кнопку. Скрипт нужен именно такой... Изменено 20 апреля, 2011 пользователем одинокий странник Ссылка на комментарий Поделиться на другие сайты Поделиться
Scarab-Phoenix Опубликовано 20 апреля, 2011 Жалоба Поделиться Опубликовано 20 апреля, 2011 То есть, шанс открыть равен 20%? А для чего такой хитрый замок, который в итоге всё равно взламывается в среднем с пятого нажатия? Ссылка на комментарий Поделиться на другие сайты Поделиться
одинокий странник Опубликовано 20 апреля, 2011 Автор Жалоба Поделиться Опубликовано 20 апреля, 2011 (изменено) То есть, шанс открыть равен 20%? А для чего такой хитрый замок, который в итоге всё равно взламывается в среднем с пятого нажатия? Кто первым выложит скрипт попадает в авторы плагина,для плагина Изменено 20 апреля, 2011 пользователем одинокий странник Ссылка на комментарий Поделиться на другие сайты Поделиться
Цернон Опубликовано 21 апреля, 2011 Жалоба Поделиться Опубликовано 21 апреля, 2011 ну боже скрипт же простейщий ну.Писать мне его правда лень, но опишу что надо.Дверь делаешь активатором, замок располагаешь отдельно. На замок вешаешь скрипт с двумя глобальными переменными, например "unlocked" и "button pressed"Дальше делаешь условия, если "button pressed" = 0 то massege box "выбери кнопку"если "button pressed" = 1 тоесли "unlocked" = 0 то massege box "Подумай еще!"else "Id двери"rotateworld z -90и еще надо ввести одноразовое использование через локальную переменную doonceвсеНа правильную кнопку вешаешь скрипт с условием, если нажата то set "unlocked" 1, playsound "щелк" и set "button pressed" 1на неправильную нопку вешаешь просто: если нажата то playsound "щелк" и set "button pressed" 1 удачи в сборке скрипта Ссылка на комментарий Поделиться на другие сайты Поделиться
Boma Kuro Опубликовано 21 апреля, 2011 Жалоба Поделиться Опубликовано 21 апреля, 2011 На правильную кнопку вешаешь скрипт с условием, если нажата то set "unlocked" 1, playsound "щелк" и set "button pressed" 1на неправильную нопку вешаешь просто: если нажата то playsound "щелк" и set "button pressed" 1Как я понял, ему нужно, что бы правильная кнопка каждый раз выбиралась произвольно.То есть нужна еще одна глобальная переменная, каждый раз (при активации занка и "button pressed" == 0 ) устанавливаемая в рандомное число от одного до пяти. И в скрипт каждой кнопки записать условие проверки соответствия заданной цифры - номера кнопки - этой глобальной переменной. Ссылка на комментарий Поделиться на другие сайты Поделиться
Lanc Опубликовано 21 апреля, 2011 Жалоба Поделиться Опубликовано 21 апреля, 2011 (изменено) begin blablabla short chance set chance to random (11) if ( OnActivate == 1 ) if ( chance < 3 ) Activate else messagebox "blabla" return endif endif end вот шаблон скрипта от wierdoman. С ним можно поизвращаться Изменено 21 апреля, 2011 пользователем Lanc Ссылка на комментарий Поделиться на другие сайты Поделиться
одинокий странник Опубликовано 21 апреля, 2011 Автор Жалоба Поделиться Опубликовано 21 апреля, 2011 Поправка,я в скриптах нуб,выложите пжалуйста скрипт полностью как в первом посте написано. Ссылка на комментарий Поделиться на другие сайты Поделиться
lost81 Опубликовано 19 мая, 2011 Жалоба Поделиться Опубликовано 19 мая, 2011 (изменено) Для обычной двери, без всяких замков(посмотри, может хватит и этого) Begin 1_Lost_Door_Locked1Act ;Скрипт написан lost81 для одинокий странник ;Скрипт вешается на дверь ;Для проверки случайного значения, которе было сгенегировано необходимо убрать ";" ;во втором блоке if/endif перед MessageBox верная кнопка будет та, № которой = показанному значению + 1 short LTDone short LTButton short LTEquality short LTRandom if ( OnActivate == 1 ) if ( LTDone == 0 ) MessageBox "Для открытия замка вам нужно нажать одну из 5 кнопок, в случае удачного исхода дверь откроется, в случае ошибки код сменится" "Кнопка 1" "Кнопка 2" "Кнопка 3" "Кнопка 4" "Кнопка 5" Set LTDone to 1 endif endif if ( LTDone == 1 ) Set LTRandom to Random, 5 ; MessageBox "LTRandom присвоено значение %g", LTRandom Set LTDone to 2 endif if (LTDone == 3) if ( LTEquality == LTRandom ) MessageBox "Получилось!" Activate Set LTDone to 0 else MessageBox "Попробуй еще раз" Set LTDone to 0 endif endif if ( LTDone == 2 ) Set LTButton to GetButtonPressed if ( LTButton == -1 ) Return elseif ( LTButton == 0 ) PlaySound, "Item Ring Up" Set LTEquality to 0 Set LTDone to 3 elseif ( LTButton == 1 ) PlaySound, "Item Ring Up" Set LTEquality to 1 Set LTDone to 3 elseif ( LTButton == 2 ) PlaySound, "Item Ring Up" Set LTEquality to 2 Set LTDone to 3 elseif ( LTButton == 3 ) PlaySound, "Item Ring Up" Set LTEquality to 3 Set LTDone to 3 elseif ( LTButton == 4 ) PlaySound, "Item Ring Up" Set LTEquality to 4 Set LTDone to 3 endif endif EndЕсли же использовать несколько объектов(я, кстати, не вижу никакого смысла так усложнять плагин! И, на твоем бы месте, воспользовался бы первым вариантом.) То одним скриптом не обойдешься! Думаю кто-то может предложить варианты и поизящней, но, я сделал так( комментарии что куда цеплять и тд написаны в самих скриптах):Begin 1_Lost_Door_Locked7Act_Glob ;Скрипт написан lost81 для одинокий странник ;Глобальный скрипт. Перед написанием всех скриптов необходимо объявить глобальные ;переменные в Gameplay->Globals...->New Затем задать значения этим переменным. ;LTDoorStasus - глобальная переменная типа short с начальный значением 0 ;LTDoorRandom - глобальная переменная типа short с начальным значением -1 ;Для проверки случайного значения, которе было сгенегировано необходимо убрать ";" ;в первом блоке if/endif перед MessageBox верная кнопка будет та, № которой = показанному значению + 1 short LTDoorEquality if ( LTDoorStasus == 1 ) Set LTDoorEquality to Random, 5 ; MessageBox "Значение LTDoorEquality %g", LTDoorEquality Set LTDoorStasus to 2 endif if ( LTDoorStasus == 3 ) if ( LTDoorRandom == LTDoorEquality ) MessageBox "Верная кнопка, дверь открыта!" Set LTDoorStasus to 4 elseIf ( LTDoorRandom != LTDoorEquality ) MessageBox "Неверная кнопка, код будет изменен! Попробуйте еще раз воспользоваться замком." Set LTDoorRandom to -1 Set LTDoorStasus to 0 endif endif End Begin 1_Lost_Door_Locked7Act_2 ;Скрипт написан lost81 для одинокий странник ;Скрипт вешается на дверь ;LTDoorStasus - глобальная переменная типа short с начальный значением 0 ;LTDoorRandom - глобальная переменная типа short с начальным значением -1 if ( OnActivate == 1 ) if ( LTDoorStasus == 4 ) Activate Set LTDoorRandom to -1 StopScript 1_Lost_Door_Locked7Act_Glob Set LTDoorStasus to 0 else MessageBox "Дверь закрыта, воспользуйтесь замком" endif endif End Begin 1_Lost_Door_Locked7Act_1 ;Скрипт написан lost81 для одинокий странник ;Скрипт вешается на замок (или любой другой активатор) ;LTDoorStasus - глобальная переменная типа short с начальный значением 0 if ( OnActivate == 1 ) if ( LTDoorStasus == 0 ) MessageBox "Для открытия замка вам нужно нажать одну из 5 кнопок, в случае удачного исхода дверь откроется, в случае ошибки код сменится" "Закрыть сообщение" StartScript 1_Lost_Door_Locked7Act_Glob Set LTDoorStasus to 1 endif endif End Begin 1_Lost_Door_Locked7Act_B1 ;Скрипт написан lost81 для одинокий странник ;Скрипт вешается на кнопку №1 с уникальным ID, кнопка жолжна быт активатором. ;LTDoorStasus - глобальная переменная типа short с начальный значением 0 ;LTDoorRandom - глобальная переменная типа short с начальным значением -1 if ( OnActivate == 1 ) if ( LTDoorStasus == 2 ) PlaySound, "Item Ring Up" Set LTDoorRandom to 0 Set LTDoorStasus to 3 endif endif end Begin 1_Lost_Door_Locked7Act_B2 ;Скрипт написан lost81 для одинокий странник ;Скрипт вешается на кнопку №2 с уникальным ID, кнопка жолжна быт активатором. ;LTDoorStasus - глобальная переменная типа short с начальный значением 0 ;LTDoorRandom - глобальная переменная типа short с начальным значением -1 if ( OnActivate == 1 ) if ( LTDoorStasus == 2 ) PlaySound, "Item Ring Up" Set LTDoorRandom to 1 Set LTDoorStasus to 3 endif endif end Begin 1_Lost_Door_Locked7Act_B3 ;Скрипт написан lost81 для одинокий странник ;Скрипт вешается на кнопку №3 с уникальным ID, кнопка жолжна быт активатором. ;LTDoorStasus - глобальная переменная типа short с начальный значением 0 ;LTDoorRandom - глобальная переменная типа short с начальным значением -1 if ( OnActivate == 1 ) if ( LTDoorStasus == 2 ) PlaySound, "Item Ring Up" Set LTDoorRandom to 2 Set LTDoorStasus to 3 endif endif end Begin 1_Lost_Door_Locked7Act_B4 ;Скрипт написан lost81 для одинокий странник ;Скрипт вешается на кнопку №4 с уникальным ID, кнопка жолжна быт активатором. ;LTDoorStasus - глобальная переменная типа short с начальный значением 0 ;LTDoorRandom - глобальная переменная типа short с начальным значением -1 if ( OnActivate == 1 ) if ( LTDoorStasus == 2 ) PlaySound, "Item Ring Up" Set LTDoorRandom to 3 Set LTDoorStasus to 3 endif endif end Begin 1_Lost_Door_Locked7Act_B5 ;Скрипт написан lost81 для одинокий странник ;Скрипт вешается на кнопку №5 с уникальным ID, кнопка жолжна быт активатором. ;LTDoorStasus - глобальная переменная типа short с начальный значением 0 ;LTDoorRandom - глобальная переменная типа short с начальным значением -1 if ( OnActivate == 1 ) if ( LTDoorStasus == 2 ) PlaySound, "Item Ring Up" Set LTDoorRandom to 4 Set LTDoorStasus to 3 endif endif end НАСЛАЖДАЙСЯ! http://fullrest.ru/forum/public/style_emoticons/default/38.gif Изменено 19 мая, 2011 пользователем lost81 Ссылка на комментарий Поделиться на другие сайты Поделиться
одинокий странник Опубликовано 19 мая, 2011 Автор Жалоба Поделиться Опубликовано 19 мая, 2011 НАСЛАЖДАЙСЯ! http://fullrest.ru/forum/public/style_emoticons/default/38.gif Спасибо!Большое!ГИГАНТСКОЕ! Ссылка на комментарий Поделиться на другие сайты Поделиться
lost81 Опубликовано 20 мая, 2011 Жалоба Поделиться Опубликовано 20 мая, 2011 Не за что, если возникнут какие-то нестыковки данного скрипта с твоим геймплейем, пиш -поправлю... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти