Hva er RPY-filformatet?
.rpy er en skriptfil som brukes av Ren'Py-motoren for visuelle romaner. Selv om formatets filendelse gjenspeiler røttene i .py, er ikke en .rpy-fil en ren Python-kilde: den er skrevet i Ren'Pys eget domenespesifikke språk, som legger høynivå-fortellerinstruksjoner - karakterdialog, sceneregi, forgrenede menyer og betinget historieflyt - på toppen av Pythons kjente syntaksregler. .rpy-filer kan inneholde kode skrevet i Python direkte sammen med Ren'Py-spesifikke instruksjoner.
.rpy er en ren tekstfil kodet i UTF-8 og kan åpnes og redigeres i alle tekstredigeringsprogrammer. Forfattere som redigerer .rpy-skript må være nøye med innrykk, ettersom Ren'Py bruker innrykk for å definere kodeblokker, akkurat som Python gjør. For avansert logikk kan skript bygge inn rå Python i python:-blokker eller via prefikset $, noe som gir forfattere tilgang til Pythons fulle standardbibliotek i et Ren'Py-prosjekt.
Når Ren'Py starter et spill, kompilerer det hver .rpy-kildefil til en binær .rpyc-bufferfil for raskere lasting. Distribuerte spill leveres vanligvis bare med de kompilerte .rpyc-filene, ofte pakket i et .rpa-arkiv, slik at spillere normalt ikke ser .rpy-kilden. Samfunnsverktøy som unrpyc kan dekompilere .rpyc-filer tilbake til lesbare .rpy-skript.
Et typisk prosjekt deler historien og logikken over mange .rpy-filer - én kan definere karakterer og variabler, en annen håndtere menyskjermer, og en annen inneholde selve hovedfortellingen. Ren'Py SDK behandler alle .rpy-filer i en prosjektmappe som ett enkelt program, og kompilerer og kobler dem sammen ved oppstart.
Sikkerhet og trygghet
RISIKO: MEDIUMEn .rpy er ren tekst og trygg å åpne i en editor, men den inneholder kjørbar logikk for Ren'Py-motoren og kan inneholde full Python inne i python:-blokker - så kjøring av et upålitelig Ren'Py-spill/mod kan utføre vilkårlig kode på maskinen din. Les skript fra ukjente modifikasjoner før du legger dem til i et spill, og hent spill/mods fra anerkjente kilder. Redigering av selve dialogteksten er ufarlig; å lime inn ukjente python:-blokker er det ikke.
Formatdetaljer
i et nøtteskall- Twisted Resource (Python web-skript) - Eldre .rpy brukt av Twisted/twistd-webserveren som et Python-skript som returnerer et ressursobjekt - urelatert til Ren'Py.
- RPGMaker / diverse generiske Python-skript - Noen verktøy har historisk merket enhver lagret Python-kilde som .rpy; i dag dominerer Ren'Py-betydningen.
Programmer som åpner RPY-filer
Tekniske detaljer
dyp spesifikasjon| Filkategori | Kildeskript i ren tekst - Ren'Pys domenespesifikke språk for visuelle romaner |
| Koding | UTF-8 ren tekst; ingen binære magic bytes eller byte-order mark påkrevd |
| MIME-type | text/plain (også gjenkjent som text/x-python av generiske verktøy) |
| Kompilert form | Hver .rpy kompileres til en binær .rpyc-fil av Ren'Py-motoren ved oppstart |
| Innrykksregel | Betydningsfulle mellomrom (innrykk) i Python-stil definerer alle kodeblokker |
| Kjerneinstruksjoner | label, jump, call, menu, scene, show, hide, play, define, init |
| Innebygd Python | Full Python-kode tilgjengelig via python:-blokker og $-prefikset for enkeltlinjer |
| Python-versjon | Ren'Py 6 og 7 bruker Python 2-syntaks; Ren'Py 8 og nyere krever Python 3-syntaks |
| Typisk filstørrelse | 1 KB til ca. 500 KB; et fullt spillprosjekt strekker seg over flere .rpy-filer |
| Distribusjonsmetode | Spill leveres med kompilerte .rpyc-filer pakket i .rpa-arkiver - ikke .rpy-kilden |
| Plattformstøtte | Utvikles på Windows, macOS, Linux; spill bygges og kjører også på Android og iOS |
| Prosjektkompilering | Alle .rpy-filer i spillmappen kompileres og kobles som ett enkelt program ved oppstart |
| Rapportering av syntaksfeil | Ren'Py SDK viser syntaks- og logikkfeil ved oppstart med filnavn og linjenummer |
| Dekompilering | Samfunnsverktøyet unrpyc kan gjenskape .rpy-kilde fra kompilert .rpyc-bytekode |
| Tegnstøtte | Full Unicode via UTF-8 for flerspråklig dialogtekst og identifikatornavn |
| Utgitt | Ren'Py engine, first release 2004 |
| Siste versjon | Ren'Py 8.x (Python 3 based); script syntax tracks the engine release |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | www.renpy.org |
RPY-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om RPY-filer.