Partagez
Aller en bas
avatar
Joeypixel
Membre

Nombre de messages : 172
Distinction : aucune
Date d'inscription : 09/04/2008

[résolu]Menu hyper simpliste

le Ven 17 Oct 2008 - 9:51
Bonjour à tous !
Voilà, j'ai un projet de jeu style "Escape this room", et donc il me faudrait un menu hyper simplifié avec la barre de vie du héros (pas besoin de barre de magie), un onglet "Objets" et "Sauvegarder"...
Le créateur de ce script verrait bien sûr son nom dans le générique.
Quelqu'un peut-il m'aider ?
avatar
Arayashiki
Membre

Nombre de messages : 655
Age : 28
Localisation : Trois lettres me demangent. Oserai-je ?
Distinction : FUCKING nouveau dieu du mal. Gros connard en chef.
Date d'inscription : 18/08/2008

Re: [résolu]Menu hyper simpliste

le Ven 17 Oct 2008 - 11:15
Je te fais ça en deux deux ... Bon voilà je t'ai fait ton script.Si t'as un problême hésite pas à me le dire. Pour l'affichage des PV sur la map remercie plutôt Fecha.

Voilà le script /!\ pour qu'il marche tu dois activer ton interrupteur numéro 10 en début de partie

Code:
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  This class performs the menu screen processing.
#==============================================================================

class Scene_Menu< Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #    menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(menu_index = 0)
    @menu_index = menu_index
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_command_window
  end
 
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @command_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @command_window.update
    if @command_window.active
      update_command_selection
    end
  end
 
  #------------------------------------------------------------------------
  # * Create Command Window
  #--------------------------------------------------------------------------
  def create_command_window
    s1 = Vocab:: item
    s2 = Vocab::save
    s3 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2,s3])
    @command_window.index = @menu_index
    if $game_system.save_disabled            # If save is forbidden
      @command_window.draw_item(1, false)    # Disable save
    end
  end
  #--------------------------------------------------------------------------
  # * Update Command Selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      case @command_window.index
      when 0    # item
        $scene = Scene_Item.new
      when  1    # Save
        $scene = Scene_File.new(true, false, false)
      when  2  # End Game
        $scene = Scene_End.new
      end
    end
  end
end

class Scene_File
 
  def return_scene
    if @from_title
      $scene = Scene_Title.new
    elsif @from_event
      $scene = Scene_Map.new
    else
      $scene = Scene_Menu.new(1)
    end
  end
end

class Scene_End
 
  def return_scene
    $scene = Scene_Menu.new(2)
  end
end

#=============================================================
# *** Silent's HUD
# ** Version - 1.1 RMVX
# * Fecha - 28/01/08 DD/MM/YY Version 1.1 -> 07/02/08
#----------------------------------------------------------------------------#
# * Descripcion - Simple HUD que muestra el HP, mp, EXP y nombre del jugador
# principal en el mapa, ideal para ARPGs
#
# * Placer le script au dessus du script Main.
#
# * lalala
#
# >*< 0; Haut gauche 1; Haut droite 2; Bas gauche 3; Bas droite
#============================================================================#

LUGAR = 0 # Position des barres >*<

HUD_BAR_HP = true # Montrer barre HP

HUD_BAR_MP = false # Montrer Barre MP

HUD_BAR_EP = true # Montrer barre  EXP

ON_OFF_SWITCH = 10 # Numéros interrupteur

#============================================================================#
# ** Window_HUD
# - Ventana donde se muestra la info en el mapa
#============================================================================#
class Window_HUD < Window_Base
#--------------------------------------------------------------------------#
# * Metodo Initialize
#--------------------------------------------------------------------------#
def initialize
super(0, 0, 280, 160)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
refresh
end
#--------------------------------------------------------------------------#
# * Refresh
#--------------------------------------------------------------------------#
def refresh
actor = $game_actors[1]
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 110-2, 22, $game_actors[1].name, 2)
draw_hud_actor_hp(actor, 30, 20) if HUD_BAR_HP == true
draw_hud_actor_mp(actor, 30, 50) if HUD_BAR_MP == true
draw_hud_actor_exp(actor, 30, 80) if HUD_BAR_EP == true
end
end
#============================================================================#
# ** Scene_Map alias
# - alias a Scene_Map con metodos del HUD
#============================================================================#
class Scene_Map
alias hud_main main
alias hud_update update
alias hud_terminate terminate
#--------------------------------------------------------------------------#
# * Metodo Principal
#--------------------------------------------------------------------------#
def main
@lalalah = $game_actors[1].hp
@lalalas = $game_actors[1].mp
@lalalae = $game_actors[1].exp
@hud = Window_HUD.new
case LUGAR
when 0
@hud.y = 0
@hud.x = 0
when 1
@hud.y = 280
@hud.x = 0
when 2
@hud.y = 0
@hud.x = 340
when 3
@hud.y = 280
@hud.x = 340
end
@hud.visible = false
hud_main
end
#--------------------------------------------------------------------------#
# * Update
#--------------------------------------------------------------------------#
def update
if $game_switches[ON_OFF_SWITCH] == true
@hud.visible = true
$game_map.refresh
else
@hud.visible = false
$game_map.refresh
end
if $game_switches[ON_OFF_SWITCH] == true
if $game_actors[1].hp != @lalalah and HUD_BAR_HP == true
@hud.refresh
@lalalah = $game_actors[1].hp
@hud.update
end
if $game_actors[1].mp != @lalalas and HUD_BAR_MP == true
@hud.refresh
@lalalas = $game_actors[1].mp
@hud.update
end
if $game_actors[1].exp != @lalalae and HUD_BAR_EP == true
@hud.refresh
@lalalae = $game_actors[1].exp
@hud.update
end
end
hud_update
end
#--------------------------------------------------------------------------#
# * Terminate
#--------------------------------------------------------------------------#
def terminate
@hud.dispose
hud_terminate
end
end
#============================================================================#
# ** Adiciones a Window_Base
# - Metodo de dibujado de barra de exp, hp y mp
#============================================================================#
class Window_Base < Window
#--------------------------------------------------------------------------#
# * Metodo de dibujado de la barra de hp
#--------------------------------------------------------------------------#
def draw_hp_bar(actor, x, y)
hpwidth = (actor.hp * 10) / actor.maxhp * 12 * (1)
self.contents.fill_rect(x + 0, y + 0, 1 * 120 + 4, 14, Color.new(0, 0, 0, 100))
self.contents.fill_rect(x + 1, y + 1, 1 * 120 + 2, 12, Color.new(255, 255, 255))
self.contents.fill_rect(x + 2, y + 2, 1 * 120, 10, Color.new(0, 0, 0, 150))
self.contents.fill_rect(x + 2, y + 2, hpwidth, 10, Color.new(155, 50, 50, 100))
end
#--------------------------------------------------------------------------#
# * Metodo de dibujado de la barra de mp
#--------------------------------------------------------------------------#
def draw_mp_bar(actor, x, y)
mpwidth = (actor.mp * 10) / actor.maxmp * 12 * (1)
self.contents.fill_rect(x + 0, y + 0, 1 * 120 + 4, 14, Color.new(0, 0, 0, 100))
self.contents.fill_rect(x + 1, y + 1, 1 * 120 + 2, 12, Color.new(255, 255, 255))
self.contents.fill_rect(x + 2, y + 2, 1 * 120, 10, Color.new(0, 0, 0, 150))
self.contents.fill_rect(x + 2, y + 2, mpwidth, 10, Color.new(50, 50, 155, 100))
end
#--------------------------------------------------------------------------#
# * Metodo de dibujado de la barra de exp
#--------------------------------------------------------------------------#
def draw_exp_bar(actor, x, y)
exp = actor.exp_s.to_i
max_exp = actor.next_exp_s.to_i
expwidth = (exp * 10) / max_exp * 12 * (1)
self.contents.fill_rect(x + 0, y + 0, 1 * 120 + 4, 14, Color.new(0, 0, 0, 100))
self.contents.fill_rect(x + 1, y + 1, 1 * 120 + 2, 12, Color.new(255, 255, 255))
self.contents.fill_rect(x + 2, y + 2, 1 * 120, 10, Color.new(0, 0, 0, 150))
self.contents.fill_rect(x + 2, y + 2, expwidth, 10, Color.new(50, 155, 50, 100))
end
#--------------------------------------------------------------------------#
# * Draw EXP Editado
#--------------------------------------------------------------------------#
def draw_hud_actor_exp(actor, x, y)
self.contents.font.color = Color.new(10, 100, 10)
draw_exp_bar(actor, x, y + 16)
self.contents.draw_text(x - 30, y + 6, 32, 32, 'E')
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 84, 32, actor.exp_s, 2)
self.contents.draw_text(x + 84, y, 12, 32, '/', 1)
self.contents.draw_text(x + 96, y, 84, 32, actor.next_exp_s)
end
#--------------------------------------------------------------------------#
# * Draw HP Editado
#--------------------------------------------------------------------------#
def draw_hud_actor_hp(actor, x, y, width = 144)
self.contents.font.color = Color.new(100, 10, 10)
if width - 32 >= 108
hp_x = x + width - 108
flag = true
elsif width - 32 >= 48
hp_x = x + width - 48
flag = false
end
draw_hp_bar(actor, hp_x - 36, y + 16)
self.contents.draw_text(x - 30, y + 6, 32, 32, Vocab::hp_a)
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
if flag
self.contents.font.color = normal_color
self.contents.draw_text(hp_x + 48, y, 12, 32, '/', 1)
self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
end
end
#--------------------------------------------------------------------------#
# * Draw mp Editado
#--------------------------------------------------------------------------#
def draw_hud_actor_mp(actor, x, y, width = 144)
self.contents.font.color = Color.new(10, 10, 100)
if width - 32 >= 108
mp_x = x + width - 108
flag = true
elsif width - 32 >= 48
mp_x = x + width - 48
flag = false
end
draw_mp_bar(actor, mp_x - 36, y + 16)
self.contents.draw_text(x - 30, y + 6, 32, 32, Vocab::mp_a)
self.contents.font.color = actor.mp == 0 ? knockout_color :
actor.mp <= actor.maxmp / 4 ? crisis_color : normal_color
self.contents.draw_text(mp_x, y, 48, 32, actor.mp.to_s, 2)
if flag
self.contents.font.color = normal_color
self.contents.draw_text(mp_x + 48, y, 12, 32, '/', 1)
self.contents.draw_text(mp_x + 60, y, 48, 32, actor.maxmp.to_s)
end
end
#----------------------------------------------------------------------------#
end

Voilà
avatar
Korndor
Staffeux retraité

Nombre de messages : 4959
Age : 105
Localisation : Erem Vehyx
Distinction : Champion de boxe et au lit ! :O [Wax]
Être Mythique [Mister]
Papi Korndor qui a l'ostéoporose [Skillo]
Soldat Ikéa [Coco']
Un bonhomme, un vrai ! [Neresis]
Vieillard acariâtre [Didier Gustin]
Date d'inscription : 16/12/2007
http://www.rpgmakervx-fr.com/

Re: [résolu]Menu hyper simpliste

le Ven 17 Oct 2008 - 18:03
Cool Aray', +5 en scriptage pour le temps passé dessus, et +2 après si Joey (ou quelqu'un d'autre) le teste et affirme qu'il est fonctionnel Wink


Dernière édition par Tretian le Ven 17 Oct 2008 - 18:32, édité 1 fois
avatar
AnthO'
Membre

Nombre de messages : 2202
Age : 24
Localisation : Orléans
Distinction : Panda d'élite

[Wax Rolling Eyes]
Date d'inscription : 05/01/2008
http://anthonybourgouin.fr

Re: [résolu]Menu hyper simpliste

le Ven 17 Oct 2008 - 18:06
Script testé et fonctionnel !
Bravo Aray'
avatar
Korndor
Staffeux retraité

Nombre de messages : 4959
Age : 105
Localisation : Erem Vehyx
Distinction : Champion de boxe et au lit ! :O [Wax]
Être Mythique [Mister]
Papi Korndor qui a l'ostéoporose [Skillo]
Soldat Ikéa [Coco']
Un bonhomme, un vrai ! [Neresis]
Vieillard acariâtre [Didier Gustin]
Date d'inscription : 16/12/2007
http://www.rpgmakervx-fr.com/

Re: [résolu]Menu hyper simpliste

le Ven 17 Oct 2008 - 18:33
Ajout de points effectués ^^

Par contre ce serait cool si tu postais aussi ce script dans la partie RGSS2 du forum Smile
(En citant le fofo dans l'en-tête, ce serait encore mieux :P)
avatar
Arayashiki
Membre

Nombre de messages : 655
Age : 28
Localisation : Trois lettres me demangent. Oserai-je ?
Distinction : FUCKING nouveau dieu du mal. Gros connard en chef.
Date d'inscription : 18/08/2008

Re: [résolu]Menu hyper simpliste

le Ven 17 Oct 2008 - 19:59
Hmm ce script n'est qu'une modification du menu de base. Rien d'extraordinaire. Et la partie de vie sur la map je l'ai déjà dit mais ç'est Fecha qui l'a fait moi j'ai paramétré pour que ce soit juste la vie et l'exp. Je peux le simplifier et le rendre en un seul script si tu veux par contre Tret' ?

PS : j'ai pas passé plus d'une demi heure dessus :p
avatar
Korndor
Staffeux retraité

Nombre de messages : 4959
Age : 105
Localisation : Erem Vehyx
Distinction : Champion de boxe et au lit ! :O [Wax]
Être Mythique [Mister]
Papi Korndor qui a l'ostéoporose [Skillo]
Soldat Ikéa [Coco']
Un bonhomme, un vrai ! [Neresis]
Vieillard acariâtre [Didier Gustin]
Date d'inscription : 16/12/2007
http://www.rpgmakervx-fr.com/

Re: [résolu]Menu hyper simpliste

le Ven 17 Oct 2008 - 22:41
Pas de problème, mais j'aimerais quand même que tu le postes; ça change du menu de base et ça nous rajoute un script de menu, les projets auront encore un peu plus de chances de se diversifier ^^
avatar
Arayashiki
Membre

Nombre de messages : 655
Age : 28
Localisation : Trois lettres me demangent. Oserai-je ?
Distinction : FUCKING nouveau dieu du mal. Gros connard en chef.
Date d'inscription : 18/08/2008

Re: [résolu]Menu hyper simpliste

le Sam 18 Oct 2008 - 2:20
Okay bin je vais le travailler un peu plus pour le rendre encore plus "beaux" ( perso moi je trouve ça moche mais bon c'est moi qui voit le voit comme ça ^^)

Je vais faire fusionner les deux script en un et le mettre au nom du fofo mais l'autre scripteur sera aussi dans l'etiquette de présentation du script...

Je posterai dans la partie script donc modo à vos lock

Death' : Tu es exaucé, lapinou.
avatar
Joeypixel
Membre

Nombre de messages : 172
Distinction : aucune
Date d'inscription : 09/04/2008

Re: [résolu]Menu hyper simpliste

le Sam 18 Oct 2008 - 7:42
Wow ! Merci mec, c'est tout à fait ce que j'attendais comme menu !
Merci merci
Contenu sponsorisé

Re: [résolu]Menu hyper simpliste

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