Ce script,va t'y vous servir ?
- Thierry T.Membre
- Nombre de messages : 664
Age : 29
Localisation : Marseille (13).
Distinction : questionneur à répétition
Date d'inscription : 01/03/2008
Script Catégories d'objets traduction française by Thierry13
Jeu 19 Juin 2008 - 19:44
Reprenant le script qu'à partagé Fenir,je me suis permis de le traduire en français n'étant qu'en japonais ou anglais.
Je fais le partage gratuit de ma traduction (certes simple) à condition d'y placer les droits d'auteur.
C'est à dire moi.Nommer le sous le nom de : Catégories_d'objets_Thierry13.
Placer ce script au dessus de main.
Je fais le partage gratuit de ma traduction (certes simple) à condition d'y placer les droits d'auteur.
C'est à dire moi.Nommer le sous le nom de : Catégories_d'objets_Thierry13.
Placer ce script au dessus de main.
- Spoiler:
- #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/ ◆ Item Categorization - KGC_CategorizeItem ◆ VX ◆
#_/ ◇ Last update : 2008/04/10 ◇
#_/ ◇ Translated by Mr. Anonymous ◇
#_/-----------------------------------------------------------------------------
#_/ Adds a function to the Items screen which allows the player to display
#_/ items by catagory.
#_/ To assign a category to an item, you must add <category IDENTIFIER> to the
#_/ notes on the specified item.
#_/ EX. A Potion would be listed as <category Goods> and a Sword would be
#_/ listed as <category Weapons>, provided you use the default terminology.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#===============================================================
#
# rpgmakervx.1fr1.net
#
#===============================================================
$data_system = load_data("Data/System.rvdata") if $data_system == nil
#==============================================================================#
# ★ Customization ★ #
#==============================================================================#
module KGC
module CategorizeItem
# ◆ Automatically Catagorize Items ◆
ENABLE_AUTO_CATEGORIZE = true
# ◆ Duplicate Category Entries. ◆
# Set to false, items can have multiple categories.
# Set to true, items will be classified under the last tag (In the item
# databasexsd "Notes")
NOT_ALLOW_DUPLICATE = false
# ◆ Category Identifier ◆
# Arrange names in order to identify a category with the category identifier.
# These are the default item catagories translated for future reference.
# "Goods", "Combat", "Weapons", "Shields", "Head Gear", "Body Gear",
# "Accessories", "Valuables", "Special Items", "All Items"
CATEGORY_IDENTIFIER = [
"Soin", # Consumable items (potion)
"Combat", # Battle-only items (fire bomb)
"Armes", # Weapons
"Boucliers", # Shields
"Casques", # Head Gear / Helmets
"Armures", # Body Gear / Armor
"Accessoires", # Accessories / Rings, Necklaces, etc
"Trésors", # Treasures and the like
"Rare", # AKA Plot Devices. Special keys, etc.
"Tous", # According to the script's author(s), it isn't neccessary
# to set this in brackets for item notes, it's automatic.
# However, I must note that I haven't gotten this to work
# correctly.
]
# ◆ Default Catagory Display ◆
# Not hard to figure this one out.
ITEM_DEFAULT_CATEGORY = "Soin"
# ◆ Item Screen Category Name ◆
# Shows what current category is selected in the item description window.
# Must be arranged in the same order as CATAGORY_IDENTIFIER.
CATEGORY_NAME = [
"Soin",
"Combat",
Vocab.weapon, # Weapons
Vocab.armor1, # Shields
"#{Vocab.armor2}", # Head Gear
"#{Vocab.armor3}", # Body Gear
"Accessoires",# Accessories
"Trésors",
"Rare",
"Tous",
]
# ◆ Descriptive Text ◆
# Must be arranged in the same order as CATAGORY_IDENTIFIER
CATEGORY_DESCRIPTION = [
"Objets de soin",
"Objets uniquement pour le combat.",
"Armes.",
"#{Vocab.armor1}s.",
"#{Vocab.armor2}s.",
"#{Vocab.armor3}s.",
"Accessoires",
"Objets de valeurs,trésors ...",
"Objets rare",
"Tout les objets",
]
# ◆ Coordinates of item description window. [ x, y ]
CATEGORY_WINDOW_POSITION = [264, 128]
# ◆ Number of rows in the item description window.
CATEGORY_WINDOW_COLUMNS = 2
# ◆ Item description window column line width.
CATEGORY_WINDOW_COL_WIDTH = 96
# ◆ item description window column spacer width.
CATEGORY_WINDOW_COL_SPACE = 32
end
end
#------------------------------------------------------------------------------#
$imported = {} if $imported == nil
$imported["CategorizeItem"] = true
module KGC::CategorizeItem
# ◆ Item Index ◆
ITEM_DEFAULT_CATEGORY_INDEX = CATEGORY_IDENTIFIER.index(ITEM_DEFAULT_CATEGORY)
# ◆ Reserved Category Index ◆
# To be honest I'm not entirely sure what this affects.
RESERVED_CATEGORY_INDEX = {
"Tous" => CATEGORY_IDENTIFIER.index("Tous"),
"Trésors" => CATEGORY_IDENTIFIER.index("Trésors"),
"Armes" => CATEGORY_IDENTIFIER.index("Armes"),
"Protections" => CATEGORY_IDENTIFIER.index("Protection"),
"Boucliers" => CATEGORY_IDENTIFIER.index("Boucliers"),
"Casques" => CATEGORY_IDENTIFIER.index("Casques"),
"Armures" => CATEGORY_IDENTIFIER.index("Armures"),
"Accessoires" => CATEGORY_IDENTIFIER.index("Accessoires")
}
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
# Unless you know what you're doing, it's best not to alter anything beyond #
# this point, as this only affects the tags used for "Notes" in database. #
# * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #
# Whatever word(s) are after the separator ( | ) in the following lines are
# what are used to determine what is searched for in the "Notes" section.
# Regular Expression Definition
module Regexp
# Base Item Module
module BaseItem
# Category tag string
CATEGORY = /^<(?:CATEGORY|classification|category?)[ ]*(.*)>/i
end
end
end
#==============================================================================
# ■ RPG::BaseItem
#==============================================================================
class RPG::BaseItem
#--------------------------------------------------------------------------
# ○ アイテム分類のキャッシュ生成
#--------------------------------------------------------------------------
def create_categorize_item_cache
if @__item_category == nil || !KGC::CategorizeItem::ENABLE_AUTO_CATEGORIZE
@__item_category = []
else
@__item_category.compact!
end
self.note.split(/[\r\n]+/).each { |line|
if line =~ KGC::CategorizeItem::Regexp::BaseItem::CATEGORY
# カテゴリ
c = KGC::CategorizeItem::CATEGORY_IDENTIFIER.index($1)
@__item_category << c if c != nil
end
}
if @__item_category.empty?
@__item_category << KGC::CategorizeItem::ITEM_DEFAULT_CATEGORY_INDEX
elsif KGC::CategorizeItem::NOT_ALLOW_DUPLICATE
# 最後に指定したカテゴリに配置
@__item_category = [@__item_category.pop]
end
end
#--------------------------------------------------------------------------
# ○ アイテムのカテゴリ
#--------------------------------------------------------------------------
def item_category
create_categorize_item_cache if @__item_category == nil
return @__item_category
end
end
- Thierry T.Membre
- Nombre de messages : 664
Age : 29
Localisation : Marseille (13).
Distinction : questionneur à répétition
Date d'inscription : 01/03/2008
Re: Script Catégories d'objets traduction française by Thierry13
Jeu 19 Juin 2008 - 19:45
Et voici la suite :
- Spoiler:
#==================================End Class===================================#
#==============================================================================
# ■ RPG::UsableItem
#==============================================================================
class RPG::UsableItem < RPG::BaseItem
#--------------------------------------------------------------------------
# ○ アイテム分類のキャッシュ生成
#--------------------------------------------------------------------------
def create_categorize_item_cache
@__item_category = []
if self.price == 0
@__item_category << KGC::CategorizeItem::RESERVED_CATEGORY_INDEX["Rare"]
end
super
end
end
#==================================End Class===================================#
#==============================================================================
# ■ RPG::Weapon
#==============================================================================
class RPG::Weapon < RPG::BaseItem
#--------------------------------------------------------------------------
# ○ アイテム分類のキャッシュ生成
#--------------------------------------------------------------------------
def create_categorize_item_cache
@__item_category = []
@__item_category << KGC::CategorizeItem::RESERVED_CATEGORY_INDEX["Armes"]
super
end
end
#==================================End Class===================================#
#==============================================================================
# ■ RPG::Armor
#==============================================================================
class RPG::Armor < RPG::BaseItem
#--------------------------------------------------------------------------
# ○ アイテム分類のキャッシュ生成
#--------------------------------------------------------------------------
def create_categorize_item_cache
@__item_category = []
@__item_category << KGC::CategorizeItem::RESERVED_CATEGORY_INDEX["Armure"]
type = nil
case self.kind
when 0
type = "Boucliers"
when 1
type = "Casques"
when 2
type = "Armures"
when 3
type = "Accessoires"
end
if type != nil
@__item_category << KGC::CategorizeItem::RESERVED_CATEGORY_INDEX[type]
end
super
end
end
#==================================End Class===================================#
#==============================================================================
# ■ Window_Item
#==============================================================================
class Window_Item < Window_Selectable
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :category # カテゴリ
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# x : ウィンドウの X 座標
# y : ウィンドウの Y 座標
# width : ウィンドウの幅
# height : ウィンドウの高さ
#--------------------------------------------------------------------------
alias initialize_KGC_CategorizeItem initialize
def initialize(x, y, width, height)
@category = 0
initialize_KGC_CategorizeItem(x, y, width, height)
end
#--------------------------------------------------------------------------
# ○ カテゴリ設定
#--------------------------------------------------------------------------
def category=(value)
@category = value
refresh
end
#--------------------------------------------------------------------------
# ● アイテムをリストに含めるかどうか
# item : アイテム
#--------------------------------------------------------------------------
alias include_KGC_CategorizeItem? include?
def include?(item)
return false if item == nil
# 「全種」なら無条件で含める
if @category == KGC::CategorizeItem::RESERVED_CATEGORY_INDEX["Tous"]
return true
end
result = include_KGC_CategorizeItem?(item)
unless result
# 使用可能なら追加候補とする
if $imported["UsableEquipment"] && $game_party.item_can_use?(item)
result = true
end
end
# 戦闘外ならカテゴリ一致判定
unless $game_temp.in_battle
result &= (item.item_category.include?(@category))
end
return result
end
end
#==================================End Class===================================#
#==============================================================================
# □ Window_ItemCategory
#------------------------------------------------------------------------------
# アイテム画面でカテゴリ選択を行うウィンドウです。
#==============================================================================
class Window_ItemCategory < Window_Command
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
def initialize
cols = KGC::CategorizeItem::CATEGORY_WINDOW_COLUMNS
width = KGC::CategorizeItem::CATEGORY_WINDOW_COL_WIDTH * cols + 32
width += (cols - 1) * KGC::CategorizeItem::CATEGORY_WINDOW_COL_SPACE
commands = KGC::CategorizeItem::CATEGORY_NAME
super(width, commands, cols, 0,
KGC::CategorizeItem::CATEGORY_WINDOW_COL_SPACE)
self.x = KGC::CategorizeItem::CATEGORY_WINDOW_POSITION[0]
self.y = KGC::CategorizeItem::CATEGORY_WINDOW_POSITION[1]
self.z = 1000
self.index = 0
end
#--------------------------------------------------------------------------
# ● ヘルプテキスト更新
#--------------------------------------------------------------------------
def update_help
@help_window.set_text(KGC::CategorizeItem::CATEGORY_DESCRIPTION[self.index])
end
end
#==================================End Class===================================#
#==============================================================================
# ■ Scene_Item
#==============================================================================
class Scene_Item < Scene_Base
#--------------------------------------------------------------------------
# ● 開始処理
#--------------------------------------------------------------------------
alias start_KGC_CategorizeItem start
def start
start_KGC_CategorizeItem
@category_window = Window_ItemCategory.new
@category_window.help_window = @help_window
show_category_window
end
#--------------------------------------------------------------------------
# ● 終了処理
#--------------------------------------------------------------------------
alias terminate_KGC_CategorizeItem terminate
def terminate
terminate_KGC_CategorizeItem
@category_window.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias update_KGC_CategorizeItem update
def update
@category_window.update
update_KGC_CategorizeItem
if @category_window.active
update_category_selection
end
end
#--------------------------------------------------------------------------
# ○ カテゴリ選択の更新
#--------------------------------------------------------------------------
def update_category_selection
unless @category_activated
@category_activated = true
return
end
# 選択カテゴリー変更
if @last_category_index != @category_window.index
@item_window.category = @category_window.index
@item_window.refresh
@last_category_index = @category_window.index
end
if Input.trigger?(Input::B)
Sound.play_cancel
return_scene
elsif Input.trigger?(Input::C)
Sound.play_decision
hide_category_window
end
end
#--------------------------------------------------------------------------
# ● アイテム選択の更新
#--------------------------------------------------------------------------
alias update_item_selection_KGC_CategorizeItem update_item_selection
def update_item_selection
if Input.trigger?(Input::B)
Sound.play_cancel
show_category_window
return
end
update_item_selection_KGC_CategorizeItem
end
#--------------------------------------------------------------------------
# ○ カテゴリウィンドウの表示
#--------------------------------------------------------------------------
def show_category_window
@category_window.open
@category_window.active = true
@item_window.active = false
end
#--------------------------------------------------------------------------
# ○ カテゴリウィンドウの非表示
#--------------------------------------------------------------------------
def hide_category_window
@category_activated = false
@category_window.close
@category_window.active = false
@item_window.active = true
# アイテムウィンドウのインデックスを調整
if @item_window.index >= @item_window.item_max
@item_window.index = [@item_window.item_max - 1, 0].max
end
end
end
#==================================End Class===================================#
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/ The original untranslated version of this script can be found here:
# http://f44.aaa.livedoor.jp/~ytomy/tkool/rpgtech/php/tech.php?tool=VX&cat=tech_vx/item&tech=categorize_item
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
- NivvdiyMembre
- Nombre de messages : 162
Age : 33
Localisation : Dans un cryogenisateur jusqu'en l'an 2999, 11 mois et 31 jours!
Distinction : aucune
Date d'inscription : 29/02/2008
Re: Script Catégories d'objets traduction française by Thierry13
Jeu 19 Juin 2008 - 20:22
Alors ça c'est trop cool de l'avoir traduit mais les droit d'auteur ce n'est pas toi qui à créé le script, tu l'a juste traduit, donc il faut surtout le nom de l'auteur dans les crédits!
- InvitéInvité
Re: Script Catégories d'objets traduction française by Thierry13
Ven 20 Juin 2008 - 3:38
Merci pour la traduction, mais comme l'a mentionner Jefulrich, les crédits vont à KGC, c'est eu qui ont écrit ce script. Voila, c'est tout!
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum