Partagez
Aller en bas
avatar
yamazaki
Membre

Nombre de messages : 74
Distinction : aucune
Date d'inscription : 26/12/2008

salle de records

le Dim 15 Fév 2009 - 20:06
C'est un tuto qui permet de créer une salle dans laquelle l'on combat contre des
groupes d'ennemies qu'on a déjà battu avant pour enregistré son score sur un tableau
Le matos donc vous aurez besoin sont:
-3 Variables
-2 événements
-2 interrupteurs
-1 script

placer ce script au dessus du main
Spoiler:

Code:

=begin
script créée par yamazaki
http://www.rpgmakervx-fr.com
# ◦ Crée le 15/02/2009
# ◦ Version 1.0
# ◦ Remerciement à Ashka, Berka,Jebbou et Hikari
=end

#------------------------------------------------------------------------------------------------------------
#Module yama
#------------------------------------------------------------------------------------------------------------
module Yama
 
    @num_monstre = 10 #numéro de la variable qui va stocker le groupe à affronter
    @score=9#numéro de la variable qui va stocker le score
    @ratio_for= 100# ratio qui va permettre de calculer le scor en fonction de la force
    @ratio_def= 50 # ratio qui va permettre de calculer le scor en fonction de la defense
    NUM=10#numéro de l'interrupteur qui active le comptage du score
    ITEM=9#numéro de l'interrupteur qui active ou désactive l'item dans les combats
    @tab_monstre =  []

  def self.ajouter_troupe(id_troupe)
  @tab_monstre.push(id_troupe)
 end
 
def self.tableau
  return @tab_monstre
end

def self.get_tableau(valeur)
  return @tab_monstre=valeur
end
 
  def self.choix_troupe
    $game_variables[@num_monstre] =@tab_monstre[rand(@tab_monstre.size)]
  end
  def self.compte_score(force,defense)
    $game_variables[@score]=+((force*@ratio_for)+(defense*@ratio_def))
    end
 end
 
#------------------------------------------------------------------------------------------------------------
#Scene_Battle
#------------------------------------------------------------------------------------------------------------
class Scene_Battle
 
  include Yama
 alias yama_process_victory process_victory
  def process_victory
    compte_les_troupes
    if $game_switches[Yama::NUM] == true
      compte_le_score
    end
    yama_process_victory
  end

  alias yama_process_escape process_escape
  def process_escape
    if $game_switches[Yama::NUM] == true
      compte_le_score
    end
    yama_process_escape
  end
 
  alias yama_update_actor_command_selection update_actor_command_selection
  def  update_actor_command_selection
    if $game_switches[Yama::ITEM] == true
    @actor_command_window.draw_item(3, false)
  else
    @actor_command_window.draw_item(3, true)
  end
    if Input.trigger?(Input::B)
      Sound.play_cancel
      prior_actor
    elsif Input.trigger?(Input::C)
      case @actor_command_window.index
        when 0  # Attack
          Sound.play_decision
          @active_battler.action.set_attack
          start_target_enemy_selection
        when 1  # Skill
          Sound.play_decision
          start_skill_selection
      when 2  # Guard
          Sound.play_decision
          @active_battler.action.set_guard
          next_actor
    when 3
          if $game_switches[Yama::ITEM] == true
            Sound.play_buzzer
          else
            Sound.play_decision
            start_item_selection
        end
    end
  end
  end

   
  def compte_les_troupes
    if !Yama.tableau.include?($game_troop.troop.id)
        Yama.ajouter_troupe($game_troop.troop.id)
      end
  end
 
  def compte_le_score
    for enemy in $game_troop.members
      if enemy.dead?
        Yama.compte_score(enemy.enemy.atk, enemy.enemy.def)
      end
    end
  end
end
#------------------------------------------------------------------------------------------------------------
#Scene_Battle
#-----------------------------------------------------------------------------------------------------------
class Scene_File
 
  alias Yama_write_save_data write_save_data
  def write_save_data(file)
    Yama_write_save_data(file)
    Marshal.dump(Yama.tableau,          file)
  end
 
  alias Yama_read_save_data read_save_data
  def read_save_data(file)
    Yama_read_save_data(file)
    Yama.get_tableau(Marshal.load(file))
end
end

créer un événement sur lequel vous faites comme ceci
Spoiler:



et sur le deuxième celui qui aura les scores vous faîtes comme ceci
Spoiler:


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