Результаты поиска
|
|
#1 | Тема: Работает не с первого раза
Привет, у меня такая проблема, что текст показывается не с первого раза, когда изменяется переменная. Я хочу, чтобы когда список activequests[] содержал 1, то появлялся текст, но проблема в том, что он не появляется с первого раза, когда я перехожу на экран, а когда я его закрываю и захожу снова - он появляется. Как сделать так, чтобы он показывался с первого раза? Код ниже.Код screen mainquestpage():
imagemap: ground "first quest page.png" hotspot (1070, 526, 202, 169) action Hide("mainquestpage")
vbox xpos 100 ypos 100 spacing 30:
if activequests[0] == 1 and questcomp1 == False: text "[questname1]" color '#000000' size 18 text "[questdesc1]" color '#000000' size 18
elif questcomp1: text "[questname1] was completed." color '#000000' size 18
Это экран. А вот quests.rpy: Код # list of all active quests
define activequests = [ None ]
# quest 1
define questname1 = "Helping Part One." define questdesc1 = "Fetch a ball." define questcomp1 = False
Для этого я просто убрал в начале игры из activequests[] None, и потом activequests.append(1), ну и дальше, как видите, проверяю, есть ли там 1.
|
#2 | Тема: 'unicode' object is not callable
Привет всем еще раз, у меня возникла новая, уже непонятная для меня проблема. Если вкратце:
1. Я создал screen mainquestpage на котором располагается картинка во весь экран и кнопка, при нажатии на которую происходит Hide("mainquestpage"). Проверил - все работает, логично, ошибок нет.
2. Я решил показать этот экран не сразу, а после определенного момента игры. Ну и вот прописал всякие 'спец. эффекты', чтобы это выглядело прикольно, ну и вот на этот моменте, собственно, и возникла проблема.
Когда я получил возможность нажать на кнопку, я сразу же решил протестировать и вернуться обратно, ну и при нажатии появился экран, все ок, а потом когда я НАВЕЛ на кнопку, по которой нужно вернуться обратно, у меня вылетела ошибОЧКА: 'unicode' object is not callable
Она указывала на элемент pause 2.0 в скрипте. Ну я и подумал, что он просто второй раз паузу не может нажать, значит, подожду, пока пройдет пауза. Подождал. После еще раз нажал, вышла точно такая же ошибка, но уже на другой кусок кода, последний, там где я поставил $ renpy.pause(hard=True) и пишет, что вот никак не может это сделать. Ну и поменял эту строку на call screen который мне нужно, но он опять выдал ту же самую ошибку, только уже со скрином, и мне втирая, что не может сделать call screen вот никак.
Почитал в инете, там предлагали перезапустить комп, ну и ничего не произошло. Из советов там больше ничего не было, были только другие проблемы других людей. В общем и целом, что делать с такой ошибкой? По какой причине она вообще появляется? Кусок кода я прикрепил ниже.
Код №1: то место, где я показываю screen mainquestpage и где происходит всё это безобразие:
Код # дополнительно поясняю, что сначала там просто шел диалог через "" window hide hide twi1 with dissolve $ questactive1 = True show screen questbutton with dissolve show screen questhint with dissolve pause 2.0 hide screen questhint with dissolve show screen twiroom $ renpy.pause(hard=True)
Код №2: показываю screen questbutton, mainquestpage: Код #mainquestpage screen mainquestpage:
imagemap: ground "questpage.png" hotspot (1070, 526, 202, 169) action Hide("mainquestpage")
imagebutton: xpos 1071 ypos 526 idle "btg.png" hovered "btg hovered.png" action Hide("mainquestpage")
text "Квесты:" color '#000000' size 18 xpos 75 ypos 75
if questactive1 and questcomp1 == False: vbox xpos 100 ypos 100 spacing 30: text "[questname1]" color '#000000' size 18 text "[questdesc1]" color '#000000' size 18
if questcomp1: text "[questname1] выполнен." color '#ffffff' size 18 ypos 200 xpos 200
#questbutton screen questbutton:
imagebutton: xpos 950 ypos 15 idle "qb.png" hover "qb hovered.png" action Show("mainquestpage")
Код №3 (мало ли): показываю screen questhint: Код #questhint screen questhint:
text "Квесты ->" color '#ff0000' size 18 xpos 850 ypos 50
Правка: показываю ошибку с $ renpy.pause(hard=True), которая не только с этой строкой возникает:
Код I'm sorry, but an uncaught exception occurred.
While running game code: File "game/script.rpy", line 192, in script $ renpy.pause(hard=True) File "game/script.rpy", line 192, in <module> $ renpy.pause(hard=True) TypeError: 'unicode' object is not callable
-- Full Traceback ------------------------------------------------------------
Full traceback: File "game/script.rpy", line 192, in script $ renpy.pause(hard=True) File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\ast.py", line 914, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\python.py", line 2028, in py_exec_bytecode exec bytecode in globals, locals File "game/script.rpy", line 192, in <module> $ renpy.pause(hard=True) File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\exports.py", line 1480, in pause rv = renpy.ui.interact(mouse='pause', type='pause', roll_forward=roll_forward) File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\ui.py", line 297, in interact rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\core.py", line 2702, in interact repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs) File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\core.py", line 3515, in interact_core rv = renpy.display.focus.mouse_handler(ev, x, y) File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\focus.py", line 407, in mouse_handler return change_focus(new_focus, default=default) File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\focus.py", line 369, in change_focus rv = widget.focus(default=default) File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\behavior.py", line 819, in focus rv = run(self.hovered) File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\behavior.py", line 320, in run return action(*args, **kwargs) TypeError: 'unicode' object is not callable
Ну вот и все. Спасибо за прочтение, надеюсь на помощь.
Сообщение отредактировал Kostys - Четверг, 30/Апр/2020, 11:20
|
#3 | Тема: 'unicode' object is not callable
Цитата СОНЦЕ ( ) Дошли тентакли до этой проблемы Надеюсь Вы уже ее решили XDно крч вот в чем была загвоздка
Код imagebutton: xpos 1071 ypos 526 idle "btg.png" hovered "btg hovered.png" action Hide("mainquestpage")
команду hovered надо поменять на hover. и впредь быть внимательнее поскольку это похожие по написанию но две разные команды hover - что показывать при наведении на кнопку - тут обычно название картинки в кавычках. для ренпи это тип "unicode" hovered - что выполнить при наведении на кнопку - тут обычно исполняемая команда на манер тех что после action
ну вот ренпи при наведении и попыталась выполнить строчку unicode, чего ее жизнь не учила... Спасибо!
|
#4 | Тема: Показ текста
Привет, у меня вот возник вопрос по поводу показа текста.
Кароч, если вкратце, я решил сделать что-то типа меню квестов, и чтобы там показывался текст названия и описания задания. Но у меня возникла проблема с отображением текста, т.к. если квестов > 1, то нужно размещать следующий квест чуть ниже. Это можно, конечно, сделать вручную, но если у меня будет 20 квестов, то я запарюсь вот это все писать... Есть ли какой то варик создать, например, list, чтобы первая цифра в нем, например, была первым квестом, который отображается самым первым, а потом если добавить еще, то вторая отображалась уже ниже, ну и если убрать самую первую, то остальные тоже сместились выше? Я пока не видел такого урока или хотя бы совета в интернете, поэтому кто знает, подскажите, пожалуйста.
Ну а вообще такое чувство, что я пишу только для пользователя СОНЦЕ, ибо никто вообще не собирается отвечать мне здесь) Ну чтож, скажем ему спасибо)
|
#5 | Тема: Показ текста
Цитата СОНЦЕ ( ) не должно составить труда подменить Да нет, нифига, я подставил туда список, а команда range выдает мне числа зачем-то, смотря сколько я туда поставлю, столько и выдает Ну например, у меня есть q = ["a", "b", "c"] и когда я использую range(3) показывает от 0 до 2 числа, они мне нафиг не нужны Посмотрел в инете, предлагали range(0, len(q)) сделать, но тоже не работает и показывает абсолютно то-же самое, что и тут Поэтому как раз таки не понятно)
|
#6 | Тема: Показ текста
Цитата СОНЦЕ ( ) Мне просто было лень придумать квесты в лист...Код
init python: quests = ['поучить python','поучить listы в python','поучить циклы в python','поработать с listами в циклах в python']
screen viewport_vbox_list: viewport: scrollbars 'vertical' pos 400, 50 xsize 500 ysize 500 Насчет заданий полностью согласен - мне еще учить и учить этот питон, так что спасибо за подсказку, если заработает, конечно, потому что я рандомно кликая, вроде, уже такое пробовал, и нифига, ну щас попробую прям скопировать)
|
#7 | Тема: Показ текста
Цитата СОНЦЕ ( ) init python: quests = ['поучить python','поучить listы в python','поучить циклы в python','поработать с listами в циклах в python'] Чекнул я данную конструкцию, тут же quests[0] получается и он повторяется 4 раза Если я ставлю все в отдельные [] то это уже уникод, а там я хз, ни map(str,q) не помогает, ни q.encode("utf-8") или что там еще по запросам в поисковике выдавалось Надеюсь, голову там еще не пробили от фейспалма? Потому что я новичок еще, пока что не пользовался листами в renpy и особенно ничего из уникода не конвертировал никуда Так есть какой-то варик это все проделать?
|
#8 | Тема: Показ текста
Цитата СОНЦЕ ( ) Боюсь даже спрашивать, но что конкретно у тебя в коде, и что конкретно ты хочешь получить в результате? Да ничего особенного, в коде q = ["a", "b", "c", "d"] и я хочу, чтобы у меня было a b c d отдельно на каждой строчке, но прикол в том, что по идее их нужно поставить в еще одни скобки [] и получится q = [["a"], ["b"], ["c"], ["d"]], но тогда это unicode и когда это высвечивается, во-первых, все буквы смешиваются, а во вторых abcd печатаются с u/"a" и так далее символами до a Ну вот мне нужно их как-то перевести из unicode в норм формат, но в инете ниче не нашел, а то, что нашел, попробовал и не получилось Да и + посмотрел в интернете видео и нифига не понятно, а хотелось бы как-то подробнее про эту тему с переводами в другие форматы текста и с печатанием текста в viewport
|
#9 | Тема: Показ текста
Цитата СОНЦЕ ( ) for i in q: text i А, ну да, я как всегда невнимательно напечатал и поставил "text q"))))) Спасибо, что поправили, надо что-то с этой внимательностью делать уже А если серьезно, спс)
|
#10 | Тема: Ищем художника
Привет. Наша небольшая команда ищет художника. Сразу скажу, что проект связан с вселенной MLP. Проект полностью не коммерческий, мы работаем за идею. Вот ссылка на группу в вк: https://vk.com/ponkquest Если вам нравится, в какую сторону движется разработка, и хотелось бы принять участие: милости просим к нам)
P.S. Внимание: пишите, пожалуйста, в сообщения группы или в лс прямо создателю проекта. Спасибо.
|
#11 | Тема: Почему ренпай так странно делит?
Написал пробный тест вычисления процента от числа, сделал так: Код define finalvalue = 0
label start:
$ finalvalue = 50 / 100 * 10
"[finalvalue]"
return
И данный код выдает мне 0, хотя по идее, должно получиться 5
Как именно это работает? И есть ли ошибка в том, что я это не делаю в блоке init python и не импортировал там какие-то нужные библиотеки?
|
#12 | Тема: Почему ренпай так странно делит?
Цитата СОНЦЕ ( ) Потому что RenPy базируется на python а python так странно делит ^^суть: пока все переменные целочисленные - результаты так же останутся целочисленными. соответственно 50/100 = 0 целочисленная часть от 0.5.
чтобы таки заставить питон правильно считать дроби нужно четко объявить питону что это дробная операция показать, что он работает именно с дробными числами навример так 50.0 / 100 = 0.5
или float(50)/100 = 0.5
отмечу что 0.5 * 10 = не 5 а 5.0 . иногда это важно и нужно округлить через операцию int int(5.0) = 5 Спс, я просто написал пост сюда, а потом сразу понял, но удалять не стал)
|