#1 Inviato 08 May 2017 - 14:19 PM
Se non fosse che qualsiasi cosa provassi con un Common Event che chiamava anche solo una finestra di dialogo funzionava malissimo ( si apriva solo dopo l'ultilizzo dell'oggetto e fuori dal menú );
Quindi ho provato a lavorare con l'RGSS.
Come primo tentativo avevo aggiunto una Scene chiamata da Scene_Item premendo C prima dell'uso dell'oggetto che apriva una Window_Command con tre opzioni: usa, leggi descrizione, indietro.
La prima purtroppo mi portava ad un loop infinito perchè ho capito in seguito che il metodo per usare gli oggetti è gestito da variabili locali ( update e update_item ) contenuti in Scene_Item che ovviamente non passavano alla finestra di comando.
Leggi Descrizione non funzionava ugualmente: apriva la nuova finestra ma non compariva nessun testo dentro (anche se credo di non aver capito io come fare).
Come seconda opzione provai a far partire alla pressione del tasto A nello Scene_Menu la finestra della descrizione, ma anche se questa appariva rimaneva vuota per gli stessi problemi della Leggi Descrizione precedente ma almeno non incasinava gli altri comandi essendo chiamata da un tasto a parte.
Cercando su internet credo di aver trovato lo script giusto, ma è per VX Ace:
http://www.rpgmakerc...em-description/
Insomma, quello che vorrei fare è che alla pressione del tasto A su un oggetto/arma/armatura venga chiamata una finestra che riconosca l'ID dello strumento e riporti la descrizione corretta.
Conoscete uno script simile o il modo per farlo?
Se servono i miei script a metà brutti e buggosi per capire dove stessi sbagliando li posto.
#2 Inviato 08 May 2017 - 14:43 PM
Intanto sposto su RGSS, qui è per il supporto ad eventi, le RGSS sono per gli script! ^ ^
Se servono i miei script a metà brutti e buggosi per capire dove stessi sbagliando li posto.
Direi di farlo, se trovi qualcuno che si intende di script (raro), sarà sicuramente più invogliato a dire "qui così e lì cosà" che a lavorare su un nuovo script.
^ ^
(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)
Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^
disponibile su Google Play, qui i dettagli! ^ ^
completo! Giocabile online, qui i dettagli! ^ ^
REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^
#3 Inviato 08 May 2017 - 15:47 PM
Intanto sposto su RGSS, qui è per il supporto ad eventi, le RGSS sono per gli script! ^ ^
Direi di farlo, se trovi qualcuno che si intende di script (raro), sarà sicuramente più invogliato a dire "qui così e lì cosà" che a lavorare su un nuovo script.
^ ^
Grazie per averlo spostato! Immagino che uno scripter per RGSS1 ormai sia raro, ma sper che qualcuno possa notare cosa ho sbagliato.
Allora, questa è la modifica fatta a Scene_Item per usare il tasto A (in update_item):
# A ボタンが押された場合 if Input.trigger?(Input::A) # キャンセル SE を演奏 $game_system.se_play($data_system.decision_se) # メニュー画面に切り替え $scene = Description_Scene.new return end
Questa è Description_Scene che chiama ( la devo ancora aggiustare, mi da sfrondo nero dietro la finestra aperta, invece che lasciare le altre visibili dietro ):
class Description_Scene def main @item_descriptions = Fin_Des.new @target_window = Window_Target.new @target_window.visible = false @target_window.active = false # トランジション実行 Graphics.transition # メインループ loop do # ゲーム画面を更新 Graphics.update # 入力情報を更新 Input.update # フレーム更新 update # 画面が切り替わったらループを中断 if $scene != self break end end # トランジション準備 Graphics.freeze # ウィンドウを解放 @item_descriptions.dispose @target_window.dispose end def update @target_window.update if @target_window.active update_target return end if @item_descriptions.active update_descriptions return end end def update_descriptions if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) $scene = Scene_Item.new return end end def update_target if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) @target_window.visible = false @target_window.active = false $scene = Scene_Item.new return end end end
Ed infine la finestra che dovrebbe contenere il tutto, Fin_Des, che per ora sto provando ad impostare almeno per gli strumenti ma con scarsi risultati:
class Fin_Des < Window_Base def initialize super( 0, 0, 600, 400) self.contents = Bitmap.new( width - 32, height - 32) self.opacity = 240 self.back_opacity = 240 self.contents_opacity = 255 refresh end def item return @data[self.index] end def refresh self.contents.clear self.contents.font.size = 22 self.contents.draw_text( 0, 0, 550, 350, "Descrizione:", 1) draw_item end def draw_item self.contents.clear self.contents.font.size = 22 item = @data case item when RPG::Item number = $game_party.item_number(item.id) case item.id when item.id == 1 self.contents.draw_text( 20, 30, 550, 350, "Descrizione!!!b eebcfr45 ", 2) when item.id == 2 self.contents.draw_text( 20, 30, 550, 350, "kjcbejrcbre", 2) end self.contents.draw_text( 0, 0, 550, 350, text) end end end