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
Problema Errore

    Oswold
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 12 messaggi

#1 Inviato 27 April 2013 - 17:44 PM

Salve a tutti!

Sono nuovo di questo forum e avrei bisogno di un piccolo aiuto.

 

Sto lavorando su un piccolo gioco e sono a buon punto ma di punto ed in bianco ho rilevato un problema in uno script, ho aggiunto 2 nuovi script ma ho testato se erano loro il problema e non lo sono!

 

Questo script serve ad impostare il Menù... Quando apro il gioco va tutto bene ma se premo il tastino per aprire il Menù mi segnala una stringa dove rintraccia un errore, vi posto lo script e vi evidenzio il punto dell'errore.

 

Grazie in anticipo a tutti!

 

#==============================================================================
# ■ Window_MenuStatus
#==============================================================================
# Autore:   Melosx
# Versione: 1.0
# Inserito in: Vx_Mod_System v 0.9
#                   
#==============================================================================
# * Descrizione
# -----------------------------------------------------------------------------
# Modifica della disposizione degli elementi della window e agiunta la barra 
# dell'esperienza.
#==============================================================================

class Window_MenuStatus < Window_Selectable

  def initialize(x, y)
    super(0, 56, 544, 304)
    refresh
    self.active = true
    self.index = -1
  end

  def refresh
    self.contents.clear
    self.contents.font.size = 16
    @item_max = $game_party.members.size
    for actor in $game_party.members
      x = actor.index * 128 + 2
      y = 0
      draw_actor_graphic(actor,   x + 20,          y + (WLH + 16))
      draw_actor_name(actor,      x + 40,         (y + 10) + WLH * 0)
      draw_actor_class(actor,     x ,             (y + 40) + (WLH * 1))
      draw_actor_state(actor,     x + 5,           y + 185)
      self.contents.draw_text(    x,               y + 160, 120, WLH, "Status:", 0)
      draw_actor_level(actor,     x ,              y + 43)
      draw_actor_hp(actor,        x ,             (y + 89) + WLH * 0, width = 105)
      draw_actor_mp(actor,        x + 5 ,         (y + 89) + WLH * 1, width = 105)
      draw_actor_exp_gauge(actor, x + 5 ,         (y + 225))
      draw_exp_info(actor,        x,              (y + 219))
    end
  end
  
  def update
    super
    if cursor_movable?
      last_index = @index
      if Input.repeat?(Input::RIGHT)
        cursor_down(Input.trigger?(Input::RIGHT))
      end
      if Input.repeat?(Input::LEFT)
        cursor_up(Input.trigger?(Input::LEFT))
      end
      if @index != last_index
        Sound.play_cursor
      end
    end
    update_cursor
    call_update_help
  end

  def update_cursor
    if @index < 0              
      self.cursor_rect.empty
    elsif @index < @item_max    
      self.cursor_rect.set(@index * 128, 0 , 128, 272)
    elsif @index >= 100       
      self.cursor_rect.set(@index * 128, 0 , 128, 272)
    else                        
      self.cursor_rect.set(0, 0, 512, 272)
    end
  end
  
  def draw_exp_info(actor, x, y)
    self.contents.font.color = text_color(0)
    s1 = actor.exp_s
    s2 = actor.corr_exp
    s3 = s1-s2
    s4 = actor.pros_lvl_exp
    exp = s3.to_s + " / " + s4.to_s
    self.contents.draw_text(x, y + WLH * 0, 100, WLH, "Esperienza")
    self.contents.draw_text(x, y + WLH * 1 - 10, 100, WLH, exp, 2)
  end

end


#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
#  * aggiunte
#==============================================================================

class Game_Actor < Game_Battler
  
  def corr_exp
    return @exp_list[@level]
  end

  def pros_lvl_exp
    return @exp_list[@level+1]-@exp_list[@level]
  end

end


#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
#  * aggiunte + alias
#==============================================================================

class Window_Base < Window

  alias melosx_draw_actor_hp_gauge draw_actor_hp_gauge
  alias melosx_draw_actor_mp_gauge draw_actor_mp_gauge
  
  def draw_actor_hp_gauge(actor, x, y, width = 120)
    gw = width * actor.hp / actor.maxhp
    gc1 = text_color(20)
    gc2 = text_color(21)
    gauge_cornice_color = text_color(0)
    gauge_cornice2_color = text_color(15)
    self.contents.fill_rect(x - 1, y + WLH - 9, width + 4, 10, gauge_cornice2_color)
    self.contents.fill_rect(x, y + WLH - 8, width + 2, 8, gauge_cornice_color)
    self.contents.fill_rect(x + 1, y + WLH - 8 + 1, width, 6, text_color(15))
    self.contents.gradient_fill_rect(x + 1, y + WLH - 8 + 1, gw, 6, gc1, gc2)
  end

  def draw_actor_mp_gauge(actor, x, y, width = 120)
    gw = width * actor.mp / [actor.maxmp, 1].max
    gc1 = text_color(22)
    gc2 = text_color(23)
    gauge_cornice_color = text_color(0)
    gauge_cornice2_color = text_color(15)
    self.contents.fill_rect(x - 1, y + WLH - 9, width + 4, 10, gauge_cornice2_color) 
    self.contents.fill_rect(x, y + WLH - 8, width + 2, 8, gauge_cornice_color)
    self.contents.fill_rect(x + 1, y + WLH - 8 + 1, width, 6, text_color(15))
    self.contents.gradient_fill_rect(x + 1, y + WLH - 8 + 1, gw, 6, gc1, gc2)
  end
  
  def draw_actor_exp_gauge(actor, x, y, width = 95)
    s1 = actor.exp_s 
    s2 = actor.corr_exp
    s3 = s1-s2
    s4 = actor.pros_lvl_exp
    gw = width * s3 / s4
    gc1 = text_color(14)
    gc2 = text_color(6)
    gauge_back_color = text_color(15)
    gauge_cornice_color = text_color(15)
    gauge_cornice2_color = text_color(0)
    self.contents.fill_rect(x - 1, y + WLH - 1, width + 4, 10, gauge_cornice_color)
    self.contents.fill_rect(x, y + WLH, width + 2, 8, gauge_cornice2_color)
    self.contents.fill_rect(x + 1, y + WLH + 1, width, 6, gauge_back_color)
    self.contents.gradient_fill_rect(x + 1, y + WLH + 1, gw, 6, gc1, gc2)
  end
  
end

 

La stringa d'errore è:

 

 

 

def draw_actor_exp_gauge(actor, x, y, width = 95)
s1 = actor.exp_s
s2 = actor.corr_exp
s3 = s1-s2
 

 

(Precisamente dice: undefined method '-' for "-------": String)


Modificato da Oswold, 27 April 2013 - 17:46 PM.


    Guardian of Irael
  • Coniglietto Rosso

  • Rpg˛S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilitā:Apprendista


#2 Inviato 27 April 2013 - 20:23 PM

Mmmh sei sicuro che quando vai ad incollare lo script una delle cornicette di tipo...

 

#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
# * aggiunte
#==============================================================================

Non ha gli ------- che vanno a capo? Cioè in una linea senza # all'inizio? ^ ^


(\_/)
(^ ^) <----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


    Oswold
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 12 messaggi

#3 Inviato 27 April 2013 - 22:53 PM

Lo script è così come l'ho incollato, ho già guardato più volte, non riesco a capire dov'è il problema perché fino a ieri non mi dava nessun errore!

 

Ci sto uscendo pazzo!



    Guardian of Irael
  • Coniglietto Rosso

  • Rpg˛S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilitā:Apprendista


#4 Inviato 28 April 2013 - 02:37 AM

Strano sembra essere proprio quel ----------------- > <

Provato su un nuovo progetto? ^ ^


(\_/)
(^ ^) <----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


    Oswold
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 12 messaggi

#5 Inviato 28 April 2013 - 10:44 AM

L'errore è proprio quella pagina in quanto se la elimino posso aprire il Menù, solo che è un disastro!



    KenzaMe92
  • Maker Svogliata

  • Utenti
  • Rens: 25
  • 2
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 1765 messaggi
  • Sesso:Femmina
  • Provenienza:Dalla strada a metā tra Immaginario e Fantasia
  • Abilitā:Esperto

#6 Inviato 28 April 2013 - 13:14 PM

a me non da nessun errore, però non vedo nessuna barra dell' esperienza.


Nuovi progetti:

00oVI6.gif SvsJAL.png  vgnoJt.png  YT3YHP.pngfcCbvW.pnggifnatale1.png
Come allegare immagini al forum  Bottega  Rise of The Hero 
869.png250d-79e61bdc7724a730c12102387964d19e04arol.gif 1321.png
Script

Spoiler

Tutorial

Spoiler

Spoiler da guardare se vi interessano
Spoiler

MANIFESTO DEL MAKING ITALIANO
Spoiler

    Oswold
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 12 messaggi

#7 Inviato 28 April 2013 - 13:30 PM

Umh, ho provato a copiare tutto il pacchetto script che ho su un nuovo progetto e stranamente funziona correttamente tutto quindi quale potrebbe essere il problema?



    KenzaMe92
  • Maker Svogliata

  • Utenti
  • Rens: 25
  • 2
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 1765 messaggi
  • Sesso:Femmina
  • Provenienza:Dalla strada a metā tra Immaginario e Fantasia
  • Abilitā:Esperto

#8 Inviato 28 April 2013 - 13:41 PM

ah è un pacchetto di script! io pensavo fosse solo quello, ecco perché non vedevo quella barra.


Nuovi progetti:

00oVI6.gif SvsJAL.png  vgnoJt.png  YT3YHP.pngfcCbvW.pnggifnatale1.png
Come allegare immagini al forum  Bottega  Rise of The Hero 
869.png250d-79e61bdc7724a730c12102387964d19e04arol.gif 1321.png
Script

Spoiler

Tutorial

Spoiler

Spoiler da guardare se vi interessano
Spoiler

MANIFESTO DEL MAKING ITALIANO
Spoiler

    Guardian of Irael
  • Coniglietto Rosso

  • Rpg˛S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilitā:Apprendista


#9 Inviato 28 April 2013 - 13:48 PM

Il problema allora potrebbe essere incompatibilità con uno degli altri script che utilizzi, prova a toglierlo ad uno ad uno per vedere quale dà problemi ^ ^


(\_/)
(^ ^) <----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


    Oswold
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 12 messaggi

#10 Inviato 28 April 2013 - 14:05 PM

Dopo vari tentativi (ho provato ad eliminare mappe, script, immagini e compagnia bella) ho capito che il problema era il livello del protagonista settato a 99... Fino al livello 98 non mi da problemi, appena inserisco livello 99 non mi apre il menù... Fa questo ragionamento con qualsiasi altro personaggio, secondo voi da cosa è dovuto?



    Guardian of Irael
  • Coniglietto Rosso

  • Rpg˛S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilitā:Apprendista


#11 Inviato 28 April 2013 - 14:58 PM

Credo sia dovuto al fatto che quando un pg raggiunge il 99 non può più ottenere esperienza e quindi al posto della prossima esperienza viene mostrato il ------- cioè il nulla, quello che ti dà errore perchè fa la sottrazione tra un numero e ------ che non è un numero! XD

Uno scripter dovrebbe risolvertelo velocemente con due righette... Holy? ^ ^

 

(Hai trovato un bel bug! ^ ^)


(\_/)
(^ ^) <----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


    Oswold
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 12 messaggi

#12 Inviato 02 May 2013 - 21:18 PM

Grazie mille per la spiegazione!

Appena ho una giornata libera vedo di sistemare il problema! Il linguaggio non sempre troppo complesso, oserei dire assomiglia al php che mi sto cingendo a studiare! Grazie ancora! :D



    Holy87
  • Prode Guerriero

  • Rpg˛S Staff
  • Rens: 458
  • 6
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 7431 messaggi
  • Sesso:Maschio
  • Provenienza:San Giorgio a Cremano
  • Abilitā:Maestro

#13 Inviato 02 May 2013 - 22:56 PM

Scusate, rispondo sempre in ritardo... Il problema è che il valore per la prossima esperienza, al livello 99 da numero si trasforma in stringa "---------".

La solizione è aggiungere .to_i a actor.exp_s in questo modo:

def draw_actor_exp_gauge(actor, x, y, width = 95)
s1 = actor.exp_s.to_i
s2 = actor.corr_exp
s3 = [s1-s2, 0].max

 

In questo modo verrà convertito a intero e non darà errore. L'inserimento in array [s1-s2, 0] prende il massimo tra 0 e il valore exp, in questo modo non si rischia che il valore diventi negativo.


"Io non volevo solo partecipare alle discussioni. Volevo avere il potere di farle fallire" [cit.]

BannerOverdrive35.png
Cap3.png

578.png
 

Miei script per RPG Maker VX Ace:

Spoiler

 
I miei tutorial:
Spoiler

    Guardian of Irael
  • Coniglietto Rosso

  • Rpg˛S Admin
  • Rens: 195
  • 19
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 58424 messaggi
  • Sesso:Maschio
  • Provenienza:Bagnaia (Viterbo)
  • Abilitā:Apprendista


#14 Inviato 03 May 2013 - 00:29 AM

Mmh quindi lo converti... ma non dovrebbe esserci tipo una condizione proprio per ignorare quell'operazione una volta raggiunto il livello 99? D:

^ ^


(\_/)
(^ ^) <----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


    Oswold
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 12 messaggi

#15 Inviato 03 May 2013 - 14:59 PM

Se sono semplici Array si "dovrebbe" creare una semplice If per il 99 così da visualizzare un messaggio come per gli altri livelli e non un errore... Infatti se faccio come dici tu mi sballa l'esperienza sotto ciò mi dice 0/-4440404004 però potrebbe essere una soluzione, grazie comunque!



    Oswold
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 12 messaggi

#16 Inviato 07 May 2013 - 16:56 PM

Il ragionamento è questo:

  def draw_actor_exp_gauge(actor, x, y, width = 95)
    s1 = actor.exp_s 
    s2 = actor.corr_exp
    s3 = nil
      if s3 = 0
      else s3 = s1-s2
      end
    s4 = nil
      if s3 = 0
      s4 = 0
      else s4 = actor.pros_lvl_exp
      end
    gw = nil
      if s4 = 0
      gw = 0
      else gw = width * s3 / s4
      end

Però mi visualizza sempre 0 di esperienza anche al livello 98, qualcuno ha qualche idea?


Modificato da Oswold, 07 May 2013 - 17:41 PM.





  • Feed RSS