Partagez
Aller en bas
avatar
kriwg
Membre

Nombre de messages : 45
Age : 27
Localisation : Paris
Distinction : aucune
Date d'inscription : 31/03/2009

[BUG] Aide sur le script object popup

le Jeu 21 Mai 2009 - 22:54
Bonsoir ou plutôt bonjour tout le monde.
Je poste ici n'aillant pas eut de réponse dans la section entraide et étant donné que l'aide demander et au niveau d'un script.
Ça faisait quelque temps que je n'étais pas venu a cause des révisions du bac.
Je n'ai pas abandonné mon projet mais là je tombe sur un os.
Je voudrais intégrer un système de code de triche dans le jeu. Fonctionnel mais le seul problème et que j'ai ajouter un script qui créé une erreur arriver un certain moment de l'événement.
J'entre donc le code jusque là ça va et que je suis censé gagner l'argent plus rien ne fonctionne. Le logiciel me créé un erreur que j'aimerais résoudre.

Voici le script en question qui est un popup de gain :

Spoiler:
Code:
#        Popup pour gain argent, objet, arme et armure !!



# Permet d'afficher une fenêtre de taille différente selon la taille du nom

# des que vous utilisez la commande d'évent " Ajouter " argent, objet, arme, armure.

# Pour éviter les problèmes d'apparition non voulu, le nom de l'évent doit

# contenir ces trois caractères [C] pour que le script se joue.

# Ne fonctionne que pour indiquer un gain !!



class Game_Interpreter

  #--------------------------------------------------------------------------

  # *Changer l'argent

  #--------------------------------------------------------------------------

  def command_125

    value = operate_value(@params[0], @params[1], @params[2])

    $game_party.gain_gold(value)

    if $game_map.events[@event_id].name.include?("[C]")

      $argent = value

      $taille = $argent.to_s.length

      $taille *= 15

      $taille += 24 + 60

      $scene = Popup_Argent.new

    end

    return true

  end

  #--------------------------------------------------------------------------

  # * Changer les objets

  #--------------------------------------------------------------------------

  def command_126

    value = operate_value(@params[1], @params[2], @params[3])

    $game_party.gain_item($data_items[@params[0]], value)

    if $game_map.events[@event_id].name.include?("[C]")

      $item = @params[0]

      $nombre = value

      $taille = $data_items[$item].name.to_s.length

      $taille *= 11

      $taille += 24 + 60

      $scene = Popup_Objet.new

    end

    $game_map.need_refresh = true

    return true

  end

  #--------------------------------------------------------------------------

  # * Changer les Armes

  #--------------------------------------------------------------------------

  def command_127

    value = operate_value(@params[1], @params[2], @params[3])

    $game_party.gain_item($data_weapons[@params[0]], value, @params[4])

    if $game_map.events[@event_id].name.include?("[C]")

      $arme = @params[0]

      $nombre = value

      $taille = $data_weapons[$arme].name.to_s.length

      $taille *= 12

      $taille += 24 + 60

      $scene = Popup_Arme.new

    end

    return true

  end

  #--------------------------------------------------------------------------

  # * Changer armures

  #--------------------------------------------------------------------------

  def command_128

    value = operate_value(@params[1], @params[2], @params[3])

    $game_party.gain_item($data_armors[@params[0]], value, @params[4])

    if $game_map.events[@event_id].name.include?("[C]")

      $armure = @params[0]

      $nombre = value

      $taille = $data_armors[$armure].name.to_s.length

      $taille *= 12

      $taille += 24 + 50

      $scene = Popup_Armure.new

    end

    return true

  end

 

end # class

  #--------------------------------------------------------------------------



class Window_Objet < Window_Base

 

  def initialize(item, nombre, taille)

    super(180, 150, taille, 60)

    @item = item

    @nombre = nombre

    @taille = taille

    refresh

  end



  def refresh

    self.contents.clear

    objet = $data_items[@item]

    draw_icon(objet.icon_index, 0, 0)

    self.contents.font.color = normal_color

    self.contents.font.color.alpha = 255

    self.contents.draw_text(24, 0, @taille, 32, objet.name + " + " + @nombre.to_s)

  end

 

end



# -------------------------------------------



class Popup_Objet

 

  def main

    @spriteset = Spriteset_Map.new

    @window_objet = Window_Objet.new($item, $nombre, $taille)

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      if $scene != self

        break

      end

    end

    Graphics.freeze

    @window_objet.dispose

    @spriteset.dispose

  end



  def update

    @window_objet.update

    @spriteset.update

    if Input.trigger?(Input::C)

      Sound.play_decision

      $scene = Scene_Map.new

      return

    end

  end



end



# --------------------------------------------------



