Cerberos 0 Report post Posted June 9, 2013 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
Cerberos 0 Report post Posted June 22, 2013 (edited) 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. Edited June 22, 2013 by Cerberos Share this post Link to post Share on other sites
dolarmak 23 Report post Posted June 22, 2013 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
Cerberos 0 Report post Posted June 22, 2013 (edited) 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 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. As you say you are busy, you may want to modify the French one. Edited June 22, 2013 by Cerberos Share this post Link to post Share on other sites
dolarmak 23 Report post Posted June 22, 2013 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
Cerberos 0 Report post Posted June 22, 2013 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
Cerberos 0 Report post Posted June 23, 2013 I did it, i just need to change de background image, take a look, i will end it soon Share this post Link to post Share on other sites