Oniromancie: Scripts - Equipement supplémentaire


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

Jeux: Monster World RPG / Jeux: Pif et Hercule / News: Mise à jour de RPG Maker 2003 / Tutos: Création de charset / Jeux: FAYLINAWA /

Chat  (24 connectés)

Bienvenue
visiteur !






publicité RPG Maker!

Statistiques

Liste des
membres


Contact

58 connectés actuellement

9265284 visiteurs
depuis l'ouverture

544 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires




TOP
GAMEMAKING


Les 5 plus
visités

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

Skaaz - Création de MMORP

Alex d'Or

RPG Maker Land

Les deux derniers

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




Equipement supplémentaire
Script pour RPG Maker XP
Ecrit par jim

Utilisation:

cette partie du code permet de créer l'emplacement de l'équipement.
ici je créer "Gant" et "Botte" a l'équipement.

EXTRA_EQUIP_KIND = ["Gant", "Botte"]

il faut maintenant ajouter "Gant" et "Botte" pour ça, c'est cette ligne qu'il faut regarder:

EQUIP_TYPE = [0, 1, 2, 3] (0.Bouclier 1.Casque 2.Armure 3.Accessoire)


Il suffi pour ça de rajouter 4 et 5, mais il ne faut pas oublier que 3 et lier a l'accessoire nous allons donc mettre "Gant" et "Botte" avant.

EQUIP_TYPE = [0, 1, 2, 4, 5, 3]


vous pouvez aussi rajouter des emplacement pour avoir plusieurs accessoires il suffi de rajouter des 3.
l'accessoire existant déjà il est inutile d'en recréer un.

EQUIP_TYPE = [0, 1, 2, 4, 5, 3, 3]


ensuite il suffi d'aller dans la base de donnée et par exemple nous allons créer
des "gant de cuir" une fois créer, écrivez dans "NOTE"



ainsi les gants ne pourront être équipé que dans l'emplacement "Gant"

Ensuite vous pouvez donner les point d'équipement (toujours dans NOTE)



Cela coutera au joueur 1 point d'équipement pour pouvoir s'en équipé.

les points d'équipement sont configurable a ces lignes

EP_MAX = 20 (point d'équipement MAX)
EP_MIN = 5 (Point d'équipement MIN)

Vous pouvez aussi désactiver cette fonction en mettant FALSE a cette ligne

USE_EP_SYSTEM = true


il reste qu'elle que fonctions que je ne détaillerais pas sinon l'explication va faire (8 pages,,, loool)
je pense qu'avec déjà ceci vous pourrez vous faire plaisir et créer un tas d'équipement.

Amicalement : Jim

Bonne création a tous !

Code :



Portion de code:





#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#_/ ? Skill CP System - KGC_SkillCPSystem ? VX ?
#_/ ? Last Update: 2008/09/06 ?
#_/ ? Translated and Extended Updates by Mr. Anonymous
#_/ ? Traduction FR : Jim
#_/ ? KGC Site: ?
#_/ ? http://f44.aaa.livedoor.jp/~ytomy/ ?
#_/ ? Translator's Blog: ?
#_/ ? http://mraprojects.wordpress.com ?
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ This script has two functions equipment-related functions.
#_/ The first function is the ability to create moire 'slots' for equipment,
#_/ such as separating Boots and Gauntlets from mere 'accessories'.
#_/ It is possible to also create additional equipment slots. See the customize
#_/ block for more details.
#_/
#_/ The second function is an "EP" (Equipment Point) System, which allows you
#_/ to designate how many 'points' an item costs to successfully equip. A
#_/ character's total EP expenditure is increased upon leveling up.
#_/ This introduces more strategy-oriented character customization.
#_/----------------------------------------------------------------------------
#_/ ? Instructions For Usage ?
#_/ To make use of these functions, you must insert the tag into the desired
#_/ item's "Notes" box located in the Armor tab of the database. For example,
#_/ you want the Leather Boots to be bound to the "Legs" slot and cost
#_/ 2 EP to equip. Insert , press enter, then add
#_/
#_/ ? Tags ?
#_/
#_/ Where EquipType = The name of the type of equipment. See EXTRA_EQUIP_KIND
#_/ below.
#_/
#_/ Where Amount = The desired amount of EP the item requires to equip.
#_/
#_/
#_/ ? Script Commands ?
#_/ These commands are used in "Script" function in the third page of event
#_/ commands under "Advanced".
#_/
#_/ * set_actor_equip_type(ActorID, [EquipType])
#_/ Allows you to manually specify an actor's equipment slots. a
#_/ Ex. set_actor_equip_type(2, [0, 2, 3, 3, 3])
#_/ If "nil"(without quotations) is appointed to EquipType, the default
#_/ EQUIP_TYPE (see below) is used. Trust me, it's useful!
#_/
#_/ * change_actor_equipment(ActorID, equipslot_index, ItemID)
#_/ Allows you to change the equipment of a specified actor.
#_/ equipslot_index works by finding the equipment slot number, which is
#_/ different from EQUIP_TYPE. Setting ItemID to 0 will remove the item.
#_/ With the default setup, we see:
#_/ 0=Weapon 1=Shield 2=Headgear 3=Armor 4=Accessory 5=Legs 6=Arms
#_/
#_/ So, for an example:
#_/ change_actor_equipment(1, 3, 15)
#_/ Would change Ralph's(Actor01 in the database) armor to Chainmail(By default)
#_/
#_/
#_/============================================================================
#_/ Installation: This script must be inserted below KCG_ExtendedEquipScene
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#=============================================================================#
# ? Customization ? #
#=============================================================================#

module KGC
module EquipExtension
# ? Extended Equipment Classification Names ?
# You may designate the names of additional equipment slots here.
# Each time you designate a new equipment slot, it is assigned a number.
# The first four equipment types (Shield, Helmet, Armor, and Accessory) are
# given as 1, 2, 3, 4, respectively. Then the values below are assigned in
# order. By default "Legs" and "Arms" would be 4 and 5. It is possible
# to add additional slots.
# Example: EXTRA_EQUIP_KIND = ["Legs", "Arms", "Skill Book"]
EXTRA_EQUIP_KIND = ["Legs", "Arms"]

# ? Equipment Placement ?
# This allows you to arrange the equip slots as you see fit on the equipment
# menu. Note the order listed below.
# ** Equipment Classification Summary **
# 0.Shield 1.Headgear 2.Armor 3.Accessory 4. "Legs" 5."Arms"
# Note that these can be changed as desired. By default, we've enabled two
# accessory slots at the end, instead of one. If you plan on adding extra
# equip slots, the category's cooresponding number must be inserted in the
# brackets [] below.
EQUIP_TYPE = [0, 1, 2, 5, 4, 3, 3]

# ? EP (Equip Point) System ?
# These settings are for the Equipment Point Limit System.
# This toggle allows you to use the EP system if set to true.
# If set to false, the EP system will be disabled.
USE_EP_SYSTEM = true
# VOCAB_EP appears once a character gains EP from battle. (Not Tested)
VOCAB_EP = "EP"
# VOCAB_EP_A appears above the EP gauge.
VOCAB_EP_A = "EP"
# This toggle allows you to display the EP gauge in the actor status window.
SHOW_STATUS_EP = true

# ? Default EP Cost ?
# Allows you to change the default amount an item costs to equip in EP.
# (When not otherwise specified.)
DEFAULT_EP_COST = 1
# This toggle allows you to hide the EP cost of an item if its cost is 0.
# true = hide
# false = show
HIDE_ZERO_EP_COST = true

# ? EP Values & Level Gain ?
# Maximum EP that can be spent equipping items.
EP_MAX = 20
# Characters begin with this amount of EP.
EP_MIN = 5
# ? EP Level Gain
# This is the formula for the amount of EP gained upon leveling up.
# The result of this formula is automatically converted to an integer.
EP_CALC_EXP = "level * 0.3 + 4"
# ? Individual Actor EP Level Gain
PERSONAL_EP_CALC_EXP = [] # <- Do not alter or remove!
# Below here, you may specify formulas for individual actors that dictates
# the amount of EP they recieve upon leveling up. Like EP_CALC_EXP, the
# result is converted to an integer.
# Format: PERSONAL_EP_CALC_EXP[ActorID] = "Formula"
# The format is just like EP_CALC_EXP, except each actor is defined after
# PERSONAL_EP_CALC_EXP in brackets [].
# Any actor not specified uses the EP_CALC_EXP formula.
# Example:
# PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"
# ? Insert Personal EP Calculations Below Here ?
PERSONAL_EP_CALC_EXP[1] = "level * 0.5 + 5"



# ? Insert Personal EP Calculations Above Here ?

# ? EP Gauge Colorization ?
# Allows you to change the color of the EP gauges.
# The color can also be determined by a red, green, and blue values.
# Example: GAUGE_NORMAL_START_COLOR = Color.new(255, 0, 0) <- This is red.
# This method of color assignment is much like Tint Screen event command.
#
# This affects the color of number that represents EP cost.
EP_COST_COLOR = 23
# This is the fill color for the early phase of the guage.
EP_GAUGE_START_COLOR = 28
# This is the fill color for the late phase of the guage. (When full)
EP_GAUGE_END_COLOR = 29
end
end

#=============================================================================#
# ? End Customization ? #
#=============================================================================#

#=================================================#
# IMPORT #
#=================================================#

$imported = {} if $imported == nil
$imported["EquipExtension"] = true

#=================================================#

module KGC::EquipExtension
# Unless the EP system is used...
unless USE_EP_SYSTEM
SHOW_STATUS_EP = false
HIDE_ZERO_EP_COST = true
end

#==============================================================================
# ? KGC::EquipExtension::Regexp
#==============================================================================
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
# Note Field Tag Strings #
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
# Whatever word(s) are after the separator ( | ) in the following lines are
# what are used to determine what is searched for in the "Note" section of
# an item or armor.

# Regular expressions defined
module Regexp
# Base Item Module
module BaseItem
# EP Tag String
EP_COST = //i
# Item Type Tag String
# Special note: I cannot get this tag to work right. If anyone knows how
# this works or if it's bugged, please let me know.
EQUIP_TYPE = /<(?:EQUIP_TYPE|equiptype)\s*(\d+(?:\s*,\s*\d+)*)>/
end

# Base Armor Module
module Armor
# Armor Type Tag String
EQUIP_KIND = /<(?:EQUIP_KIND|equipkind)\s*(.+)>/i
end

end
end

#=================================================#

#==============================================================================
# ? KGC::Commands
#==============================================================================

module KGC
module Commands
module_function
#--------------------------------------------------------------------------
# ? ??????????
#--------------------------------------------------------------------------
def restore_equip
(1...$data_actors.size).each { |i|
actor = $game_actors
actor.restore_equip
}
end
#--------------------------------------------------------------------------
# ? ?????????????
# actor_id : ???? ID
# equip_type : ?????
#--------------------------------------------------------------------------
def set_actor_equip_type(actor_id, equip_type = nil)
actor = $game_actors[actor_id]
return if actor == nil
actor.equip_type = equip_type
end
#--------------------------------------------------------------------------
# ? ??????????
# actor_id : ???? ID
# index : ???? (0?)
# item_id : ?? or ?? ID (0 ???)
#--------------------------------------------------------------------------
def change_actor_equipment(actor_id, index, item_id)
actor = $game_actors[actor_id]
return if actor == nil
actor.change_equip_by_id(index, item_id)
end
end
end

class Game_Interpreter
include KGC::Commands
end

#=================================================#

#==============================================================================
# ? Vocab
#==============================================================================

module Vocab
# EP
def self.ep
return KGC::EquipExtension::VOCAB_EP
end

# EP (?)
def self.ep_a
return KGC::EquipExtension::VOCAB_EP_A
end

# ?????
def self.extra_armor(index)
return KGC::EquipExtension::EXTRA_EQUIP_KIND[index]
end
end

#=================================================#

#==============================================================================
# ? RPG::BaseItem
#==============================================================================

class RPG::BaseItem
#--------------------------------------------------------------------------
# ? ?????????????
#--------------------------------------------------------------------------
def create_equip_extension_cache
@__ep_cost = KGC::EquipExtension::DEFAULT_EP_COST
@__equip_type = []

self.note.split(/[\r\n]+/).each { |line|
case line
when KGC::EquipExtension::Regexp::BaseItem::EP_COST
# ?? EP
@__ep_cost = $1.to_i
when KGC::EquipExtension::Regexp::BaseItem::EQUIP_TYPE
# ?????
@__equip_type = []
$1.scan(/\d+/) { |num|
@__equip_type << num.to_i
}
end
}

# EP ???????????? EP = 0
@__ep_cost = 0 unless KGC::EquipExtension::USE_EP_SYSTEM
end
#--------------------------------------------------------------------------
# ? ?? EP
#--------------------------------------------------------------------------
def ep_cost
create_equip_extension_cache if @__ep_cost == nil
return @__ep_cost
end
#--------------------------------------------------------------------------
# ? ?????
#--------------------------------------------------------------------------
def equip_type
create_equip_extension_cache if @__equip_type == nil
return @__equip_type
end
end

#=================================================#

#==============================================================================
# ? RPG::Armor
#==============================================================================

class RPG::Armor < RPG::BaseItem
#--------------------------------------------------------------------------
# ? ?????????????
#--------------------------------------------------------------------------
def create_equip_extension_cache
super
@__kind = -1

self.note.split(/[\r\n]+/).each { |line|
if line =~ KGC::EquipExtension::Regexp::Armor::EQUIP_KIND
# ????
e_index = KGC::EquipExtension::EXTRA_EQUIP_KIND.index($1)
next if e_index == nil
@__kind = e_index + 4
end
}
end

unless $@
#--------------------------------------------------------------------------
# ? ??
#--------------------------------------------------------------------------
alias kind_KGC_EquipExtension kind
def kind
create_equip_extension_cache if @__kind == nil
return (@__kind == -1 ? kind_KGC_EquipExtension : @__kind)
end
end

end

#=================================================#

#==============================================================================
# ? Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ? ??????????
#--------------------------------------------------------------------------
attr_writer :equip_type # ?????
#--------------------------------------------------------------------------
# ? ??????
# actor_id : ???? ID
#--------------------------------------------------------------------------
alias setup_KGC_EquipExtension setup
def setup(actor_id)
actor = $data_actors[actor_id]
@extra_armor_id = []

setup_KGC_EquipExtension(actor_id)

restore_equip
end
#--------------------------------------------------------------------------
# ? MaxEP ??
#--------------------------------------------------------------------------
def maxep
calc_exp = KGC::EquipExtension::PERSONAL_EP_CALC_EXP[self.id]
if calc_exp == nil
calc_exp = KGC::EquipExtension::EP_CALC_EXP
end
n = Integer(eval(calc_exp))
return [[n, ep_limit].min, KGC::EquipExtension::EP_MIN].max
end
#--------------------------------------------------------------------------
# ? EP ??
#--------------------------------------------------------------------------
def ep
n = 0
equips.compact.each { |item| n += item.ep_cost }
return [maxep - n, 0].max
end
#--------------------------------------------------------------------------
# ? EP ????
#--------------------------------------------------------------------------
def ep_limit
return KGC::EquipExtension::EP_MAX
end
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
def equip_type
if @equip_type.is_a?(Array)
return @equip_type
else
return KGC::EquipExtension::EQUIP_TYPE
end
end
#--------------------------------------------------------------------------
# ? ?????
#--------------------------------------------------------------------------
def armor_number
return equip_type.size
end
#--------------------------------------------------------------------------
# ? ???????
#--------------------------------------------------------------------------
def extra_armor_number
return [armor_number - 4, 0].max
end
#--------------------------------------------------------------------------
# ? ?? ID ??????
#--------------------------------------------------------------------------
def extra_armor_id
@extra_armor_id = [] if @extra_armor_id == nil
return @extra_armor_id
end
#--------------------------------------------------------------------------
# ? ?????????????
#--------------------------------------------------------------------------
alias armors_KGC_EquipExtension armors
def armors
result = armors_KGC_EquipExtension

# ???????????
extra_armor_number.times { |i|
armor_id = extra_armor_id
result << (armor_id == nil ? nil : $data_armors[armor_id])
}
return result
end
#--------------------------------------------------------------------------
# ? ????? (?????????)
# equip_type : ????
# item : ?? or ?? (nil ??????)
# test : ?????? (???????????????????)
#--------------------------------------------------------------------------
alias change_equip_KGC_EquipExtension change_equip
def change_equip(equip_type, item, test = false)
change_equip_KGC_EquipExtension(equip_type, item, test)

# ????????????
if extra_armor_number > 0
item_id = item == nil ? 0 : item.id
case equip_type
when 5..armor_number # ?????
@extra_armor_id = [] if @extra_armor_id == nil
@extra_armor_id[equip_type - 5] = item_id
end
end

restore_battle_skill if $imported["SkillCPSystem"]
restore_passive_rev if $imported["PassiveSkill"]
end
#--------------------------------------------------------------------------
# ? ?????
# item : ?????? or ??
# ??????????????????????????
#--------------------------------------------------------------------------
alias discard_equip_KGC_EquipExtension discard_equip
def discard_equip(item)
last_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]

discard_equip_KGC_EquipExtension(item)

curr_armors = [@armor1_id, @armor2_id, @armor3_id, @armor4_id]
return unless item.is_a?(RPG::Armor) # ?????
return if last_armors != curr_armors # ???????

# ????????
extra_armor_number.times { |i|
if extra_armor_id == item.id
@extra_armor_id = 0
break
end
}

restore_battle_skill if $imported["SkillCPSystem"]
restore_passive_rev if $imported["PassiveSkill"]
end
#--------------------------------------------------------------------------
# ? ?? ID ???
# class_id : ????? ID
#--------------------------------------------------------------------------
alias class_id_equal_KGC_EquipExtension class_id=
def class_id=(class_id)
class_id_equal_KGC_EquipExtension(class_id)

return if extra_armor_number == 0 # ????????

# ?????????????
for i in 5..armor_number
change_equip(i, nil) unless equippable?(equips)
end
end
#--------------------------------------------------------------------------
# ? EP ???????
# equip_type : ????
# item : ?? or ??
#--------------------------------------------------------------------------
def ep_condition_clear?(equip_type, item)
return true if item == nil # nil ?????? OK

curr_item = equips[equip_type]
offset = (curr_item != nil ? curr_item.ep_cost : 0)
return false if self.ep < (item.ep_cost - offset) # EP ??

return true
end
#--------------------------------------------------------------------------
# ? ?????
#--------------------------------------------------------------------------
def restore_equip
return if @__last_equip_type == equip_type

# ???????????????
last_equips = equips
last_hp = self.hp
last_mp = self.mp
if $imported["SkillCPSystem"]
last_battle_skill_ids = battle_skill_ids.clone
end

# ?????
last_equips.each_index { |i| change_equip(i, nil) }

# ????????????
last_equips.compact.each { |item| equip_legal_slot(item) }
self.hp = last_hp
self.mp = last_mp
if $imported["SkillCPSystem"]
last_battle_skill_ids.each_with_index { |s, i| set_battle_skill(i, s) }
end
@__last_equip_type = equip_type.clone
Graphics.frame_reset
end
#--------------------------------------------------------------------------
# ? ?????????????
# item : ?? or ??
#--------------------------------------------------------------------------
def equip_legal_slot(item)
if item.is_a?(RPG::Weapon)
if @weapon_id == 0
# ?? 1
change_equip(0, item)
elsif two_swords_style && @armor1_id == 0
# ?? 2 (??????)
change_equip(1, item)
end
elsif item.is_a?(RPG::Armor)
if !two_swords_style && item.kind == equip_type[0] && @armor1_id == 0
# ????? (????????)
change_equip(1, item)
else
# ??????????
list = [-1, @armor2_id, @armor3_id, @armor4_id]
list += extra_armor_id
# ?????????????????
equip_type.each_with_index { |kind, i|
if kind == item.kind && list == 0
change_equip(i + 1, item)
break
end
}
end
end
end
end

#=================================================#

#==============================================================================
# ? Window_Base
#==============================================================================

class Window_Base < Window
#--------------------------------------------------------------------------
# ? EP ???????
# actor : ????
#--------------------------------------------------------------------------
def ep_color(actor)
return knockout_color if actor.maxep > 0 && actor.ep == 0
return normal_color
end
#--------------------------------------------------------------------------
# ? EP ????? 1 ???
#--------------------------------------------------------------------------
def ep_gauge_color1
color = KGC::EquipExtension::EP_GAUGE_START_COLOR
return (color.is_a?(Integer) ? text_color(color) : color)
end
#--------------------------------------------------------------------------
# ? EP ????? 2 ???
#--------------------------------------------------------------------------
def ep_gauge_color2
color = KGC::EquipExtension::EP_GAUGE_END_COLOR
return (color.is_a?(Integer) ? text_color(color) : color)
end
#--------------------------------------------------------------------------
# ? EP ???
# actor : ????
# x : ??? X ??
# y : ??? Y ??
# width : ?
#--------------------------------------------------------------------------
def draw_actor_ep(actor, x, y, width = 120)
draw_actor_ep_gauge(actor, x, y, width)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 30, WLH, Vocab::ep_a)
self.contents.font.color = ep_color(actor)
xr = x + width
if width < 120
self.contents.draw_text(xr - 40, y, 40, WLH, actor.ep, 2)
else
self.contents.draw_text(xr - 90, y, 40, WLH, actor.ep, 2)
self.contents.font.color = normal_color
self.contents.draw_text(xr - 50, y, 10, WLH, "/", 2)
self.contents.draw_text(xr - 40, y, 40, WLH, actor.maxep, 2)
end
self.contents.font.color = normal_color
end
#--------------------------------------------------------------------------
# ? EP ??????
# actor : ????
# x : ??? X ??
# y : ??? Y ??
# width : ?
#--------------------------------------------------------------------------
def draw_actor_ep_gauge(actor, x, y, width = 120)
gw = width * actor.ep / [actor.maxep, 1].max
gc1 = ep_gauge_color1
gc2 = ep_gauge_color2
self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
end
#--------------------------------------------------------------------------
# ? ?? EP ???
# item : ?? or ??
# rect : ??????
# enabled : ????
#--------------------------------------------------------------------------
def draw_equipment_ep_cost(item, rect, enabled = true)
return if item == nil
# ?? EP 0 ????????
return if KGC::EquipExtension::HIDE_ZERO_EP_COST && item.ep_cost == 0

color = KGC::EquipExtension::EP_COST_COLOR
self.contents.font.color = (color.is_a?(Integer) ?
text_color(color) : color)
self.contents.font.color.alpha = enabled ? 255 : 128
self.contents.draw_text(rect, item.ep_cost, 2)
end
end

#=================================================#

#==============================================================================
# ? Window_Equip
#==============================================================================

class Window_Equip < Window_Selectable
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
def refresh
self.contents.clear
@data = @actor.equips.clone
@item_max = [@data.size, @actor.armor_number + 1].min
create_contents

# ???????
self.contents.font.color = system_color
if @actor.two_swords_style
self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon1)
self.contents.draw_text(4, WLH * 1, 92, WLH, Vocab::weapon2)
else
self.contents.draw_text(4, WLH * 0, 92, WLH, Vocab::weapon)
name = armor_slot_name(@actor.equip_type[0])
self.contents.draw_text(4, WLH * 1, 92, WLH, name)
end
for i in 1...@actor.armor_number
name = armor_slot_name(@actor.equip_type)
self.contents.draw_text(4, WLH * (i + 1), 92, WLH, name)
end

# ??????
rect = Rect.new(92, 0, self.width - 128, WLH)
@item_max.times { |i|
rect.y = WLH * i
draw_item_name(@data, rect.x, rect.y)
draw_equipment_ep_cost(@data, rect)
}
end
#--------------------------------------------------------------------------
# ? ?????????
# kind : ??
#--------------------------------------------------------------------------
def armor_slot_name(kind)
case kind
when 0..3
return eval("Vocab.armor#{kind + 1}")
else
return Vocab.extra_armor(kind - 4)
end
end