class Window_Argent < Window_Base

 

  def initialize(argent, taille)

    super(200, 150, taille, 60)

    @argent = argent

    @taille = taille

    refresh

  end



  def refresh

    self.contents.clear

    bitmap = Cache.system("Iconset")

    rect = Rect.new(3 * 24, 9 * 24, 24, 24)

    self.contents.blt(0, 0, bitmap, rect, 255)

    self.contents.draw_text(24, 0, @taille, 32, " + " + @argent.to_s + " " + Vocab::gold)

  end

 

end



# -------------------------------------------



class Popup_Argent

 

  def main

    @spriteset = Spriteset_Map.new

    @window_argent = Window_Argent.new($argent, $taille)

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      if $scene != self

        break

      end

    end

    Graphics.freeze

    @window_argent.dispose

    @spriteset.dispose

  end



  def update

    @window_argent.update

    @spriteset.update

    if Input.trigger?(Input::C)

      Sound.play_decision

      $scene = Scene_Map.new

      return

    end

  end



end



# --------------------------------------------------



class Window_Arme < Window_Base

 

  def initialize(arme, nombre, taille)

    super(180, 150, taille, 60)

    @arme = arme

    @nombre = nombre

    @taille = taille

    refresh

  end



  def refresh

    self.contents.clear

    objet = $data_weapons[@arme]

    draw_icon(objet.icon_index, 0, 0)

    self.contents.font.color = normal_color

    self.contents.font.color.alpha = 255

    self.contents.draw_text(24, 0, @taille, 32, objet.name + " + " + @nombre.to_s)

  end

 

end



# -------------------------------------------



class Popup_Arme

 

  def main

    @spriteset = Spriteset_Map.new

    @window_arme = Window_Arme.new($arme, $nombre, $taille)

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      if $scene != self

        break

      end

    end

    Graphics.freeze

    @window_arme.dispose

    @spriteset.dispose

  end



  def update

    @window_arme.update

    @spriteset.update

    if Input.trigger?(Input::C)

      Sound.play_decision

      $scene = Scene_Map.new

      return

    end

  end



end



# --------------------------------------------------



class Window_Armure < Window_Base

 

  def initialize(armure, nombre, taille)

    super(150, 150, taille, 60)

    @armure = armure

    @nombre = nombre

    @taille = taille

    refresh

  end



  def refresh

    self.contents.clear

    objet = $data_armors[@armure]

    draw_icon(objet.icon_index, 0, 0)

    self.contents.font.color = normal_color

    self.contents.font.color.alpha = 255

    self.contents.draw_text(24, 0, @taille, 32, objet.name + " + " + @nombre.to_s)

  end

 

end



# -------------------------------------------



class Popup_Armure

 

  def main

    @spriteset = Spriteset_Map.new

    @window_armure = Window_Armure.new($armure, $nombre, $taille)

    Graphics.transition

    loop do

      Graphics.update

      Input.update

      update

      if $scene != self

        break

      end

    end

    Graphics.freeze

    @window_armure.dispose

    @spriteset.dispose

  end



  def update

    @window_armure.update

    @spriteset.update

    if Input.trigger?(Input::C)

      Sound.play_decision

      $scene = Scene_Map.new

      return

    end

  end



end



# --------------------------------------------------

class Game_Event < Game_Character

 

  attr_reader  :name

  attr_reader  :trigger                  # Gachette

  attr_reader  :list                    # Liste des évènements des commandes

  attr_reader  :starting                # Commencement



  def initialize(map_id, event)

    super()

    @name = event.name

    @map_id = map_id

    @event = event

    @id = @event.id

    @erased = false

    @starting = false

    @through = true

    moveto(@event.x, @event.y)            # Déplacer au mouvement initial.

    refresh

  end

end

Et voici la partie de mon événement commun et de l'erreur :





Voici donc l'erreur est à la ligne 31.

Toute aide sera bienvenue merci beaucoup.
avatar
Calion
Membre

Nombre de messages : 235
Distinction : aucune
Date d'inscription : 07/12/2008

Re: [BUG] Aide sur le script object popup

le Jeu 21 Mai 2009 - 23:22
Ton script est-il vraiment nécessaire ? As-tu essayé de régler le problème par évènements ?
avatar
kriwg
Membre

Nombre de messages : 45
Age : 27
Localisation : Paris
Distinction : aucune
Date d'inscription : 31/03/2009

Re: [BUG] Aide sur le script object popup

le Ven 22 Mai 2009 - 11:06
Bah il script était très utiles. Mais bon je viens de remarquer qu'il avait d'autre bug.
Donc pour l'instant j l'ai tout simplement enlever et je ferais à la main ce que ce script fait seul.

Mais si tout de même quelqu'un un jour l'améliore je serais preneur.

Et sinon Calion que veut tu dire par régler le problème par événements.
avatar
Calion
Membre

Nombre de messages : 235
Distinction : aucune
Date d'inscription : 07/12/2008

Re: [BUG] Aide sur le script object popup

le Ven 22 Mai 2009 - 12:54
Et bien, tu utilise un évènement commun. Je pense que ton système de code triche peut se faire par évènements. Bien que le chemin sera plus complexe qu'avec un script.
avatar
kriwg
Membre

Nombre de messages : 45
Age : 27
Localisation : Paris
Distinction : aucune
Date d'inscription : 31/03/2009

Re: [BUG] Aide sur le script object popup

le Ven 22 Mai 2009 - 12:56
Non mais tout fonctionne le script ne m'aider en rien a par enlever une fastidieuse commande qui est d'afficher un message montrant la somme d'or gagner.
Donc tout est déjà fait dans l'ensemble.
Il facilite juste l'affichage de ce qu'on vient de gagner.
C'est tout.
avatar
Calion
Membre

Nombre de messages : 235
Distinction : aucune
Date d'inscription : 07/12/2008

Re: [BUG] Aide sur le script object popup

le Ven 22 Mai 2009 - 19:27
A quoi ressemble cette affichage ? Parce que je crois qu'il existe une commande toute simple pour afficher l'argent que le joueur possède.
avatar
kriwg
Membre

Nombre de messages : 45
Age : 27
Localisation : Paris
Distinction : aucune
Date d'inscription : 31/03/2009

Re: [BUG] Aide sur le script object popup

le Sam 23 Mai 2009 - 1:32
Bah si tu veux ce n'est pas que pour l'argent, c'est pour tout type de gain avec démarrage automatique.

Et voila à quoi ça ressemble.



Mais bon au pire je m'en passerai.
avatar
Calion
Membre

Nombre de messages : 235
Distinction : aucune
Date d'inscription : 07/12/2008

Re: [BUG] Aide sur le script object popup

le Sam 23 Mai 2009 - 14:39
Ah. :/ Oui effectivement. Mais il s'agit de quoi comme bugs ?
avatar
kriwg
Membre

Nombre de messages : 45
Age : 27
Localisation : Paris
Distinction : aucune
Date d'inscription : 31/03/2009

Re: [BUG] Aide sur le script object popup

le Dim 24 Mai 2009 - 13:26
Bah de l'erreur dans le premier message que j'ai poster.





Après c'est vrai que je ne sais pas si c'est dut au fait que se soit un événement commun étant donné qu'il m'a créer se bug sur un événement porte.
avatar
Calion
Membre

Nombre de messages : 235
Distinction : aucune
Date d'inscription : 07/12/2008

Re: [BUG] Aide sur le script object popup

le Dim 24 Mai 2009 - 13:35
A tout hasard, essaie d'enlever le mot "name". A la ligne 31, on sait jamais. Sinon, il faudrait que tu m'envoies une démo pour que je vois le problème dans son ensemble.
(Désolé je ne suis pas un professionnel en script. ^^° )
avatar
kriwg
Membre

Nombre de messages : 45
Age : 27
Localisation : Paris
Distinction : aucune
Date d'inscription : 31/03/2009

Re: [BUG] Aide sur le script object popup

le Dim 24 Mai 2009 - 13:49
Bah si tu veux. Prends le script que j'ai mis plus haut et test.
Car il fonctionne à certain endroit et pas a d'autre et j'ai pas encore compris ce qu'il faisait qu'il fonctionne ou pas.
avatar
Coco'
Staffeux retraité

Nombre de messages : 6575
Age : 25
Localisation : Nord/Douai
Distinction : EL DICTATOR COCO'
Coco-Dieu en puissance

Grand gourou suppléant de la secte des MAGIKARP
Leader charismatique des 2beStaffieux

N°1 du forum
Président, vice-présidents et membres honoraires de la cour suprême du forum
Président de l'association des grosses distinctions CMB
Date d'inscription : 02/07/2008
http://www.rpgmakervx-fr.com

Re: [BUG] Aide sur le script object popup

le Dim 24 Mai 2009 - 16:17
Pour le nom de ton event, mets seulement [C] et non CGA [C]
Normalement, ça doit marcher Wink

PS : Pas test, car pas VX ^^'
avatar
kriwg
Membre

Nombre de messages : 45
Age : 27
Localisation : Paris
Distinction : aucune
Date d'inscription : 31/03/2009

Re: [BUG] Aide sur le script object popup

le Dim 24 Mai 2009 - 19:56
Ok je vais essayer ça merci beaucoup.
Je vous tiens au courant si ça fonctionne.
Contenu sponsorisé

Re: [BUG] Aide sur le script object popup

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum