Final Fantasy RPG Maker

Affichage des equipements dans les combats

Auteur : Rataime
Source : http://rmxp.net

Ce scrîpt permettra de rendre les équipements visibles sur votre perso !

Le script (comme d'hab', a mettre au dessus de main et à nommer comme vous voulez) :

#==============================================================================
# ¦ Visual_Equipment
# Written by Rataime
#
# Edit below
#
# Note : If you have a custom Window_SaveFile, check the one at the end of the scrîpt,
# add the added lines to yours, and delete the whole Window_SaveFile class here
#==============================================================================
def equip_update(light=false)
 
$visual_equipment=Array.new
$visual_equipment[0]=light
for i in 0..3
$visual_equipment[i+1]=[]
end
 
#===================================================
# ? EDIT HERE !
#===================================================
 
#If weapon n°33 is equiped, add the charset tpl_helmet_1&#46;png (I don't have a weapon charset ><)
#add_weapon_sprite(33,"tpl_helmet_1")
 
#If weapon n°6 is equiped, add the charset tpl_helmet_1&#46;png
add_armor_sprite(6,"tpl_helmet_1")
 
add_armor_sprite(7,"tpl_helmet_2")
add_armor_sprite(20,"tpl_armor_white")
add_armor_sprite(15,"tpl_armor_blue")
add_armor_sprite(21,"tpl_armor_cape")
 
#===================================================
# ? Visual_equip functions
#===================================================
RPG&#58;&#58;Cache&#46;clear
@game_party = $game_party
@game_party = $game_party2 if $visual_equipment&#91;0&#93;
for i in 0&#46;&#46;&#46;@game_party&#46;actors&#46;size
for img in $visual_equipment&#91;i+1&#93;
bitmap = RPG&#58;&#58;Cache&#46;character(@game_party&#46;actors&#91;i&#93;&#46;character_name, @game_party&#46;actors&#91;i&#93;&#46;character_hue)
if img!=true and img!=false
add_equip(bitmap,img,i)
end
end
end
end
 
def add_equip(sprite,to_add,character)
@game_party = $game_party
@game_party = $game_party2 if $visual_equipment&#91;0&#93;
bmp = Sprite&#46;new
bmp&#46;visible =false
bmp&#46;bitmap = RPG&#58;&#58;Cache&#46;character(to_add,@game_party&#46;actors&#91;character&#93;&#46;character_hue)
color = bmp&#46;bitmap&#46;get_pixel(0, 0)
x=sprite&#46;width
y=sprite&#46;height
if $visual_equipment&#91;0&#93;
x=x/4
y=y/4
end
for i in 0&#46;&#46;x
for j in 0&#46;&#46;y
color_get=bmp&#46;bitmap&#46;get_pixel(i, j)
if color_get!=color
sprite&#46;set_pixel(i, j ,color_get)
end
end
end
 
bmp=nil
 
end
 
def add_weapon_sprite(id,sprite)
@game_party = $game_party
@game_party = $game_party2 if $visual_equipment&#91;0&#93;
for i in 0&#46;&#46;&#46;@game_party&#46;actors&#46;size
if @game_party&#46;actors&#91;i&#93;&#46;weapon_id==id
$visual_equipment&#91;i+1&#93;&#46;push(sprite)
end
end
end
 
def add_armor_sprite(id,sprite)
@game_party = $game_party
@game_party = $game_party2 if $visual_equipment&#91;0&#93;
for i in 0&#46;&#46;&#46;@game_party&#46;actors&#46;size
if @game_party&#46;actors&#91;i&#93;&#46;armor1_id==id or @game_party&#46;actors&#91;i&#93;&#46;armor2_id==id or @game_party&#46;actors&#91;i&#93;&#46;armor3_id==id or @game_party&#46;actors&#91;i&#93;&#46;armor4_id==id
$visual_equipment&#91;i+1&#93;&#46;push(sprite)
end
end
end
 
#===================================================
# ? CLASS Scene_Equip edit
#===================================================
 
class Scene_Equip
 
alias visual_update_right update_right
 
def update_right
if Input&#46;trigger?(Input&#58;&#58;B)
equip_update
$game_system&#46;se_play($data_system&#46;cancel_se)
$scene = Scene_Menu&#46;new(2)
return
end
visual_update_right
end
 
end
 
class Interpreter
 
alias visual_command_319 command_319
 
def command_319
actor = $game_actors&#91;@parameters&#91;0&#93;&#93;
if actor != nil
actor&#46;equip(@parameters&#91;1&#93;, @parameters&#91;2&#93;)
end
equip_update
return true
end
 
end
 
class Game_Character
attr_accessor &#58;character_hue
end
 
class Game_Actor < Game_Battler
alias visual_setup setup
def setup(actor_id)
visual_setup(actor_id)
@character_hue = (@character_hue+1)%256
end
end
 
class Scene_Load
alias visual_read_save_data read_save_data
alias visual_on_cancel on_cancel
 
def on_cancel
equip_update
visual_on_cancel
end
 
def read_save_data(file)
visual_read_save_data(file)
equip_update
end
end
 
class Scene_Save
alias visual_on_decision on_decision
alias visual_on_cancel on_cancel
 
def on_cancel
equip_update
visual_on_cancel
end
 
def on_decision(file)
equip_update
visual_on_decision(file)
end
end
 
class Scene_Title
alias visual_command_new_game command_new_game
 
def command_new_game
visual_command_new_game
equip_update
end
 
end
 
class Window_SaveFile < Window_Base
 
def initialize(file_index, filename)
super(0, 64 + file_index % 4 * 104, 640, 104)
self&#46;contents = Bitmap&#46;new(width - 32, height - 32)
self&#46;contents&#46;font&#46;name = $fontface
self&#46;contents&#46;font&#46;size = $fontsize
@file_index = file_index
@filename = "Save#{@file_index + 1}&#46;rxdata"
@time_stamp = Time&#46;at(0)
@file_exist = FileTest&#46;exist?(@filename)
if @file_exist
file = File&#46;open(@filename, "r")
@time_stamp = file&#46;mtime
@characters = Marshal&#46;load(file)
@frame_count = Marshal&#46;load(file)
@game_system = Marshal&#46;load(file)
@game_switches = Marshal&#46;load(file)
@game_variables = Marshal&#46;load(file)
@self_variables = Marshal&#46;load(file)#added
@game_screen = Marshal&#46;load(file)#added
@game_actors = Marshal&#46;load(file)#added
$game_party2=@game_party= Marshal&#46;load(file)#added
@total_sec = @frame_count / Graphics&#46;frame_rate
file&#46;close
end
equip_update(true)#added
refresh
@selected = false
end
 
end


Ensuite, regardez entre les lignes 15 et 30 :

add_armor_sprite(6,"tpl_helmet_1")


Voilà, à cet endroit vous aurez à rajouter les lignes qui correspondront aux différents équipements. Elles se présenteront sous la forme suivante :

add_armor_sprite(ID,nom_image)
ou
add_weapon_sprite(ID,nom_image)

Armor pour armure, weapon pour arme.

Remplacez ID par le numéro correspondant à l'equipement dans la base de données, et nom_image par le nom de l'image que vous aurez placée dans le dossier "characters" de votre projet.

Reste à faire les images des équipements.
Allez hop, au boulot :P


Ajouté par Amathlog
le 18/06/2007 à 20:42:42
Vu 7019 fois





Page générée en 0.0001 secondes
©2011 Site créé par Martial, le Webmaster
Me contacter - Livre d'or - Forum - Plan du site
Mentions légales - Remerciements
Final-RPG