Rpg²S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Vai al contenuto

Rpg²S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Screen Contest #90

Kamikun






  • Si prega di effettuare il log in prima di rispondere
Script per descrizioni piú lunghe per gli oggetti - - - - -

    eritiacoli
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 65 messaggi
  • Sesso:Femmina
  • Abilità:Apprendista

#1 Inviato 08 May 2017 - 14:19 PM

Ho sempre amato come Dark Souls o Drag on Dragoon inserissero lunghe descrizioni/storie per armi, armature ed oggetti, quindi ho cercato di fare lo stesso.

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.

13yoz61.png

tumblrtwitter


    Guardian of Irael
  • Coniglietto Rosso

  • Rpg²S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58413 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilità:Apprendista


#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 ^ ^
 
KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^
 
FwnGMI3.png 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) ^ ^

Spoiler


    eritiacoli
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 65 messaggi
  • Sesso:Femmina
  • Abilità:Apprendista

#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

13yoz61.png

tumblrtwitter





  • Feed RSS