Renpy не работает консоль

Инструменты разработчика (Developer Tools)

Содержание

Ren’Py включает ряд в себя ряд функций, облегчающих жизнь разработчику визуальных новелл. Для работы многих из них требуется переменная config.developer со значением True.

Вызов «Консоли» с помощью «Shift+O» (Shift+O Console) [ править ]

Консоль отладки позволяет в интерактивном режиме запускать скрипт Ren’Py и операторы Python, и сразу же видеть результаты их выполнения. Консоль доступна в режиме разработчика или когда переменная config.console принимает значение True, а также её можно вызвать, зажав клавиши Shift+O.

Консоль отладки можно использовать для:

  • Перехода к метке.
  • Проверки в интерактивном режиме операторов в скрипте Ren’Py.
  • Вычисления выражения или оператора языка Python, чтобы увидеть результат.
  • Трассировка выражений языка программирования Python по ходу игры.

Вызов «Поддержка редактора» с помощью «Shift+E» (Shift+E Editor Support) [ править ]

Переменная config.editor позволяет разработчику определить команду для вызова текстового редактора, которая запускается при нажатии клавиши launch_editor (по умолчанию Shift+E).

Вызов «Меню разработчика» с помощью «Shift+D» (Shift+D Developer Menu) [ править ]

Когда переменная config.developer принимает значение True, нажатие клавиш Shift+D отобразит меню разработчика, которое обеспечивает свободный доступ к некоторым функциям Ren’Py, приведенным ниже.

Читайте также:  Титульное страхование не работает

Вызов «Перезагрузка» с помощью «Shift+R» (Shift+R Reloading) [ править ]

Когда переменная config.developer принимает значение True, нажатие Shift+R сохранит текущую игру, перезагрузит её скрипт и затем снова загрузит игру. Перезагрузка, как правило, перемещает вас к последнему неизменённому оператору, возникшему перед нажатием Shift+R.

Это позволяет разработчику вносить изменения в скрипт при помощи внешнего редактора, а не выходить и перезапускать Ren’Py, чтобы увидеть результат внесенных изменений.

Учтите, что состояние игры, включая значения переменных и списки экранов, сохраняется после перезагрузки. Это означает, что если один из этих операторов изменяется, необходимо выполнить откат и повторно выполнить оператор, чтобы увидеть его новый эффект.

Вызов «Просмотр стиля» с помощью «Shift+I» (Shift+I Style Inspecting) [ править ]

Когда переменная config.developer принимает значение True, нажатие Shift+I вызовет проверку стиля. Это выведет на экран список отображаемых объектов, на которые наведён курсор. Для каждого отображаемого объекта будет выведен тип, используемый стиль и размер , в котором объект отображается на экране. Также будет указано местоположения объекта в скрипте.

Вызов «Экспорт стиля» с помощью «Shift+Y» (Shift+Y Style Dumping) [ править ]

Когда переменная config.developer принимает значение True, нажатие клавиши dump_styles (по умолчанию Shift+Y) запишет описание каждого стиля, известного Ren’Py, в файл «styles.txt». Это описание включает каждое свойство, которое является частью стиля, значение этого свойства и стиль, от которого свойство унаследовано.

»_(>_Fast_Skipping)»> Вызов «Быстрый пропуск» с помощью «>» (> Fast Skipping) [ » (> Fast Skipping)»»>править ]

Когда переменные config.developer или config.fast_skipping принимают значение True, нажатие клавиши fast_skip (по умолчанию «>») приводит к тому, что игра немедленно переходит к следующему важному взаимодействию. Для этой цели важным взаимодействием является то взаимодействие, которое не вызывается оператором say, переходом или командой «пауза». Обычно это предполагает пропуск до следующего оператора menu, но пропуск также останавливается, когда возникают определенные пользователем формы взаимодействия.

Перемещение к строке (Warping to a Line) [ править ]

Ren’Py поддерживает перемещение к определённой строке внутри скрипта, при этом разработчику нет необходимости проходить через всю игру, чтобы добраться до нужного места кода. Хотя с этим методом перемещения связано несколько предупреждений, он всё ещё может быть полезен для предварительного просмотра в реальном времени.

Чтобы вызвать перемещение, запустите Ren’Py с аргументом командной строки —warp, после которого укажите комбинацию из имени файла, двоеточия и номера строки, чтобы точно определить, куда вы хотите перейти. Например:

Здесь my_project – полный путь к корневой папке вашего проекта.

Когда применяется метод перемещения, Ren’Py выполняет ряд действий. Сначала он находит в программе все операторы scene. Затем Ren’Py пытается найти путь от операторов scene к каждому доступному оператору в игре. После этого он выбирает ближайший доступный оператор к заданной строке, но расположенный до строки или в ней самой. Он работает в обратном направлении от этого оператора до оператора scene, записывая пройденный путь. Затем Ren’Py выполняет оператор scene и любые операторы show и hide, найденные на этом пути. Наконец, он передаёт управление найденному оператору.

Имеется ряд довольно серьёзных недостатков применения функции warp. Во-первых, она проверяет единственный путь, а это означает, что хотя путь может быть репрезентативным для некоторого маршрута исполнения, вполне возможно, что на каком-то другом маршруте может возникнуть ошибка. В целом, путь не учитывает игровую логику, так что вполне возможно иметь путь, который на самом деле недостижим. На самом деле это особо серьёзная проблема только в игр с большим количеством элементов управления, особенно в тех, которые часто используют язык программирования Python в коде.

Однако самая большая проблема заключается в том, что код на Python не выполняется перед оператором, к которому вы хотите перейти. Вышесказанное означает, что все переменные будут неинициализированными , что может привести к сбоям при их использовании. Для решения этой проблемы можно определить метку after_warp, которая вызывается после перемещения к строке, но до выполнения оператора warped-to. Эта метка может установить переменные в программе, а затем вернуться к предварительному просмотру.

Функции warp требуется переменная config.developer со значением True, чтобы функционировать.

Функции отладки (Debug Functions) [ править ]

Возвращает пару, задающую имя файла и номер строки текущего оператора.

Если переменная config.log не установлена, функция бездействует. Иначе функция отладки открывает файл журнала отладки (если он ещё не открыт), форматирует сообщение в столбцы config.log_width и выводит его в файле журнала.

Прекращает наблюдать за заданным выражением Python.

Отслеживает заданное выражение Python, отображая его в верхнем правом углу экрана.

Источник

Renpy не работает консоль

First things first, enabling the console.

Open the game directory. (Right-click game in steam > properties > local files tab > browse local files)

Once there, go to renpy > common
Then find the file 00console.rpy
Open it in your preferred text editor and look for the line «config.console = False»
Change it to «config.console = True»
Save and close the file, and you’ve enabled console

To bring it up in game, press Shift + O (That’s the letter, not zero)

*Use of the console can break your game or introduce bugs that wouldn’t otherwise exist, so if you ever get a bug whilst console is enabled, or with a save that has had anything altered with console, include that in a potential bug report. (TL;DR: you’re responsible for the mess you make)
**Bear in mind that the devs can probably completely remove the ability to enable the console if they want to.
***This guide may or may not contain spoilers, but i will not use any black bars.

Now that you’ve enabled the console, you need something you can do it with, so here is a list of a few commands.

player_actor.full_heal()
— Heals the player character completely.

set_level(player_actor, 50)
— Sets the designated characters level, haven’t yet checked what the name is for all of them yet, will come back to this.

player_actor.strength += 1
player_actor.defend += 1
player_actor.intel += 1
player_actor.res += 1
player_actor.agi += 1
— Above commands increase the stat by 1, you can also use -= 1 to reduce it, aswell as any other number. Finally, you can directly set it by just using =, like with money below.

Money = 1000000
— Sets your current amount of money, can also be used with += and -=, like any other number variable.

special_inv.append(angel_wings)
— Adds the special item angel wings to inventory, which reduces all travel time to 5 minutes and remove combat time entirely.

food_inv.add(seafood_soup, 1)
— Adds items to the food inventory, refer to the food item list.

player_inv.add(magic_essence, 1)
— Adds items to the players inventory, in this case, 1 Magical Essence, refer to the item lists.

player_actor.change(«hp», 1337)
— Change any value, you can replace «hp» with things like def, res, str, agi, int, mp, and so on.

This section contains the ID’s of all items that go into the special_inv

Maria’s Charm
>
Dungeon Manual
>
Salamander’s Tail
>
Lily’s Spirit Signal
>
Maria’s Spirit Signal
>
Dolly’s Spirit Signal
>
Iris’s Spirit Signal
>
Felina’s Spirit Signal
>
Arisa’s Spirit Signal
>
Rocky’s Core
>
Fafnir’s Jewel
>
Fafnir’s Recharged Jewel
>
Powered Boots
>
Angel Wings
>
Dimensional Pocket
>
Ren’s Fan
>
Dragon Crystal
>
Recovery Kit
>
Arcane Scroll
>
Ino’s Hairpin
>
Magic Goggles
>
Shop Key
>
Yami’s Token
>
Lucifer’s Token
>
Phantom’s Token
>
Garde’s Token
style=»clear: both»>

This section contains IDs for all food items, for use with food_inv (for food materials, check the material section)

Emilia’s Lunch Combo
>
Apple
>
Strawberry
>
Banana
>
Sunny Side Up
>
Bread
>
Cheesecake
>
Fruit Cake
>
Apple Pie
>
Meat Stew
>
Fresh Sushi
>
Smoked Salmon
>
Fish Pate
>
Pate Baguette
>
Fried Fish
>
Rejuvenating Soup
>
Seafood Soup
>
Deluxe Meal
>
Mushroom Noodle
>
Cutlet Bowl
>
Mixed Pizza
>
Royal Hot Pot
style=»clear: both»>

This section contains IDs of all materials, for use with player_inv

Iron
>
Silver
>
Mythril
>
Platinum
>
Dragon Scale
>
Adamantite
>
Wool
>
Spider Web
>
String
>
Ribbon
>
Cloth
>
Wool Cloth
>
Silk
>
Satin
>
Magic Cloth
>
Garnet
>
Aquamarine
>
Citrine
>
Onyx
>
Tiny Fang
>
Light Feathers
>
Leather
>
Rough Skin
>
Soft Fur
>
Quills
>
Turtle Shell
>
Magic Goo
>
Tough Leather
>
Sharp Fang
>
Blue Shell
>
Demon Horn
>
Mystic Fur
>
Metal Goo
>
Chimera Hoof
>
Concentrated Venom
>
Rainbow Prism
>
Ancient Tusk
>
Amber Beak
>
Black Mythril
>
Iron Sand
>
Egg
>
Flour
>
Cheese
>
Lemon
>
Raw Meat
>
Potato
>
Herbs
>
Wild Mushroom
>
Shrimp
>
Tuna
>
Trout
>
Eel
>
Squid
>
Salmon
>
Lobster
>
Swordfish
style=»clear: both»>

This section contains the IDs of all weapons, for use with player_inv

Wooden Katana
>
Odachi
>
Kanshou
>
Bakuya
>
Onimaru
>
Kiku-Ichimonji
>
Asura
>
Masamune
>
Muramasa
>
Wooden Sword
>
Iron Sword
>
Mythril Blade
>
Claymore
>
Flamberge
>
Durandal
>
Excalibur
>
Blood Sword
>
Wooden Rod
>
Iron Rod
>
Ocean Rod
>
Wizard Rod
>
Mystic Rod
>
Volcanic Rod
>
Prism Rod
>
Icarus
>
Paper Fan
>
Dictionary
>
Thunder Tome
>
Frosty Memoir
>
Holy Tome
>
War Grimoire
>
Encyclopedia
>
Niflheim
>
Yellow Bell
>
Silver Bell
>
Healing Chime
>
Demonic Chime
>
Hell’s Lullaby
>
Seraphic Bell
>
Bell of Chaos
>
Iron Lance
>
Steel Spear
>
Knight Lance
>
Mythril Halberd
>
Longinus
>
Dragon Lance
>
Gae Bulg
>
Gungnir
>
Cat Claws
>
Silver Claws
>
Mythril Claws
>
Vampire Talons
>
Tiger Claws
>
Platinum Claws
>
Death’s Grip
>
Blank Chip
style=»clear: both»>

This section contains the IDs of all armor, for use with player_inv

Kunoichi Outfit
>
Light Armor
>
Enchanted Dress
>
Cheongsam
>
Lingerie
>
Clothes
>
Leather Vest
>
Wool Sweater
>
Silk Clothes
>
Hunter Outfit
>
Feral Tunic
>
Ranger Cape
>
Master Gi
>
Battle Suit
>
Assassin Garb
>
Beastmaster
>
Desert Vest
>
Heroic Cloak
>
Dragon Tunic
>
Iron Armor
>
Silver Chainmail
>
Silver Breastplate
>
Quill Armor
>
Tortoise Plate
>
Mythril Chainmail
>
Mythril Armor
>
Platinum Armor
>
Bone Armor
>
Azure Plate
>
Jade Hauberk
>
Black Mail
>
Dragon Cuirass
>
Sentinel
>
Apprentice Robe
>
Silver Lace Gown
>
Warm Robe
>
Silk Robe
>
Slimy Robe
>
Magician Robe
>
Witch Mantle
>
Satin Robe
>
Gothic Dress
>
Spirit Vestment
>
Rainbow Dress
>
Mystic Shroud
>
Luminous Gown
style=»clear: both»>

This section contains al IDs of accessories, for use with player_inv

Gladiator Ring
>
Knight Ring
>
Sorcerer Ring
>
Psychic Ring
>
Thief Ring
>
Silver Ring
>
Mystic Charm
>
Fire Bracelet
>
Ice Bracelet
>
Thunder Bracelet
>
Shadow Bracelet
>
Wild Necklace
>
Feather Charm
>
Dusty Charm
>
Titan Bracelet
>
Ren’s Ribbon
>
Monkey Paw
>
Mini Barrier
>
Leather Sash
>
Trainee Gloves
>
Jeweled Necklace
>
Lucky Charm
>
Garuda Charm
>
Tiger Eye
>
Champion Badge
>
Paladin Badge
>
Archmage Badge
>
Templar Badge
>
Assassin Badge
>
Heroic Crest
>
Berserker Soul
>
Guardian Soul
>
Dragon Soul
>
Mythril Bangle
>
Adamantite Guard
>
Molten Amulet
>
Frost Amulet
>
Thunder Amulet
>
Shadow Amulet
>
Twilight Bangle
>
Demonic Ring
>
Demonic Ring II
>
Seraphic Ring
>
Seraphic Ring II
>
Fiery Core
>
Freezing Core
>
Lightning Core
>
Shadow Core
>
7 Colored Amulet
>*Yes, this one starts with an _, it is not a mistake.

Holy Emblem
>
Dragon Jewel
>
Power Wrist
>
5-leaf Clover
>
Crest of Nobles
>
Spirit Emblem
>
Midas Gloves
>
Phantom Mask
style=»clear: both»>

Источник

Оцените статью