Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
Cerberos

FF xiii Scripts

Recommended Posts

Hello I'm new around here,and I will be glad if i can help.

I'm a kind good with english, and I am here looking for guidance and help... looking scripts for my game, i find this

 

http://rmrk.net/index.php?topic=42396.0  

 

if you go to "Shanghai Simple Scripts"

you will find some interesting scripts, and i fell in love of one, ff xiii menus style, im not a scripter, and i didnt find that scripts for rpg maker xp, the rgss im using, i already have a lot of scripts that i want to use, and i would like these take a part on my game, more exactly the "main menu". i would like to someone make me the script for  xp. I can give you the list that scripts that I'm using, for concepts of compatibility. Please a would like any kind of  help.

Share this post


Link to post
Share on other sites

it looks like these one. but this isn't for xp, i just want the large portrait, because, i already have in use some script for location menu, gold, and things like that.

 

exampl.png

Edited by Cerberos

Share this post


Link to post
Share on other sites

I did a bunch of looking around when you first posted this request and didn't really find anything that was visually similar. Now to be honest I know how you can do it, Custom Menus are actually pretty easy but with the contest going on I don't have the time to make you a menu.

 

I can give you a few tips.

 

Background Image Script by Brewmeister (probably the easiest), just make a new Script Page called background or something. Make sure it's above Main.

Add your BG to the pictures folder and name it 'menuback.png' . You can do different images for different sections by edititing the code on lines 1(name the proper scene) and 6(name the proper image)

class Scene_Menu
  alias custom_menu_main main
  def main
    #Draw background sprite
    @bg = Sprite.new
    @bg.bitmap = RPG::Cache.picture("menuback")
    custom_menu_main
    @bg.dispose
  end
end

Face Graphic Script

For the Face graphics in the menu. Add this before Main in the scripts.

Add character portraits to a new folder 'faces' inside the character folder and name them the same as your characters graphics.

class Window_Base < Window
#--------------------------------------------------------------------------
  # * Draw Actor's Face
  #     actor : actor
  #     x     : draw spot x-coordinate
  #     y     : draw spot y-coordinate
  #--------------------------------------------------------------------------

  def draw_actor_face(actor, x, y)
   face = RPG::Cache.character("Faces/" + actor.character_name, actor.character_hue)
    fw = face.width
    fh = face.height
    src_rect = Rect.new(0, 0, fw, fh)
    self.contents.blt(x - fw / 23, y - fh, face, src_rect)
  end
 
  end

Menu Status Columns Script Orignally made by MateriaBlade and edited by me to make the 4 columns.

Now for Window_MenuStatus, replace it with this.

#==============================================================================
# ** Window_MenuStatus
#------------------------------------------------------------------------------
#  This window displays party member status on the menu screen.
#==============================================================================

class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 480, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
@column_max = 4
    refresh
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    @item_max = $game_party.actors.size
    for i in 0...$game_party.actors.size
 x = (i % @column_max) * (self.width / @column_max)
 y = 420
 actor = $game_party.actors[i]
      draw_actor_face(actor, x, y - 300)
      draw_actor_name(actor, x, y -200)
      draw_actor_class(actor, x , y +50)
      draw_actor_level(actor, x, y + 32)
      draw_actor_state(actor, x , y + 60)
      draw_actor_exp(actor, x, y + 120)
      draw_actor_hp(actor, x , y + 160)
      draw_actor_sp(actor, x , y + 180)
    end
  end
  #--------------------------------------------------------------------------
  # * Cursor Rectangle Update
  #--------------------------------------------------------------------------
  def update_cursor_rect
# If cursor position is less than 0
if @index < 0
  self.cursor_rect.empty
  return
end
# Get current row
row = @index / @column_max
# If current row is before top row
if row < self.top_row
  # Scroll so that current row becomes top row
  self.top_row = row
end
# If current row is more to back than back row
if row > self.top_row 
  # Scroll so that current row becomes back row
  self.top_row = row 
end
# Calculate cursor width
cursor_width = self.width / @column_max -32
# Calculate cursor coordinates
x = @index % @column_max * (cursor_width +32)
y = @index / @column_max * 162
# Update cursor rectangle
self.cursor_rect.set(x, y, 100, 420)
  end
end 

You'll have to play with the values of X and Y for the stats you want to display. If you don't want to display one, just # in front of it to disable it.

Line 66 X and Y values edit the selection size.

 

Layout Changes

To change the layout of the menus layout goto Scene_Menu and edit the status menu, 'Gold window', 'steps window' and 'time windows' locations by editing their X and Y values. They are around lines 42-57

If they are too big for your locations, the Window_Gold, Window_Steps, Window_MenuStatus and Window_Time have the values you edit to resize the boxes

 

 

Images for Side Bar

Custom Image Menu System by Polraudio

You'll just need to make the images you want.

 

 

This should be all you need to actually make it yourself. It'll take a lot of tweeking to get the objects in the right place which is why i don't have time to make it specifically for you. If you're still having trouble let me know, but like i said this should work (they all worked for me in more than 1 project)

Share this post


Link to post
Share on other sites

lastnight before your juicy reply, I did find this script, as I said I don't know anything about scripts, but it shows simple,  take a look

 

 

#=====================================================================
# ■ Window_MenuStatus redéfini
# Permet d'avoir une séléction vérticale des personnages dans le menu.
#=====================================================================
# Auteur:  Tasslehoff
# Version: 2.0
# Date:    14/05/2011
#=====================================================================
#
# La taille de la séléction est réglée automatiquement selon le nombre de
# personnages dans l'équipe.
# Vous pouvez cependant désactiver cette option à la ligne 30 et choisir
# une largeur à la ligne 33.
# Vous pouvez également activer ou désactiver les barres de séparation entre
# les personnages à la ligne 36.
#
#======================================================================
 
 
#Définit la classe (Window_MenuStatus) et la classe parente (Window_Selectable).
#Window_MenuStatus hérite ainsi des variables de classes et des méthodes de Window_Selectable.
class Window_MenuStatus < Window_Selectable
  #--------------------------------------------------------------------------
  # * Initialize (ce qui se passe au début)
  #--------------------------------------------------------------------------
 
  def initialize
    ######################
    #                    #  
      largeur_auto = true    # Taille automatique de la séléction.
    #                    #  # true = activé    et    false = désactivé
    #                    #  
      @largeur = 114        # Largeur de la séléction (conseillé : entre 76 et 448
    #                    #  # selon le nombre de personnages maximum dans l'équipe)
    #                    #    
      @lignes = true        # Barres de séparation entre les personnages
    #                    #  # true = activé    et    false = désactivé
    ######################
   
    #Crée la fenêtre.
    super(0, 0, 480, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
 
    if largeur_auto
      largeur = (width - 32) / $game_party.actors.size
      @largeur = largeur.to_i
    end
     
    #Si @largeur est impair, ajoute 1.
    if @largeur%2 == 1
      @largeur += 1
    end
   
    #Spécifie le nombre maximum de colonnes (=le nombre de personnages dans l'équipe).
    @column_max = $game_party.actors.size
   
    #Appel la méthode refresh.
    refresh
   
    #Désactive le clignotement du curseur.
    self.active = false
   
    #Place le curseur sur -1.
    self.index = -1
   
  end
 
  #--------------------------------------------------------------------------
  # * Refresh (ce qui se passe à chaque frame, 1 seconde = 20 frames)
  #--------------------------------------------------------------------------
  def refresh
   
    #Efface le contenu.
    self.contents.clear
   
    #Rends le nombre d'item (de séléctions) égal au nombre de personnages dans l'équipe.
    @item_max = $game_party.actors.size
   
    #Affiche les informations du personnage i en remplacant chaque fois i par un nombre
    #compris entre 0 et le nombre de personnages dans l'équipe.
    for i in 0...$game_party.actors.size
      x = i * @largeur
      actor = $game_party.actors[i]                                                     #Rend "actor" égal au personnage numéro i.
      draw_actor_graphic(actor, x + @largeur/2, 112)                                    #Déssine le sprite de "actor".  
      draw_actor_name(actor, x + @largeur/2-32, 0)                                      #Ecrit le nom de "actor".
      draw_actor_class(actor, x + @largeur/2-32, 32)                                    #Ecrit la classe de "actor".
      self.contents.draw_text(x+6+@largeur/2, 86, @largeur/2-32, 32, actor.level.to_s)  #Ecrit le niveau de "actor".
      draw_actor_state(actor, x + @largeur/2-32, 112)                                   #Ecrit l'état de "actor".
      draw_actor_exp_bis(actor, x, 244)                                                 #Ecrit l'expérience de "actor".
      draw_actor_hp_bis(actor, x, 156)                                                  #Ecrit les pv de "actor".
      draw_actor_sp_bis(actor, x, 200)                                                  #Ecrit les mp de "actor".
      draw_actor_equipement(actor, x, 300)
      if @lignes
       self.contents.fill_rect((i + 1) * @largeur, 0, 1, 480, Color.new(255, 255, 255))
      end
   
    end
   
  end
  #--------------------------------------------------------------------------
  # * Update Cursor Rect (met à jour le rectangle du curseur)
  #--------------------------------------------------------------------------
  def update_cursor_rect
   
    #Si le curseur est en dessous de 0, l'éfface, sinon le met au bon endroit.
    if @index < 0
      self.cursor_rect.empty
    else
      self.cursor_rect.set(@index * @largeur, 0, @largeur, self.height - 32)
    end
   
  end
  #--------------------------------------------------------------------------
  # * Modifications de l'affichage des informations
  #--------------------------------------------------------------------------
 
 
  ############################
  #Affichage de l'expérience.#
  ############################
 
  def draw_actor_exp_bis(actor, x, y)
   
    #Fixe la couleur à system_color.
    self.contents.font.color = system_color
   
    #Ecrit "Exp :". Entre parenthèses : (position x, position y, largeur, hauteur, texte).
    self.contents.draw_text(x+4, y, contents.text_size("Exp :").width, 32, "Exp :")
 
    #Fixe la couleur à normal_color.
    self.contents.font.color = normal_color
   
   
    #Ecrit l'expérience. Entre parenthèses : (position x, position y, largeur, hauteur, texte, alignement).
    self.contents.draw_text(x+contents.text_size("Exp :").width+6, y, @largeur-contents.text_size("Exp :").width - 14, 32, actor.exp_s, 2)
   
    #Dessine la barre d'expérience.
    self.contents.fill_rect(x+5, y+25, @largeur - 11, 6, Color.new(20, 20, 20, 150))
    self.contents.fill_rect(x+4, y+24, @largeur - 12, 5, Color.new(0, 0, 0, 200))
    self.contents.fill_rect(x+5, y+25, (@largeur-14)*actor.exp_s.to_i/actor.next_exp_s.to_i, 3, Color.new(100, 100, 220, 255))
   
  end
 
 
  ###################
  #Affichage des PV.#
  ###################
 
  def draw_actor_hp_bis(actor, x, y)
   
    self.contents.font.color = system_color
    self.contents.draw_text(x+4, y, contents.text_size($data_system.words.hp+" :").width, 32, $data_system.words.hp+" :")
     
   
    self.contents.font.color = actor.hp == 0 ? knockout_color :
      actor.hp <= actor.maxhp / 3 ? crisis_color : normal_color
    self.contents.draw_text(x+contents.text_size($data_system.words.hp+" :").width+6, y, @largeur-contents.text_size($data_system.words.hp+" :").width - 14, 32, actor.hp.to_s, 2)
   
    if actor.hp <= actor.maxhp / 3
    couleur_barre = Color.new(230, 230, 0, 255)
    else
    couleur_barre = Color.new(80, 230, 20, 255)
    end
     
    self.contents.fill_rect(x+5, y+25, @largeur - 11, 6, Color.new(20, 20, 20, 150))
    self.contents.fill_rect(x+4, y+24, @largeur - 12, 5, Color.new(0, 0, 0, 200))
    self.contents.fill_rect(x+5, y+25, (@largeur-14)*actor.hp/actor.maxhp, 3, couleur_barre)
   
  end
 
  ###################
  #Affichage des SP.#
  ###################
 
  def draw_actor_sp_bis(actor, x, y)
   
    self.contents.font.color = system_color
    self.contents.draw_text(x+4, y, contents.text_size($data_system.words.sp+" :").width, 32, $data_system.words.sp+" :")
     
   
    self.contents.font.color = actor.sp == 0 ? knockout_color :
      actor.sp <= actor.maxhp / 3 ? crisis_color : normal_color
    self.contents.draw_text(x+contents.text_size($data_system.words.sp+" :").width+6, y, @largeur-contents.text_size($data_system.words.sp+" :").width - 14, 32, actor.sp.to_s, 2)
   
    if actor.sp <= actor.maxsp / 3
    couleur_barre = Color.new(165, 118, 100, 255)
    else
    couleur_barre = Color.new(100, 40, 160, 255)
    end
     
    self.contents.fill_rect(x+5, y+25, @largeur - 11, 6, Color.new(20, 20, 20, 150))
    self.contents.fill_rect(x+4, y+24, @largeur - 12, 5, Color.new(0, 0, 0, 200))
    self.contents.fill_rect(x+5, y+25, (@largeur-14)*actor.sp/actor.maxsp, 3, couleur_barre)
   
  end
 
 
  ############################
  #Affichage de l'équipement.#
  ############################
 
  def draw_actor_equipement(actor, x, y)
   
    draw_item($data_weapons[actor.weapon_id], x, y)
    draw_item($data_armors[actor.armor1_id], x+48, y)
    draw_item($data_armors[actor.armor2_id], x, y+48)
    draw_item($data_armors[actor.armor3_id], x+48, y+48)
    draw_item($data_armors[actor.armor4_id], x+24, y+96)
   
  end
 
  def draw_item(item, x, y)
   
    if item == nil
      return
    end
    bitmap = RPG::Cache.icon(item.icon_name)
    self.contents.blt(x+@largeur/2-36, y, bitmap, Rect.new(0, 0, 24, 24))
   
  end
 
end

 

it looks like this

 

screenscript2.png

 

Lastnight I used this one   /\  and it worked for me. 

                                         

I tried To use those that you gave me, but it may have incompatibility with another scripts, because it doest show the names, exp,hp,sp- etc

and the background doesn't show up neither  ---- "orden" and "Test" are some scripts that i use and work with menu as you see.

 

 

this is an image of a "testproject" that i have to check incompatibility issues, of all script that i want to use.

 

2sn.png

 

 

As you say you are busy, you may want to modify the French one.

Edited by Cerberos

Share this post


Link to post
Share on other sites

If i have time next week i'll take a look and see what i can do. What extra scripts are you using? I mean i get that it's a map name display and character order, but the specific scripts would be helpful.

Share this post


Link to post
Share on other sites

ok no problem

I have these ones.  Nevertheless sometimes I change the scripts that I'm using if I found a better way to do the work.

 

TDS Continue [scene_Gameover]

Animated Battlers by Minkoff, Updated by DerVVulfman

Resultado de batalla estilo Final Fantasy 1.3

Imagenes antes de titulo Fal Script

Train_Actor

Achievements

Neo-Angel Special Title (v1.1)

Creado por Vash-X el 28 de abril de 2005.     (maybe i change this one)

MOG_Window Treasure Name V1.5

Gold Map.

Locations system

MOG_MPW Map_Name V1.3

Falcao Ship system

Copyright(ver 0.98)

Script de Control de Clima Automatico V 2.0

MOG Scene - Item- status-equip-skill-file-end- battle panorama- picture gallery, and -adv load bar

Book/Library Scene

New map

Nightmare - Change Actors System V 1.3 XP

RO Job/Skill System by Blizzard

Grass Or Bush Scriptlet - GOBS

IntroCredit V 1.2

Advanced Shop Status Window

Window transparent

antihack

antilag

 

*sigh*.... large list

Share this post


Link to post
Share on other sites

I did it, i just need to change de background image, take a look, i will end it soon

 

fqt.png

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...