Utiliser les formations

Publié le par Cidragon6

Voilà un script utile la Formation de l'équipe .

Auteur:Inconnu mais modificateur Corbaque
Trouvée sur RPG Créative

Créez un nouveau script au-dessus de main, nommez le " formation". Normalement il devrais marcher parfaitement.


#===============================================================================
# Sur les bases de Vash-X puis DarkCrusaderAngel,
# Modifier par Corbaque (corbaque@hotmail.fr)
# Menu personalisable (image en font) + Ordre + limite de perso
#===============================================================================
# NOTE : Ce script contiezn toutes les info contenant le menu, donc toute les modifications sont à faire ici
#===============================================================================
class Game_Party
#--------------------------------------------------------------------------
def add_actor(actor_id)
actor = $game_actors[actor_id]
# La fonction pour avoir plusieurs perso dans l'équipe (Ici 8).
# Changer le chiffre pour avoir plusieurs personnage.
if @actors.size < 9 and not @actors.include?(actor)
@actors.push(actor)
$game_player.refresh
end
end
end

class Scene_Battle
BATTLE_ACTOR_LIMIT = 4 # Le nombre de persos en combat.
# Changer le chiffre pour avoir plusieurs personnage.

alias stack_party_main main

def main
@map_party = []
if $game_party.actors.size > BATTLE_ACTOR_LIMIT && BATTLE_ACTOR_LIMIT > 1
for i in BATTLE_ACTOR_LIMIT ... $game_party.actors.size
@map_party.push( $game_party.actors[i].id )
end
for i in @map_party
$game_party.remove_actor(i)
end
end
stack_party_main
end

alias stack_party_battle_end battle_end

def battle_end(result)
ret = stack_party_battle_end(result)
for i in @map_party
$game_party.add_actor(i)
end
return ret
end
end

class Window_MenuStatus
def initialize
super(0, 0, 480, 480)
self.contents = Bitmap.new(width - 32, $game_party.actors.size * 116 - 16)
self.contents.font.name = $fontface #Police du menu.
self.contents.font.size = $fontsize #Taille de la police.
refresh
self.active = false
self.index = -1
end
#--------------------------------------------------------------------------
def top_row
return self.oy / 116
end
#--------------------------------------------------------------------------
def top_row=(row)
if row < 0
row = 0
end
if row > row_max - 1
row = row_max - 1
end
self.oy = row * 116
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 * 116 - self.oy
self.cursor_rect.set(x, y, cursor_width, 96)
end
def page_row_max
return 4
end
end

class Scene_Menu # Les modifications qui influencerons sur le menu.
  # --------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
@changer = 0
@where = 0
@checker = 0
end
# --------------------------------
def main
s1 = $data_system.words.item # Fonction "Objets"
s2 = $data_system.words.skill# Fonction "Capacité"
s3 = $data_system.words.equip# Fonction "Equiper"
s4 = "Status" # Fonction "Status"
s5 = "Formation" # Fonction "Ordres" [La fonction ajouté]
s6 = "Sauvegarder" # Fonction "Sauvegarder"
s7 = "Quitter" # Fonction "Quitter"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
@command_window.index = @menu_index
@command_window.back_opacity = 255
@command_window.opacity = 255
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
if $game_system.save_disabled
@command_window.disable_item(4)
end
if $game_party.actors.size == 1
@command_window.disable_item(4)
end
# toute les fenêtre sont invisibles par défault,
# opacity = tour de la fenêtre
# back opacity = interieur de la fenêtre
@playtime_window = Window_PlayTime.new
@playtime_window.x = 0
@playtime_window.y = 256
@playtime_window.back_opacity= 255
@playtime_window.opacity = 255
@gold_window = Window_Gold.new
@gold_window.x = 0
@gold_window.y = 416
@gold_window.back_opacity = 255
@gold_window.opacity = 255
@status_window = Window_MenuStatus.new
@status_window.x = 160
@status_window.y = 0
@status_window.back_opacity= 255
@status_window.opacity = 255
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@playtime_window.dispose
@gold_window.dispose
@status_window.dispose
end
# --------------------------------
def update
@command_window.update
@playtime_window.update
@gold_window.update
@status_window.update
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
# --------------------------------
def update_command
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 $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
if $game_party.actors.size == 1 and @command_window.index == 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)# Fonction qui perrmets de jouer le son d'accés au menu.
$scene = Scene_Item.new # Fonction qui permets d'accéder au menu "Objets".
when 1
$game_system.se_play($data_system.decision_se)# Fonction qui perrmets de jouer le son d'accés au menu.
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2
$game_system.se_play($data_system.decision_se)# Fonction qui perrmets de jouer le son d'accés au menu.
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3
$game_system.se_play($data_system.decision_se)# Fonction qui perrmets de jouer le son d'accés au menu.
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 4
$game_system.se_play($data_system.decision_se)# Fonction qui perrmets de jouer le son d'accés au menu.
@checker = 0
@command_window.active = false
@status_window.active = true
@status_window.index = 0

when 5 # faux
$game_system.se_play($data_system.decision_se)# Fonction qui perrmets de jouer le son d'accés au menu.
$scene = Scene_Save.new # Fonction qui permets d'accéder au menu "Sauvegarder".
when 6
$game_system.se_play($data_system.decision_se)# Fonction qui perrmets de jouer le son d'accés au menu.
$scene = Scene_End.new# Fonction qui permets d'accéder au menu "Quitter".
end
return
end
end
# --------------------------------
def update_status
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)# Fonction qui perrmets de jouer le son d'accés au menu.
$scene = Scene_Skill.new(@status_window.index)# Fonction qui permets d'accéder au menu "Competences".
when 2
$game_system.se_play($data_system.decision_se)# Fonction qui perrmets de jouer le son d'accés au menu.
$scene = Scene_Equip.new(@status_window.index)# Fonction qui permets d'accéder au menu "Equipement".
when 3
$game_system.se_play($data_system.decision_se)# Fonction qui perrmets de jouer le son d'accés au menu.
$scene = Scene_Status.new(@status_window.index)# Fonction qui permets d'accéder au menu "Status".
when 4
$game_system.se_play($data_system.decision_se)# Fonction qui perrmets de jouer le son d'accés au menu.
if @checker == 0
@changer = $game_party.actors[@status_window.index]
@where = @status_window.index
@checker = 1
else
$game_party.actors[@where] = $game_party.actors[@status_window.index]
$game_party.actors[@status_window.index] = @changer
@checker = 0
@status_window.refresh
end
end
return
end
end
end


Publicité

Publié dans Scripts RPG Makers XP

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
F
C'est bien tout cela mais il sert a quoi le script?
Répondre
C
Bonjour Floya, pour information, il y a souvent des commentaire dans le script, et donc, dans les premières lignes, il y a :# La fonction pour avoir plusieurs perso dans l'équipe (Ici 8). # Changez le chiffre pour avoir plusieurs personnage. Donc apparament, il permet d'avoir beaucoup plus de quatre personnes dans son équipe. (Maintenant, je ne sais pas si cela marche correctement dans le combat, je ne m'en rappelle plus car je n'ai pas touché à RPG Maker depuis plus d'un ans.)
C
Salut, peux être qu'il manque quelque chose dans ton windows command, il y a toujours des problèmes de compatibilité avec les scripts...
Répondre
D
Sa bloque à la ligne 20 de windows command quand j'essaie d'afficher le menu
Répondre