FAQ RPGMAKER
LE VARIE VERSIONI DELL'RPGMAKER
RPGMAKER 95
Non ne so molto su questo tool, dato che non l'ho mai usato... Fu il primo vero tool della serie. RTP scadenti, poche funzionalità ed una miriade di bug, ma per i programmatori dell'epoca dev'essere stato qualcosa di miracoloso, poichè si trattava di uno dei primi, veri programmi per realizzare i propri giochi. ma Una piccola curiosità,
RPGMAKER 2000 (detto 2k)
Gran bel tool, qualità degli RTP aumentata, BS di default migliore, eventi più funzionali e nuove funzioni aggiunte. Resta tuttora uno tra i più usati, nonostante sia uscito ben 7 anni fa.
RPGMAKER 4.0
Si tratta di una patch per il 2k che aggiunge delle nuove funzioni: quantità massima di variabili e scripts aumentata, tasto shift programmabile, ecc. Nulla di particolarmente eclatante, insomma, ma tutto sommato è utile.
RPGMAKER 2003 (detto 2k3)
Diretto successore del 2k, il 2k3 non fu particolarmente rivoluzionario, anche se rappresentò un bel passo in avanti per via del bs di base, molto simile a quello di ff6, e al menù di base, finalmente customizzabile.
Aggiunte poi un paio di nuove funzioni, tra cui spicca un controllo tasti degno di questo nome.
RPGMAKER 3D
Tool only jap talmente buggato da essere pressochè inutilizzabile. Nonostante il nome, poi, non è neppure 3d, bensì isometrico. Va bene solo per fregarli gli RTP... niente 3d nell'rpgmaker per un po', rassegnatevi.
RPGMAKER XP
Ultima versione del tool della Enterbrain, con l'Xp si può finalmente parlare di una vera rivoluzione. Grafica molto migliorata (16 milioni di colori), nuove funzioni negli eventi, e soprattutto l'arrivo dell'RGSS, semplice linguaggio di programmazione che permette di stravolgere tutto quel che c'è di default, dal menù al bs.
Con XP però assistiamo anche a dei clamorosi passi indietro, vista la peggiore gestione degli eventi e la scomparsa di alcune funzioni utilissime. Per questo, molti makeratori continuano ad utilizzare i cari, vecchi 2k e 2k3.
VARIE ED EVENTUALI
Esistono varie versoni di rpgmaker per console, dal gba alla ps2, anche se essendo il più delle volte in jap non sono molto intuitive. Hanno poi poche potenzialità, e sono complicate da utilizzare... un consiglio? Evitatele come la peste.
RPGMAKER E LEGALITA'
D: POSSO SCARICARE LEGALMENTE L'RPGMAKER DA UN SITO SENZA PAGARE?
R: No. Dal sito della Enterbrain è possibile scaricare una versione demo dell'rpgmaker, valida per 30 giorni. Per poter continuare ad utilizzarla, è necessario comprare la licenza, sempre dal sito della Enterbrain.
E' possibile comunque trovare varie versioni del programma su internet, ma non che siano legalissime...
Ricordatevi però che per vendere un gioco fatto con l'rpgmaker è necessario avere una copia originale del programma.
Quanto all'rpgmaker 95, credo ormai si possa dichiarare abandonware, e scaricabile liberamente... ma non ne sono certa.
GLOSSARIO
BS: abbreviazione di Battle System, ovvero il sistema di battaglie utilizzato nel vostro gioco.
CONDIZIONE SE: Vedere alla voce IF.
IF: grazie alle IF, le istruzioni degli eventi possono [/i][/i]cambiare in base a vari fattori. Vedere la sezione Q&A più sotto per ulteriori informazioni.
LABEL: allora, le label sono, diciamo degli "indirizzi", ad esempio facciamo così:
Messaggio: Cosa vuoi fare?
LABEL: scelta1
Scelta: dormire, mangiare, sedermi, altro
Se dormire
...
Se mangiare
...
Se sedermi
...
Se altro
Scelta: andare in bagno, indietro
Se andare in bagno
...
Se indietro
GO TO LABEL: scelta1
In questo modo se si sceglierà indietro tornerà alle prime scelte.
Se usate l'rm2k alle label si possono associare solo dei numeri quindi l'unica cosa che dovete fare è:
LABEL: 1
e poi
GO TO LABEL: 1
Ecco tutto.
LOOP: Ovvero, un "ciclo" di determinate azioni, che continua a ripetersi. Facciamo il solito esempio pratico...
creiamo un evento, con condizione d'avvio pressione di un tasto e diamogli queste istruzioni
loop
variabile a + 1
end loop
Facendo così, l'evento continuerà ad aggiungere 1 alla variabile all'infinito, finchè non si spezzerà il ciclo in un qualche modo (es. un if con una switch che blocca l'evento).
Può essere utile in alcuni minigiochi, e in altre robe come i bs con barre che si caricano da sole.
NPC: Sigla che sta per personaggio non giocante (non-playing character). SI tratta, essenzialmente, di tutti i personaggi che compaiono nei giochi ma non si possono controllare, come gli abitanti dei villaggi.
RGSS: Abbreviazione di Ruby Game Scripting System, una branca del linguaggio di programmazione Ruby utilizzata utilizzata nell'rmxp.
RM: abbreviazione di rpgmaker. Della stessa famiglia, anche le abbreviazioni rmxp (rpgmaker xp), rm2000 e rm2k (rpgmaker 2000), rp2k3 e rm2k3 (rpgmaker 2003).
RTP: ovvero, le risorse standard inserite nelle varie versioni di rpgmaker. La sigla sta per RunTime Package, ringraziamo Julo per l'illuminazione.
SWITCH: Sorta di interruttore che si può accendere e spegnere. Vedere la sezione Q&A più sotto per ulteriori informazioni.
VARIABILE: Una specie di contenitore a cui si può dare un numero a scelta. Vedere la sezione Q&A più sotto per ulteriori informazioni.
Q&A
D: COME FACCIO A SETTARE UN COLORE TRASPARENTE NEI TITLESET/CHARA CHE HO IMPORTATO?
R: Importando un chara, o qualunque altra immagine, spesso si nota che il colore di sfondo non è trasparente, e ha questa fastidiosa "cornice" intorno.
La soluzione è semplice: si utilizza il comando importa/esporta, si sceglie la cartella dove mettere l'immagine, e la si seleziona. Comparirà una finestra con l'antepirma dell'immagine, basterà cliccare col tasto sinistro del mouse sul colore che si vuole per renderlo trasparente. Nell'XP, inoltre, si può scegliere con il pulsante destro del mouse un colore semitrasparente (può servire per le ombre di oggetti e pg, ad esempio). RIcordate però che se importate un'immagine jpg, non comparirà la finesta per scegliere il colore. Convertitela in PNG, quindi, o cancellate il colore di sfondo con il photoshop e lo strumento bacchetta magica.
D: COS'E' UNA SWITCH?
R: Una switch è, come da nome, una sorta di interruttore, che può essere settato su ON o su OFF. Per fare un esempio del suo funzionamento, usiamo il classico l'esempio del forziere... Se facciamo un evento a forma di scrigno, con come istruzioni "aggungi +1 pozione", ogni volta che l'eroe premerà INVIO davanti al forziere riceverà una pozione, ottenendone così quante ne vuole!
Per risolvere, basta usare una switch. Dopo il comando "aggiungi la pozione", dobbiamo settare uno switch (chiamiamolo 1) su ON. Occorre poi fare una nuova pagina dell'evento, e nelle condizioni di avvio mettere "SWITCH 1=ON". Mettiamoci la grafica di un forziere aperto, e un messaggio tipo "il forziere è vuoto". Così risolviamo il problema delle pozioni infinite.
D: COS'E' UNA CONDIZIONE SE?
Chiamate anche IF, grazie alle condizioni SE l'evento reagirà in modo diverso in base a determinati fattori. COnfusi, vero? Meglio fare un esempio, allora.
Dunque, creiamo un NPC che ci dica due frasi diverse in vase ai personaggi che abbiamo nel party. Facciamo così:
condizione SE: eroe "Arshes" nel party
messaggio: ah, ciao Arshes! Sono Giulian, ti ricordi di me?
ELSE (ALTRIMENTI)
messaggio: salve, stranieri! Ci conosciamo?
END
Visto? Se l'eroe Arshes è nel party, il nostro evento ci dirà una cosa, altrimenti comparirà un messaggio diverso. Questo è solo un piccolo esempio, le IF si possono usare anche per altre cose, ad esempio legandole a delle switch o variabili.
D: COS'E' UNA VARIABILE?
R: Le variabili come dei cassettini, a cui può essere assegnato un numero.
Facciamo un esempio... ricordate il nostro forziere? Creiamo un forziere che dia, casualmente, una pozione o una spada. Usiamo il comando setta variabile, e mettiamo "numero casuale tra0 e 1". A questo punto, basta una IF, o condizione SE.
SE variabile 1 = 1
aggiungi oggetto pozione
ALTRIMENTI (ELSE)
aggiungi oggetto spada
END
Semplice, no? Le variabili hanno anche molti alti utilizzi, e sono basilari per creare cose complesse, come menù e BS ad eventi.
D:LE FINESTRE DEL PROGRAMMA SONO ENORMI!
Per risolvere è necessario un font, da installare nella cartella C/WINDOWS/Fonts.
Potete scaricarlo qui: http://www.mediafire.com/?8fsrhz9zqzu
D:IL DATABASE E' TUTTO IN INGLESE...
Per chi volesse il database standard con le varie classi, oggetti e magie tradotte in ita, può scaricarlo qui: http://www.mediafire.com/?ezonuunnxvz
I files vanno inseriti nella cartella C/Programmi/RPGXP/system/data
D: COME FACCIO A CREARE UNA LOCANDA IN RPGMAKER XP?
E' tutto qui:
D: HO PROVATO AD APRIRE UN PROGETTO SCARICATO SU INTERNET, MA COMPARE IL MESSAGGIO CON SCRITTO "VERSIONE NON COMPATIBILE". COME POSSO FARE?
R:allora, ci sono vari modi per aprire un progetto fatto in un'altra versione:
1-Creare un nuovo progetto e sostutuire le cartelle data e graphic con quelle del progetto che si intende aprire.
2-Aprire il file game-impostazioni di configurazione (quel file con l'icona di un foglio che c'è in ogni progetto) e modificare questa scritta:
Library=RGSS102E.dll
Con il nome della DLL della versione del programma che usate (solitamente è RGSS100J.dll).
Poi aprire col blocco note il file game-rmxp project (quello blu dove si clicca per lanciare il programma) e modificare la scritta che appare con la propria versione di prgmaker.
ovvero, di solito c'è scritto:
RPGXP 1.02
voi mettete la vostra versione. (se usate quella scaricata da TPC, è RPGXP 1.01).
Si ringrazia ProGM per aver scoperto il secondo metodo.
Se non riuscite a vedere le scritte nel progetto, sostituite il main con questo script:
#============================================================================== # - Main Modificato da DaD www.dermfxp.altervista.org #------------------------------------------------------------------------------ # Dopo la fine di ogni classe viene chiamata questa #============================================================================== begin # I Tipi di Font che vengono utilizzati in main $defaultfonttype = $fontface = $fontname = Font.default_name = "Brokenbaby" # La grandezza del Font in main $defaultfontsize = $fontsize = Font.default_size = 20 # Preparazione Fade Graphics.freeze # Disegno Scena (Title) $scene = Scene_Title.new # Quando $scene non è nullo viene chiamato main while $scene != nil $scene.main end # Fade Graphics.transition(20) rescue Errno::ENOENT # Errore Errno::ENOENT # Quando non può aprire il file mostra un messaggio filename = $!.message.sub("No such file or directory - ", "") print("File #{filename} was not found.") end
D: STO CREANDO UN BS IN TEMPO REALE. COME POSSO FAR SI' CHE L'EROE SI GIRI VERSO UN MOSTRO CHE NON HA UNA POSIZIONE FISSA?
Occorrono 4 variabili, e vanno settate così:
pgx= eroe x
pgy= eroe y
mostrox = sprite verso il quale dobbiamo girarci x
mostroy = sprite verso il quale dobbiamo girarci y
Naturalmente tutto quello che segue è infilato nella condizione "Se tasto quellochevuoi è premuto".
Ho messo:
Nel caso in cui ci si trovi sulla stessa X del mostro, ma dalla parte superiore dello schermo:
Se pgX=mostroX
.... Se pgY<mostroY
......... Move Event: Player
............................ Face Down
Nel caso in cui ci si trovi sulla stessa X del mostro, ma dalla parte inferiore dello schermo:
Se pgX=mostroX
.... Se pgY>mostroY
......... Move Event: Player
............................ Face Up
Nel caso in cui ci si trovi sulla stessa Y del mostro, ma dalla parte sinistra dello schermo:
Se pgY=mostroY
.... Se pgX<mostroX
......... Move Event: Player
............................ Face Right
Nel caso in cui ci si trovi sulla stessa Y del mostro, ma dalla parte destra dello schermo:
Se pgY=mostroY
.... Se pgX>mostroX
......... Move Event: Player
............................ Face Left
Spiegazione by Lauchan
D: SE PROVO A USARE IL COMANDO "INSERISCI NOME EROE, COMPARE UNA SCHERMATA SENZA LETTERO! COME POSSO FARE?
R: Basta sostituire la classe Window_NameImput nel ruby editor con questo script:
#=== # ■ Window_NameInput #-- # 名前入力画面で、文字を選択するウィンドウです。 #=== class Window_NameInput < Window_Base CHARACTER_TABLE = [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", " ", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", " ", "+", "-", ";", ":", "'", ",", ".", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " ", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", " ", "[", "]", "{", "}", "<", ">", "?", ] #--- # ● オブジェクト初期化 #--- def initialize super(160, 128, 320, 352) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface # "Name Input" window font self.contents.font.size = $fontsize @index = 0 refresh update_cursor_rect end #--- # ● 文字の取得 #--- def character return CHARACTER_TABLE[@index] end #--- # ● リフレッシュ #--- def refresh self.contents.clear for i in 0..89 x = 4 + i / 5 / 9 * 152 + i % 5 * 28 y = i / 5 % 9 * 32 self.contents.draw_text(x, y, 28, 32, CHARACTER_TABLE[i], 1) end self.contents.draw_text(112, 9 * 32, 64, 32, "Accetta", 1) end #--- # ● カーソルの矩形更新 #--- def update_cursor_rect # カーソル位置が [決定] の場合 if @index >= 90 self.cursor_rect.set(112, 9 * 32, 64, 32) # カーソル位置が [決定] 以外の場合 else x = 4 + @index / 5 / 9 * 152 + @index % 5 * 28 y = @index / 5 % 9 * 32 self.cursor_rect.set(x, y, 28, 32) end end #--- # ● フレーム更新 #--- def update super # カーソル位置が [決定] の場合 if @index >= 90 # カーソル下 if Input.trigger?(Input::DOWN) $game_system.se_play($data_system.cursor_se) @index -= 90 end # カーソル上 if Input.repeat?(Input::UP) $game_system.se_play($data_system.cursor_se) @index -= 90 - 40 end # カーソル位置が [決定] 以外の場合 else # 方向ボタンの右が押された場合 if Input.repeat?(Input::RIGHT) # 押下状態がリピートでない場合か、 # カーソル位置が右端ではない場合 if Input.trigger?(Input::RIGHT) or @index / 45 < 3 or @index % 5 < 4 # カーソルを右に移動 $game_system.se_play($data_system.cursor_se) if @index % 5 < 4 @index += 1 else @index += 45 - 4 end if @index >= 90 @index -= 90 end end end # 方向ボタンの左が押された場合 if Input.repeat?(Input::LEFT) # 押下状態がリピートでない場合か、 # カーソル位置が左端ではない場合 if Input.trigger?(Input::LEFT) or @index / 45 > 0 or @index % 5 > 0 # カーソルを左に移動 $game_system.se_play($data_system.cursor_se) if @index % 5 > 0 @index -= 1 else @index -= 45 - 4 end if @index < 0 @index += 90 end end end # 方向ボタンの下が押された場合 if Input.repeat?(Input::DOWN) # カーソルを下に移動 $game_system.se_play($data_system.cursor_se) if @index % 45 < 40 @index += 5 else @index += 90 - 40 end end # 方向ボタンの上が押された場合 if Input.repeat?(Input::UP) # 押下状態がリピートでない場合か、 # カーソル位置が上端ではない場合 if Input.trigger?(Input::UP) or @index % 45 >= 5 # カーソルを上に移動 $game_system.se_play($data_system.cursor_se) if @index % 45 >= 5 @index -= 5 else @index += 90 end end end # L ボタンか R ボタンが押された場合 if Input.repeat?(Input::L) or Input.repeat?(Input::R) # ひらがな / カタカナ 移動 $game_system.se_play($data_system.cursor_se) if @index / 45 < 2 @index += 90 else @index -= 90 end end end update_cursor_rect end end
Un ringraziamento speicale a Wikipedia, per le info sulle varie versioni dell'rpgmaker.
Utenti che finora hanno collaborato alla FAQ:
Julo
Cricchio10
Sephirotto
Lauchan
Dex91
GUIDE UTILI
Guida ai Terrain Tags http://lnx.phantomca...amp;#entry49653
By Dex91
Guida alla creazione di Patch per il proprio gioco: http://lnx.phantomca...mp;#entry102939
Messaggio modificato da Krè, 23 giugno 2013 - 11:00