Forum des makers de 78

Un forum sur rpg maker
 
AccueilPortailFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Equipement visible

Aller en bas 
AuteurMessage
Argentis
Admin
Admin
avatar

Nombre de messages : 121
Age : 25
Localisation : Je t'en pose des questions moi?
Votre domaine making? : Mapper et scénariste
Date d'inscription : 16/04/2007

Feuille de making
Statut:
Point d'aide:
17/100  (17/100)

MessageSujet: Equipement visible   Dim 10 Juin - 19:05

Donnez plus de réalisme à votre jeu grâce à ce script qui permet d'afficher à l'écran l'équipement de votre héros.

Créez un nouveau script, au dessus de Main, nommé "Visual_Equipment". Collez-y le code suivant :


Code:
#========================
# Visual_Equipment
# Written by Rataime
#
# Edit below
#
# Script téléchargé sur RPG-création - www.rpg-creation.com
#
# 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.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.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::Cache.clear
@game_party = $game_party
@game_party = $game_party2 if $visual_equipment[0]
for i in 0...@game_party.actors.size
for img in $visual_equipment[i+1]
bitmap = RPG::Cache.character(@game_party.actors[i].character_name, @game_party.actors[i].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[0]
bmp = Sprite.new
bmp.visible =false
bmp.bitmap = RPG::Cache.character(to_add,@game_party.actors[character].character_hue)
color = bmp.bitmap.get_pixel(0, 0)
x=sprite.width
y=sprite.height
if $visual_equipment[0]
x=x/4
y=y/4
end
for i in 0..x
for j in 0..y
color_get=bmp.bitmap.get_pixel(i, j)
if color_get!=color
sprite.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[0]
for i in 0...@game_party.actors.size
if @game_party.actors[i].weapon_id==id
$visual_equipment[i+1].push(sprite)
end
end
end

def add_armor_sprite(id,sprite)
@game_party = $game_party
@game_party = $game_party2 if $visual_equipment[0]
for i in 0...@game_party.actors.size
if @game_party.actors[i].armor1_id==id or @game_party.actors[i].armor2_id==id or @game_party.actors[i].armor3_id==id or @game_party.actors[i].armor4_id==id
$visual_equipment[i+1].push(sprite)
end
end
end

#========================
# CLASS Scene_Equip edit
#========================

class Scene_Equip

alias visual_update_right update_right

def update_right
if Attention aux insultes! Alerte de niveau 1.trigger▼(Attention aux insultes! Alerte de niveau 1::B)
equip_update
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(2)
return
end
visual_update_right
end

end

class Interpreter

alias visual_command_319 command_319

def command_319
actor = $game_actors[@parameters[0]]
if actor != nil
actor.equip(@parameters[1], @parameters[2])
end
equip_update
return true
end

end

class Game_Character
attr_accessor :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.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
@file_index = file_index
@filename = "Save#{@file_index + 1}.rxdata"
@time_stamp = Time.at(0)
@file_exist = FileTest.exist▼(@filename)
if @file_exist
file = File.open(@filename, "r")
@time_stamp = file.mtime
@characters = Marshal.load(file)
@frame_count = Marshal.load(file)
@game_system = Marshal.load(file)
@game_switches = Marshal.load(file)
@game_variables = Marshal.load(file)
@self_variables = Marshal.load(file)#added
@game_screen = Marshal.load(file)#added
@game_actors = Marshal.load(file)#added
$game_party2=@game_party= Marshal.load(file)#added
@total_sec = @frame_count / Graphics.frame_rate
file.close
end
equip_update(true)#added
refresh
@selected = false
end

end


Rendez-vous aux lignes 15 à 30 : add_armor_sprite(6,"tpl_helmet_1") et add_armor_sprite(7,"tpl_helmet_2").

Pour ajouter une armure, mettez le code suivant : add_armor_sprite(ID,nom_image).

Pour ajouter une arme, mettez le code suivant : add_weapon_sprite(ID,nom_image).

ID est le numéro correspondant à l'equipement dans la Base De Données. Remplaçez "nom_image" par le nom de l'image que vous aurez placée dans le dossier "characters" ou "icons" de jeu.

Voila, votre équipement est visible.

Source: Rpg Création

_________________
Le sérial Maker!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://maker78.forumactif.fr
 
Equipement visible
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [ Resolu ] ] Rendre le flash visible
» Serveur NAS pas visible
» (RESOLU) Disque externe non visible
» Chat visible par les membres
» Avoir l'enveloppe message privé plus visible

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des makers de 78 :: Divers :: Méli-Mélo-
Sauter vers: