Il permet de définir pour chaque monstre ce qu'on peux voler sur lui ainsi que les chances pour chaque objet et permet aussi de créer des équipements qui augmente ou diminue les chances de voler
Code:
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ ◆ Steal Skill - KGC_Steal ◆ VX ◆ #_/ ◇ Last Update: 2008/09/13 ◇ #_/ ◆ Translation by Mr. Anonymous ◆ #_/ ◆ Extended updates by Touchfuzzy and RFTD ◆ #_/ ◆ KGC Site: ◆ #_/ ◆ http://f44.aaa.livedoor.jp/~ytomy/ ◆ #_/ ◆ Translator's Blog: ◆ #_/ ◆ http://mraprojects.wordpress.com ◆ #_/---------------------------------------------------------------------------- #_/ This script allows you to assign skills that "steal" items, weapons, armor #_/ and money. #_/============================================================================ #_/ ◆ Instructions For Usage ◆ #_/ #_/ Setup is simple. To assign a skill as a Steal skill, add the tag "<steal>" #_/ (without quotations) into the "Note" box on the skill you choose in the #_/ skills database. Next, to set up enemies you can steal from, in the enemies #_/ database, you enter <steal X:ID Probability %> #_/ #_/ Where X = Steal type. I = Items, W = Weapons, A = Armor, and G = Gold #_/ #_/ Where ID = The specified item, weapon, or armor's ID #, in the database #_/ OR the amount of gold that can be stolen. #_/ #_/ Where Probability % = The chance of the item being stolen. #_/ #_/ Example: You have a bandit (enemy) who has a Long Sword and 100 gold you'd #_/ like to be able to steal from him, at a 50% chance. Tag him with: #_/ <steal W:2 50%> #_/ <steal G:100 50%> #_/ #_/ New! Equipment that effects steal probability #_/ You may define equipment that increases or decreases the odds of the #_/ steal skill's success. To take advantage of this feature, tag the equip: #_/ <steal_prob_plus Modifier Rate %> #_/ Where Modifier = Addition( + ) or Subtraction( - ) #_/ Where Rate = the amount of increase/decrease in probability. #_/ #_/ Example: You'd like an accessory you created called "Theif's Ring" to #_/ increase an actor's stealing probability by 15%. You'd tag that ring: #_/ <steal_prob_plus + 15%> #_/============================================================================ #_/ Install: Insert below KGC_EnemyGuide, and PG Tankentai Sideview Battle #_/ System, if applicable. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
module KGC module Steal # ◆ Display Messages ◆ # Target skill used on has nothing to steal. # (Where %s = target) # %s : has nothing to steal! VOCAB_STEAL_NO_ITEM = "%s has nothing to steal!" # ◆ Steal skill failed. VOCAB_STEAL_FAILURE = "Your thievery was amiss!" # ◆ When stealing an item. # First %s : Target name # Second %s : Item Name VOCAB_STEAL_ITEM = "%s had a %s stolen!" # ◆ When stealing money/gold. # First %s : Target name # Second %s : Amount stolen # Third %s : Gold unit name. (Ex "GP", or"$" VOCAB_STEAL_GOLD = "%s was mugged. %s%s stolen!"
# ◆ Agility Based Steal ◆ # Implemented on 3/14/08 by Touchfuzzy. # If this is true then the skill chance is figured as Steal% * Tagi * Eagi. # If this toggle is false, then the default percentage system is used. # Steal% = Steal Percentage used in Enemy Notes tag. # Cagi = Thief's (Actor using the skill) Agility # Eagi = Enemy's Agility AGILITY_BASED_STEAL = true
# ◆ RPG Tankentai Sideview Battle System Steal Messages ◆ # Implemented on 8/27/08 by RFTD. # If you're using RPG Tankentai Sideview Battle System, set this toggle to # true in order to display the above defined messages. # If don't use the RPG Tankentai Sideview Battle System or you'd rather the # "steal" messages to be removed, set this to false. USING_SIDEVIEW = false end end
#=============================================================================# # ★ End Customization ★ # #=============================================================================#
module Vocab # Set text defined in the customization area to the vocab module. StealItem = KGC::Steal::VOCAB_STEAL_ITEM StealGold = KGC::Steal::VOCAB_STEAL_GOLD StealNoItem = KGC::Steal::VOCAB_STEAL_NO_ITEM StealFailure = KGC::Steal::VOCAB_STEAL_FAILURE end
self.note.each_line { |line| case line when KGC::Steal::Regexp::BaseItem::STEAL_PROB_PLUS # 盗み成功率補正 @__steal_prob_plus += $1.to_i end } end #-------------------------------------------------------------------------- # ○ 盗み成功率補正 #-------------------------------------------------------------------------- def steal_prob_plus create_steal_cache if @__steal_prob_plus == nil return @__steal_prob_plus end end
class RPG::Skill < RPG::UsableItem #-------------------------------------------------------------------------- # ○ 「盗む」のキャッシュ生成 #-------------------------------------------------------------------------- def create_steal_cache super @__steal = false
self.note.each_line { |line| case line when KGC::Steal::Regexp::Skill::STEAL # 盗む @__steal = true end } end #-------------------------------------------------------------------------- # ○ 盗む #-------------------------------------------------------------------------- def steal? create_steal_cache if @__steal == nil return @__steal end end
return true end #-------------------------------------------------------------------------- # ○ 等値演算子 #-------------------------------------------------------------------------- def ==(obj) return self.equal?(obj) end end
# 何も持っていない if self.steal_objects.compact.empty? @stolen_object = :no_item return end
@stolen_object = nil stolen_index = -1 self.steal_objects.each_with_index { |sobj, i| next if sobj == nil # Added by TouchFuzzy 3/14/08 if KGC::Steal::AGILITY_BASED_STEAL sobj.success_prob = sobj.success_prob * user.agi / self.agi end # End Agility Based Steal Update # 盗み成功判定 if sobj.success_prob > 0 # 確率指定 next if sobj.success_prob + user.steal_prob_plus < rand(100) else # 分母指定 if rand(sobj.denominator) != 0 next if user.steal_prob_plus < rand(100) end end # 盗み成功 @stolen_object = sobj stolen_index = i if $imported["EnemyGuide"] # 図鑑用の盗み成功フラグをオン self_id = (self.actor? ? self.id : self.enemy_id) KGC::Commands.set_enemy_object_stolen(self_id, stolen_index) end break } if stolen_index != -1 @steal_objects[stolen_index] = nil end end end
class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ○ 盗み成功率補正値 #-------------------------------------------------------------------------- def steal_prob_plus n = 0 equips.compact.each { |item| n += item.steal_prob_plus } return n end end
Vole-t-on les objets que l'ennemi laisse en mourant ouuu ? Parce que ta première phrase indique le contraire et dans ce cas ça signifie qu'il faut lire l'anglais du script x).
Merci pour le script (flemme de translater là pour ça que je pose la question c'est plus simple =/).
Désoler car ce mini up inutile, mais j'ai bien fait comme tu l'as dit et la compétence ne marche pas. ^^
Je voulais également savoir si elle marche vraiment car je n'ai aucun problème et même avec 100% de chance ça ne fait rien, rien est afficher sur l'écran et aucune potion apparait dans mon inventaire, merci d'avance.
Je voudrais faire un sort de vol d'or, mais aussi de vol d'équipement... Comment pourrais-je faire pour distinguer les différents objets subtilisables... Est-ce que je mets plusieurs fois: en commentaires ou je fais autrement?
Il te suffit d'avoir un peu d'imagination et surtout beaucoup de courage.
Une idée toute simple pour le vol d'équipement :
Tu crée ta compétence, tu fais en sorte qu'elle inflige aucun dégât, puis tu fais qu'elle inflige le statut vol a un ennemi. ( pense a cocher l'option Aucune Résistance pour l'état Vol )
Ensuite dans les groupe de comba til ne te reste plus qu'a configurer un event en combat. Dans celui ci tu mettra un truc du genre
Citation :
Condtion Si Monstre 1 est dans l'état vol Variable Réussite Vol == entre 1 et 5 Condition si la variable Réussite Vol == 1 Vous avez volé une dague ! Ajouter Arme Dague Monstre 1 retirer état vol Sinon Vous avez raté le vol Monstre 1 retirer état Vol Fin
Et une condition du même genre pour chaque monstre présent dans le groupe. Et il faut que l'évent se répète a chaque fin/début de tour.
Voila étant donné que j'ai imaginé ce système a ce moment, je n'ai rien testé. Si ca pu t'aider... ^^