Скрипт для NVL-режима новеллы «Вопрос» (NVL-mode script for The Question)

Материал из Ren'Py Wiki
Перейти к навигации Перейти к поиску

Из дистрибутива Ren'Py возьмите визуальную новеллу «Вопрос» и замените содержимое файла script.rpy следующим кодом. Кроме того, этот скрипт использует фоновое изображение под названием nvl_window.png, доступное здесь.

# Объявите изображения, используемые в этой игре.
image bg lecturehall = "lecturehall.jpg"
image bg uni = "uni.jpg"
image bg meadow = "meadow.jpg"
image bg club = "club.jpg"

image sylvie normal = "sylvie_normal.png"
image sylvie giggle = "sylvie_giggle.png"
image sylvie smile = "sylvie_smile.png"
image sylvie surprised = "sylvie_surprised.png"

image sylvie2 normal = "sylvie2_normal.png"
image sylvie2 giggle = "sylvie2_giggle.png"
image sylvie2 smile = "sylvie2_smile.png"
image sylvie2 surprised = "sylvie2_surprised.png"

# Объявите персонажей
define s = Character(None, kind=nvl, what_prefix="\"", what_suffix="\"",
                     what_color="#c8ffc8")
define m = Character(None, kind=nvl, what_prefix="\"", what_suffix="\"",
                     what_color="#ffc8c8")
define narrator = Character(None, kind=nvl)

# Конфигурация NVL
init python:
    menu = nvl_menu

    # Цвет выбора пункта меню, когда на него не наведен курсор.
    style.nvl_menu_choice.idle_color = "#ccccccff"

    # Цвет выбора пункта меню, когда на него наведен курсор.
    style.nvl_menu_choice.hover_color = "#ffffffff"

    # Цвет фона выбора пункта меню, когда на него
    # не наведен курсор.
    style.nvl_menu_choice_button.idle_background = "#00000000"

    # Цвет фона выбора пункта меню, когда на него
    # наведен курсор.
    style.nvl_menu_choice_button.hover_background = "#ff000044"

    # Как далеко выбор пункта меню смещен от левого края экрана.
    style.nvl_menu_choice_button.left_margin = 20

    style.nvl_window.background = "nvl_window.png"
    style.nvl_window.xpadding = 55
    style.nvl_window.ypadding = 55

    config.empty_window = nvl_show_core
    config.window_hide_transition = dissolve
    config.window_show_transition = dissolve


# Игра начинается здесь.
label start:

    $ bl_game = False

    play music "illurock.ogg"

    scene bg lecturehall
    with fade

    window show

    "Ну, лекция профессора Эйлин была увлекательной, но, честно говоря,
     я не мог сосредоточиться на ней."

    "Моя голова была занята другими мыслями и все они сводились к одному
     вопросу."

    "Вопросу, который я хотел задать кое-кому."

    window hide
    nvl clear

    scene bg uni
    with fade
    window show

    "Когда мы вышли из университета, я увидел её."

    window hide
    show sylvie normal
    with dissolve
    window show

    "Она была замечательным человеком. Я знаю её с тех пор, как мы были детьми,
     и она всегда была хорошим другом."

    "Но... В последнее время... Я думаю..."
    "...что я хочу большего."

    "Больше, чем просто разговаривать... Больше, чем просто вместе ходить домой
     после занятий."

    menu:
        "И я решил..."

        "...спросить её прямо сейчас.":

            jump rightaway

        "...спросить её позже.":

            jump later


label rightaway:

    nvl clear

    show sylvie smile

    s "О, привет. Пойдём домой вместе?"
    m "Да..."
    "Я сказал это с дрожью в голосе."

    nvl clear

    window hide
    scene bg meadow
    with fade
    window show

    "Мы дошли до луга недалеко за пределами нашего родного города. Осень в этих местах
     была такой красивой."
    "Когда мы были детьми, мы часто играли здесь."

    m "Эй... Эммм..."

    window hide
    show sylvie smile
    with dissolve
    window show

    "Она обернулась и улыбнулась."
    "Я спрошу её..."
    m "Эмм... Ты согласишься..."
    m "Согласишься быть художником для моей визуальной новеллы?"

    show sylvie surprised

    nvl clear

    "Молчание."
    "Она выглядела потрясено и затем..."

    show sylvie smile

    s "Конечно, но что такое \"визуальная новелла?\""

    menu:

        "Это история с картинками.":
            jump vn

        "Это хентайная игра.":
            jump hentai

label vn:

    nvl clear

    m "Это иллюстрированная история с музыкой. И ты имеешь возможность сделать
       выборы, которые повлияют на исход истории."
    s "Так это как в книгах выбери-своё-приключение?"
    m "Именно! Я планирую создать небольшую романтическую историю. И я подумал, что
       ты могла бы мне помочь... так как я знаю, как ты любишь рисовать."

    show sylvie normal

    s "Ну, я могу попробовать. Надеюсь, что не разочарую тебя."
    m "Ты не можешь разочаровать меня, тебе это известно."

    jump marry

label hentai:

    nvl clear

    $ bl_game = True

    m "Эта игра с большим количеством сексуальных отношений."
    s "Ты имеешь ввиду, как игры про мужскую любовь? Всегда хотела сделать
       такую. Я возьмусь за это прямо сейчас!"

    hide sylvie
    with dissolve

    "..."

    m "Это не то, что я имел в виду!"

    jump marry

label marry:

    window hide
    nvl clear

    scene black
    with dissolve

    "--- Год спустя ---"

    nvl clear

    scene bg club
    with dissolve
    window show

    "И так мы стали командой по разработке визуальных новелл. Мы делали игры и это
     было очень увлекательно."

    if bl_game:
        "Ну, кроме той игры про мужскую любовь, на которой она настояла."

    window hide
    nvl clear

    show sylvie2 normal
    with dissolve
    window show

    "И в один прекрасный день она спросила меня..."

    s "Эй..."
    m "Да?"

    show sylvie2 giggle

    s "Женись на мне!"
    m "Что???"

    show sylvie2 surprised

    s "Ну, разве ты не любишь меня?"
    m "Люблю, конечно."

    nvl clear
    show sylvie2 smile

    s "Видишь? Мы делали романтические визуальные новеллы, проводя
       время вместе, помогая друг другу... и когда ты даришь любовь другим,
       она приходит к тебе самому."
    m "Хмм, хорошая мысль."

    show sylvie2 giggle

    s "Я это только что придумала."
    m "Но всё равно хорошо сказано."

    nvl clear
    show sylvie2 normal

    s "Я знаю. Так, ты женишься на мне?"
    m "Эммм, конечно женюсь. Я и сам всё равно хотела спросит об этом, но
       раз ты подняла эту тему..."
    s "Я знаю, но ты такой нерешительный, и я подумала, что лучше взять
       инициативу в свои руки. "
    m "Полагаю... Всё сводится к тому, чтобы задать правильный вопрос...
       в нужное время."

    show sylvie2 giggle

    s "Верно. А теперь, перестань быть теоретиком и поцелуй меня!"

    nvl clear
    window hide
    scene black
    with dissolve

    "И мы поженились вскоре после этого. Более того, мы создали очень много
     других визуальных новелл. И вместе мы жили долго и счастливо."

    ".:. Хорошая концовка."

    return

label later:

    nvl clear
    window hide

    scene black
    with dissolve

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

    ".:. Плохая концовка."

    return

Источник[править | править код]

Статья "NVL-mode script for The Question" на английском языке.


На главную страницу Официальная документация движка Вернуться к началу статьи