Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



Le Deal du moment : -39%
Pack Home Cinéma Magnat Monitor : Ampli DENON ...
Voir le deal
1190 €

Partagez
 

 [XP] Objet et event commun[RESOLU]

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
Shyno19
Ninja (niveau 5)
Ninja (niveau 5)
Shyno19

Messages postés : 220
Date d'inscription : 21/09/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140018 / 10018 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Membre10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyMer 28 Mar 2012 - 5:37

Bonsoir

En fait j'aimerais savoir si il y a un moyen quelconque pour faire en sorte que que j'utilise un objet qui appel un event commun et que dans cet event je fais apparaître un message, et ben que cette fenêtre apparaissent dans le menu et non un retour à la map puis le message.

Ou à défaut de faire apparaître une image dans le menu aussi xD

Voila voila

cordialement
Revenir en haut Aller en bas
Jin
Ancien staffeux
Ancien staffeux
Jin

Masculin
Messages postés : 8557
Date d'inscription : 08/12/2010
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140069 / 10069 / 100[XP] Objet et event commun[RESOLU] 8915271400

G 1 petit zizi Very Happy
Nn C pa vré Sad
[XP] Objet et event commun[RESOLU] Membre15
[XP] Objet et event commun[RESOLU] Partag10
[XP] Objet et event commun[RESOLU] Travai10
[XP] Objet et event commun[RESOLU] Event-10
[XP] Objet et event commun[RESOLU] Altrui10
[XP] Objet et event commun[RESOLU] Riche_10
[XP] Objet et event commun[RESOLU] Couhil10
[XP] Objet et event commun[RESOLU] Nain_p11
[XP] Objet et event commun[RESOLU] Connar10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyMer 28 Mar 2012 - 9:17

Les event commun ne marche pas dans le menu.
Revenir en haut Aller en bas
Stolas
Chevalier Dragon (niveau 1)
Chevalier Dragon (niveau 1)
Stolas

Masculin
Messages postés : 728
Date d'inscription : 02/07/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140030 / 10030 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Membre-assidu_imagesia-com_1ped_large
[XP] Objet et event commun[RESOLU] Pdagogue
[XP] Objet et event commun[RESOLU] Compositeur_imagesia-com_1pe7_large


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyMer 28 Mar 2012 - 10:13

Sauf si le menu est fait en event nan ? x)
Revenir en haut Aller en bas
lidenvice
Ancien staffeux
Ancien staffeux
lidenvice

Masculin
Messages postés : 1955
Date d'inscription : 18/10/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140068 / 10068 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Membre10
[XP] Objet et event commun[RESOLU] Doyen10
[XP] Objet et event commun[RESOLU] Travai10
[XP] Objet et event commun[RESOLU] Membre15
[XP] Objet et event commun[RESOLU] Altrui10
[XP] Objet et event commun[RESOLU] Padago10
[XP] Objet et event commun[RESOLU] Scanar10
[XP] Objet et event commun[RESOLU] Mappeu10
[XP] Objet et event commun[RESOLU] Event-10
[XP] Objet et event commun[RESOLU] Maker_10
[XP] Objet et event commun[RESOLU] Projet16
[XP] Objet et event commun[RESOLU] Mythe_10
[XP] Objet et event commun[RESOLU] Riche_10
[XP] Objet et event commun[RESOLU] Collec10
[XP] Objet et event commun[RESOLU] Collec11
[XP] Objet et event commun[RESOLU] Collec12
[XP] Objet et event commun[RESOLU] Collec13
[XP] Objet et event commun[RESOLU] Antino10
[XP] Objet et event commun[RESOLU] Serial10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyMer 28 Mar 2012 - 10:19

Quand on utilise un objet qui fait appel à un evenement commun, le menu se ferme et l'evenement commun se met en marche, donc tout dépend de ce que tu souhaites faire en fait.
Si le but est que quand tu utilises un objet, il y ai un message:
Bidule a utilisé l'objet machin sans que le menu se ferme et cela depuis le menu carte, en effet en event c'est pas possible à ma connaissance sans une seule ligne de script.

Après, c'est possible si on passe le côté contrainte: Si ca te gène pas que le menu se ferme à l'utilisation d'un objet depuis le menu carte(perso j'aime bien), tu peux utiliser la technique oui. Après depuis menu carte, le souci c'est qu'on a pas de moyen event pur pour détecter qui donne quoi à qui.

Depuis menu combat c'est possible mais avec un système de condition plutôt contraignant quand même.

Ca explique entres autres pourquoi il est souvent préférable d'avoir soit un script adapté, soit de faire son propre système event, permettant ainsi d’élargir les possibilités d'origine. Ou, evidement, faire avec les possibilités proposées qui sont quand même honorables.
Revenir en haut Aller en bas
Siegfried
Mage (niveau 2)
Mage (niveau 2)
Siegfried

Masculin
Messages postés : 286
Date d'inscription : 31/07/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140080 / 10080 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Altrui10
[XP] Objet et event commun[RESOLU] Script10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyMer 28 Mar 2012 - 11:55

Dans l'état actuel de rmxp, on ne peut pas voir apparaître le message hors des maps.
Je viens juste de coder un truc pour des messages un peu partout mais ce n'est pas encore testé et ça demanderait de refaire la moitié des scripts...
De plus, ça demanderait de lancer le message à partir d'un script, donc c'est vraiment lourd à gérer (pas d'events dans les menus)...

Il vaut mieux que tu tentes un menu par événement ou que tu trouves un autre moyen d'arriver à ton objectif.
Revenir en haut Aller en bas
http://saleth.fr
Shyno19
Ninja (niveau 5)
Ninja (niveau 5)
Shyno19

Messages postés : 220
Date d'inscription : 21/09/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140018 / 10018 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Membre10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyMer 28 Mar 2012 - 21:10

En fait ce que je cherche à faire c'est par exemple quand je clique sur un objet clé
une image ou un texte apparaît avec une petite description, comme une lettre par exemple
avec le contenue de la lettre.
Revenir en haut Aller en bas
Jin
Ancien staffeux
Ancien staffeux
Jin

Masculin
Messages postés : 8557
Date d'inscription : 08/12/2010
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140069 / 10069 / 100[XP] Objet et event commun[RESOLU] 8915271400

G 1 petit zizi Very Happy
Nn C pa vré Sad
[XP] Objet et event commun[RESOLU] Membre15
[XP] Objet et event commun[RESOLU] Partag10
[XP] Objet et event commun[RESOLU] Travai10
[XP] Objet et event commun[RESOLU] Event-10
[XP] Objet et event commun[RESOLU] Altrui10
[XP] Objet et event commun[RESOLU] Riche_10
[XP] Objet et event commun[RESOLU] Couhil10
[XP] Objet et event commun[RESOLU] Nain_p11
[XP] Objet et event commun[RESOLU] Connar10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyMer 28 Mar 2012 - 22:25

Oui on a compris et on te dis que c'pas possible en event.
Revenir en haut Aller en bas
Invité
Invité
Anonymous


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyMer 28 Mar 2012 - 23:14

Ce ne serait pas possible en créant un simulacre de Message différent ?
Revenir en haut Aller en bas
Siegfried
Mage (niveau 2)
Mage (niveau 2)
Siegfried

Masculin
Messages postés : 286
Date d'inscription : 31/07/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140080 / 10080 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Altrui10
[XP] Objet et event commun[RESOLU] Script10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyMer 28 Mar 2012 - 23:22

Tu dois utiliser un script, c'est le seul moyen.
Je peux te le faire si tu veux. Tu utilises le menu d'objets de base ?
Revenir en haut Aller en bas
http://saleth.fr
Shyno19
Ninja (niveau 5)
Ninja (niveau 5)
Shyno19

Messages postés : 220
Date d'inscription : 21/09/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140018 / 10018 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Membre10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyMer 28 Mar 2012 - 23:42

j'utilise celui qui classe les objets ci-dessous

Code:
#==============================================================================
# Objets trié par onglets
#----------------------------------
# Script de Sunabozu
# Ce script permet de trier les objets par onglet.
# Merci de ne pas distribuer ce script sans ma permission.
# Si vous avez un probleme, contactez moi sur RPG Creative.
#------------------------------------------------------------------------------
# ● Mode d'emploi :
# ● 1) Pour créer un onglet il faudra créer un nouvel élément dans la base de donnée
# contenant le symbole $ et portant le nom de l'onglet
# Exemple : Créer l'élément "$Objet" ou encore "$Trésor"
# ● 2) Ensuite tout les objets, armes ou armures devant s'afficher dans cet
# onglet devra avoir l'élément crée de coché
# ● 3) Seul les objets consommables seront affichés en combat
# ● 4) Si aucun élément n'est coché l'objet sera affiché en combat uniquement
#========================================================================
# class Window_Command_Item
# affiche les onglets
#========================================================================
class Window_Command_Item < Window_Selectable
 
  #----------------------------------------------------------------------------------------------------------------
  def initialize
    super(0, 64, 640, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
   
    # initialisation des tableaux
    @commands = []            # nom des onglets
    @commands_id = []        # id de l'attribut
   
    for i in 0...$data_system.elements.size
      # clonage d'une case du tableau contenant les éléments
      tableau_element = $data_system.elements[i].clone
      # si le mot contient la lettre $
      if tableau_element.include?("$")
        # on remplace $ par rien (on supprime)
        tableau_element["$"] = ""
        # ajout de l'element sans le $ au tableau
        @commands[i] = tableau_element
        # ajout de l'id de l'element dans le tableau
        @commands_id[i] = i
      end     
    end
    # compactage des tableaux (supression espace vide)
    @commands.compact!
    @commands_id.compact!
   
    @item_max = @commands.size
    @column_max = @commands.size
   
    refresh
    self.index = 0
  end
 
  #----------------------------------------------------------------------------------------------------------------
  def refresh
    self.contents.clear
    for i in 0...@item_max
      draw_item(i)
    end
  end
 
  #----------------------------------------------------------------------------------------------------------------
  def draw_item(index)
    x = 4 + index * ((640)/@item_max)
    w = self.width / @column_max - 32
    self.contents.draw_text(x, 0, w-4, 32, @commands[index])
  end
 
  #----------------------------------------------------------------------------------------------------------------
  def commands
    return @commands
  end
  #----------------------------------------------------------------------------------------------------------------
  def commands_id
    return @commands_id
  end
end

#========================================================================
# class Window_Item
# affiche les objets
#========================================================================
class Window_Item < Window_Selectable
 
  #----------------------------------------------------------------------------------------------------------------
  def initialize(id=0)
    super(0, 128, 640, 352)
    @column_max = 2
    self.index = 0
    # If in battle, move window to center of screen
    # and make it semi-transparent
    if $game_temp.in_battle
      self.y = 64
      self.height = 256
      self.back_opacity = 160
    end
    refresh(id)
  end
 
  #----------------------------------------------------------------------------------------------------------------
  def refresh(id=0)
    #-----------------------------------------------------------
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
   
    @data = []
    for i in 1...$data_items.size
      if ($game_party.item_number(i) > 0 and $data_items[i].element_set.include?(id)) or
        ($game_party.item_number(i) > 0 and $game_temp.in_battle)
        @data.push($data_items[i])
      end
    end
   
    unless $game_temp.in_battle
      for i in 1...$data_weapons.size
        if $game_party.weapon_number(i) > 0 and $data_weapons[i].element_set.include?(id)
          @data.push($data_weapons[i])
        end
      end
      for i in 1...$data_armors.size
        if $game_party.armor_number(i) > 0 and $data_armors[i].guard_element_set.include?(id)
          @data.push($data_armors[i])
        end
      end
    end
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, row_max * 32)
      self.contents.font.name = $fontface
      self.contents.font.size = $fontsize
      for i in 0...@item_max
        draw_item(i)
      end
    end
  end

end # class end



#========================================================================
# class Scene_Item
#========================================================================
class Scene_Item
 
  #----------------------------------------------------------------------------------------------------------------
  def main
    #-----------------------------------------------------------
    @help_window = Window_Help.new
    @command_window = Window_Command_Item.new
    @item_window = Window_Item.new(@command_window.commands_id[@command_window.index])
    @item_window.help_window = @help_window
    @help_window.set_text("")
    @target_window = Window_Target.new
    #-----------------------------------------------------------
    @command_window.active = true
    @command_window.visible = true
    @item_window.active = false
    @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
    #-----------------------------------------------------------
    @help_window.dispose
    @item_window.dispose
    @target_window.dispose
    @command_window.dispose
  end
 
  #----------------------------------------------------------------------------------------------------------------
  def update
    #-----------------------------------------------------------
    @item_window.update
    @target_window.update
    @command_window.update
    #-----------------------------------------------------------
    if @item_window.active
      update_item
      return
    end
    #-----------------------------------------------------------
    if @target_window.active
      update_target
      return
    end
    #-----------------------------------------------------------
    if @command_window.active
      update_command
      return
    end
  end
 
  #----------------------------------------------------------------------------------------------------------------
  def update_item
    #-----------------------------------------------------------
    @help_window.update
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @command_window.active = true
      @command_window.visible = true
      @item_window.active = false
      @item_window.index = 0
      @help_window.set_text("")
      return
    end
    #-----------------------------------------------------------
    if Input.trigger?(Input::C)
      @item = @item_window.item
      unless @item.is_a?(RPG::Item)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      unless $game_party.item_can_use?(@item.id)
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      $game_system.se_play($data_system.decision_se)
      if @item.scope >= 3
        @item_window.active = false
        @target_window.x = (@item_window.index + 1) % 2 * 304
        @target_window.visible = true
        @target_window.active = true
        if @item.scope == 4 || @item.scope == 6
          @target_window.index = -1
        else
          @target_window.index = 0
        end
      else
        if @item.common_event_id > 0
          $game_temp.common_event_id = @item.common_event_id
          $game_system.se_play(@item.menu_se)
    #-----------------------------------------------------------
          if @item.consumable
            $game_party.lose_item(@item.id, 1)
            @item_window.draw_item(@item_window.index)
          end
          $scene = Scene_Map.new
          return
        end
      end
      return
    end
  end
 
  #----------------------------------------------------------------------------------------------------------------
    def update_command
      if Input.trigger?(Input::LEFT) or Input.trigger?(Input::RIGHT)
      @item_window.refresh(@command_window.commands_id[@command_window.index])
    end
    #-----------------------------------------------------------
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Menu.new(0)
      return
    end
    #-----------------------------------------------------------
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      @item_window.active = true
      @command_window.active = false
      return
    end
  end

#----------------------------------------------------------------------------------------------------------------
  def update_target
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # If unable to use because items ran out
      unless $game_party.item_can_use?(@item.id)
        # Remake item window contents
        @item_window.refresh(@command_window.commands_id[@command_window.index])
    end
      # Erase target window
      @item_window.active = true
      @target_window.visible = false
      @target_window.active = false
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # If items are used up
      if $game_party.item_number(@item.id) == 0
        # Play buzzer SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # If target is all
      if @target_window.index == -1
        # Apply item effects to entire party
        used = false
        for i in $game_party.actors
          used |= i.item_effect(@item)
        end
      end
      # If single target
      if @target_window.index >= 0
        # Apply item use effects to target actor
        target = $game_party.actors[@target_window.index]
        used = target.item_effect(@item)
      end
      # If an item was used
      if used
        # Play item use SE
        $game_system.se_play(@item.menu_se)
        # If consumable
        if @item.consumable
          # Decrease used items by 1
          $game_party.lose_item(@item.id, 1)
          # Redraw item window item
          @item_window.draw_item(@item_window.index)
        end
        # Remake target window contents
        @target_window.refresh
        # If all party members are dead
        if $game_party.all_dead?
          # Switch to game over screen
          $scene = Scene_Gameover.new
          return
        end
        # If common event ID is valid
        if @item.common_event_id > 0
          # Common event call reservation
          $game_temp.common_event_id = @item.common_event_id
          # Switch to map screen
          $scene = Scene_Map.new
          return
        end
      end
      # If item wasn't used
      unless used
        # Play buzzer SE
        $game_system.se_play($data_system.buzzer_se)
      end
      return
    end
  end
#########    FIN DE CLASSE    ########################################
end
Revenir en haut Aller en bas
Siegfried
Mage (niveau 2)
Mage (niveau 2)
Siegfried

Masculin
Messages postés : 286
Date d'inscription : 31/07/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140080 / 10080 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Altrui10
[XP] Objet et event commun[RESOLU] Script10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyJeu 29 Mar 2012 - 0:17

Les objets ne seront pas utilisables du menu (en gros, j'utilise la touche valider) ?
Revenir en haut Aller en bas
http://saleth.fr
Shyno19
Ninja (niveau 5)
Ninja (niveau 5)
Shyno19

Messages postés : 220
Date d'inscription : 21/09/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140018 / 10018 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Membre10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyJeu 29 Mar 2012 - 3:30

Siegfried a écrit:
Les objets ne seront pas utilisables du menu (en gros, j'utilise la touche valider) ?

Heu c'est à dire ?

Revenir en haut Aller en bas
Siegfried
Mage (niveau 2)
Mage (niveau 2)
Siegfried

Masculin
Messages postés : 286
Date d'inscription : 31/07/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140080 / 10080 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Altrui10
[XP] Objet et event commun[RESOLU] Script10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyJeu 29 Mar 2012 - 7:31

Pour afficher le contenu de la lettre, c'est comme si on utilisait l'objet, c'est la même touche ?
Si oui, c'est pour des objets impossibles à utiliser normalement du menu, non ?
Revenir en haut Aller en bas
http://saleth.fr
Shyno19
Ninja (niveau 5)
Ninja (niveau 5)
Shyno19

Messages postés : 220
Date d'inscription : 21/09/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140018 / 10018 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Membre10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyJeu 29 Mar 2012 - 8:03

en utilisant la touche action oui, après inutilisable ça dépend.

En gros la lettre de base serait inutilisable (ou plutôt non consommable ?)

Et dans mon projet j'ai un objet qui à l'utilisation(menu uniquement) me donne un nombre de point définit dans une variable.

Et que quand je consomme celui-ci :
1-les points sont donnés normalement
2-un texte ou une image m'indiquent que j'obtient les points(sans revenir sur la map)

Parce que quand on à un grand nombre de cette objet, c'est assez chiant de revenir à chaque fois dans le menu.
Revenir en haut Aller en bas
Siegfried
Mage (niveau 2)
Mage (niveau 2)
Siegfried

Masculin
Messages postés : 286
Date d'inscription : 31/07/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140080 / 10080 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Altrui10
[XP] Objet et event commun[RESOLU] Script10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyJeu 29 Mar 2012 - 12:16

Et voilà. C'était plus subtil que ce que je pensais au départ mais ça marche.
Tu configures le message dans la liste, comme indiqué dans le script. Il apparaît si l'objet est utilisé (comme une potion par exemple) ou si tu crées un objet utilisable, sans aucun effet et sans aucune cible (le message apparaît si on appuie sur Valider).

Tu ajoutes le script et ça devrait marcher.

Code:
#==============================================================================
# ■ Item Message
#------------------------------------------------------------------------------
#  Message lors de l'utilisation d'un objet
#------------------------------------------------------------------------------
#  Par Siegfried
#------------------------------------------------------------------------------
#  Le message apparaît si :
#  -Il existe dans la liste
#  -Si l'objet est utilisé sur un ou plusieurs membres de l'équipe
#  -Si l'objet est utilisable dans le menu, mais sans aucune cible prévue
#==============================================================================

#==============================================================================
# ■ Item_Message_Config
#==============================================================================
module Item_Message_Config
  # Descriptions
  # ID => ["ligne 1", "ligne 2", etc...],
  LIST = {
    1 => ["Rien d'autre qu'une potion."],
    31 => [
      "Ceci est une carte à jouer utilisée jadis par des collégiens",
      "incapables de trouver mieux à faire à la récré depuis",
      "qu'ils ne jouaient plus au loup."
    ],
  }
end

#==============================================================================
# □ Game_Party
#==============================================================================
class Game_Party
  #--------------------------------------------------------------------------
  # ○ Lose_item
  #--------------------------------------------------------------------------
  alias item_text_lose_item lose_item
  def lose_item(item_id, n)
    if $scene.is_a?(Scene_Item)
      $scene.show_item_message_window
    end
    item_text_lose_item(item_id, n)
  end
end

#==============================================================================
# □ Scene_Item
#==============================================================================
class Scene_Item
  #--------------------------------------------------------------------------
  # ○ Main
  #--------------------------------------------------------------------------
  alias item_message_main main
  def main
    @item_message_window = Item_Message_Window.new
    item_message_main
    @item_message_window.dispose
  end
  #--------------------------------------------------------------------------
  # ○ Update
  #--------------------------------------------------------------------------
  alias item_message_update update
  def update
    if @item_message_window.visible
      if Input.trigger?(Input::C) or Input.trigger?(Input::B)
        $game_system.se_play($data_system.cancel_se)
        @item_message_window.visible = false
        return
      end
      return
    end
    item_message_update
  end
  #--------------------------------------------------------------------------
  # ○ Update_item
  #--------------------------------------------------------------------------
  alias item_message_update_item update_item
  def update_item
    item = @item_window.item
    if item != nil and $game_party.item_can_use?(item.id) and
      item.scope == 0 and [0, 2].include?(item.occasion)
      if Input.trigger?(Input::C)
        if item.consumable
          $game_party.lose_item(item.id, 1)
          @item_window.draw_item(@item_window.index)
        else
          show_item_message_window
        end
        return
      end
    end
    item_message_update_item
  end
  #--------------------------------------------------------------------------
  # ● Show_item_message_window
  #--------------------------------------------------------------------------
  def show_item_message_window
    $game_system.se_play($data_system.decision_se)
    table = Item_Message_Config::LIST[@item_window.item.id]
    if table != nil
      @item_message_window.set_text(table)
      @item_message_window.x = 320 - @item_message_window.width / 2
      @item_message_window.y = 240 - @item_message_window.height / 2
      @item_message_window.visible = true
    end
  end
end

#==============================================================================
# ■ Item_Message_Window
#==============================================================================
class Item_Message_Window < Window_Base
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 580, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    self.z = 1000
    self.visible = false
    @text = []
    refresh
  end
  #--------------------------------------------------------------------------
  # ● Set_text
  #--------------------------------------------------------------------------
  def set_text(table)
    self.height = 32 * (table.size + 1)
    self.contents = Bitmap.new(self.width - 32, self.height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    @text = table
    refresh
  end
  #--------------------------------------------------------------------------
  # ● Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    for i in 0...@text.size
      w = self.contents.width
      self.contents.draw_text(0, i * 32, w, 32, @text[i])
    end
  end
end


Dernière édition par Siegfried le Jeu 29 Mar 2012 - 13:41, édité 1 fois
Revenir en haut Aller en bas
http://saleth.fr
Shyno19
Ninja (niveau 5)
Ninja (niveau 5)
Shyno19

Messages postés : 220
Date d'inscription : 21/09/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140018 / 10018 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Membre10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyJeu 29 Mar 2012 - 12:38

ça marche nikel, je te remercie grandement pour ton aide, c'est rare de nos jour un scripteur qui créer un script de A à Z simplement pour aider xD

Bref merci à toi.


EDIT : je viens juste de remarquer, c'est normal que même si l'objet est regler sur consommable,
quand je l'utilise et bien il ne me le consomme pas ?
Revenir en haut Aller en bas
Invité
Invité
Anonymous


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyJeu 29 Mar 2012 - 13:31

Je t"ajoute 2 points Siegfried, merci pour ton aide.
Revenir en haut Aller en bas
Siegfried
Mage (niveau 2)
Mage (niveau 2)
Siegfried

Masculin
Messages postés : 286
Date d'inscription : 31/07/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140080 / 10080 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Altrui10
[XP] Objet et event commun[RESOLU] Script10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyJeu 29 Mar 2012 - 13:45

Salut, j'ai corrigé le script. C'était un bug de rmxp que je n'avais jamais remarqué, et je pense que c'est surtout parce que je n'avais jamais vraiment utilisé un objet sans événement commun.

En gros, si on mettait "Consommable" sans configurer de cible ni d'événement commun, c'est comme si on utilisait l'objet dans le vide.
C'est corrigé dans mon précédent message, il faudra que je songe à corriger le script de base de rm un jour...

Bonne utilisation.

PS : tu peux mettre autant de lignes que tu veux, la fenêtre s'adapte. Il faut juste éviter d'arriver à 50, la fenêtre devient plus haute que l'écran. Smile

PPS : tu as de la chance que je vienne juste de recoder mon menu d'objets, j'étais dans le bain depuis deux jours et comme je passais par là...
Revenir en haut Aller en bas
http://saleth.fr
Shyno19
Ninja (niveau 5)
Ninja (niveau 5)
Shyno19

Messages postés : 220
Date d'inscription : 21/09/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140018 / 10018 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Membre10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyVen 30 Mar 2012 - 1:11

j'ai remarquer un autre petit soucis.

J'ai créer un objet consommable qui appel un event commun, dans cet event il y a
variable 50 =+ 2

J'ai configurer le message dans le script et tout.

Mais quand je vais pour utiliser l'objet celui-ci me ramène sur la map(mais me donne bien les points).
Revenir en haut Aller en bas
Siegfried
Mage (niveau 2)
Mage (niveau 2)
Siegfried

Masculin
Messages postés : 286
Date d'inscription : 31/07/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140080 / 10080 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Altrui10
[XP] Objet et event commun[RESOLU] Script10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyVen 30 Mar 2012 - 1:31

Dans Scene_Item, ou pour toi, dans ton script perso pour le menu d'objets, il y a deux lignes :
Code:
$scene = Scene_Map.new
Remplace-les par :
Code:
#$scene = Scene_Map.new
Dorénavant, tu ne reviendras plus sur la map, mais je ne sais pas si l'événement commun se déclenchera. Il faut que tu vérifies ça.
Revenir en haut Aller en bas
http://saleth.fr
Shyno19
Ninja (niveau 5)
Ninja (niveau 5)
Shyno19

Messages postés : 220
Date d'inscription : 21/09/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140018 / 10018 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Membre10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyVen 30 Mar 2012 - 2:29

ça ne revient plus sur la map mais comme tu l'a dit l’évent ne se déclenche pas.
Revenir en haut Aller en bas
Siegfried
Mage (niveau 2)
Mage (niveau 2)
Siegfried

Masculin
Messages postés : 286
Date d'inscription : 31/07/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140080 / 10080 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Altrui10
[XP] Objet et event commun[RESOLU] Script10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyVen 30 Mar 2012 - 7:37

Passe-moi l'id de l'objet qui augmente les points ainsi que l'id de la variable augmentée.
Je vais te faire un petit ajout personnalisé, mais si tu as d'autres objets du genre, il faudra toujours coder spécialement pour ça.
Revenir en haut Aller en bas
http://saleth.fr
Shyno19
Ninja (niveau 5)
Ninja (niveau 5)
Shyno19

Messages postés : 220
Date d'inscription : 21/09/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140018 / 10018 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Membre10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptySam 31 Mar 2012 - 5:26

Désolé pour le retard.

Donc l'ID des Objets sont :

-24
-25
-26

L'Objet augmente les variables :
-2001
-2002
-2003
-2004
-2005
-2006
-2007
-2008


L'Objet 24 augment chaque variable de 2
L'Objet 25 augment chaque variable de 5
L'Objet 26 augment chaque variable de 10

Voila



Revenir en haut Aller en bas
Siegfried
Mage (niveau 2)
Mage (niveau 2)
Siegfried

Masculin
Messages postés : 286
Date d'inscription : 31/07/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140080 / 10080 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Altrui10
[XP] Objet et event commun[RESOLU] Script10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyMer 4 Avr 2012 - 13:27

Hop, ajoute ce script et dis-moi si ça marche.


Code:
#==============================================================================
# □ Game_Party
#==============================================================================
class Game_Party
  #--------------------------------------------------------------------------
  # ○ Lose_item
  #--------------------------------------------------------------------------
  alias bonus_points_lose_item lose_item
  def lose_item(item_id, n)
    if $scene.is_a?(Scene_Item)
      case item_id
      when 24
        for i in 2001...2008
          $game_variables[i] += 2
        end
      when 25
        for i in 2001...2008
          $game_variables[i] += 5
        end
      when 26
        for i in 2001...2008
          $game_variables[i] += 10
        end
      end
    end
    bonus_points_lose_item(item_id, n)
  end
end

Et au passage, une légère correction sonore pour le script précédent :
Code:
#==============================================================================
# ■ Item Message
#------------------------------------------------------------------------------
#  Message lors de l'utilisation d'un objet
#------------------------------------------------------------------------------
#  Par Siegfried
#------------------------------------------------------------------------------
#  Le message apparaît si :
#  -Il existe dans la liste
#  -Si l'objet est utilisé sur un ou plusieurs membres de l'équipe
#  -Si l'objet est utilisable dans le menu, mais sans aucune cible prévue
#==============================================================================

#==============================================================================
# ■ Item_Message_Config
#==============================================================================
module Item_Message_Config
  # Descriptions
  # ID => ["ligne 1", "ligne 2", etc...],
  LIST = {
    1 => ["Rien d'autre qu'une potion."],
    31 => [
      "Ceci est une carte à jouer utilisée jadis par des collégiens",
      "incapables de trouver mieux à faire à la récré depuis",
      "qu'ils ne jouaient plus au loup."
    ],
  }
end

#==============================================================================
# □ Game_Party
#==============================================================================
class Game_Party
  #--------------------------------------------------------------------------
  # ○ Lose_item
  #--------------------------------------------------------------------------
  alias item_text_lose_item lose_item
  def lose_item(item_id, n)
    if $scene.is_a?(Scene_Item)
      $scene.show_item_message_window
    end
    item_text_lose_item(item_id, n)
  end
end

#==============================================================================
# □ Scene_Item
#==============================================================================
class Scene_Item
  #--------------------------------------------------------------------------
  # ○ Main
  #--------------------------------------------------------------------------
  alias item_message_main main
  def main
    @item_message_window = Item_Message_Window.new
    item_message_main
    @item_message_window.dispose
  end
  #--------------------------------------------------------------------------
  # ○ Update
  #--------------------------------------------------------------------------
  alias item_message_update update
  def update
    if @item_message_window.visible
      if Input.trigger?(Input::C) or Input.trigger?(Input::B)
        $game_system.se_play($data_system.cancel_se)
        @item_message_window.visible = false
        return
      end
      return
    end
    item_message_update
  end
  #--------------------------------------------------------------------------
  # ○ Update_item
  #--------------------------------------------------------------------------
  alias item_message_update_item update_item
  def update_item
    item = @item_window.item
    if item != nil and $game_party.item_can_use?(item.id) and
      item.scope == 0 and [0, 2].include?(item.occasion)
      if Input.trigger?(Input::C)
        if item.consumable
          $game_party.lose_item(item.id, 1)
          @item_window.draw_item(@item_window.index)
        else
          show_item_message_window
        end
        return
      end
    end
    item_message_update_item
  end
  #--------------------------------------------------------------------------
  # ● Show_item_message_window
  #--------------------------------------------------------------------------
  def show_item_message_window
    table = Item_Message_Config::LIST[@item_window.item.id]
    if table != nil
      $game_system.se_play($data_system.decision_se)
      @item_message_window.set_text(table)
      @item_message_window.x = 320 - @item_message_window.width / 2
      @item_message_window.y = 240 - @item_message_window.height / 2
      @item_message_window.visible = true
    end
  end
end

#==============================================================================
# ■ Item_Message_Window
#==============================================================================
class Item_Message_Window < Window_Base
  #--------------------------------------------------------------------------
  # ● Initialize
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 580, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    self.z = 1000
    self.visible = false
    @text = []
    refresh
  end
  #--------------------------------------------------------------------------
  # ● Set_text
  #--------------------------------------------------------------------------
  def set_text(table)
    self.height = 32 * (table.size + 1)
    self.contents = Bitmap.new(self.width - 32, self.height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    @text = table
    refresh
  end
  #--------------------------------------------------------------------------
  # ● Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    for i in 0...@text.size
      w = self.contents.width
      self.contents.draw_text(0, i * 32, w, 32, @text[i])
    end
  end
end

Revenir en haut Aller en bas
http://saleth.fr
Shyno19
Ninja (niveau 5)
Ninja (niveau 5)
Shyno19

Messages postés : 220
Date d'inscription : 21/09/2011
Jauge LPC :
[XP] Objet et event commun[RESOLU] 891527140018 / 10018 / 100[XP] Objet et event commun[RESOLU] 8915271400

[XP] Objet et event commun[RESOLU] Membre10


[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] EmptyMer 4 Avr 2012 - 20:23

ça marche nikel.

Un grand merci pour ton aide Siegfried.

Cordialement
Revenir en haut Aller en bas
Contenu sponsorisé




[XP] Objet et event commun[RESOLU] Empty
MessageSujet: Re: [XP] Objet et event commun[RESOLU]   [XP] Objet et event commun[RESOLU] Empty

Revenir en haut Aller en bas
 
[XP] Objet et event commun[RESOLU]
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Script objet [Non résolu] ^^
» Petit soucis d'event commun
» Le retour du petit soucis d'event commun
» objet telecharger
» [RESOLU]demande plutôt étrange [/RESOLU]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ APPRENTISSAGE ~ :: Entraide :: Problèmes résolus-
Sauter vers: