Noble Lv.8
Inscrit le : 08/07/2009 Messages : 228
| Sujet: [VXace] Picture Extender pour le Grimator Mar 21 Aoû 2012 - 19:58 | |
| Ce petit script permet d'utiliser les ressources qui ne font pas partie du dossier pictures comme images La liste des fonctionnalité ce trouve au début du script Voici un exemple. - Code:
-
################################################################################ # Image Extender V 1.0: Add-on pour le Grimator V 1.1 # # Par heos - http://rpg-maker-vx.bbactif.com/ # ################################################################################ #Remerciement: Grim # #------------------------------------------------------------------------------# #Credit: Rien # #==============================================================================# #Command # #==============================================================================# # cmd(:picture_type,id,type) # # cmd(:picture_name,id,name) # # cmd(:picture_set,id, type, name) # # # # id = id de l'image # # name = nom de l'image # #==============================================================================# # Type # #==============================================================================# # :Picture : Image de base # # :Title1 : Utiliser les images du dosier Title1 # # :Title2 : Utiliser les images du dosier Title2 # # :Battleback1 : Utiliser les images du dosier Battlebakcs1 # # :Battleback2 : Utiliser les images du dosier Battlebakcs2 # # :Battler : Utiliser les images du dosier Battler # # :Icon : Utiliser un icône # # :Face : Utiliser une face # # :Title : Utiliser un tile # # :Charater : Utiliser un chara # #==============================================================================# # Nom # #==============================================================================# #Type :Picture :Title1 :Title2 :Battleback1 :Battleback2 # #Le nom correspond au nom du fichier qui se trouve dans le dossier # #------------------------------------------------------------------------------# #Type :Icon # # nombre ou le nombre est l'id de l'icone # # [:item,"nom"] ou nom est le nom d'un objet # # [:weapon,"nom"] ou nom est le nom d'une arme # # [:armor,"nom"] ou nom est le nom d'une armure # # [:skill,"nom"] ou nom est le nom d'un sort # # Pour obtenir l'icône associer # #------------------------------------------------------------------------------# #Type :Battler # # nombre = Utiliser l'image du monstre donc l'id est ... # # nom = Le nom du fichier qui se trouve dans le dossier # #------------------------------------------------------------------------------# #Type :Face :Tile :Character # # ["nom",ID] ou nom est le nom du fichier et ID la position sur la planche # ################################################################################
#============================================================================== # ** Game_Picture #------------------------------------------------------------------------------ # This class handles pictures. It is created only when a picture of a specific # number is required internally for the Game_Pictures class. #==============================================================================
class Game_Picture attr_accessor :type, :name #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- alias base_initialize initialize def initialize(number) @type = :Picture base_initialize(number) end end
#============================================================================== # ** Sprite_Picture #------------------------------------------------------------------------------ # This sprite is used to display pictures. It observes an instance of the # Game_Picture class and automatically changes sprite states. #==============================================================================
class Sprite_Picture < Sprite
def update_bitmap if @picture.name == "" self.bitmap = nil else case @picture.type when :Picture self.bitmap = Cache.picture(@picture.name) when :Parallaxe self.bitmap = Cache.parallax(@picture.name) when :Titles1 self.bitmap = Cache.title1(@picture.name) when :Titles2 self.bitmap = Cache.title2(@picture.name) when :Battleback1 self.bitmap = Cache.battleback1(@picture.name) when :Battleback2 self.bitmap = Cache.battleback2(@picture.name) when :Battler self.bitmap = Picture::get_battler(@picture.name) when :Icon self.bitmap = Picture::get_icon(@picture.name) when :Face self.bitmap = Picture::get_face(@picture.name[0],@picture.name[1]) when :Tile self.bitmap = Picture::get_tile(@picture.name[0],@picture.name[1]) when :Character self.bitmap = Picture::get_chara(@picture.name[0],@picture.name[1]) else Picture.change_type(@picture.number, 0) Picture.change_name(@picture.number, "") end end end end
#============================================================================== # ** Picture #------------------------------------------------------------------------------ # Utilitaire de manipulation de pictures #==============================================================================
module Picture #-------------------------------------------------------------------------- # * Change le type de l'image #-------------------------------------------------------------------------- def change_type(id, type) get_screen.pictures[id].type = type end #-------------------------------------------------------------------------- # * Change le nom de l'image #-------------------------------------------------------------------------- def change_name(id, name) get_screen.pictures[id].name = name end #--------------------------------------------------------------------------- # * Renvoie un icon grace a son ID #--------------------------------------------------------------------------- def self.get_icon(icon_index) icon_index = self.get_icon_index(icon_index) contents = Bitmap.new(24,24) bitmap = Cache.system("Iconset") rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24) contents.blt(0, 0, bitmap, rect, 255) return contents end #--------------------------------------------------------------------------- # * Convertit icon_index en ID si ce n'est pas le cas #--------------------------------------------------------------------------- def self.get_icon_index(icon_index) if icon_index.size case icon_index[0] when :item return self.get_icon_item(icon_index[1]) when :weapon return self.get_icon_weapon(icon_index[1]) when :armor return self.get_icon_armor(icon_index[1]) when :skill return self.get_icon_skill(icon_index[1]) else return icon_index end end end
#--------------------------------------------------------------------------- # * Convertit un nom en ID d'objet #--------------------------------------------------------------------------- def self.get_icon_item(icon_name) (1..$data_items.size).each do |i| return self.get_icon_index($data_items[i].icon_index ) if $data_items[i].name == icon_name end return nil end
#--------------------------------------------------------------------------- # * Convertit un nom en ID d'arme #--------------------------------------------------------------------------- def self.get_icon_weapon(icon_name) (1..$data_weapons.size).each do |i| return self.get_icon_index($data_weapons[i].icon_index ) if $data_weapons[i].name == icon_name end return nil end
#--------------------------------------------------------------------------- # * Convertit un nom en ID d'armure #--------------------------------------------------------------------------- def self.get_icon_armor(icon_name) (1..$data_armors.size).each do |i| return self.get_icon_index($data_armors[i].icon_index ) if $data_armors[i].name == icon_name end return nil end
#--------------------------------------------------------------------------- # * Convertit un nom en ID d'une compétence #--------------------------------------------------------------------------- def self.get_icon_skill(icon_name) (1..$data_skills).each do |i| return self.get_icon_index($data_skills[i].icon_index ) if $data_skills[i].name == icon_name end return nil end
#--------------------------------------------------------------------------- # #--------------------------------------------------------------------------- def self.get_face(filename,face_index) contents = Bitmap.new(96,96) bitmap = Cache.face(filename) rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, 96, 96) contents.blt(0, 0, bitmap, rect,255) return contents end #--------------------------------------------------------------------------- # #--------------------------------------------------------------------------- def self.get_tileset(filename,tile_index) contents = Bitmap.new(32,32) bitmap = Cache.tileset(filename) rect = Rect.new(tile_index % 8 * 32, tile_index / 8 * 32, 32, 32) contents.blt(0, 0, bitmap, rect,255) return contents end #--------------------------------------------------------------------------- # #--------------------------------------------------------------------------- def self.get_chara(filename,tile_index) contents = Bitmap.new(32,32) bitmap = Cache. character(filename) rect = Rect.new(tile_index % 12 * 32, tile_index / 12 * 32, 32, 32) contents.blt(0, 0, bitmap, rect,255) return contents end
#--------------------------------------------------------------------------- # Renvoi le batller selon le nom ou l'id #---------------------------------------------------------------------------
def self.get_battler(battler_name) if battler_name.is_a? String return Cache.battler(battler_name, 0) else return Cache.battler($data_enemies[battler_name].battler_name,$data_enemies[battler_name].battler_hue) end end end
#============================================================================== # ** Command #------------------------------------------------------------------------------ # Ajoute des commandes facilement manipulables #==============================================================================
module Command def picture_type(id, type) Picture.change_type(id, type) end def picture_name(id, name) Picture.change_name(id, name) end def picture_set(id, type, name) Picture.change_type(id, type) Picture.change_name(id, name) end end
#============================================================================== # ** Game_Interpreter #------------------------------------------------------------------------------ # An interpreter for executing event commands. This class is used within the # Game_Map, Game_Troop, and Game_Event classes. #==============================================================================
class Game_Interpreter def command_231 Picture::change_type(@params[0],:Picture) if @params[3] == 0 # Direct designation x = @params[4] y = @params[5] else # Designation with variables x = $game_variables[@params[4]] y = $game_variables[@params[5]] end screen.pictures[@params[0]].show(@params[1], @params[2], x, y, @params[6], @params[7], @params[8], @params[9]) end
end
Dernière édition par heos le Mar 21 Aoû 2012 - 21:40, édité 1 fois |
|
Invité
| Sujet: Re: [VXace] Picture Extender pour le Grimator Mar 21 Aoû 2012 - 20:28 | |
| Merci beaucoup pour ton script ! Je te suis très reconnaissant d'avoir créer le premier addon pour le grimator ! Je suis tout ému ! |
|