unless $imported["ExtendedEquipScene"]
#--------------------------------------------------------------------------
# ? ????? 1 ????????
#--------------------------------------------------------------------------
def cursor_pagedown
return if Input.repeat?(Input::R)
super
end
#--------------------------------------------------------------------------
# ? ????? 1 ???????
#--------------------------------------------------------------------------
def cursor_pageup
return if Input.repeat?(Input::L)
super
end
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
def update
super
return unless self.active

if Input.repeat?(Input::RIGHT)
cursor_pagedown
elsif Input.repeat?(Input::LEFT)
cursor_pageup
end
end
end

end

#=================================================#

#==============================================================================
# ? Window_EquipItem
#==============================================================================

class Window_EquipItem < Window_Item
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
def refresh
@item_enabled = []
super
@data.each { |item| @item_enabled << enable?(item) }
end
#--------------------------------------------------------------------------
# ? ????????????????
# item : ????
#--------------------------------------------------------------------------
def include?(item)
return true if item == nil
if @equip_type == 0
return false unless item.is_a?(RPG::Weapon)
else
return false unless item.is_a?(RPG::Armor)
return false unless item.kind == @equip_type - 1
end
return @actor.equippable?(item)
end
#--------------------------------------------------------------------------
# ? ??????????????????
# item : ????
#--------------------------------------------------------------------------
def enable?(item)
return false unless @actor.equippable?(item) # ????
return false unless @actor.ep_condition_clear?(@equip_type, item) # EP ??

return true
end
#--------------------------------------------------------------------------
# ? ?????
# index : ????
#--------------------------------------------------------------------------
def draw_item(index)
super(index)
rect = item_rect(index)
item = @data[index]

# ??????????
cw = self.contents.text_size(sprintf(":%2d", 0)).width
rect.width -= cw + 4
draw_equipment_ep_cost(item, rect, enable?(item))
end
#--------------------------------------------------------------------------
# ? ????????
# equip_type : ????
#--------------------------------------------------------------------------
def simple_refresh(equip_type)
# ???????????
last_equip_type = @equip_type
@equip_type = equip_type

@data.each_with_index { |item, i|
# ????????????????
if enable?(item) != @item_enabled
draw_item(i)
@item_enabled = enable?(item)
end
}
# ???????
@equip_type = last_equip_type
end
end

#=================================================#

#==============================================================================
# ? Window_EquipStatus
#==============================================================================

class Window_EquipStatus < Window_Base
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
alias refresh_KGC_EquipExtension refresh
def refresh
refresh_KGC_EquipExtension

draw_actor_ep(@actor, 120, 0, 56) if KGC::EquipExtension::USE_EP_SYSTEM
end
end

#=================================================#

#==============================================================================
# ? Window_Status
#==============================================================================

class Window_Status < Window_Base

if KGC::EquipExtension::SHOW_STATUS_EP
#--------------------------------------------------------------------------
# ? ???????
# x : ??? X ??
# y : ??? Y ??
#--------------------------------------------------------------------------
alias draw_basic_info_KGC_EquipExtension draw_basic_info
def draw_basic_info(x, y)
draw_basic_info_KGC_EquipExtension(x, y)

draw_actor_ep(@actor, x + 160, y + WLH * 4)
end
end

#--------------------------------------------------------------------------
# ? ??????
# x : ??? X ??
# y : ??? Y ??
#--------------------------------------------------------------------------
def draw_equipments(x, y)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 120, WLH, Vocab::equip)

item_number = [@actor.equips.size, @actor.armor_number + 1].min
item_number.times { |i|
draw_item_name(@actor.equips, x + 16, y + WLH * (i + 1))
}
end
end

#=================================================#

#==============================================================================
# ? Window_ShopStatus
#==============================================================================

class Window_ShopStatus < Window_Base
#--------------------------------------------------------------------------
# ? ?????????????????
# actor : ????
# x : ??? X ??
# y : ??? Y ??
#--------------------------------------------------------------------------
def draw_actor_parameter_change(actor, x, y)
return if @item.is_a?(RPG::Item)
enabled = actor.equippable?(@item)
self.contents.font.color = normal_color
self.contents.font.color.alpha = enabled ? 255 : 128
self.contents.draw_text(x, y, 200, WLH, actor.name)
if @item.is_a?(RPG::Weapon)
item1 = weaker_weapon(actor)
elsif actor.two_swords_style and @item.kind == 0
item1 = nil
else
index = actor.equip_type.index(@item.kind)
item1 = (index != nil ? actor.equips[1 + index] : nil)
end
if enabled
if @item.is_a?(RPG::Weapon)
atk1 = item1 == nil ? 0 : item1.atk
atk2 = @item == nil ? 0 : @item.atk
change = atk2 - atk1
else
def1 = item1 == nil ? 0 : item1.def
def2 = @item == nil ? 0 : @item.def
change = def2 - def1
end
self.contents.draw_text(x, y, 200, WLH, sprintf("%+d", change), 2)
end
draw_item_name(item1, x, y + WLH, enabled)
end
end

#=================================================#

#==============================================================================
# ? Scene_Equip
#==============================================================================

class Scene_Equip < Scene_Base
#--------------------------------------------------------------------------
# ? ??
#--------------------------------------------------------------------------
EQUIP_TYPE_MAX = KGC::EquipExtension::EXTRA_EQUIP_KIND.size + 5
#--------------------------------------------------------------------------
# ? ?????????
# actor_index : ??????????
# equip_index : ????????
#--------------------------------------------------------------------------
alias initialize_KGC_EquipExtension initialize
def initialize(actor_index = 0, equip_index = 0)
initialize_KGC_EquipExtension(actor_index, equip_index)

unit = ($imported["LargeParty"] ?
$game_party.all_members : $game_party.members)
actor = unit[actor_index]
@equip_index = [@equip_index, actor.armor_number].min
end
#--------------------------------------------------------------------------
# ? ????????????
#--------------------------------------------------------------------------
alias create_item_windows_KGC_EquipExtension create_item_windows
def create_item_windows
create_item_windows_KGC_EquipExtension

kind = equip_kind(@equip_index)
EQUIP_TYPE_MAX.times { |i|
@item_windows.visible = (kind == i)
}
end
#--------------------------------------------------------------------------
# ? ????????????
#--------------------------------------------------------------------------
def update_item_windows
kind = equip_kind(@equip_window.index)
for i in 0...EQUIP_TYPE_MAX
@item_windows.visible = (kind == i)
@item_windows.update
end
@item_window = @item_windows[kind]
@item_window.simple_refresh(@equip_window.index)
end
#--------------------------------------------------------------------------
# ? ?????????
# index : ?????????
#--------------------------------------------------------------------------
def equip_kind(index)
if index == 0
return 0
else
return @actor.equip_type[index - 1] + 1
end
end

unless $imported["ExtendedEquipScene"]
#--------------------------------------------------------------------------
# ? ?????????????
#--------------------------------------------------------------------------
def update_status_window
if @equip_window.active
@status_window.set_new_parameters(nil, nil, nil, nil)
elsif @item_window.active
temp_actor = Marshal.load(Marshal.dump(@actor))
temp_actor.change_equip(@equip_window.index, @item_window.item, true)
new_atk = temp_actor.atk
new_def = temp_actor.def
new_spi = temp_actor.spi
new_agi = temp_actor.agi
@status_window.set_new_parameters(new_atk, new_def, new_spi, new_agi)
end
@status_window.update
end
end

#--------------------------------------------------------------------------
# ? ?????????
#--------------------------------------------------------------------------
alias update_item_selection_KGC_EquipExtension update_item_selection
def update_item_selection
if Input.trigger?(Input::C)
# ????????
index = @equip_window.index
item = @item_window.item
unless item == nil ||
(@actor.equippable?(item) && @actor.ep_condition_clear?(index, item))
Sound.play_buzzer
return
end
end

update_item_selection_KGC_EquipExtension
end
end

#=================================================#

#==============================================================================
# ? Scene_File
#==============================================================================

class Scene_File < Scene_Base
#--------------------------------------------------------------------------
# ? ???????????
# file : ??????????????? (??????)
#--------------------------------------------------------------------------
alias read_save_data_KGC_EquipExtension read_save_data
def read_save_data(file)
read_save_data_KGC_EquipExtension(file)

KGC::Commands.restore_equip
Graphics.frame_reset
end
end



kilam1110 - posté le 12/02/2009 à 12:37:25. (9159 messages postés)

Bah TG.

Eh bah c'est un long script ça^^

New RPG Maker - Forum traitant du logiciel RPG Maker tout en français ! | SURVIVE V2.5 - Dégommez du zombie !


Ephy - posté le 12/02/2009 à 18:31:38. (27090 messages postés) - honor

Mort vivant. Pas de drama SVP.

Ca m'a l'air pas mal tout ça. Encore faut-il qu'il soit fonctionnel...


EDIT: Script testé sur projet vierge et fonctionnel (par contre, je n'arrive pas à utiliser le système des EPs)

Power Level: 1 148 355,38|Mystic Slayer|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14


Alkanédon - posté le 13/02/2009 à 10:10:04. (7478 messages postés)

Citoyen d'Alent

Je ne comprend pas...C'est dans ce script là qu'il faut modifier des choses??

Allez-y voir donc. Et followez-moi


Monos - posté le 13/02/2009 à 10:14:45. (56320 messages postés) - admin

Vive le making libre

^^ 15 scripts ) à copier coller et vous gueulez encore.
Franchement, des fois je pige plus rien.

Va programmer tous ça en "événement" vous allez voir vous allez passer des mois. :D

Pixner|Offgame | Le comptoire des clikeurs


Darkmianh - posté le 13/02/2009 à 13:21:19. (103 messages postés)

Pourquoi on dit toujours que les méchants sont pas gentils ??

Euh, ça serait sympa si tu pouvais séparer les différents scripts et dire où les coller parceque là c'est un peu galère quand meme.:help

:ombre


Vlad - posté le 13/02/2009 à 16:22:29. (294 messages postés)

Ya pas besoin, l'interpréteur Ruby distingue les différentes parties grâce aux mot clé class qui indique un début de nouveau script.
Vous pouvez mettre tout d'un coup dans un nouveau script ;)


ASHKA - posté le 13/02/2009 à 17:18:29. (404 messages postés)

FIGHT THE POWER !!

Citation:

#_/ ? Traduction FR : Jim



Waouh, quel travail impressionant !! :oO

ASHKA


Vlad - posté le 13/02/2009 à 18:45:30. (294 messages postés)

C'est vrai que je suis d'accord, là, c'est fort :lol


Jim - posté le 15/02/2009 à 13:13:29. (13 messages postés)

Darkmianh => il est en un seul script a copier coller au dessus de main !

ASHKA => Waouh, quel travail impressionant !!

Merci,,, c'est pas grand chose !

Pour le système EP il suffi de rajouter dans "note" onglet armure ceci :
<EP x> x= la valeur nécessaire pour s'équipé de l'équipement.


Darkmianh - posté le 18/02/2009 à 13:23:33. (103 messages postés)

Pourquoi on dit toujours que les méchants sont pas gentils ??

J'ai un problème avec tous les alias et le script ne fonctionne pas, à ton avis, qu'est ce qui cloche ?


Ephy - posté le 31/07/2009 à 22:03:43. (27090 messages postés) - honor

Mort vivant. Pas de drama SVP.

Pour ceux que ça interresse:
Le tag à placé dans les notes pour le type d'armure c'est

Portion de code : Tout sélectionner

1
<equipkind EquipType>


Où "EquipType" est à remplacé par le nom du type de l'équipement définit dans "EXTRA_EQUIP_KIND = ["Legs", "Arms"]"

Le tag pour les EP est:

Portion de code : Tout sélectionner

1
<EP Amount>


Où "Amount" est à remplacé par les EP que content l'armure.
Voilà. Tou ça parce qu'il manque 2 lignes par rapport au script original.
Voilà le lien :http://anonymouscreations.we.bs/scripts/kgc/KGC_EquipExtension-09-06-2008.txt
Je remercie les traducteurs d'avoir laisser l'adresse de leur site qui m'a permi de voir le script d'origine où sont présent les tags à placer dans "NOTE".

Power Level: 1 148 355,38|Mystic Slayer|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14


Lictor - posté le 03/10/2009 à 11:44:11. (6 messages postés)

Ce script marche parfaitement !!!!
Sur Vx... Que fait-il dans les scripts de RPG Maker XP ?


Eichimaru - posté le 02/07/2010 à 11:05:41. (209 messages postés)

Graphiste en puissance!!

Désolé je suis débutan mais où eske que vou trouvez NOTE?

Iron::http://iron.xooit.fr/index.php


kilam1110 - posté le 25/11/2010 à 12:45:24. (9159 messages postés)

Bah TG.

DTC. :D

New RPG Maker - Forum traitant du logiciel RPG Maker tout en français ! | SURVIVE V2.5 - Dégommez du zombie !


gaywin - posté le 22/12/2010 à 18:11:20. (7 messages postés)

Citation :
ensuite il suffi d'aller dans la base de donnée et par exemple nous allons créer
des "gant de cuir" une fois créer, écrivez dans "NOTE"

Les gants on les créé dans Armure, Accesoire ??
C'est où "NOTE"
On écrit quoi dans "NOTE"

Pas tout compris la ^^:s

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe

Plan du site:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Scripts | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmarès
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources: Jeux | Programmes | Packs de ressources | Midis | Eléments séparés | Sprites
RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis