le Blog pour RPG maker

blog entièrement dédié a rpg maker

15 octobre 2007

le jeu

ce jeu parle d'un héro qui devra contrer les forces du mal pour sauver une île ("farthest" qui veut dire perdu,lointain) et pouvoir partir par la même occasion de celle ci. Mais... je ne vous raconte pas la suite puisque sinon cela casserai le suspens. Donc ce jeu est créé avec RPG Maker XP et j'ai fait un installateur pour que TOUTES les personnes puissent y jouer sans avoir besoin du logiciel.
pour ce qui est du mot de passe d'installation contactez moi et je vous le dirai peut être ^^.
il se nomme donc "Andrew's Island" et dans un prochain message je vous donnerai l'installateur mais mon jeu n'étant a ce jour pas encore fini je vous le donnerai pas avant 2008 (si c'est avant c'est un miracle)

Bon passons au screen shoots de ce jeu

l'écran titre
andrew
le tout bercé par une musique de Titan Quest sa met dans l'ambiance.
ensuite il y a la première map
ScreenShot002
vous pouvez appeler votre héro comme bon vous semble (comme ici Eychiro)
et j'ai enlevé le brouillard de soleil pour que vous puissiez mieux voir .
les textes sont en mode défilant il y a en guise de menu un ring menu :
Sans_titre
voila je ne vous en dit pas plus je fini le jeu et je vous le mettrai sur le blog.
une dernière chose au niveau de l'installateur c'est normal qu'il y est un mouton qui s'affiche a votre écran car j'ai fait exprès de le mettre mais par contre en fin d'installation il faut double cliquer sur le mouton et lui dire remove voila vous savez tout maintenant. ( n'oubliez pas les commentaire pour mieux optimiser les page de ce blog. @+

Posté par eychiro à 21:35 - jeu créé par eychiro - Commentaires [1] - Permalien [#]

les photos

alors je m'en excuse je n'ai pas trouvé le temps pour aler voir le rally mais j'ai péché toutes ces photos sur un amis alors comme je suis gentil je vous les fait parvenir . les voici : (cliquez dessus pour l'agrandir)
DSC00054
DSC00059
Loeb__1_DSC00066DSC00062DSC00058

DSC00071
Loeb__9_

alors voila je pense avoir fait un bon petit dossier sur ce tour tout en étant absent aux spéciales

Posté par eychiro à 20:59 - le tour de corse WRC 2007 - Commentaires [0] - Permalien [#]

voici le photos de vendredi au tour

ce sujet n'est pas pour rpg maker je suis daccord mais c'est ma passion alors j'ai envie de la partager avec vous voila donc je suis conscient que cela n'interesse pas tout le monde mais surement que certain se ravieront des photos que je vous donne et donnerai du tour.

s'il y en a qui aime les belles mécanique poussé a bout, voici déja le parcour de ce fabuleux rallye.

1_over10

ensuite vient quelques voitures

206

307


clios1600


dscn2708

puis une des voitures que je préfère est la mitsubishi lancer évolution IX :

mitsu
et la un amateur qui va douiller s'il fait une sortie de route ^^ :

207
voila je vous en posterai plus un peut plus tard.

Posté par eychiro à 19:08 - le tour de corse WRC 2007 - Commentaires [0] - Permalien [#]

23 août 2007

script pour afficher un faceset dans un message

alor le script qui vas suivre est tout simplement G.E.N.I.A.L il permet d'afficher une photo d'un personnage  (max 96pix X 96pix).voila ici c'est assez simple il faut aler dans "Window_Message"suprimer tout ce qu'il y a dedans et ensuite y coler tout ce script :

#==============================================================================
# Window_Message
#------------------------------------------------------------------------------
#
#==============================================================================

class Window_Message < Window_Selectable
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def initialize
super(80, 304, 480, 160)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font = Font.new("Arial")
self.visible = false
self.z = 9998
@fade_in = false
@fade_out = false
@contents_showing = false
@cursor_width = 0
@pic_width = 96
@pic_height = 96
self.active = false
self.index = -1
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def dispose
terminate_message
$game_temp.message_window_showing = false
if @input_number_window != nil
@input_number_window.dispose
end
super
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def terminate_message
self.active = false
self.pause = false
self.index = -1
self.contents.clear
@contents_showing = false

if $game_temp.message_proc != nil
$game_temp.message_proc.call
end

$game_temp.message_text = nil
$game_temp.message_proc = nil
$game_temp.choice_start = 99
$game_temp.choice_max = 0
$game_temp.choice_cancel_type = 0
$game_temp.choice_proc = nil
$game_temp.num_input_start = 99
$game_temp.num_input_variable_id = 0
$game_temp.num_input_digits_max = 0

if @gold_window != nil
@gold_window.dispose
@gold_window = nil
end
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = normal_color
x = y = 0
@cursor_width = 0

if $game_temp.choice_start == 0
x = 8
end

if $game_temp.message_text != nil
text = $game_temp.message_text

begin
last_text = text.clone
text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
end until text == last_text
text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
$game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
end
text.gsub!(/\\[Ww]\[([0-9]+)\]/) do
@pic_width = $1.to_i
""
end
text.gsub!(/\\[Hh]\[([0-9]+)\]/) do
@pic_height = $1.to_i
""
end
text.gsub!(/\\[Ff]\[([\w]+)\]/) do
temp = RPG::Cache.picture($1)
pic_x = self.contents.width - @pic_width - 10
pic_y = self.contents.height / 2 - @pic_height / 2
dest = Rect.new(pic_x,pic_y,@pic_width, @pic_height)
src = Rect.new(0,0,temp.width, temp.height)
self.contents.stretch_blt(dest, temp, src)
""
end

text.gsub!(/\\\\/) { "\000" }
text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
text.gsub!(/\\[Gg]/) { "\002" }

while ((c = text.slice!(/./m)) != nil)

if c == "\000"
c = "\\"
end

if c == "\001"
text.sub!(/\[([0-9]+)\]/, "")
color = $1.to_i
if color >= 0 and color <= 7
self.contents.font.color = text_color(color)
end
next
end

if c == "\002"
if @gold_window == nil
@gold_window = Window_Gold.new
@gold_window.x = 560 - @gold_window.width
if $game_temp.in_battle
@gold_window.y = 192
else
@gold_window.y = self.y >= 128 ? 32 : 384
end
@gold_window.opacity = self.opacity
@gold_window.back_opacity = self.back_opacity
end
next
end

if c == "\n"
if y >= $game_temp.choice_start
@cursor_width = [@cursor_width, x].max
end
y += 1
x = 0

if y >= $game_temp.choice_start
x = 8
end
next
end

self.contents.draw_text(4 + x, 32 * y, 40, 32, c)

x += self.contents.text_size(c).width
end
end

if $game_temp.choice_max > 0
@item_max = $game_temp.choice_max
self.active = true
self.index = 0
end

if $game_temp.num_input_variable_id > 0
digits_max = $game_temp.num_input_digits_max
number = $game_variables[$game_temp.num_input_variable_id]
@input_number_window = Window_InputNumber.new(digits_max)
@input_number_window.number = number
@input_number_window.x = self.x + 8
@input_number_window.y = self.y + $game_temp.num_input_start * 32
end
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def reset_window
if $game_temp.in_battle
self.y = 16
else
case $game_system.message_position
when 0 # ?
self.y = 16
when 1 # ?
self.y = 160
when 2 # ?
self.y = 304
end
end
if $game_system.message_frame == 0
self.opacity = 255
else
self.opacity = 0
end
self.back_opacity = 160
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def update
super

if @fade_in
self.contents_opacity += 24
if @input_number_window != nil
@input_number_window.contents_opacity += 24
end
if self.contents_opacity == 255
@fade_in = false
end
return
end

if @input_number_window != nil
@input_number_window.update

if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
$game_variables[$game_temp.num_input_variable_id] =
@input_number_window.number
$game_map.need_refresh = true

@input_number_window.dispose
@input_number_window = nil
terminate_message
end
return
end

if @contents_showing

if $game_temp.choice_max == 0
self.pause = true
end

if Input.trigger?(Input::B)
if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
$game_system.se_play($data_system.cancel_se)
$game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
terminate_message
end
end

if Input.trigger?(Input::C)
if $game_temp.choice_max > 0
$game_system.se_play($data_system.decision_se)
$game_temp.choice_proc.call(self.index)
end
terminate_message
end
return
end

if @fade_out == false and $game_temp.message_text != nil
@contents_showing = true
$game_temp.message_window_showing = true
reset_window
refresh
Graphics.frame_reset
self.visible = true
self.contents_opacity = 0
if @input_number_window != nil
@input_number_window.contents_opacity = 0
end
@fade_in = true
return
end

if self.visible
@fade_out = true
self.opacity -= 48
if self.opacity == 0
self.visible = false
@fade_out = false
$game_temp.message_window_showing = false
end
return
end
end
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def update_cursor_rect
if @index >= 0
n = $game_temp.choice_start + @index
self.cursor_rect.set(8, n * 32, @cursor_width, 32)
else
self.cursor_rect.empty
end
end
end

et apres vous n'avez plus qu'a coler ceci dans chaques nouveau messages


\f[nom_de_l'image_sans_l'extention]


L'image doit être 96x96 et dans le dossier Pictures de votre jeu,
/!\ne mettez pas l'extension/!\,/!\ne renomez pas vos images avec des majuscules/!\ /!\ou avec des espaces/!\!!!!!!!!!!!!!!

À faire: \f[perso1]
À ne pas faire: \f[perso1.png]

Faites ceci à chaques fois dans chaques nouveau message , suivit de ce que dit le perso.

voila . et ça donne cela :

Sans_titre

pour ceux qui n'on pas de faceset il y a un site en japonais pour des faceset's

ps: ce n'est pas moi qui l'ai fait ce script seulement la mise en page ^^ . eychiro

Posté par eychiro à 15:12 - les scripts - Commentaires [2] - Permalien [#]

la gauge de combo

C'est un script qui permet de créer ce quon appelle une overdrive(FF10) limit(FF7). cest une barre qui va monter a chaque coup donner a ladversaire(par defaut). lorsque la barre est au max le perso peut faire un skill spécial!

Créer un nouveau script au dessus de main et appellez le overdrive. insérez le script suivant


# Script Overdrive (cf.FFX) traduit par Ojiro

# Voilà un script qui permet d'installer une jauge Overdrive
# qui se remplit selon les types : Aggressif, Tenace, Victorieux,
# Lâche, Solo, Leader ou Revenant.
# Le type peut être modifié en cours de jeu grâce à :
# $game_actors [ID].overdrive_type = x

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/  ?Overdrive - KGC_OverDrive? Traduit par Ojiro
#_/----------------------------------------------------------------------------
#_/ Jauge privé d'un joueur lui permettant d'activer une technique unique.
#_/============================================================================
#==============================================================================
# ? Paramètres ?
#==============================================================================

module KGC
  # ?Jauge Max
  #  Indique la valeur pour que la jauge soit pleine
  OD_jauge_MAX = 1000
  # ?Progression de la barre Si
  #  Dépend du Drive Mode du joueur
  #  Pour le 0 et 1, le Drive s'effectue selon la valeurs des dommages reçus.
  OD_GAIN_RATE = [10, 30, 200, 100, 160, 40, 160]

  # ?jauge d'Overdrive incliné
  OD_jauge_SLANT = true
  # ?Position Y de la jauge overdrive en non Combat
  OD_jauge_OFF_Y = 26
  # ?Position Y de la jauge overdrive en Combat
  OD_jauge_OFF_Y_BATTLE = 26
  # ?Barre caché en non Combat / True (Vrai) ou False (Faux)
  OD_jauge_HIDE = false
end

class Window_Base < Window
  # ?Image de la jauge Overdrive
  @@_od_jauge = RPG::Cache.picture("od_gauge.png")
end

#???????????????????????????????????????
$game_special_elements = {}
$imported = {}
$data_states = load_data("Data/States.rxdata")
$data_system = load_data("Data/System.rxdata")
$imported["OverDrive"] = true

# OverDrive??
$game_special_elements["overdrive"] = $data_system.elements.index("Overdrive")

#???????????????????????????????????????

#==============================================================================
# ¦ Game_Battler
#==============================================================================

class Game_Battler
  #--------------------------------------------------------------------------
  # ? Exécute le processus d'origineExécute le processus d'origine?????
  #--------------------------------------------------------------------------
  attr_accessor :base_damage              # Valeur des Dommmages de Base
  #--------------------------------------------------------------------------
  # ? Activation de l'Overdrive
  #--------------------------------------------------------------------------
  alias skill_can_use_KGC_OverDrive skill_can_use?
  def skill_can_use?(skill_id)
    # Activation de l'Overdrive
    if self.is_a?(Game_Actor)
      skill = $data_skills[skill_id]
      if skill != nil && skill.element_set.include?($game_special_elements["overdrive"])
        if self.overdrive < KGC::OD_jauge_MAX
          return false
        end
      end
    end

    # Exécute le processus d'origine
    return skill_can_use_KGC_OverDrive(skill_id)
  end
  #--------------------------------------------------------------------------
  # ? Application effective d'une Aggresif normale
  #--------------------------------------------------------------------------
  alias attack_effect_KGC_OverDrive attack_effect
  def attack_effect(attacker)
    @base_damage = nil

    # Exécute le processus d'origine
    result = attack_effect_KGC_OverDrive(attacker)

    if @base_damage == nil
      # Retient les dommages de base d'origine
      @base_damage = [attacker.atk - self.pdef / 2, 0].max *
        (20 + attacker.str) / 20
    end
    # Dommages reçus
    if result && self.damage.is_a?(Numeric)
      # Augmentation d'Aggresif
      if attacker.is_a?(Game_Actor) && self.is_a?(Game_Enemy) &&
          attacker.overdrive_type == 0 && self.base_damage > 0
        # Calcul du Drive
        od_up = [[self.damage * KGC::OD_GAIN_RATE[0] * 10 / self.base_damage, 1].max, 160].min
        # Drive
        attacker.overdrive += od_up
      # Lors des dégâts reçus
      elsif attacker.is_a?(Game_Enemy) && self.is_a?(Game_Actor) &&
          self.overdrive_type == 1 && self.base_damage > 0
        od_up = [self.damage * KGC::OD_GAIN_RATE[1] * 10 / self.maxhp, 1].max
        self.overdrive += od_up
      end
    end
    return result
  end
  #--------------------------------------------------------------------------
  # ? Application effective de la technique
  #--------------------------------------------------------------------------
  alias skill_effect_KGC_OverDrive skill_effect
  def skill_effect(user, skill)
    @base_damage = nil

    # Exécute le processus d'origine
    result = skill_effect_KGC_OverDrive(user, skill)

    if @base_damage == nil
      # Calcul de la Puissance
      power = skill.power + user.atk * skill.atk_f / 100
      if power > 0
        power -= self.pdef * skill.pdef_f / 200
        power -= self.mdef * skill.mdef_f / 200
        power = [power, 0].max
      end
      # Calcul d'augmentation en pourcentage
      rate = 20
      rate += (user.str * skill.str_f / 100)
      rate += (user.dex * skill.dex_f / 100)
      rate += (user.agi * skill.agi_f / 100)
      rate += (user.int * skill.int_f / 100)
      # Retient les dommages de base
      @base_damage = power * rate / 20
    end
    # Lors des Tenaces reçus
    if result && self.damage.is_a?(Numeric)
      # Augmentation des dégâts
      if user.is_a?(Game_Actor) && self.is_a?(Game_Enemy) &&
          user.overdrive_type == 0 && self.base_damage > 0
        # Calcul du Drive
        od_up = [[self.damage * KGC::OD_GAIN_RATE[0] * 10 / self.base_damage, 1].max, 160].min
        # Drive
        user.overdrive += od_up
      # Lors des Tenaces reçus
      elsif user.is_a?(Game_Enemy) && self.is_a?(Game_Actor) &&
          self.overdrive_type == 1 && self.base_damage > 0
        od_up = [self.damage * KGC::OD_GAIN_RATE[1] * 10 / self.maxhp, 1].max
        self.overdrive += od_up
      end
    end
    # Lors de l'utilisation de l'Overdrive
    if user.is_a?(Game_Actor) && skill.element_set.include?($game_special_elements["overdrive"])
      user.overdrive = 0
    end
    return result
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ? Installation
  #--------------------------------------------------------------------------
  alias setup_KGC_OverDrive setup
  def setup(actor_id)
    # Exécute le processus d'origine
    setup_KGC_OverDrive(actor_id)

    @overdrive, @overdrive_type = 0, 0
  end

  #--------------------------------------------------------------------------
  # ? Acquisition d'une jauge d'overdrive
  #--------------------------------------------------------------------------
  def overdrive
    @overdrive = 0 if @overdrive == nil
    return @overdrive
  end
  #--------------------------------------------------------------------------
  # ? Opération de la jauge Overdrive
  #--------------------------------------------------------------------------
  def overdrive=(value)
    @overdrive = 0 if @overdrive == nil
    @overdrive = [[value, 0].max, KGC::OD_jauge_MAX].min
  end
  #--------------------------------------------------------------------------
  # ? Acquisition du type d'Overdrive
  #--------------------------------------------------------------------------
  def overdrive_type
    @overdrive_type = 0 if @overdrive_type == nil
    return @overdrive_type
  end
  #--------------------------------------------------------------------------
  # ? Opération du type d'Overdrive
  #--------------------------------------------------------------------------
  def overdrive_type=(value)
    @overdrive_type = 0 if @overdrive_type == nil
    @overdrive_type = value
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Window_Base
#==============================================================================

class Window_Base < Window
  #--------------------------------------------------------------------------
  # ? Initialisation
  #--------------------------------------------------------------------------
  alias initialize_KGC_OverDrive_Base initialize
  def initialize(x, y, width, height)
    @od_jauge = @@_od_jauge
    @od_g_width = @od_jauge.width / 3
    @od_g_height = (@od_jauge.height - 2) / 3

    # Exécute le processus d'origine
    initialize_KGC_OverDrive_Base(x, y, width, height)
  end
  #--------------------------------------------------------------------------
  # ? Image de la jauge overdrive
  #--------------------------------------------------------------------------
  def _od_jauge
    return @@_od_jauge
  end
  #--------------------------------------------------------------------------
  # ? Placement de la jauge
  #--------------------------------------------------------------------------
  def _od_jauge=(new_bitmap)
    @@_od_jauge.dispose
    @@_od_jauge = new_bitmap
  end
  #--------------------------------------------------------------------------
  # ? Acquisition de l'image
  #--------------------------------------------------------------------------
  def od_jauge
    return @od_jauge
  end
  #--------------------------------------------------------------------------
  # ? Mise en place de la jauge
  #--------------------------------------------------------------------------
  def od_jauge=(new_bitmap)
    @od_jauge = new_bitmap
  end
  #--------------------------------------------------------------------------
  # ? Nom
  #--------------------------------------------------------------------------
  alias draw_actor_name_KGC_OverDrive draw_actor_name
  def draw_actor_name(actor, x, y)
    unless (!$game_temp.in_battle && KGC::OD_jauge_HIDE)
      draw_actor_od_jauge(actor, x, y, 120)
    end

    # Exécute le processus d'origine
    draw_actor_name_KGC_OverDrive(actor, x, y)
  end
  #--------------------------------------------------------------------------
  # ? Jauge OD
  #--------------------------------------------------------------------------
  def draw_actor_od_jauge(actor, x, y, width)
    # Jauge
    if $game_temp.in_battle && self.is_a?(Window_BattleStatus)
      @gs_od[actor.index] = actor.overdrive if @gs_od[actor.index] == nil
      dx = actor.screen_x + 52 - @od_g_width
      dy = y + ($game_temp.in_battle ? KGC::OD_jauge_OFF_Y_BATTLE : KGC::OD_jauge_OFF_Y)
      dx -= 16 if $imported["HPSPAlter"] && !KGC::HPSP_DRAW_NAME_LUMP
      gw = @gs_od[actor.index] * @od_g_width / KGC::OD_jauge_MAX
      maximum = @gs_od[actor.index] == KGC::OD_jauge_MAX
    else
      @jauge_x = 0
      dx = x + width - @od_g_width - 13
      dy = y + ($game_temp.in_battle ? KGC::OD_jauge_OFF_Y_BATTLE : KGC::OD_jauge_OFF_Y)
      gw = actor.overdrive * @od_g_width / KGC::OD_jauge_MAX
      maximum = actor.overdrive == KGC::OD_jauge_MAX
    end
    # Schéma
    if KGC::OD_jauge_SLANT
      self.contents.fill_rect(dx, dy, @od_g_width + 7, 6, Color.new(0, 0, 0, 0))
      # Graduation
      gy = @od_g_height + 1
      for i in 0...(@od_g_height + 2)
        self.contents.blt(dx + i, dy + gy - i, @od_jauge, Rect.new(0, gy - i, @od_g_width + 2, 1))
      end
      # Effet de Substance
      gy -= 1
      gy2 = @od_g_height * (maximum ? 3 : 2) + 1
      for i in 0...@od_g_height
        self.contents.blt(dx + i + 2, dy + gy - i, @od_jauge, Rect.new(@jauge_x, gy2 - i, gw, 1))
      end
    # Normal
    else
      self.contents.fill_rect(dx, dy, @od_g_width + 2, @od_g_height + 2, Color.new(0, 0, 0, 0))
      self.contents.blt(dx, dy, @od_jauge, Rect.new(0, 0, @od_g_width + 2, @od_g_height + 2))
      gy2 = @od_g_height * (maximum ? 2 : 1) + 2
      self.contents.blt(dx + 1, dy + 1, @od_jauge, Rect.new(@jauge_x, gy2, gw, @od_g_height))
    end
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Window_BattleStatus
#==============================================================================

class Window_BattleStatus < Window_Base
  #--------------------------------------------------------------------------
  # ? Initialisation
  #--------------------------------------------------------------------------
  alias initialize_KGC_OverDrive initialize
  def initialize
    @jauge_x, @gs_od = 0, []
    @od_g_width = @@_od_jauge.width / 3
    @od_g_height = (@@_od_jauge.height - 2) / 3

    # Exécute du processus d'origine
    initialize_KGC_OverDrive
  end
  #--------------------------------------------------------------------------
  # ? Rafraichissement
  #--------------------------------------------------------------------------
  alias refresh_KGC_OverDrive refresh
  def refresh
    # Exécute le processus d'origine
    refresh_KGC_OverDrive

    for i in 0...$game_party.actors.size
      @gs_od[i] = $game_party.actors[i].overdrive
    end
  end
  #--------------------------------------------------------------------------
  # ? Renouvelement de la graduation
  #--------------------------------------------------------------------------
  alias update_KGC_OverDrive update
  def update
    # Exécute le processus d'origine
    update_KGC_OverDrive

    # L'image de la gauge est laissée
    unless $imported["HPSPAlter"]
      @jauge_x -= [@od_g_width / 20, 1].max
      @jauge_x = @od_g_width * 2 if @jauge_x < 0
    end
    for i in 0...$game_party.actors.size
      draw_actor_od_jauge($game_party.actors[i], 0, 0, 120)
    end
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Scene_Battle
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # ? Fin du combat
  #     result : Résultat (0:Victorieux 1:Lache 2:Défaite)
  #--------------------------------------------------------------------------
  alias battle_end_KGC_OverDrive battle_end
  def battle_end(result)
    case result
    when 0  # Victorieux
      for actor in $game_party.actors
        next unless actor.exist?
        # Quand le type d'OD est Victorieux
        if actor.overdrive_type == 2
          actor.overdrive += KGC::OD_GAIN_RATE[2]
        end
      end
    when 1  # Lache
      for actor in $game_party.actors
        next unless actor.exist?
        # Quand le type d'OD est Lache
        if actor.overdrive_type == 3
          actor.overdrive += KGC::OD_GAIN_RATE[3]
        end
      end
    end

    # Exécute le processus d'origine
    battle_end_KGC_OverDrive(result)
  end
end

#???????????????????????????????????????

#==============================================================================
# ¦ Scene_Battle
#==============================================================================

class Scene_Battle
  #--------------------------------------------------------------------------
  # ? Renouvelement de la graduation
  #--------------------------------------------------------------------------
  alias update_phase4_step2_KGC_OverDrive update_phase4_step2
  def update_phase4_step2
    if @active_battler.is_a?(Game_Actor)
      # Augmentation
      case @active_battler.overdrive_type
      when 4  # Solo
        alone = true
        for actor in $game_party.actors
          next if actor == @active_battler
          # S'il y a un survivant, ce n'est pas considéré comme solo.
          if actor.exist?
            alone = false
            break
          end
        end
        od_up = alone ? KGC::OD_GAIN_RATE[4] : 0
      when 5  # Action
        od_up = KGC::OD_GAIN_RATE[5]
      when 6  # Si Revenant
        od_up = @active_battler.hp <= @active_battler.maxhp / 4 ? KGC::OD_GAIN_RATE[6] : 0
      else
        od_up = 0
      end
      @active_battler.overdrive += od_up
    end

    # Exécute le processus d'origine
    update_phase4_step2_KGC_OverDrive
  end
end

vous pouvez egalement changer comment la barre se remplit(chq coup sur ennemi, chq coup sur perso, chq fuite que vous avez fait et plus!)

une fois le script insérez, il vous faudra une jauge mais, les jauges ne sont pas que des image, enfin je sais pas comment en faire une et je nen ai trouver qun modele.



vous devez mettre cette jauge dans pictures du dossier de votre jeu.la jauge doit etre nommer "od_gauge" et elle doit etre en format png

Utilisation :
1. Créer un attribut(base de donné puis systeme) que vous nommerez overdrive

2. Créer un skill et mettez lattribut overdrive, ce  skill sera un des skill special ke vous pouvez créer

3. dans un combat, vous verrez une jauge apparaitre e ta chaque coup donné a lennemi(par defaut), la jauge sera remplira un peut plus.

4. pour utiliser votre skill special, dans un combat vous navez qua aller dans le menu habituelle de vos magie et si la barre est pleine, vous pourrez lutiliser.


Jespere que se script plaiera a certains dentre vous je nai pas trouver le créateur de ce script mais celui qui la traduit est Ojiro

Posté par eychiro à 14:55 - Commentaires [0] - Permalien [#]



Page suivante »