Пользователи · Новые посты · Правила форума · Поиск по форуму · · · Регистрация
Страница 9 из 19«1278910111819»
Форум о визуальных новеллах » Форум о визуальных новеллах » Ren'Py » Помощь по Rep'Py (Вопрос\Ответ)
Помощь по Rep'Py (Вопрос\Ответ)
TERNOXДата: Вторник, 30.09.14, 21:50 | Сообщение # 1
Администратор
Сообщений: 327
Награды: 35
Репутация: 464
Статус: Сейчас на сайте
Сюда пользователи сайта могут писать вопросы о тех или иных функциях движка Ren'Py, а мы попытаемся на них ответить:)


Я у мамы ямаман.
Alex_AppleДата: Пятница, 13.11.15, 16:06 | Сообщение # 121
Проверенный
Сообщений: 33
Награды: 0
Репутация: 3
Замечания: 0%
Статус: Не в сети
ProstoiXXX, Переименуй скрин и используй show вместо call.

Сообщение отредактировал Alex_Apple - Пятница, 13.11.15, 17:51
SteepJoe98Дата: Пятница, 13.11.15, 20:40 | Сообщение # 122
Пользователь
Сообщений: 1
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Не в сети
Всем привет, вот вопрос мучает можно ли сделать новеллу по эпизодам? Прям как Telltale Games любит делать. Если да, то как с сохранением будут обстоять дела?
(зарание спасибо)
Alex_AppleДата: Пятница, 13.11.15, 21:51 | Сообщение # 123
Проверенный
Сообщений: 33
Награды: 0
Репутация: 3
Замечания: 0%
Статус: Не в сети
SteepJoe98, А что с сохранениями? Создать в конце игры фаил с данными с помощью питона. Потом открыть с помощью питона и сохранить в виде переменных. Правда я не знаю можно ли сохранить фаил отдельно от игры, где-нибудь в AppData, а потом его оттуда вычитать. А так придеться игрока просить перекинуть.
ProstoiXXXДата: Четверг, 19.11.15, 14:18 | Сообщение # 124
Проверенный
Сообщений: 6
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Не в сети
Есть маленькая проблема в реализации моего желания:) Помогите пожалуйста.
Вкратце проблема такова:
Создаю комнату, но в ней хочу вывести активны кнопки через картинки(imagebutton). То есть когда игрок заходит в комнату, помимо того что он может путешествовать по текстовым кнопкам(textbutton), он также может путешествовать через картинки.И взаимодействовать с комнатой тоже через картинки.
Про кнопки с изображением взял с ютуба Ссылка на ролик

Код

label home:
    show home at left

    #Действие №1
    $ ui.vbox(xpos=0.1, ypos=0.2)
    $ ui.imagebutton("images/dver.jpg", "images/dver2.jpg", clicked=ui.returns("deystvie_dver"))
    $ ui.close()

    # Действие №2
    $ ui.vbox(xpos=0.5, ypos=0.5)
    $ ui.imagebutton("images/krovat.jpg", "images/krovat2.jpg", clicked=ui.returns("deystvie_krovat"))
    $ ui.close()

    $ result = ui.interact()
            
    if result == "deystvie_dver":
        jump kitchen
    if result == "deystvie_krovat":
        jump krovat

    screen home:
        fixed:
            text 'Ваша комната.' xalign 0.0 yalign 1.0 style style.description
            textbutton 'Кухня' xalign 0.05 yalign 0.4 action Function(move, 'kitchen')
            textbutton 'Спальня' xalign 0.05 yalign 0.5 action Function(move, 'bedroom')
            textbutton 'Ванная' xalign 0.45 yalign 0.3 action Function(move, 'bathroom')
            textbutton 'Улица' xalign 0.7 yalign 0.85 action Function(move, 'street')
    call screen home


При клику по первом действие, ГГ переходит в кухню, при клике на втором действие, герой дожиться спать. Сами кнопки(imagebutton) работают, и перекидывают куда надо. Но возникла проблема:
Не показывается, то что ниже screen home. То есть на экран выводяться только imagebutton, а textbutton не выводяться. При попытке разместить код imagebutton в screen home выдает море ошибок.
Alex_AppleДата: Четверг, 19.11.15, 14:55 | Сообщение # 125
Проверенный
Сообщений: 33
Награды: 0
Репутация: 3
Замечания: 0%
Статус: Не в сети
ProstoiXXX, Мне лень проверять. Попробуй скрин и call поставить выше. После show home at left.
Alex_AppleДата: Четверг, 19.11.15, 15:49 | Сообщение # 126
Проверенный
Сообщений: 33
Награды: 0
Репутация: 3
Замечания: 0%
Статус: Не в сети
Неудержался и проверил. После чего у меня перестали отбражаться imagebutton. Исправил сменой call screen home на show screen home. Далее нашел такую проблему. При активации текстовых кнопок всё врем кидает на следующий label, то есть кнопка тупо не работает. Исправил так:
Код
textbutton 'Кухня' xalign 0.05 yalign 0.4 action Jump('kitchen')
            textbutton 'Спальня' xalign 0.05 yalign 0.5 action Jump('bedroom')
            textbutton 'Ванная' xalign 0.45 yalign 0.3 action Jump('bathroom')
            textbutton 'Улица' xalign 0.7 yalign 0.85 action Jump('street')

Хотя возможно это только у меня такая проблема.
ProstoiXXXДата: Четверг, 19.11.15, 16:37 | Сообщение # 127
Проверенный
Сообщений: 6
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Не в сети
Alex_Apple если через jump делать, то как привязать к этому переменные? При переходе из комнаты в комнату тратиться время и энергия. Просто предыдущий вариант работал.
Код
label dr_spalnya:
    scene bg dr_spalnya:
        xalign 0.5
        yalign 0.0
    show levo at left
    show pravo at right
    show niz at center

    screen dr_spalnya:
        fixed:
            
            text "Спальня." xalign 0.30 yalign 0.80
            textbutton "Кухня" xalign 0.20 yalign 0.01 action Function(move, "dr_kuchnya")
            textbutton "Спальня" xalign 0.30 yalign 0.01 action Function(move, "dr_spalnya")
            textbutton "Ванная" xalign 0.40 yalign 0.01 action Function(move, "dr_vanna")
            textbutton "Детская" xalign 0.50 yalign 0.01 action Function(move, "dr_komnata")
            textbutton "Гостинная" xalign 0.60 yalign 0.01 action Function(move, "dr_gostinnaya")
            textbutton "Прихожая" xalign 0.70 yalign 0.01 action Function(move, "dr_prichojaya")
            textbutton "Улица" xalign 0.80 yalign 0.01 action Function(move, "dr_ulica")
    call screen dr_spalnya

У меня вот допустим этот код работает на ура, а с имейджботтон проблемы


Сообщение отредактировал ProstoiXXX - Четверг, 19.11.15, 16:37
Alex_AppleДата: Четверг, 19.11.15, 19:02 | Сообщение # 128
Проверенный
Сообщений: 33
Награды: 0
Репутация: 3
Замечания: 0%
Статус: Не в сети
ProstoiXXX, Если у тебя работает, то зачем менять? Оставляй. Просто у меня не работает. Возможно по причине отсутвтвия какой-то другой важной части кода. Или еще чего-нибудь.
Скажу только что textbutton должен идти перед imagebutton и вызываться через show, а не call. Потому-что код после imagebutton не будет выполняться. А call вызывает screen (или label) и работает до комманды return. После этого он возврачается на место на котором был вызван и продолжает код. А show просто показывает screen.
ProstoiXXXДата: Четверг, 19.11.15, 21:47 | Сообщение # 129
Проверенный
Сообщений: 6
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Не в сети
Алекс подсказали) просто по другому имиджботоны задавать надо было:)
Но возник новый вопрос:) Как сделать время?
В моей голове он выглядит так.
Код
if minuta >= 60:
    minuta -= 60
    hour += 1    

if hour >= 24:
    hour -= 24
    weekday += 1
    number += 1

if weekday >= 8:
    weekday -= 7

if number >= 31:
    number -= 30
    month += 1

if month >= 13:
    month -= 12
    year += 1

Теперь только понять бы, правильно я себе его представляю или нет)? И куда переменные с названием месяцев и дней недели писать надо)
BradartДата: Суббота, 21.11.15, 04:22 | Сообщение # 130
Пользователь
Сообщений: 2
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Не в сети
Доброго времени суток.
smile_13
Подскажите: возможно ли сделать каким либо образом сохранение прогресса в игре? То есть при прохождении ветки - где то сохранялась информация об этом. smile_57
Иначе говоря: "Чтоб пройти одну ветку, нужно для начала пройти другую или несколько других."

Заранее спасибо.

---------------
Если я правильно понял - необходимо создать глобальную логическую переменную(key), значение которой изначально равно 0. Затем при прохождении ветки меняем на 1 и при прохождении другой ветки проверяем key==1?
Вопрос в том - возможно ли это и если возможно то как?

Добавлено (21.11.15, 04:22)
---------------------------------------------
smile_13 smile_13 smile_13


Сообщение отредактировал Bradart - Суббота, 21.11.15, 04:27
Alex_AppleДата: Суббота, 21.11.15, 11:51 | Сообщение # 131
Проверенный
Сообщений: 33
Награды: 0
Репутация: 3
Замечания: 0%
Статус: Не в сети
Bradart, Ты имеешь ввиду что после прохождения игры с определенной веткой, при начале новой игры будет доступна ранее не доступная ветка?
Создаём переменную в конце ветки.
Код
if persistent.key == None:
    $ persistent.key = True

Ну и проверяем в нужных местах.
Alex_AppleДата: Суббота, 21.11.15, 11:54 | Сообщение # 132
Проверенный
Сообщений: 33
Награды: 0
Репутация: 3
Замечания: 0%
Статус: Не в сети
ProstoiXXX, У тебя же есть пример с вики, ты забыл про что не все месяцы равны 31 дню, а еще ты забыл про високосные и не високосные годы. Если только у тебя фэнтези мир. Переменные с месяцами и днями недели можешь писать там же где и код проверки.
Я бы использовал код с вики. Его только исправить, чтобы месяцы и годы менялись и информацию как надо показывал.


Сообщение отредактировал Alex_Apple - Суббота, 21.11.15, 11:56
BradartДата: Суббота, 21.11.15, 12:51 | Сообщение # 133
Пользователь
Сообщений: 2
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Не в сети
Alex_Apple, Спасибо огромное! Не мог разобраться.)
happy funny

Добавлено (21.11.15, 12:51)
---------------------------------------------
smile_27 Работает!!! Это всё меняет на корню! smile_39

ProstoiXXXДата: Воскресенье, 22.11.15, 02:03 | Сообщение # 134
Проверенный
Сообщений: 6
Награды: 0
Репутация: 0
Замечания: 0%
Статус: Не в сети
Господа вопрос опять по часам и времени. За образец брал статью на Вике.Ссылка на часы в Вике

Создаю файл Vremya.rpy. Код который в файле, под спойлером.


Потом в label start создаю переменные.
Код

    $ minutes = 750#must be initially defined.
    $ clock = True#make false to hide the calendar
    $ theweekday = 3#tuesday, the number of the weekday, this automatically changes but must be initially assigned
    $ themonth = 9#september, the number of the month, this automatically changes but must be initially assigned
    $ theday = 21#this automatically changes but must be initially assigned
    $ theyear = 2010#this automatically changes but must be initially assigned
    $ dayofyear = 264#you must calculate this properly, this automatically changes
    $ yearlim = 365#initially define it as 265 or 366, whichever is correct, this gets changed automatically later
    $ daylim = 30#initially define it as 28, 29, 30, or 31, whichever is correct, this gets changed automatically later
    $ stringweekday = "Tuesday"#3, the string of the weekday, this automatically changes but must be initially assigned
    $ stringmonth = "September"#9, the string of the month, this automatically changes but must be initially assigned


Потом через init такую часть кода, чтоб выводить на экран время с календарем.
Код

init:
    screen vremya:
        if(clock):
            $ Calendar()
            $ Clocks()


Потом через label start вывожу время.
Код

label start:
    show screen vremya

Все работает, все великолепно. Время двигаю вот таким способом $ minutes +=15. То есть когда код выгляди как ниже, все работает. Крутиться часы, дни, недели, месяцы и годы.
Код

label proverka:
    '1'
    $ minutes += 30
    '2'
    $ minutes += 30
    '3'
    $ minutes += 30

Но после этого возникает проблема. Я создал локации, и они прекрасно работают. Чтоб перемещаться между ними textbutton Как я это реализовал, описано кодом ниже.
Код

label dr_kuchnya:
    scene bg dr_kuchnya
    screen dr_kuchnya:
        fixed:
            text 'Кухня.' xalign 0.30 yalign 0.80
            textbutton 'Кухня' xalign 0.01 yalign 0.01 action Function(move, 'dr_kuchnya')
            textbutton 'Поесть' xalign 0.4 yalign 0.6 action [Function(move, 'dr_kuchnya')]
            textbutton 'ПРОВЕРКА' xalign 0.5 yalign 0.5 action Jump('proverka')
            textbutton 'Спальня' xalign 0.01 yalign 0.06 action Function(move, 'dr_spalnya')
            textbutton 'Ванная' xalign 0.01 yalign 0.11 action Function(move, 'dr_vanna')
            textbutton 'Детская' xalign 0.01 yalign 0.16 action Function(move, 'dr_komnata')
            textbutton 'Гостинная' xalign 0.01 yalign 0.21 action Function(move, 'dr_gostinnaya')
            textbutton 'Прихожая' xalign 0.01 yalign 0.26 action Function(move, 'dr_prichojaya')
            textbutton 'Улица' xalign 0.01 yalign 0.31 action Function(move, 'dr_ulica')
    call screen dr_kuchnya

Функция [b]move [/b ]выглядит так.
Код

init -1 python:
    def move(where):
            global energy, minutes
            energy -= 1
            minutes += 30
            renpy.jump(where)

То есть при перемещение по комнатам, каждый раз прибавляется 30 минут, и это тоже все прекрасно работает. Но есть проблема. Сутки не обновляется. То есть после 12:59PM, не происходит прыжок к 1:00АМ, а продолжает крутить PM. То есть вначале 18:00PM потом и 42:00РМ и так далее. Подскажите как это прекратить? Как сделать обновления суток?
Alex_AppleДата: Воскресенье, 22.11.15, 04:17 | Сообщение # 135
Проверенный
Сообщений: 33
Награды: 0
Репутация: 3
Замечания: 0%
Статус: Не в сети
ProstoiXXX, Странно это. Я долго думал и решил, что если через def не изменяется то надо подругому.
И так для начала:
Код
label move:
    $ energy -= 1
    $ minutes += 30
    return

Затем:
Код
            textbutton 'Кухня' xalign 0.01 yalign 0.01 action ui.callsinnewcontext('move'), Jump('dr_kuchnya')
            textbutton 'Поесть' xalign 0.4 yalign 0.6 action ui.callsinnewcontext('move'), Jump ('dr_kuchnya')
            textbutton 'ПРОВЕРКА' xalign 0.5 yalign 0.5 action Jump('proverka')
            textbutton 'Спальня' xalign 0.01 yalign 0.06 action ui.callsinnewcontext('move'), Jump ('dr_spalnya')
            textbutton 'Ванная' xalign 0.01 yalign 0.11 action ui.callsinnewcontext('move'), Jump ('dr_vanna')
            textbutton 'Детская' xalign 0.01 yalign 0.16 action ui.callsinnewcontext('move'), Jump ('dr_komnata')
            textbutton 'Гостинная' xalign 0.01 yalign 0.21 action ui.callsinnewcontext('move'), Jump ('dr_gostinnaya')
            textbutton 'Прихожая' xalign 0.01 yalign 0.26 action ui.callsinnewcontext('move'), Jump ('dr_prichojaya')
            textbutton 'Улица' xalign 0.01 yalign 0.31 action ui.callsinnewcontext('move'), Jump ('dr_ulica')
Форум о визуальных новеллах » Форум о визуальных новеллах » Ren'Py » Помощь по Rep'Py (Вопрос\Ответ)
Страница 9 из 19«1278910111819»
Поиск: