AccueilSiteFAQRechercherS'enregistrerGroupesConnexion

 

 Socketing System

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Auteur Message
Mat
Roi
Roi


Masculin Nombre de messages: 2260
Age: 25
Point(s) Fort(s): Méthode CPF / Briseur de chevilles / Serial Killer
Point(s) Faible(s): Trop technique
Niveau RPG Maker: On ne peut être juge et parti...
Logiciel préféré: Visual Studio 2008
Date d'inscription: 12/08/2006

MessageSujet: Socketing System   Mer 11 Fév 2009 - 19:14

Socketing System




Auteur : Mat


Description

Ce système permet de sertir des objets dans les armes et armures afin d'accroitre leur efficacité


Sommaire

1. Scripts
1.1. Dépendances
1.2. Script de base
1.3. Exemple de scène
2. Explication
_________________

mat.labrute.fr


Dernière édition par Mat le Sam 23 Mai 2009 - 12:52, édité 3 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Mat
Roi
Roi


Masculin Nombre de messages: 2260
Age: 25
Point(s) Fort(s): Méthode CPF / Briseur de chevilles / Serial Killer
Point(s) Faible(s): Trop technique
Niveau RPG Maker: On ne peut être juge et parti...
Logiciel préféré: Visual Studio 2008
Date d'inscription: 12/08/2006

MessageSujet: Re: Socketing System   Mer 11 Fév 2009 - 19:15

1. Script

1.1 Dépendances

Advanced Items
_________________

mat.labrute.fr
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Mat
Roi
Roi


Masculin Nombre de messages: 2260
Age: 25
Point(s) Fort(s): Méthode CPF / Briseur de chevilles / Serial Killer
Point(s) Faible(s): Trop technique
Niveau RPG Maker: On ne peut être juge et parti...
Logiciel préféré: Visual Studio 2008
Date d'inscription: 12/08/2006

MessageSujet: Re: Socketing System   Mer 11 Fév 2009 - 19:16

1.2 Script de base

Code:

#===============================================================================
# ■ Socket System
#-------------------------------------------------------------------------------
# Auteur  : Mat
# Version : 1.0
# Date    : 11/02/2009
#-------------------------------------------------------------------------------
# Ce système permet de sertir des objets dans les amres et armures afin
# d'accroitre leur efficacité
#
# Dépendance :
# - Advanced Item
#-------------------------------------------------------------------------------
# Installation :
#  Copier tous les scripts Advanced_Item dans un script au dessus de Main.
#  Copier ce script dans un nouveau script entre Advanced_Item et Main.
#-------------------------------------------------------------------------------
# Personnalisation :
MAX_SLOT = 3  #Nombre maximal d'emplacement dans un equipement
#===============================================================================

#===============================================================================
# ▼ Game_Weapon
#-------------------------------------------------------------------------------
# Ajout du nombre de trou et de la liste des objets sertis
#===============================================================================
class Game_Weapon
 
  attr_reader :socket_number  #nombre de trou présent sur l'arme
  attr_reader :sockets        #liste des objets sertis dans l'arme
 
  #=============================================================================
  # ● setup
  #    armor_id : id de l'objet RPG::Weapon servant à l'initialisation.
  #-----------------------------------------------------------------------------
  # Méthode d'initialisation de l'arme
  #=============================================================================
  alias socket_weapon_setup setup
  def setup(weapon_id)
    socket_weapon_setup(weapon_id)
    @socket_number = 0
    @sockets = []
  end
 
  #=============================================================================
  # ● add_socket
  #-----------------------------------------------------------------------------
  # Méthode permettant d'ajouter un emplacement à l'arme
  #=============================================================================
  def add_socket
    @socket_number += 1
  end
 
  #=============================================================================
  # ● add_jewel
  #    jewel : L'objet à sertir
  #-----------------------------------------------------------------------------
  # Méthode permettant d'ajouter un objet à la liste des objets sertis
  #=============================================================================
  def add_jewel(jewel)
    @sockets.push(jewel)
  end

  #=============================================================================
  # ● can_add_socket?
  #-----------------------------------------------------------------------------
  # Méthode retourne vrai si l'on peut rajouter un emplacement à l'arme,
  # faux sinon
  #=============================================================================
  def can_add_socket?
    return @socket_number < MAX_SLOT
  end
 
  #=============================================================================
  # ● can_add_jewel?
  #-----------------------------------------------------------------------------
  # Méthode retourne vrai si l'on peut rajouter un objet à l'arme, faux sinon
  #============================================================================= 
  def can_add_jewel?
    return @sockets.size < socket_number
  end
 
  #=============================================================================
  # ● price
  #-----------------------------------------------------------------------------
  # Retourne le prix de l'arme
  #============================================================================= 
  def price
    ret = @price
    for item in @sockets
      ret += item.price
    end
    return ret
  end
 
  #=============================================================================
  # ● pdef
  #-----------------------------------------------------------------------------
  # Retourne le taux de defense physique de l'arme
  #=============================================================================
  def pdef
    ret = @pdef
    for item in @sockets
      ret += item.pdef_f
    end
    return ret
  end

  #=============================================================================
  # ● mdef
  #-----------------------------------------------------------------------------
  # Retourne le taux de defense magique de l'arme
  #============================================================================= 
  def mdef
    ret = @mdef
    for item in @sockets
      ret += item.mdef_f
    end
    return ret
  end
 
  #=============================================================================
  # ● str_plus
  #-----------------------------------------------------------------------------
  # Retourne le bonus de force de l'arme
  #=============================================================================
  def str_plus
    ret = @str_plus
    for item in @sockets
      if item.parameter_type == 3
        ret += item.parameter_points
      end
    end
    return ret
  end

  #=============================================================================
  # ● dex_plus
  #-----------------------------------------------------------------------------
  # Retourne le bonus de dexterite de l'arme
  #============================================================================= 
  def dex_plus
    ret = @dex_plus
    for item in @sockets
      if item.parameter_type == 4
        ret += item.parameter_points
      end
    end
    return ret
  end

  #=============================================================================
  # ● agi_plus
  #-----------------------------------------------------------------------------
  # Retourne le bonus d'agilite de l'arme
  #============================================================================= 
  def agi_plus
    ret = @agi_plus
    for item in @sockets
      if item.parameter_type == 5
        ret += item.parameter_points
      end
    end
    return ret
  end
 
  #=============================================================================
  # ● int_plus
  #-----------------------------------------------------------------------------
  # Retourne le bonus d'intelligence de l'arme
  #=============================================================================
  def int_plus
    ret = @int_plus
    for item in @sockets
      if item.parameter_type == 6
        ret += item.parameter_points
      end
    end
    return ret
  end
 
  #=============================================================================
  # ● element_set
  #-----------------------------------------------------------------------------
  # Retourne l'ensemble des elements de l'arme.
  #=============================================================================
  def element_set
    ret = @element_set
    for item in @sockets
      ret ||= item.element_set
    end
    return ret
  end
 
  #=============================================================================
  # ● plus_state_set
  #-----------------------------------------------------------------------------
  # Retourne les etats a ajouter
  #=============================================================================
  def plus_state_set
    ret = @plus_state_set
    for item in @sockets
      ret ||= item.plus_state_set
    end
    return ret
  end
 
  #=============================================================================
  # ● minus_state_set
  #-----------------------------------------------------------------------------
  # Retourne les etats a enlever
  #=============================================================================
  def minus_state_set
    ret = @minus_state_set
    for item in @sockets
      ret ||= item.minus_state_set
    end
    return ret
  end
 
end

