Перейти к содержанию
АнимеФорум

Рекомендуемые сообщения

Опубликовано
Это-то да. Но как добиться NVL-диалога в ADV-режиме? Не переключаться, а именно совместить. Или просто ужать NVL-окошко до небольшой области в нижней части экрана (это как-то костыльно)?
  • Ответов 1 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

Опубликовано

Показать варианты ответов на вопрос в текстовом окне можно. Для этого необходимо в файле screens.rpy после метки screen choice найти строку

init -2 python:
   config.narrator_menu = True

и заменить значение на False

init -2 python:
   config.narrator_menu = False

 

Текст вопроса можно показывать в этом же окне

menu:
   "Вопрос?"
   "Ответ":
       pass

 

 

Руководство по настройке внешнего вида окна в режиме NVL - http://lemmasoft.ren...hp?f=51&t=17232

Опубликовано (изменено)

Замена True на False не помогла: получилось так, что если вопрос никто не задаёт — narration, — то он отображается как centered. Если же его задаёт кто-то конкретный, то всё остаётся как было.

За ссылку спасибо, прочитаю.

 

UPD: Почитал. В целом, рассказывается то же, что на wiki, хотя и более цельно, а не кусками. В любом случае, большую часть знал. Однако спасибо.

Решив, что стандартными средствами оно либо делается хитро, либо я дурак, решил попробовать покурить функции интерфейса (UI Functions).

Изменено пользователем Heimdallr (смотреть историю редактирования)
Опубликовано (изменено)
Они делают то же самое. Скрины это собственно удобная обёртка над классом ui, единственным методом которого теперь имеет смысл пользоваться - ui.interact(). Изменено пользователем Элионт (смотреть историю редактирования)
Опубликовано

Так должно работать

screen choice:

   window: 
       style "menu_window"        
       #xalign 0.5
       #yalign 0.5
       
       vbox:
           style "menu"
           spacing 2
           
           for caption, action, chosen in items:
               
               if action:  
                   
                   button:
                       action action
                       style "menu_choice_button"                        

                       text caption style "menu_choice"
                   
               else:
                   text caption style "menu_caption"

init -2 python:
   config.narrator_menu = False
   
   #style.menu_window.set_parent(style.default)
   #style.menu_choice.set_parent(style.button_text)
   #style.menu_choice.clear()
   #style.menu_choice_button.set_parent(style.button)
   #style.menu_choice_button.xminimum = int(config.screen_width * 0.75)
   #style.menu_choice_button.xmaximum = int(config.screen_width * 0.75)
   style.menu_choice.color = "#0ff"   # цвет варианта ответа
   style.menu_choice.hover_color = "#00f"   # цвет отмеченного варианта ответа
   style.menu_choice.size = 32    # размер варианта ответа

Опубликовано
Они делают то же самое. Скрины это собственно удобная обёртка над классом ui, единственным методом которого теперь имеет смысл пользоваться - ui.interact().
Понимаю. Потому к ним и обращаюсь: спустился на уровень ниже.
Так должно работать
Уже лучше. Хотя теперь весь текст оказывается посреди экрана, а не в той же части, где . Да и работает лишь если вопрос задаёт narration, а не конкретный персонаж (в этом случае поле разделяется на два: среднее с вариантами ответа и "дефолтное" с репликой и именем).
Опубликовано (изменено)

Уже лучше. Хотя теперь весь текст оказывается посреди экрана, а не в той же части, где . Да и работает лишь если вопрос задаёт narration, а не конкретный персонаж (в этом случае поле разделяется на два: среднее с вариантами ответа и "дефолтное" с репликой и именем).

 

Так оно и должно работать поумолчанию. Для того, чтобы что-то изменить, нужно модифицировать экран меню (кстати, чтобы окно меню было внизу экрана надо удалить или откомментировать две строки, которые задают позицию окна - как в моем примере).

Изменено пользователем Алекс__ (смотреть историю редактирования)
Опубликовано

Здраствуйте! Только начал учить данный движок, и при написании первого скрипта возникла проблема:

Указывает на 4 строчку и пишет ошибку:

File "game/script.rpy", line 15: Tab characters are not allowed in Ren'Py scripts.

Вот сам код скрипта:

init:
# sprites
#bill
image billsilent="Images\Personage\Bill\silent.png"
image billtalk="Image\Personage\Bill\talk.png"
image billuff="Image\Personage\Bill\uff.png"
image billagr="Image\Personage\Bill\agr.png"
#backgrounds
image bg_graveyard="/Image/Backgrounds/graveyard.png"
#variebles
$y=u"Ты"

label start:	
menu:
	"Открыв глаза, вы увидели не то что ожидали"
	"Далее":
		"Вы окружены тьмой и ничего не видите вокруг себя, вы не знаете что делать"
		"Позвать кого-то":
			"Есть тут кто нибуть!!?"
			"Ауу!!"
u"Неизвестный голос"""

Буду благодарен за ответы

Опубликовано

У вас проблемы с пробелами, они очень большие и реплики выходят из блока Init.

Вот пример решения проблемы:

image hay1 = "image/hayame/hay1.png"
   image hay2 = "image/hayame/hay2.png"
   image hay3 = "image/hayame/hay3.png"
   image hay4 = "image/hayame/hay4.png"
   image hay5 = "image/hayame/hay5.png"
#Объявление персонажей.
   $ m = DynamicCharacter(u"na")
   $ e = Character(u'Элис')
   $ n = Character(u'Нека')
   $ na = u""
#Объявление NVL компонентов.
   $ config.adv_nvl_transition = dissolve
   $ config.nvl_adv_transition = dissolve
   $ el = NVLCharacter(u'Элис', kind=nvl)
   $ ne = NVLCharacter(u'Мать Элис', kind=nvl)
label start:
   $ renpy.music.stop(fadeout=1)
   scene road
   "Это был самый обычный день из моей жизни, как..."
   voice "nya.wav"
   show el1
   e "Приветствую, житель Земли."
   e "Я первая посланница с планеты Коттия, и меня зовут Элис!"
   e "Сейчас я готова пообщаться, а ты?"
   e "Ой, я совсем забыла спросить твоё имя."
   $ na = renpy.input(u"Подождите-ка... а как меня зовут?", u"", length=10)
   if na=="":
       $na = u"Николас"
   m "Да, меня зовут %(na)s."
   e "Привет %(na)s, рада познакомиться, а ты?"
   menu:
            "Чёрт что же мне ответить?"
            "Что здесь происходит?":
               jump what
            "Тоже рад, так необычно.":
               jump go
      
label what:    
   m "Кто ты такая, и что тебе от нас нужно..."
   "Я заметил проезжающую неподалёку машину и бросился к ней, что бы предупредить людей о пришельцах, но..."
   scene bend with dissolve
   "Сильный удар, сначала о капот, затем об асфальт, всё плывёт перед глазами..."
   centered "Вы погубили своего героя, попробуйте пройти снова, возможно вам понравится."
   centered ".:.Ending1:Простая концовка-Под колёсами.:."
   return

Опубликовано

какой редактор лутше использовать для написания скриптов кроме стандартного?

Согласен с предложившим Notepad++. Хотя там надо настраивать РенПаевский синтаксис и для этого нужно лезть на официальный форум. Мне было лень, скажу честно. И там по умолчанию тоже ставится табуляция, а не четыре пробела (это можно сменить в настройках) при переходе на новую строку.

 

Если что, можно поиграться и с настройками Editra (стандартного редактора). Например, View -> Editor -> Indentation Guides позволяет включить отображение "уровней" — где четыре пробела, где восемь, двенадцать и так далее.

Буду благодарен, если кто-нибудь подскажет как в нём включить перенос строк, чтобы они не вылезали за границу экрана.

Опубликовано

Думаю, конечно, что ляпну глупость, но... Ребята, кто знает, есть практическая возможность интегрировать в "Питоновский" скрипт код с паскаля? Просто в новый язык, мне кажется, я долго въезжать буду, если это с толком, с расстановкой делать. Есть мысль квест сделать, вроде "Шороха" или "Проклятия Египта", только более разветвлённый. Почему на Рен-Пай? Лишнюю писанину по событиям вроде реплик или смены сцен на себя берёт. И за менюшки тоже спасибо. Остаются только мини-игры, да концепция перемещений. С концепцией перемещений опять можно к возможностям движка обратиться, а вот мини-игры, по-моему, лучше писать на Паскале, или языке, к нему близком.

 

И ещё. Иногда голова абсолютно не хочет варить по-английски (не поддерживает свою хозяйку в идее об самовоспитании!), а моя версия (6.15.7) не переведена вместе с демкой (на локализацию интерфейса, я думаю, всем порядочным grafic-novel-maker'ам глубоко по барабану), отсюда вопрос. Нужно ли доставать демку из архива с версией 6.9.3, или есть локализации демок из более свежих версий?

Опубликовано

И ещё. Иногда голова абсолютно не хочет варить по-английски (не поддерживает свою хозяйку в идее об самовоспитании!), а моя версия (6.15.7) не переведена вместе с демкой (на локализацию интерфейса, я думаю, всем порядочным grafic-novel-maker'ам глубоко по барабану), отсюда вопрос. Нужно ли доставать демку из архива с версией 6.9.3, или есть локализации демок из более свежих версий?

У меня, например, есть renpy-6.13.12, которую я, используя хитрость, смог русифицировать.

К сожалению, начиная с версии 6.14 моя Win-XP уже не запускает, поэтому могу предложить только эту версию.

Опубликовано (изменено)

У меня, например, есть renpy-6.13.12, которую я, используя хитрость, смог русифицировать.

К сожалению, начиная с версии 6.14 моя Win-XP уже не запускает, поэтому могу предложить только эту версию.

 

Кстати, у меня тоже ХР, может это с отдельными версиями проблема?

 

Домо аригато за предложение! Посмотрю.

 

В прошлый раз вырубилась почти сразу, как отправила, честно говоря, не ждала подобной скорости отзыва. Спасибо тоже и за это!

Изменено пользователем Марго-Анимешница (смотреть историю редактирования)
Опубликовано

В прошлый раз вырубилась почти сразу, как отправила, честно говоря, не ждала подобной скорости отзыва. Спасибо тоже и за это!

:lol: Да это просто у меня этот форум всегда под рукой...

Домо аригато за предложение! Посмотрю.

А что значит "Посмотрю"? Может скинуть его для этого?

Опубликовано (изменено)

*вопрос снят* <_<

 

Да, на самом деле, не совсем. Первая часть вопроса осталась нерешённой, также, если вы хотели предложить свою помощь по локализации, лишнего ничего не будет. Тем более, что самая важная часть "туториала" так и осталась на английском.

Изменено пользователем Марго-Анимешница (смотреть историю редактирования)
Опубликовано (изменено)

Да, на самом деле, не совсем. Первая часть вопроса осталась нерешённой, также, если вы хотели предложить свою помощь по локализации, лишнего ничего не будет. Тем более, что самая важная часть "туториала" так и осталась на английском.

Прошу прощение что ввел в заблуждение, но я имел в виду свой собственный вопрос (позже он и был отредактирован и превращен в *вопрос снят* <_<

Изменено пользователем Sicrav (смотреть историю редактирования)
Опубликовано

А у меня свой вопрос, новый. Хочется сделать миниигру в ренпае, чтобы было нужно барабанить по кнопкам (типа Test Your Might из серии игр Mortal Kombat).

Суть такова: есть шкала, которая заполняется от нашего стучания по клавишам. есть некая переменная (например, время или здоровье персонажа, оппавшего в захват), которая быстро уменьшается - примерно 5 единиц в секунду. нужно набить по клавишам и заполнить шкалу раньше, чем здоровье обнулится. Однако стучание по одной клавише должно быть неэффективно, потому что каждое последующее нажатие на эту же клавишу заполняет шкалу всё славбее.

То есть:

1 нажатие кнопки - 3 единицы шкалы

2 нажатие этой кнопки - 2 единицы шкалы

3 и так далее - 1 нажатие.

Для быстрого заполнения шкалы нужно барабанить попеременно на двух клавишах или больше.

 

Ну и как это сделать? планирую сделать эту миниигру в свой боекод, будет вызываться вместо критического удара у врагов - боссов...

Опубликовано (изменено)

Если есть желание, то можете "помучить" вот этот код - http://www.renpy.org...ook/Konami_Code

 

Пример того, как можно сделать нечто подобное без знания программирования:

 

screen my_scr:
   
   timer 1.0 action If(my_timer>1, [setVariable("my_timer", my_timer-1), Return("smth")], Return("loser")) repeat True
   
   text u"время - [my_timer] сек." size 30 color "ff0" xalign 0.0 yalign 0.1
   text u"баллы - [score]" size 40 color "c00" xalign 0.5 yalign 0.1
   text u"повторных нажатий - [counter]" size 20 color "00c"xalign 1.0 yalign 0.1
   

   key "q" action Return("q")
   key "w" action Return("w")
   key "e" action Return("e")
   key "r" action Return("r")
   key "Q" action Return("Q")
   key "W" action Return("W")
   key "E" action Return("E")
   key "R" action Return("R")
   key "й" action Return(u"й")
   key "ц" action Return(u"ц")
   key "у" action Return(u"у")
   key "к" action Return(u"к")
   key "Й" action Return(u"Й")
   key "Ц" action Return(u"Ц")
   key "У" action Return(u"У")
   key "К" action Return(u"К")
       
transform my_transform:
   on show:
       xalign 0.5 yalign 0.5
       alpha 0.0
       parallel:
           linear 0.2 zoom 10.0
       parallel:
           linear 0.1 alpha 1.0
           linear 0.1 alpha 0.0


# The game starts here.
label start:
   $ score = 0
   $ prev_hit = "nothing"
   $ counter = 0
   "Битва!!!!!1111"
   menu fight:
       "Атака":
           "Bum!"
           jump fight
       "Убежать":
           "* что бы убежать надо набрать 100 баллов, быстро нажимая кнопки Й Ц У К попеременно (нажатие одной и той же кнопки подряд дает с каждым разом все меньше и меньше баллов) *"
           
           $ my_timer = 15
           show screen my_scr
           label loop_one:
               $ res = ui.interact()
               if res == "loser":
                   hide screen my_scr
                   $ renpy.pause(0.1, hard=True)
                   "Не удалось убежать..."
                   $ score = 0
                   jump fight
                   
               if res not in u"qwerQWERйцукЙЦУК":
                   $ renpy.pause(0.1, hard=True)
                   jump loop_one
                   
               hide text
               show text("[res]") at my_transform
               
               if res == prev_hit:
                   $ counter += 1
               else:
                   $ prev_hit = res
                   $ counter = 0
                   
               if counter < 3:
                   $ score += (3 - counter)
               $ renpy.pause(0.1, hard=True)
               
               if score > 99:
                   hide screen my_scr
                   $ renpy.pause(0.1, hard=True)
                   $ renpy.pause(0.0, hard=True)
                   $ renpy.pause(0.0, hard=True)
                   jump far_away
                   
               jump loop_one

label far_away:
   "Уфф... убёг..."

Изменено пользователем Алекс__ (смотреть историю редактирования)

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...

Важная информация