Partagez
Aller en bas
LightNox
LightNox
Membre

Nombre de messages : 1759
Age : 28
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

RPG Maker VX Ace LN - RéputationEx

le Ven 12 Oct 2012 - 9:14
LN - RéputationEx


Auteur : LightNox

Version du script :
V 1.0 : script de base
V 1.1 : refonte du script, ajout d'une liste pour gérer les images, les titres et les descriptions.
V 1.2 : Reprise Graphique du script + nouvelle image + nouveau script a récupérer


Principe du script : Ce script permet d'avoir une gestion de la réputation.

Instructions : Toute les configurations sont expliquer au début du script ^^.
image a placez dans le dossier picture de votre projet :
Spoiler:



a nommez : "barre reput.png"LN - RéputationEx Barre_10 a nommez : "curseur reput.png"LN - RéputationEx Curseu10 a nommez : "tresmauvais.png" LN - RéputationEx Tres_m10
a nommez : "mauvais.png"LN - RéputationEx Mauvai10 a nommez : "neutre.png" LN - RéputationEx Neutre10a nommez : "bon.png" LN - RéputationEx Bon10 a nommez : "tresbon.png" LN - RéputationEx Tres_b10
*
image a placez dans le dossier picture de votre projet et à nommer : "Backgroundreput"
LN - RéputationEx Backgr11

Screens :
Dans le menu de base :
LN - RéputationEx Menuex10
et une fois dans la scène :
LN - RéputationEx Reputa10

Script :
Code:
#-------------------------------------------------------------------------------
# * LN - ReputationEx V1.2
#-------------------------------------------------------------------------------
# Niveau de réputation :
# 0 = Démon, 250 = Brigant, 500 = Neutre, 750 = Chevalier, 1000 = Héro
#
# code a mettre dans un apel de script :
# $game_party.add_reput_list(valeur)
# si vous voulez ajouter de la réputation vous mettez ceci :
# $game_party.add_reput_list(100)
# si vous voules enlever de la réputation vous mettez ceci :
# $game_party.add_reput_list(-100)
#
# Dans une condition d'évènement vous pouvez également faire
#
# Condition : Script: $game_party.reput < 200
#            afficher un message : c'est OK !
# Sinon :
#            afficher un message : c'est pas bon !
# Fin de condition.
#            
#
# Les lignes 35 à 39 sont configurable sur :titre et :desc
# /!\ Surtout ne pas changer ce qui à dans :picture /!\
#-------------------------------------------------------------------------------
#///////////////////////////////////////////////////////////////////////////////
#-------------------------------------------------------------------------------  
  Mess_Help = ["Réputation :"]
#-------------------------------------------------------------------------------  
class Window_Reputation < Window_Base
#-------------------------------------------------------------------------------  
  def initialize
    super(0, 46, 544, 370)
    self.opacity = 0
   @pGen = [
     {:picture =>"tresmauvais", :titre =>"Démon", :desc =>["description Démon","bara bara bara","bere bere bere XD"]},
     {:picture =>"mauvais", :titre =>"Brigant", :desc =>["description de Brigant","bara bara bara","bere bere bere XD"]},
     {:picture =>"neutre", :titre =>"Neutre", :desc =>["description de Neutre","bara bara bara","bere bere bere XD"]},
     {:picture =>"bon", :titre =>"Chevalier", :desc =>["description de Chevalier","bara bara bara","bere bere bere XD"]},
     {:picture =>"tresbon", :titre =>"Héro", :desc =>["description de Héro","bara bara bara","bere bere bere XD"]}
    ]
    
    @spriteTitre = Sprite.new
    @spriteTitre.z = 250
    @spriteTitre.x = 0
    @spriteTitre.y = 170
    
    refresh
  end
  
  def dispose
    super
    @spriteTitre.bitmap.dispose if @spriteTitre.bitmap
    @spriteTitre.dispose
  end
#-------------------------------------------------------------------------------  
  def refresh
    self.contents.clear
    actor = $game_party.leader
    reput = $game_party.reput
    draw_actor_face(actor, 240, 0, 96)
    draw_text(340, 0, width, line_height, "Nom :")
    draw_text(395, 0, width, line_height, actor.name)
    draw_text(340, 40, width, line_height, "Réputation :")
    draw_text(465, 40, width, line_height, reput)
    draw_text(340, 20, width, line_height, "Classe :")
    draw_text(425, 20, width, line_height, actor.class.name)
    draw_text(240, 80, width, line_height, "______________________________________")
    draw_text(340, 60, width, line_height, "Titre :")
    draw_text(340, 105, width, line_height, "Description :")
    idx = 0
     if $game_party.reput == 0
  # très mauvais
      idx = 0
      draw_text(415, 60, width, line_height, @pGen[idx][:titre])
      pos_y = 130
      @pGen[idx][:desc].each do |phrase|
      draw_text(240, pos_y, width, line_height, phrase)
      pos_y += 30
      end
      @spriteTitre.bitmap = Cache::picture(@pGen[idx][:picture])
    elsif $game_party.reput < 250
  # mauvais
      idx = 1
      draw_text(415, 60, width, line_height, @pGen[idx][:titre])
      pos_y = 130
      @pGen[idx][:desc].each do |phrase|
      draw_text(240, pos_y, width, line_height, phrase)
      pos_y += 30
      end
      @spriteTitre.bitmap = Cache::picture(@pGen[idx][:picture])
    elsif $game_party.reput < 749
  # neutre
      idx = 2
      draw_text(415, 60, width, line_height, @pGen[idx][:titre])
      pos_y = 130
      @pGen[idx][:desc].each do |phrase|
      draw_text(240, pos_y, width, line_height, phrase)
      pos_y += 30
      end
      @spriteTitre.bitmap = Cache::picture(@pGen[idx][:picture])
    elsif $game_party.reput < 1000
  # bon
      idx = 3
      draw_text(415, 60, width, line_height, @pGen[idx][:titre])
      pos_y = 130
      @pGen[idx][:desc].each do |phrase|
      draw_text(240, pos_y, width, line_height, phrase)
      pos_y += 30
      end
      @spriteTitre.bitmap = Cache::picture(@pGen[idx][:picture])
    else
  # très bon
      idx = 4
      draw_text(415, 60, width, line_height, @pGen[idx][:titre])
      pos_y = 130
      @pGen[idx][:desc].each do |phrase|
      draw_text(240, pos_y, width, line_height, phrase)
      pos_y += 30
      end
      @spriteTitre.bitmap = Cache::picture(@pGen[idx][:picture])
    end
  end
end
#-------------------------------------------------------------------------------
#///////////////////////////////////////////////////////////////////////////////
#-------------------------------------------------------------------------------
class Window_MenuCommand < Window_Command
#-------------------------------------------------------------------------------  
  NOM_MENU = "Réputation"
#-------------------------------------------------------------------------------  
  def add_reputation_command
    add_command(NOM_MENU, :reputation)
  end
#-------------------------------------------------------------------------------
  def make_command_list
    add_main_commands
    add_formation_command
    add_original_commands
    add_reputation_command
    add_save_command
    add_game_end_command
  end
end
#-------------------------------------------------------------------------------
#///////////////////////////////////////////////////////////////////////////////
#-------------------------------------------------------------------------------
class Scene_Reputation < Scene_Base
#-------------------------------------------------------------------------------  
  def start
    super
    create_background
    create_win_reput
    create_win_help
    update
  end
#-------------------------------------------------------------------------------
  def terminate
    super
    dispose_background
  end
#-------------------------------------------------------------------------------
  def update
    super
    return_scene if Input.trigger?(:B)
  end
#-------------------------------------------------------------------------------  
  def create_win_reput
    @win_reput = Window_Reputation.new
  end
#-------------------------------------------------------------------------------  
  def create_win_help
    @win_help = Window_Base.new(0, 0, 544, 48*Mess_Help.size)
    Mess_Help.each do |i|

    @win_help.draw_text(0, 32*Mess_Help.index(i), 544, 32, i, 1)
    @win_help.opacity = 0
  end
  end
#-------------------------------------------------------------------------------
  def create_background
    @sprite1 = Sprite.new
    @sprite1.bitmap = Cache::picture("Backgroundreput")
    @spriteBkg = Sprite.new
    @spriteBkg.bitmap = Cache::picture("barre reput")
    @spriteBkg.z = 250
    @spriteBkg.x = 27
    @spriteBkg.y = 70
    @spriteCursor = Sprite.new
    @spriteCursor.bitmap = Cache::picture("curseur reput")
    @spriteCursor.z = 250
    @spriteCursor.x = (20 + ($game_party.reput / 5))
    @spriteCursor.y = 147
  end
#-------------------------------------------------------------------------------  
  def dispose_background
    @sprite1.bitmap.dispose
    @sprite1.dispose
    @spriteBkg.bitmap.dispose
    @spriteBkg.dispose
    @spriteCursor.bitmap.dispose
    @spriteCursor.dispose
  end
end
#-------------------------------------------------------------------------------
#///////////////////////////////////////////////////////////////////////////////
#-------------------------------------------------------------------------------
class Scene_Menu < Scene_MenuBase
#-------------------------------------------------------------------------------
  alias ln_command create_command_window
  def create_command_window
    ln_command
    @command_window.set_handler(:reputation,      method(:command_reputation))
  end
#-------------------------------------------------------------------------------
  def command_reputation
    SceneManager.call(Scene_Reputation)
  end
end
#-------------------------------------------------------------------------------
#///////////////////////////////////////////////////////////////////////////////
#-------------------------------------------------------------------------------
class Game_Party
#-------------------------------------------------------------------------------
  attr_reader :reput
#-------------------------------------------------------------------------------  
  alias ln_party_initialize initialize
  def initialize
    ln_party_initialize
    @reput = 500
  end
#-------------------------------------------------------------------------------
  def add_reput_list(pValue)
    @reput += pValue
    if @reput > 1000
      @reput = 1000
    end
    if @reput < 0
      @reput = 0
    end
  end
end
#-------------------------------------------------------------------------------
# * END LN - ReputationEx
#-------------------------------------------------------------------------------

+5pts de participations


Dernière édition par LightNox le Sam 27 Oct 2012 - 19:47, édité 3 fois
LightNox
LightNox
Membre

Nombre de messages : 1759
Age : 28
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

RPG Maker VX Ace Re: LN - RéputationEx

le Ven 12 Oct 2012 - 14:18
V 1.1 du script : refonte du script, ajout d'une liste pour gérer les images, les titres et les descriptions.
Kira'h
Kira'h
Membre

Nombre de messages : 588
Age : 24
Localisation : Devant mon écran... Si pas, dans mon jeu^^
Distinction : aucune
Date d'inscription : 25/02/2012

RPG Maker VX Ace Re: LN - RéputationEx

le Ven 12 Oct 2012 - 15:06
C'est du très bon travaille, je savais que la touche final serait excellente! ^^
LightNox
LightNox
Membre

Nombre de messages : 1759
Age : 28
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

RPG Maker VX Ace Re: LN - RéputationEx

le Ven 12 Oct 2012 - 15:31
Merci du compliment Deuss ^^
tonyryu
tonyryu
Membre

Nombre de messages : 895
Age : 39
Localisation : Près de Nantes
Distinction : aucune
Date d'inscription : 27/05/2010
http://www.tonyryudev.com

RPG Maker VX Ace Re: LN - RéputationEx

le Ven 12 Oct 2012 - 19:15
heureusement que je suis là ^_^
LightNox
LightNox
Membre

Nombre de messages : 1759
Age : 28
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

RPG Maker VX Ace Re: LN - RéputationEx

le Ven 12 Oct 2012 - 19:22
Oh car sans toi je pense que jamais j'en serais a ce stade a l'heure actuelle ^^

Un GRAND merci a toi tonyryu Smile
Balbereith
Balbereith
Staffeux retraité

Nombre de messages : 4129
Age : 26
Localisation : dans l'ombre...
Distinction : Péripatéticienne à temps perdu
Helly n°666 [Coco' ;D]
mon ptit balbounet p'tit jardinier en herbe(les râteaux ça le connait) [tonton Adurna]
Cultivateur professionnel de la commu' (il a de bons outils en de nombreux exemplaires LN - RéputationEx 522164 ) [Coco' Smile]
Date d'inscription : 13/05/2009

RPG Maker VX Ace Re: LN - RéputationEx

le Lun 15 Oct 2012 - 18:22
Merci du partage, +5pts Wink
Ewaldar
Ewaldar
Membre

Nombre de messages : 1387
Age : 26
Localisation : Suisse
Distinction : aucune
Date d'inscription : 29/12/2011
http://ewaldar.wixsite.com/les-ames-perdues

RPG Maker VX Ace Re: LN - RéputationEx

le Mar 16 Oct 2012 - 20:35
Le principe est sympa, et tu nous fournis bien des scripts et des tutos, c'est cool à toi de prendre du temps pour nous, pauvres mortels !

Mais je ne l'utiliserai pas, car je recherche un petit script (qui remplacerait mon système en event) de réputation sobre (un petit onglet dans le menu principal, qqch de léger).

Bref, tout ça pour dire : continue à nous offrir des systèmes/scripts/tutos
LightNox
LightNox
Membre

Nombre de messages : 1759
Age : 28
Localisation : Chez Moi ^^
Date d'inscription : 10/04/2008

RPG Maker VX Ace Re: LN - RéputationEx

le Sam 27 Oct 2012 - 19:48
V 1.2 : Reprise Graphique du script + nouvelle image + nouveau script a récupérer
LickInpark
LickInpark
Membre

Nombre de messages : 8
Age : 20
Distinction : aucune
Date d'inscription : 14/09/2013

RPG Maker VX Ace Merci

le Dim 13 Oct 2013 - 18:33
Merci beaucoup je suis un débutant sur RPG maker VX ace est je ne savais pas comment mis prendre pour un système de réputation mais avec toi ses toute suite plus simple ^^
L'OverLord
L'OverLord
Membre

Nombre de messages : 4
Age : 23
Localisation : France
Distinction : aucune
Date d'inscription : 17/12/2013

RPG Maker VX Ace Re: LN - RéputationEx

le Mar 17 Déc 2013 - 18:29
Merci je cherchais justement un système de réputation merci beaucoup
Minicrou
Minicrou
Membre

Nombre de messages : 13
Distinction : aucune
Date d'inscription : 12/03/2013

RPG Maker VX Ace Re: LN - RéputationEx

le Jeu 21 Aoû 2014 - 23:54
Tout simplement excellent !
Heaven
Heaven
Staffeux retraité

Nombre de messages : 2451
Age : 18
Localisation : Alpes-Maritimes VIRILITÉ OLALA
Distinction : Aucune
Date d'inscription : 18/10/2012

RPG Maker VX Ace Re: LN - RéputationEx

le Ven 22 Aoû 2014 - 7:46
@Minicrou a écrit:Tout simplement excellent !

Attention aux nécroposts, la dernière réponse date du mois de décembre.



Heav'n
Kingdommangas
Kingdommangas
Membre

Nombre de messages : 1235
Localisation : Ma tête
Distinction : Débrouillarde notoire é_è [Mist']
Ou celle qui partageait plus vite que son ombre [Gel']
Poisson 2017 [Amal]
Grâce à elle, tout le forum appelle Yamashi "Mamashi" [Yama]
Entraide d'Or
Règne dans l'ombre de la commu'
Youtubeuse beauté reconvertie dans le gaming [Amal']
Date d'inscription : 05/05/2015
https://www.youtube.com/channel/UCqGFuGrzm7jim1o5QJ4lKvg

RPG Maker VX Ace Re: LN - RéputationEx

le Mer 6 Mai 2015 - 9:40
C'est un super script, cela faisait un moment que j'en cherchais un du genre. Vraiment merci ^^
Contenu sponsorisé

RPG Maker VX Ace Re: LN - RéputationEx

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