#===============================================================================
# ▼ Game_Armor
#-------------------------------------------------------------------------------
# Ajout du nombre de trou et de la liste des objets sertis
#===============================================================================
class Game_Armor
 
  attr_reader :socket_number  #nombre de trou présent sur l'arme
  attr_reader :sockets        #liste des objets sertis dans l'arme
 
  #=============================================================================
  # ● setup
  #    weapon_id : id de l'objet RPG::Armor servant à l'initialisation.
  #-----------------------------------------------------------------------------
  # Méthode d'initialisation de l'armure
  #=============================================================================
  alias socket_armor_setup setup
  def setup(armor_id)
    socket_armor_setup(armor_id)
    @socket_number = 0
    @sockets = []
  end
 
  #=============================================================================
  # ● add_socket
  #-----------------------------------------------------------------------------
  # Méthode permettant d'ajouter un emplacement à l'armure
  #=============================================================================
  def add_socket
    @socket_number += 1
  end
 
  #=============================================================================
  # ● add_jewel
  #    jewel : L'objet à sertir
  #-----------------------------------------------------------------------------
  # Méthode permettant d'ajouter un objet à la liste des objets sertis
  #=============================================================================
  def add_jewel(jewel)
    @sockets.push(jewel)
  end

  #=============================================================================
  # ● can_add_socket?
  #-----------------------------------------------------------------------------
  # Méthode retourne vrai si l'on peut rajouter un emplacement à l'armure,
  # faux sinon
  #=============================================================================
  def can_add_socket?
    return @socket_number < MAX_SLOT
  end
 
  #=============================================================================
  # ● can_add_jewel?
  #-----------------------------------------------------------------------------
  # Méthode retourne vrai si l'on peut rajouter un objet à l'armure, faux sinon
  #============================================================================= 
  def can_add_jewel?
    return @sockets.size < socket_number
  end
 
  #=============================================================================
  # ● price
  #-----------------------------------------------------------------------------
  # Retourne le prix de l'armure
  #============================================================================= 
  def price
    ret = @price
    for item in @sockets
      ret += item.price
    end
    return ret
  end
 
  #=============================================================================
  # ● pdef
  #-----------------------------------------------------------------------------
  # Retourne le taux de defense physique de l'armure
  #=============================================================================
  def pdef
    ret = @pdef
    for item in @sockets
      ret += item.pdef_f
    end
    return ret
  end

  #=============================================================================
  # ● mdef
  #-----------------------------------------------------------------------------
  # Retourne le taux de defense magique de l'armure.
  #============================================================================= 
  def mdef
    ret = @mdef
    for item in @sockets
      ret += item.mdef_f
    end
    return ret
  end
 
  #=============================================================================
  # ● str_plus
  #-----------------------------------------------------------------------------
  # Retourne le bonus de force de l'armure.
  #=============================================================================
  def str_plus
    ret = @str_plus
    for item in @sockets
      if item.parameter_type == 3
        ret += item.parameter_points
      end
    end
    return ret
  end

  #=============================================================================
  # ● dex_plus
  #-----------------------------------------------------------------------------
  # Retourne le bonus de dexterite de l'armure
  #============================================================================= 
  def dex_plus
    ret = @dex_plus
    for item in @sockets
      if item.parameter_type == 4
        ret += item.parameter_points
      end
    end
    return ret
  end

  #=============================================================================
  # ● agi_plus
  #-----------------------------------------------------------------------------
  # Retourne le bonus d'agilite de l'armure.
  #============================================================================= 
  def agi_plus
    ret = @agi_plus
    for item in @sockets
      if item.parameter_type == 5
        ret += item.parameter_points
      end
    end
    return ret
  end
 
  #=============================================================================
  # ● int_plus
  #-----------------------------------------------------------------------------
  # Retourne le bonus d'intelligence de l'armure.
  #=============================================================================
  def int_plus
    ret = @int_plus
    for item in @sockets
      if item.parameter_type == 5
        ret += item.parameter_points
      end
    end
    return ret
  end
 
  #=============================================================================
  # ● guard_element_set
  #-----------------------------------------------------------------------------
  # Retourne l'ensemble des taux de defenses aux elements
  #=============================================================================
  def guard_element_set
    ret = @guard_element_set
    for item in @sockets
      ret ||= item.plus_state_set
    end
    return ret
  end
 
  #=============================================================================
  # ● minus_state_set
  #-----------------------------------------------------------------------------
  # Retourne l'ensemble des taux de defenses aux etats
  #=============================================================================
  def guard_state_set
    ret = @guard_state_set
    for item in @sockets
      ret ||= item.minus_state_set
    end
    return ret
  end
 
end

_________________

mat.labrute.fr
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Mat
Roi
Roi


Masculin Nombre de messages: 2260
Age: 25
Point(s) Fort(s): Méthode CPF / Briseur de chevilles / Serial Killer
Point(s) Faible(s): Trop technique
Niveau RPG Maker: On ne peut être juge et parti...
Logiciel préféré: Visual Studio 2008
Date d'inscription: 12/08/2006

MessageSujet: Re: Socketing System   Mer 11 Fév 2009 - 19:17

1.3. Exemple de scène

Code:

#===============================================================================
# ■ Scene Socket
#-------------------------------------------------------------------------------
# Cette scene est un exemple d'utilisation du script Socket System
#-------------------------------------------------------------------------------
# Installation :
#  Copier ce script dans un nouveau script entre Socket System et Main.
#-------------------------------------------------------------------------------
# Pour appeller la scene, il suffit d'utiliser le code suivant
#  $scene = Scene_Socket.new
#-------------------------------------------------------------------------------
# Personnalisation
JEWEL_ID = 17      #Identifiant de l'attribut distinguant les objets sertibles
#
SOCKET_PRICE = 100  #Le prix pour ajouter un emplacement dans un equipement
#===============================================================================

class Window_SocketStat < Window_Base
 
  attr_accessor :item
  attr_accessor :jewel
 
  def initialize(item)
    super(0, 64, 272, 224)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    @item = item
    @jewel = nil
    refresh
    self.active = false
  end
 
  def draw_str
    parameter_name = $data_system.words.str
    parameter_value = @item == nil ? 0 : @item.str_plus
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, 120, 32, parameter_name)
    self.contents.font.color = normal_color
    self.contents.draw_text(120, 0, 36, 32, parameter_value.to_s, 2)
    if @jewel != nil
      if @jewel.parameter_type == 3
        parameter_add = @jewel.parameter_points + @item.str_plus
      else
        parameter_add = @item.str_plus
      end
      self.contents.font.color = system_color
      self.contents.draw_text(160, 0, 40, 32, "→", 1)
      self.contents.font.color = normal_color
      self.contents.draw_text(200, 0, 36, 32, parameter_add.to_s, 2)
    end
  end
 
  def draw_dex
    parameter_name = $data_system.words.dex
    parameter_value = @item == nil ? 0 : @item.dex_plus
    self.contents.font.color = system_color
    self.contents.draw_text(0, 32, 120, 32, parameter_name)
    self.contents.font.color = normal_color
    self.contents.draw_text(120, 32, 36, 32, parameter_value.to_s, 2)
    if @jewel != nil
      if @jewel.parameter_type == 4
        parameter_add = @jewel.parameter_points + @item.dex_plus
      else
        parameter_add = @item.dex_plus
      end
      self.contents.font.color = system_color
      self.contents.draw_text(160, 32, 40, 32, "→", 1)
      self.contents.font.color = normal_color
      self.contents.draw_text(200, 32, 36, 32, parameter_add.to_s, 2)
    end
  end
 
  def draw_agi
    parameter_name = $data_system.words.agi
    parameter_value = @item == nil ? 0 : @item.agi_plus
    self.contents.font.color = system_color
    self.contents.draw_text(0, 64, 120, 32, parameter_name)
    self.contents.font.color = normal_color
    self.contents.draw_text(120, 64, 36, 32, parameter_value.to_s, 2)
    if @jewel != nil
      if @jewel.parameter_type == 5
        parameter_add = @jewel.parameter_points + @item.agi_plus
      else
        parameter_add = @item.agi_plus
      end
      self.contents.font.color = system_color
      self.contents.draw_text(160, 64, 40, 32, "→", 1)
      self.contents.font.color = normal_color
      self.contents.draw_text(200, 64, 36, 32, parameter_add.to_s, 2)
    end
  end
 
  def draw_int
    parameter_name = $data_system.words.int
    parameter_value = @item == nil ? 0 : @item.int_plus
    self.contents.font.color = system_color
    self.contents.draw_text(0, 96, 120, 32, parameter_name)
    self.contents.font.color = normal_color
    self.contents.draw_text(120, 96, 36, 32, parameter_value.to_s, 2)
    if @jewel != nil
      if @jewel.parameter_type == 6
        parameter_add = @jewel.parameter_points + @item.int_plus
      else
        parameter_add = @item.dex_plus
      end
      self.contents.font.color = system_color
      self.contents.draw_text(160, 96, 40, 32, "→", 1)
      self.contents.font.color = normal_color
      self.contents.draw_text(200, 96, 36, 32, parameter_add.to_s, 2)
    end
  end
 
  def draw_pdef
    parameter_name = $data_system.words.pdef
    parameter_value = @item == nil ? 0 : @item.pdef
    self.contents.font.color = system_color
    self.contents.draw_text(0, 128, 120, 32, parameter_name)
    self.contents.font.color = normal_color
    self.contents.draw_text(120, 128, 36, 32, parameter_value.to_s, 2)
    if @jewel != nil
      parameter_add = @jewel.pdef_f + @item.pdef
      self.contents.font.color = system_color
      self.contents.draw_text(160, 128, 40, 32, "→", 1)
      self.contents.font.color = normal_color
      self.contents.draw_text(200, 128, 36, 32, parameter_add.to_s, 2)
    end
  end
 
  def draw_mdef
    parameter_name = $data_system.words.mdef
    parameter_value = @item == nil ? 0 : @item.mdef
    self.contents.font.color = system_color
    self.contents.draw_text(0, 160, 120, 32, parameter_name)
    self.contents.font.color = normal_color
    self.contents.draw_text(120, 160, 36, 32, parameter_value.to_s, 2)
    if @jewel != nil
      parameter_add = @jewel.mdef_f + @item.mdef
      self.contents.font.color = system_color
      self.contents.draw_text(160, 160, 40, 32, "→", 1)
      self.contents.font.color = normal_color
      self.contents.draw_text(200, 160, 36, 32, parameter_add.to_s, 2)
    end
  end
 
  def refresh
    self.contents.clear
    draw_str
    draw_dex
    draw_agi
    draw_int
    draw_pdef
    draw_mdef
  end
 
end

class Window_SocketItem < Window_Selectable
 
  def initialize
    super(272, 64, 368, 224)
    @column_max = 1
    refresh
    self.index = 0
  end
 
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = $game_party.weapons + $game_party.armors
    @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
 
  def draw_item(index)
    item = @data[index]
    if item.can_add_jewel?
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = 4
    y = index * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  end
 
  def item
    return @data[self.index]
  end
 
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
 
end

class Window_Jewel < Window_Selectable
 
  def initialize
    super(0, 288, 640, 192)
    @column_max = 2
    refresh
    self.active = false
    self.index = -1
  end
 
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @data = []
    for item in $game_party.items
      @data.push(item) if item.element_set .include?(JEWEL_ID)
    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
 
  def draw_item(index)
    item = @data[index]
    x = 4 + index % 2 * (288 + 32)
    y = index / 2 * 32
    rect = Rect.new(x, y, self.width / @column_max - 32, 32)
    self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
    self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  end
 
  def item
    return @data[self.index]
  end
 
  def update_help
    @help_window.set_text(self.item == nil ? "" : self.item.description)
  end
 
end

class Window_SockAdd < Window_Selectable

  def initialize
    super(0, 288, 640, 192)
    self.z = 500
    @column_max = 2
    @item_max = 2
    refresh
    self.active = false
    self.visible = false
    self.index = 0
  end
 
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    text = "Voulez-vous ajouter un emplacement ?"
    self.contents.draw_text(0,0,640,32,text,0)
    self.contents.draw_text(10,32,50,32,"Oui",0)
    self.contents.draw_text(330,32,50,32,"Non",0)
  end
 
  def update_cursor_rect
    if @index < 0
      self.cursor_rect.empty
      return
    end
    row = @index / @column_max
    if row < self.top_row
      self.top_row = row
    end
    if row > self.top_row + (self.page_row_max - 1)
      self.top_row = row - (self.page_row_max - 1)
    end
    cursor_width = self.width / @column_max - 32
    x = @index % @column_max * (cursor_width + 32)
    y = @index / @column_max * 32 - self.oy
    self.cursor_rect.set(x, y + 32, cursor_width, 32)
  end
 
end

class Scene_Socket
 
  def main
    @help_window = Window_Help.new
    @item_window = Window_SocketItem.new
    @item_window.help_window = @help_window
    @stat_window = Window_SocketStat.new(@item_window.item)
    @item_window.active = true   
    @jewel_window = Window_Jewel.new
    @jewel_window.help_window = @help_window
    @sock_window = Window_SockAdd.new
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @help_window.dispose
    @stat_window.dispose
    @item_window.dispose
    @jewel_window.dispose
    @sock_window.dispose
  end
 
  def update
    @help_window.update
    @stat_window.update
    @item_window.update
    @jewel_window.update
    @sock_window.update
    if @item_window.active
      update_item
      return
    end
    if @jewel_window.active
      update_jewel
      return
    end
   
    if @sock_window.active
      update_sock
      return
    end
  end
 
  def update_item
    @stat_window.item = @item_window.item
    @stat_window.refresh
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      if @item_window.item != nil and @item_window.item.can_add_jewel?
        $game_system.se_play($data_system.decision_se)
        @item_window.active = false
        @jewel_window.index = 0
        @jewel_window.active = true
      elsif @item_window.item != nil and @item_window.item.can_add_socket? and $game_party.gold >= SOCKET_PRICE
        @item_window.active = false
        @sock_window.active = true
        @sock_window.visible = true
      else
        $game_system.se_play($data_system.buzzer_se)
      end
    end
  end
 
  def update_jewel
    @stat_window.jewel = @jewel_window.item
    @stat_window.refresh
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @jewel_window.index = -1
      @stat_window.jewel = nil
      @jewel_window.active = false
      @item_window.active = true
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      @item_window.item.add_jewel(@jewel_window.item)
      $game_party.lose_item(@jewel_window.item)
      @jewel_window.refresh
      @item_window.refresh
      if ! @item_window.item.can_add_jewel?
        @jewel_window.index = -1
        @stat_window.jewel = nil
        @jewel_window.active = false
        @item_window.active = true
      end
      return
    end
  end
 
  def update_sock
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @sock_window.active = false
      @sock_window.visible = false
      @item_window.active = true
      return
    end
   
    if Input.trigger?(Input::C)     
      case @sock_window.index
      when 0
        $game_system.se_play($data_system.decision_se)
        @item_window.item.add_socket
        $game_party.lose_gold(SOCKET_PRICE)
        @item_window.refresh
        @sock_window.active = false
        @sock_window.visible = false
        @item_window.active = true
        return
      when 1
        $game_system.se_play($data_system.cancel_se)
        @sock_window.index = 0
        @sock_window.active = false
        @sock_window.visible = false
        @item_window.active = true
        return
      end
    end
  end
 
end

_________________

mat.labrute.fr
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Mat
Roi
Roi


Masculin Nombre de messages: 2260
Age: 25
Point(s) Fort(s): Méthode CPF / Briseur de chevilles / Serial Killer
Point(s) Faible(s): Trop technique
Niveau RPG Maker: On ne peut être juge et parti...
Logiciel préféré: Visual Studio 2008
Date d'inscription: 12/08/2006

MessageSujet: Re: Socketing System   Mer 11 Fév 2009 - 19:22

2. Explications


Installation :
Copier tous les scripts Advanced_Item dans un script au dessus de Main. Copier ce script dans un nouveau script entre Advanced_Item et Main.

Utilisation de la scène exemple

Créer un nouvel Attributs d'identifiant 17 dans l'onglet Systèmes de la base de données et nommé le Joyaux.
Dans l'onglet créer un nouvelle objet d'identifiant 33, nommé le Rubis et coché Joyaux dans les attributs.

En jeu, ajouter des rubis ainsi que des équipements à votre équipe et lancer la scène en insérant le code:
Code:

$scene = Scene_Socket.new

dans un event.
_________________

mat.labrute.fr
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 

Socketing System

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum: Vous ne pouvez pas répondre aux sujets dans ce forum
 :: Partage de scripts :: Systèmes -
|
Forum gratuit | © phpBB | Forum gratuit d'entraide | Signaler un abus | Créer un forum