Shade in the light

Forum dedié au RPG Gratuit Shade in the Light, ainsi qu'à Rpg Maker XP
 
AccueilPortailRechercherFAQCalendrierS'enregistrerSiteConnexion

Partagez | 
 

 Menu personnalisable

Aller en bas 
AuteurMessage
F_Sid
Soldat expérimenté
Soldat expérimenté
avatar

Masculin Nombre de messages : 111
Age : 26
Localisation : creer son jeu video
Date d'inscription : 23/08/2007

Feuille de Points
PA:
30/200  (30/200)
PF:
12/200  (12/200)
PR:
10/200  (10/200)

MessageSujet: Menu personnalisable   Mer 2 Jan - 20:15

Ce script vous permet de changer l'ordre des personnages.

Mettez-le au dessus de "Main" et nommez-le comme vous voulez.

Code:
#===============================================================================
# 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 = "Ordre" # 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

Auteur : Sur les bases de Vash-X puis DarkCrusaderAngel
Site : http://rpgcreative.forumpro.fr/
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ludwig
Administrateur
Administrateur
avatar

Masculin Nombre de messages : 656
Age : 25
Localisation : Devant mon ordi
Date d'inscription : 24/03/2007

Feuille de Points
PA:
200/200  (200/200)
PF:
200/200  (200/200)
PR:
200/200  (200/200)

MessageSujet: Re: Menu personnalisable   Jeu 3 Jan - 0:09

Merci pour ce petit script. Very Happy

_________________

Bonjours Invité,
Je te souhaite une agréable visite.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://shade-in-the-ligne.wifeo.com
thane
Soldat
Soldat


Masculin Nombre de messages : 62
Age : 24
Date d'inscription : 10/03/2008

Feuille de Points
PA:
19/200  (19/200)
PF:
17/200  (17/200)
PR:
40/200  (40/200)

MessageSujet: Re: Menu personnalisable   Lun 10 Mar - 23:00

pratique ^^ mais il y a moyen de faire en sorte que quand on change l'ordre des persos, le perso en premier est le chara qu'on déplace ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Microdark
Game Designer
Game Designer
avatar

Masculin Nombre de messages : 699
Age : 26
Localisation : En face de Shade in the light
Date d'inscription : 25/03/2007

Feuille de Points
PA:
200/200  (200/200)
PF:
200/200  (200/200)
PR:
200/200  (200/200)

MessageSujet: Re: Menu personnalisable   Lun 10 Mar - 23:28

Tu peux faire ça facilement en event avec un petit processus parallèle, mais après pour relier ça avec le script, c'est une autre affaire Oo

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
thane
Soldat
Soldat


Masculin Nombre de messages : 62
Age : 24
Date d'inscription : 10/03/2008

Feuille de Points
PA:
19/200  (19/200)
PF:
17/200  (17/200)
PR:
40/200  (40/200)

MessageSujet: Re: Menu personnalisable   Mer 12 Mar - 20:33

ok .... je ferais ça un autre jour alors Very Happy (je pige rien au ruby, la preuve jamais fait ) Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Menu personnalisable   

Revenir en haut Aller en bas
 
Menu personnalisable
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Châtaigne grillée au menu
» [résolu] Impossible d'accéder au menu de configuration
» Mes fimotages-Menu Mac do
» Les livres et les idées(Le menu transcendant)Les prêches
» Un menu couleur cerise...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Shade in the light :: Rpg Maker XP :: Partage de script-
Sauter vers: