Vai al contenuto

Rilevato Ad-Blocker. Per favore disabilita il tuo adblocker quando navighi su makerando.com - Non c'è nessun annuncio invasivo.

Cerca nel Forum

Showing results for tags 'BS/Battlers Addon'.



More search options

  • Search By Tags

    Tag separati da virgole.
  • Search By Author

Tipo di contenuto


Forums

  • Comunità
    • Cancello di Ingresso
    • Bacheca
    • Colisseum
  • DevTeam
    • CyberTeam
  • Giochi e Progetti RPG Maker
    • Resa Grafica
    • Concept e Bozze
    • Progetti
    • Giochi RPG Maker Completi e Demo
    • Il Making Oltreoceano
  • Assistenza e Supporto RPG Maker
    • Biblioteca
    • BrainStorming
    • Chiedi Aiuto alla Comunity
    • RPG Maker Scripting
    • PlugIn e AddOn RPG Maker
    • Musica e Suoni
    • Risorse Grafiche RPG Maker
    • Mak - Resources
  • Beyond Making - Oltre RPG Maker
    • Altri Tool

Find results in...

Find results that contain...


Data di creazione

  • Start

    End


Ultimo Aggiornamento

  • Start

    End


Filter by number of...

Iscritto

  • Start

    End


Gruppo


AIM


Indirizzo Web


ICQ


Yahoo


Skype


Location


Interests

Trovato 33 risultati

  1. Nome Script: Modify Battler Collapse Effect Versione: 1.1 Autore/i: PK8 Informazioni: Questo script permette di modificare l'effetto 'morte' dei mostri al momento del K.O con altri effetti che non sono quelli dei default. Istruzioni: Inserite lo script sopra Main. Le configurazioni sono all'interno dello script. E' possibile provare le varie configurazioni anche in modalità Test. Script: =begin ╔══════════════════════════════════════════════════════════════════════════════╗ ║ Modify Battler Collapse Effect 1.1 (formerly known as Battler Collapse Color)║ ║ by PK8 ║ ║ Created: 11/18/2009 ║ ║ Modified: 4/2/2012 ║ ╟──────────────────────────────────────────────────────────────────────────────╢ ║ ■ Table of Contents ║ ║ ○ Author's Notes - Line 15-17 ║ ║ ○ Introduction & Description - Line 19-21 ║ ║ ○ Features - Line 23,24 ║ ║ ○ Methods Aliased - Line 26,27 ║ ║ ○ Thanks - Line 29,30 ║ ║ ○ Changelog - Line 32-35 ║ ╟──────────────────────────────────────────────────────────────────────────────╢ ║ ■ Author's Note ║ ║ When I first wrote the script a few years ago, it was moreorless me trying to║ ║ see what else I could do in scripting. I was running out of ideas at the time║ ╟──────────────────────────────────────────────────────────────────────────────╢ ║ ■ Introduction & Description ║ ║ This script lets you modify the blend type, color, duration, and animation ║ ║ of the Collapse effect. ║ ╟──────────────────────────────────────────────────────────────────────────────╢ ║ ■ Features ║ ║ Modify color, blend type, duration, and animation of the collapse effect. ║ ╟──────────────────────────────────────────────────────────────────────────────╢ ║ ■ Methods Aliased ║ ║ ● collapse of Sprite < ::Sprite class in the RPG module. ║ ╟──────────────────────────────────────────────────────────────────────────────╢ ║ ■ Thanks ║ ║ Yeyinde helped me fix the stacking error by telling me to use method_defined ║ ╟──────────────────────────────────────────────────────────────────────────────╢ ║ ■ Changelog (MM/DD/YYYY) ║ ║ v1.0.0 (11/18/2009) - Initial release. ║ ║ v1.0.1 (11/18/2009) - Fixed stacking error. ║ ║ v1.1 (4/2/2012) - Recoded settings, added Flag & Animation settings, new name║ ╚══════════════════════════════════════════════════════════════════════════════╝ =end module PK8 class Collapse Animation_Flag = true # Turn on Animation Animation = 33 # Animation ID for the Collapse effect Blend_Flag = true # Turn New Blend Type on or off Blend = 1 # Blend Type Color_Flag = true # Turn New Colors on or off Color_Red = 255 # Amount of Red in the Collapse color Color_Green = 0 # Amount of Green in the Collapse color Color_Blue = 230 # Amount of Blue in the Collapse color Color_Alpha = 255 # Amount of Opacity in the Collapse color Duration_Flag = true # Turn New Fade Duration on or off Duration = 40 # Set new duration of fade end end #===============================================================================​ # * RPG Module, Sprite Class. #===============================================================================​ module RPG class Sprite < ::Sprite #--------------------------------------------------------------------------- # * Alias Listings #--------------------------------------------------------------------------- unless method_defined?(:pk8_newcollapse_collapse) alias_method(:pk8_newcollapse_collapse, :collapse) end #--------------------------------------------------------------------------- # * Collapse #--------------------------------------------------------------------------- def collapse pk8_newcollapse_collapse if PK8::Collapse::Animation_Flag == true self.animation($data_animations[PK8::Collapse::Animation], true) end if PK8::Collapse::Blend_Flag == true self.blend_type = PK8::Collapse::Blend end if PK8::Collapse::Color_Flag == true self.color.set(PK8::Collapse::Color_Red, PK8::Collapse::Color_Green, PK8::Collapse::Color_Blue, PK8::Collapse::Color_Alpha) end if PK8::Collapse::Duration_Flag == true @_collapse_duration = PK8::Collapse::Duration end end end end Note dell'autore:Per un uso commerciale, chiedere il permesso all'autore.
  2. Nome Script: Equipment Requirements Versione: 1.2 Autore/i: Ayene Informazioni: Lo script permette di impostare i requisiti per armi e armature. Per esempio, equipaggiare un eroe con ascia a due mani sarebbe possibile solo dopo aver raggiunto un determinato livello o se dispone di statistiche adeguate. Inoltre ha aggiunto un opzione che permette di richiedere determinate abilità. Features: - Semplice da configurare - Finestra che mostra se le statistiche sono troppo basse e quali competenze sono necessarie - Viene mostrata l'abilità che può essere attivata e disattivata Istruzioni: Per utilizzare lo script è sufficiente configurare i requisiti di seguito (separatamente per ogni arma e armatura), secondo questo codice: WEAPON [weapon ID] = [lv, maxhp, maxsp, str, dex, agi, int, [skill_id, skill_id, ...]] Esempio:Se si vuole equipaggiare un personaggio con un'arma dal 2° al 6° livello, a condizione che abbia max 120 HP, 40 forza, 70 intelligenza, guardate come riferimento questo codice: WEAPON [2] = [6, 120, 0, 40, 0, 0, 70, []] Successivamente, per equipaggiare un armatura ID 3, che "richiede" l'agilità e le impostazioni degli ID 10 e 40, fate in questo modo: ARMOR [3] = [0, 0, 0, 0, 70, 0, 0, [10, 40]] Script: #=================================================================== # Equipment Requirements [XP] # by Ayene # 26.03.2010 ver 1.2 # www.ultimateam.pl #=================================================================== # Opis: # The script allows you to set requirements for weapon and armor. # For instance, outfitting a hero with two-handed axe would be possible # only after reaching a specific level or having adequate statistics. # Also added an option that allows to require certain skills. # # Instruction: # To use the script simply configure requirements below (separately for each # weapon and armor), according to the formula: # # WEAPON [weapon ID] = [lv, maxhp, maxsp, str, dex, agi, int, [skill_id, skill_id, ...]] # # For example: # If you want a character to equip a weapon ID 2 at level 6, provided that # it has 120 max HP, 40 strength, 70 intelligence, # type in configuration below: # WEAPON [2] = [6, 120, 0, 40, 0, 0, 70, []] # Next, to equip an armor ID 3, which "requires" adequate agility # and knowledge of the skill ID 10 and 40, type: # ARMOR [3] = [0, 0, 0, 0, 70, 0, 0, [10, 40]] # #=================================================================== # CONFIGURATION module AYENE module EQUIP_REQ WEAPON = [] ARMOR = [] # ~~~~~~~~~~~~~~~~~BRONIE~~~~~~~~~~~~~~~~ # WEAPON [weapon ID] = [lv, maxhp, maxsp, str, dex, agi, int, [skill_id, skill_id, ...]] WEAPON[1] = [2, 10, 10, 10, 10, 10, 10, [4]] WEAPON[3] = [3, 500, 20, 0, 0, 0, 0, []] # ~~~~~~~~~~~~~~~~PANCERZE~~~~~~~~~~~~~~~~ # ARMOR [armor ID] = [lv, maxhp, maxsp, str, dex, agi, int, [skill_id, skill_id, ...]] ARMOR[2] = [1, 300, 0, 0, 0, 0, 0, []] ARMOR[3] = [3, 400, 0, 0, 0, 0, 0, []] ACC_TEXT = "Your stats are too low to equip this item." PARAM_NAMES = ["Level", "Max HP", "Max SP", "Strength", "Dexterity", "Agility", "Intelligence", "Skills:"] SHOW_SKILL_REQ = true # Show which skill is needed? WLH = 32 # Line Height in Requirements Window end end #=================================================================== # Game_Actor #=================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # * Determine if Item can be Equiped (Actor's Parameters) # stat : stats #-------------------------------------------------------------------------- def equip_allowed?(stat) return true if stat[0] <= level && stat[1] <= base_maxhp && stat[2] <= base_maxsp && stat[3] <= base_str && stat[4] <= base_dex && stat[5] <= base_agi && stat[6] <= base_int && equip_skill_allowed?(stat) return false end #-------------------------------------------------------------------------- # * Determine if Item can be Equiped (Actor's Skills ) # stat : stats #-------------------------------------------------------------------------- def equip_skill_allowed?(stat) return true if stat[7].empty? stat[7].each{|skill_id| return false if !skill_learn?(skill_id) } return true end end #=================================================================== # Window_Help #=================================================================== class Window_EquipReq < Window_Base include AYENE::EQUIP_REQ #-------------------------------------------------------------------------- # * Object Initialization # item : item # data : parameters (array) # actor : actor # skill : skill #-------------------------------------------------------------------------- def initialize(item, data, actor, skill) if skill.empty? or !SHOW_SKILL_REQ height = (data.size+1) / 2 * WLH + WLH + 32 else height = (data.size+1) / 2 * WLH + WLH + 32 + WLH * [skill.size, 7].min end super(100, 200 - height/2, 460, height) self.contents = Bitmap.new(width - 32, height - 32) self.z = 1000 self.opacity = 255 self.contents.font.color = crisis_color self.contents.draw_text(4, 0, self.width - 40, WLH, ACC_TEXT, 1) x = 10 y = WLH data.each_with_index{|array, i| self.contents.font.color = system_color self.contents.draw_text(x+i%2*240, y+i/2*WLH, 200, WLH, PARAM_NAMES[array[0]].to_s, 0) self.contents.font.color = normal_color self.contents.draw_text(x+120+i%2*240, y+i/2*WLH, 40, WLH, array[1].to_s, 2) } if !skill.empty? and SHOW_SKILL_REQ size = (data.size+1)/2*WLH self.contents.font.color = system_color self.contents.draw_text(x, y+size, 200, WLH, PARAM_NAMES[7].to_s, 0) self.contents.font.color = normal_color skill.each_with_index{|id, i| self.contents.draw_text(x+140, y+size+WLH*i, 200, WLH, "- #{$data_skills[id].name}", 0) } end end end #=================================================================== # Scene_Equip #=================================================================== class Scene_Equip include AYENE::EQUIP_REQ #-------------------------------------------------------------------------- # * Aliased Definitions #-------------------------------------------------------------------------- alias ayene_item_stats_sceq_update update alias ayene_item_stats_sceq_update_item update_item #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update @req_window != nil ? update_spec_selection : ayene_item_stats_sceq_update end #-------------------------------------------------------------------------- # * Frame Update (when item window is active) #-------------------------------------------------------------------------- def update_item @stat = nil item = @item_window.item case item when RPG::Weapon @stat = WEAPON[item.id] else @stat = ARMOR[item.id] end unless @stat == nil if Input.trigger?(Input::C) && [email protected]_allowed?(@stat) $game_system.se_play($data_system.buzzer_se) @item_window.active = false show_spec_window return end end ayene_item_stats_sceq_update_item end #-------------------------------------------------------------------------- # * Frame Update (when requirements window is active) #-------------------------------------------------------------------------- def update_spec_selection @frame < 100 ? @frame += 1 : @frame = 0 if @frame == 100 or Input.trigger?(Input::C) or Input.trigger?(Input:: @req_window.dispose @req_window = nil @item_window.active = true end end #-------------------------------------------------------------------------- # * Show Requirements Window #-------------------------------------------------------------------------- def show_spec_window @frame = 0 data = [] @stat.each_with_index {|value, type| data.push([type, value]) if value > 0 if type < 7 } data.sort!{|a,b| a[0] <=> b[0]} skill = @stat[7] @req_window = Window_EquipReq.new(@item, data, @actor, skill) end end #=================================================================== # Game_Interpreter #=================================================================== class Interpreter include AYENE::EQUIP_REQ #-------------------------------------------------------------------------- # * Aliased Definitions #-------------------------------------------------------------------------- alias aye_command_315 command_315 alias aye_command_316 command_316 alias aye_command_317 command_317 alias aye_command_318 command_318 #-------------------------------------------------------------------------- # * Change EXP #-------------------------------------------------------------------------- def command_315 aye_command_315 iterate_actor(@parameters[0]) do |actor| check_change_equip(actor) end end #-------------------------------------------------------------------------- # * Change Level #-------------------------------------------------------------------------- def command_316 aye_command_316 iterate_actor(@parameters[0]) do |actor| check_change_equip(actor) end end #-------------------------------------------------------------------------- # * Change Parameters #-------------------------------------------------------------------------- def command_317 aye_command_317 iterate_actor(@parameters[0]) do |actor| check_change_equip(actor) end end #-------------------------------------------------------------------------- # * Change Skills #-------------------------------------------------------------------------- def command_318 aye_command_318 iterate_actor(@parameters[0]) do |actor| check_change_equip(actor) end end #-------------------------------------------------------------------------- # * Check Equipment # actor : actor #-------------------------------------------------------------------------- def check_change_equip(actor) for i in 0..4 case i when 0 item = $data_weapons[actor.weapon_id] stat = WEAPON[item.id] when 1 item = $data_armors[actor.armor1_id] stat = ARMOR[item.id] when 2 item = $data_armors[actor.armor2_id] stat = ARMOR[item.id] when 3 item = $data_armors[actor.armor3_id] stat = ARMOR[item.id] when 4 item = $data_armors[actor.armor4_id] stat = ARMOR[item.id] end actor.equip(i, 0) if !stat.nil? && !actor.equip_allowed?(stat) end end end
  3. Nome Script: Danni Limitati Versione: 1.00 Autore/i: Synthesize Informazioni: Uqesto script da la possibilità di impostare un adanno minimo e massimo di un attacco singolo. Istruzioni: Inserite lo script sopra Main. Istruzioni all'interno dello script. Script: #============================================================================ # Limiting Damage #---------------------------------------------------------------------------- # Written by Synthesize # Version 100 # October 1st, 2007 #============================================================================ # Compatibility: # Rewrites: # Game_Battler::attack_effect # Game_Battler::skill_effect #-------------------------------------------------------------------------- # Begin Customization Section #-------------------------------------------------------------------------- module LimitDamage Maximum_Damage = 9999 Minimum_Damage = 1 Maximum_SkillDamage = 9999 Minimum_SkillDamage = 1 # Change these values to your expected setting. # Note: By default minimum damage is 0. end #-------------------------------------------------------------------------- # End Customization Section #-------------------------------------------------------------------------- # Begin Game_Battler Rewrite #-------------------------------------------------------------------------- class Game_Battler def attack_effect(attacker) # Clear critical flag self.critical = false # First hit detection hit_result = (rand(100) < attacker.hit) # If hit occurs if hit_result == true # Calculate basic damage atk = [attacker.atk - self.pdef / 2, 0].max self.damage = atk * (20 + attacker.str) / 20 # Element correction self.damage *= elements_correct(attacker.element_set) self.damage /= 100 # If damage value is strictly positive if self.damage > 0 # Critical correction if rand(100) < 4 * attacker.dex / self.agi self.damage *= 2 self.critical = true end # Guard correction if self.guarding? self.damage /= 2 end end # Dispersion if self.damage.abs > 0 amp = [self.damage.abs * 15 / 100, 1].max self.damage += rand(amp+1) + rand(amp+1) - amp end # Second hit detection eva = 8 * self.agi / attacker.dex + self.eva hit = self.damage < 0 ? 100 : 100 - eva hit = self.cant_evade? ? 100 : hit hit_result = (rand(100) < hit) end # If hit occurs if hit_result == true # State Removed by Shock remove_states_shock # Substract damage from HP if self.damage < LimitDamage::Minimum_Damage self.damage = LimitDamage::Minimum_Damage elsif self.damage > LimitDamage::Maximum_Damage self.damage = LimitDamage::Maximum_Damage end self.hp -= self.damage # State change @state_changed = false states_plus(attacker.plus_state_set) states_minus(attacker.minus_state_set) # When missing else # Set damage to "Miss" self.damage = "Miss" # Clear critical flag self.critical = false end # End Method return true end #--------------------------------------------------------------------- # Begin Skill Adjustment #--------------------------------------------------------------------- def skill_effect(user, skill) # Clear critical flag self.critical = false # If skill scope is for ally with 1 or more HP, and your own HP = 0, # or skill scope is for ally with 0, and your own HP = 1 or more if ((skill.scope == 3 or skill.scope == 4) and self.hp == 0) or ((skill.scope == 5 or skill.scope == 6) and self.hp >= 1) # End Method return false end # Clear effective flag effective = false # Set effective flag if common ID is effective effective |= skill.common_event_id > 0 # First hit detection hit = skill.hit if skill.atk_f > 0 hit *= user.hit / 100 end hit_result = (rand(100) < hit) # Set effective flag if skill is uncertain effective |= hit < 100 # If hit occurs if hit_result == true # Calculate power power = skill.power + user.atk * skill.atk_f / 100 if power > 0 power -= self.pdef * skill.pdef_f / 200 power -= self.mdef * skill.mdef_f / 200 power = [power, 0].max end # Calculate rate rate = 20 rate += (user.str * skill.str_f / 100) rate += (user.dex * skill.dex_f / 100) rate += (user.agi * skill.agi_f / 100) rate += (user.int * skill.int_f / 100) # Calculate basic damage self.damage = power * rate / 20 # Element correction self.damage *= elements_correct(skill.element_set) self.damage /= 100 # If damage value is strictly positive if self.damage > 0 # Guard correction if self.guarding? self.damage /= 2 end end # Dispersion if skill.variance > 0 and self.damage.abs > 0 amp = [self.damage.abs * skill.variance / 100, 1].max self.damage += rand(amp+1) + rand(amp+1) - amp end # Second hit detection eva = 8 * self.agi / user.dex + self.eva hit = self.damage < 0 ? 100 : 100 - eva * skill.eva_f / 100 hit = self.cant_evade? ? 100 : hit hit_result = (rand(100) < hit) # Set effective flag if skill is uncertain effective |= hit < 100 end # If hit occurs if hit_result == true # If physical attack has power other than 0 if skill.power != 0 and skill.atk_f > 0 # State Removed by Shock remove_states_shock # Set to effective flag effective = true end # Substract damage from HP if self.damage < LimitDamage::Minimum_SkillDamage self.damage = LimitDamage::Minimum_SkillDamage elsif self.damage > LimitDamage::Maximum_SkillDamage self.damage = LimitDamage::Maximum_SkillDamage end last_hp = self.hp self.hp -= self.damage effective |= self.hp != last_hp # State change @state_changed = false effective |= states_plus(skill.plus_state_set) effective |= states_minus(skill.minus_state_set) # If power is 0 if skill.power == 0 # Set damage to an empty string self.damage = "" # If state is unchanged unless @state_changed # Set damage to "Miss" self.damage = "Miss" end end # If miss occurs else # Set damage to "Miss" self.damage = "Miss" end # If not in battle unless $game_temp.in_battle # Set damage to nil self.damage = nil end # End Method return effective end end #============================================================================ # Written by Synthesize # Special Thanks: Peter for the request #---------------------------------------------------------------------------- # Limiting Damage #============================================================================
  4. Titolo: Mog luck system Versione: N/D Autore/i: Moghunter, Loste Informazioni: Script che associa la 'fortuna' al vostro PG nel: - Recuperare HP a fine battaglia - Causare danni critici - Vincere Oggetti Istruzioni: Inserire lo script sopra Main Script: #_________________________________________________ # MOG_Luck System V1.2 #_________________________________________________ # By Moghunter # http://www.atelier-rgss.com # #Traduzione in italiano by Loste -http://rpgmkr.net #_________________________________________________ #Aggiunge l'attributo "fortuna", che interagisce con la #possibilità di vincere oggetti o causare danni critici. #_________________________________________________ module MOG # Limite massimo di fortuna. # I Valori magiori di 100% saranno limitati a questo valore. # MAX_LUCK = {A=>B} # # A = ID del personaggio # B = valore massimo di fortuna per ogni personaggio. # # Se non definito il valore massimo sarà pari a 100%. MAX_LUCK = { 1=>60, 2=>45, 7=>23 } #_________________________________________________ #Definizione del valore iniziale di fortuna per ogni personaggio. # INILUCK = {A =>B} # # A = ID del personaggio. # B = valore iniziale della fortuna. # #Se non definito il valore sarà pari a 1. INILUCK = { 1 =>5, 2 =>3, 7 =>2 } #_________________________________________________ #Definizione dell'aumento di fortuna per ogni livello. #LKUP = {A =>B} # # A = ID del personaggio # B = Valore dell'incremento. # #Se non definito il valore sarà pari a 1. LKUP = {1 =>2, 2 =>3 } #_________________________________________________ #Calcolo della probabilità di vincere oggetti. # # false = Il calcolo della probabilità si basa sul valore più alto del gruppo. # true = Il calcolo della probabilità si basa sul valore medio del gruppo. LKITEMEDIA = true #_________________________________________________ #Quantittà % di HP recuperati. LKHPRECPER = 10 end #_________________________________________________ $mogscript = {} if $mogscript == nil $xrxs = {} if $xrxs == nil $mogscript["luck_system"] = true ############## # Game Actor # ############## class Game_Actor < Game_Battler alias mog23_setup setup def setup(actor_id) iniluck = MOG::INILUCK[actor_id] maxluck = MOG::MAX_LUCK[actor_id] if maxluck == nil @max_luck = 100 else @max_luck = maxluck end if MOG::INILUCK[actor_id] == nil @luck = 1 else @luck = iniluck end if MOG::LKUP[actor_id] == nil @luckup = 1 else @luckup = MOG::LKUP[actor_id] end mog23_setup(actor_id) end def max_luck return @max_luck end def luck if @max_luck != nil and @luck > @max_luck @luck = @max_luck else if @luck > 100 @luck = 100 end return @luck end end def exp=(exp) @exp = [[exp, 9999999].min, 0].max while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0 @level += 1 @luck += @luckup for j in $data_classes[@class_id].learnings if j.level == @level learn_skill(j.skill_id) end end end while @exp < @exp_list[@level] @level -= 1 @luck -= @luckup end @hp = [@hp, self.maxhp].min @sp = [@sp, self.maxsp].min end end ############### # Game_Enemy # ############### class Game_Enemy < Game_Battler def treasure_prob for i in 0...$game_party.actors.size actor = $game_party.actors[i] if MOG::LKITEMEDIA == true return actor.luck / $game_party.actors.size else return actor.luck end end end end ################ # Game_Battler # ################ class Game_Battler def attack_effect(attacker) self.critical = false hit_result = (rand(100) < attacker.hit) if hit_result == true atk = [attacker.atk - self.pdef / 2, 0].max self.damage = atk * (20 + attacker.str) / 20 self.damage *= elements_correct(attacker.element_set) self.damage /= 100 if self.damage > 0 if attacker.is_a?(Game_Actor) if rand(100) < attacker.luck self.damage *= 2 self.critical = true end else if rand(100) < 4 * attacker.dex / self.agi self.damage *= 2 self.critical = true end end if self.guarding? self.damage /= 2 end end if self.damage.abs > 0 amp = [self.damage.abs * 15 / 100, 1].max self.damage += rand(amp+1) + rand(amp+1) - amp end eva = 8 * self.agi / attacker.dex + self.eva hit = self.damage < 0 ? 100 : 100 - eva hit = self.cant_evade? ? 100 : hit hit_result = (rand(100) < hit) end if hit_result == true remove_states_shock self.hp -= self.damage @state_changed = false states_plus(attacker.plus_state_set) states_minus(attacker.minus_state_set) else self.damage = "Miss" self.critical = false end return true end end ############### # Window Base # ############### class Window_Base < Window def draw_actor_luck(actor, x, y) self.contents.font.color = normal_color self.contents.draw_text(x, y, 120, 32, "Luck " + actor.luck.to_s + "%") if $mogscript["menu_eva"] == true back = RPG::Cache.picture("STBAR_Back") cw = back.width ch = back.height src_rect = Rect.new(0, 0, cw, ch) self.contents.blt(x , y - ch + 40, back, src_rect) meter = RPG::Cache.picture("STBAR.png") cw2 = meter.width * actor.luck / actor.max_luck ch2 = meter.height src_rect2 = Rect.new(0, 0, cw2, ch2) self.contents.blt(x , y - ch + 40, meter, src_rect2) end end end ################# # Window Status # ################# class Window_Status < Window_Base alias mog23_refresh refresh def refresh mog23_refresh if $mogscript["menu_eva"] == true draw_actor_luck(@actor, 520,210) else draw_actor_luck(@actor, 325,120) end end end ################ # Scene Battle # ################ class Scene_Battle alias mog23_start_phase5 start_phase5 def start_phase5 mog23_start_phase5 for actor in $game_party.actors if rand(100) < actor.luck lkhprec = actor.maxhp * MOG::LKHPRECPER / 100 actor.hp += lkhprec actor.damage_pop = true actor.damage = -lkhprec end end @status_window.refresh end end
  5. Nome Script: Average Actor Level Versione: 1.0 Autore/i: game_guy Informazioni: Come sempre ci tengo a precisare che lo script non è stato scritto da me. Io l'ho semplicemente tradotto per renderlo più accessibile! Istruzioni: Le istruzioni sono tradotte all'interno dello script. Fidatevi...è di una banalità quasi offensiva! Script: #=============================================================================== # Average Actor Level # Author game_guy traduzione di Lifaen # Version 1.0 #------------------------------------------------------------------------------- # Intro: # Questo script permette, qualora durante il corso dell'avventura si aggiunga un # nuovo eroe al party, di fare in modo che questo non sia di un livello definito # nel database ma che il suo livello sia equivalente al livello medio del party! # # Features: # Permette al nuovo membro del party di essere di livello uguale alla media dei # livelli degli altri componenti. # Facile da usare. # Permette di bypassare questa funzionalità e non calcolare il livello in base # alla media dei livelli del party. # # Istruzioni: # In un call script inserite questo comando: # a_add_actor(actor_id) # actor_id = id dell'eroe nel database # di cui calcolare il livello in base alla media. # # Note: # Tutto ciò può anche essere fatto comodamente ad eventi ma chissenefrega. Mi # piace rendere le cose più semplici! # # Crediti: # game_guy ~ per aver fatto lo script #=============================================================================== class Game_Party alias gg_average_levels add_actor def add_actor(actor_id, average=false) if average actor = $game_actors[actor_id] level = 0 for i in 0...$game_party.actors.size level += $game_actors[$game_party.actors[i].id].level end level = level / $game_party.actors.size actor.level = level end gg_average_levels(actor_id) end end class Game_Actor attr_accessor :level end class Interpreter def a_add_actor(id) $game_party.add_actor(id, true) end end Demo:Non necessaria Note dell'Autore: Come lo stesso autore scrive nello script tutto ciò si può comodamente fare tramite eventi! Ma a lui piace rendere le cose più facili! XD
  6. Nome Script: Monster Areas Script Versione: 1.0 Autore/i: game_guy Informazioni: Lo scrip non è assolutamente realizzato da me! L'autore è game_guy. All'interno dello script ci sono poi ringraziamenti speciali a: Blizzard, Winkio, Fantasist, Zeriab (scusate ma è il primo script che posto! ;P). Io ho semplicemnte tradotto le parti di settaggio...così da renderlo più facile ed accessibile anch a chi non conosca la lingua o semplicemente non abbia volgia di mettersi a tradurre! XD Istruzioni: Creare una nuova classe sopra il 'Main' e chiamarla 'Monster Areas'. Incollarci dentro lo script ed il gioco è fatto. Le istruzioni sono all'interno! Script: #================================ # Map Areas # Author game_guy (Ronnie Mooney) traduzione di Lifaen # Version 1.0 #------------------------------------------------------------------------------- # Descrizione: # Facile da configurare (Lengthy though) # Suddivisione in aree illimitata per ogni mappa # Permette di configurare solo le mappe di cui abbiamo bisogno # # Istruzioni # Le istruzioni seguono all'interno dello script. # # Crediti # game_guy ~ for making it # Enterbrain ~ adding this feature in the old makers # # People who are being uncredited because of reason explained # Enterbrain ~ for removing this feature in the new makers # # Ringraziamenti speciali: # Blizzard # Winkio # Fantasist # Zeriab # These guys had the most impact on me and helped me the most when it came to # scripting. Without them and their knowledge I would have made this script # alot more complicated. Hell I'd probably still be an eventer if it wasn't for # them inspiring me to try and be a scripter. I learned most of the tricks I # know from them. Thanks guys =D # #=============================================================================== module GG_Areas Maps = [] #================================ # Mappe # Prima di tutto è necessario aggiungere una nuova linea sotto # 'aggiungi una nuova linea qui sotto' e scrivere # Map[map_id] = [] # map_id è l'id della mappa a cui vuoi assegnare determinate aree # (leggi sotto per l'area setup) #================================ Maps[1] = [] #================================ # Sotto la nuova linea e mappa assegnata devi aggiungere altre scritte. # Quindi vai avanti e scrivi: # Maps[map_id][area_id] = [x_start, y_start, widh, height, [troops]] # -map_id = id della mappa nell'editor # -area_id = numero dell'area (dev'essere differente per ogni area della mappa) # -x_start = la cordinata x dove l'area inizia sulla mappa # -y_start = la cordinata y dove l'area inizia sulla mappa # -width = larghezza dell'area (in tiles) # -height = altezza dell'area (in tiles) # (Guarda l'esempio sotto) #================================ # Mappa numero 1, area number 1 inizia dalle coordinate # di (x 0, y 0). La larghezza è 7 tiles, l'altezza è # 7 tiles. I numeri delle troops sono 1 2 and 3: ovvero, qui incontrerete # gruppi di nemici corrispondenti ai numeri 1, 2 e 3 nel database (sezione troops). # Steso discorso per le aree seguenti della stessa mappa ;P #================================ Maps[1][1] = [0, 0, 7, 7, [1, 2, 3]] Maps[1][2] = [7, 0, 7, 7, [4, 5, 6]] Maps[1][3] = [14, 0, 6, 7, [7, 8, 9]] Maps[1][4] = [0, 8, 7, 7, [10, 11, 12]] Maps[1][5] = [7, 8, 7, 7, [13, 14, 15]] Maps[1][6] = [14, 8, 6, 7, [16, 17, 18]] # 'Aggiungi una nuova linea qui sotto' end class Game_Player < Game_Character alias gg_upd_areas_player_lat update def update gg_upd_areas_player_lat areas = GG_Areas::Maps[$game_map.map_id] return if areas == nil areas.each{|a| if a != nil && @x >= a[0] && @x <= a[0] + a[2] - 1 if @y >= a[1] && @y <= a[3] + a[1] - 1 $game_map.map.encounter_list = a[4] end end} end end class Game_Map attr_accessor :map end Demo: N/D Incompatibilita': N/D
  7. Titolo: Auto-Battle Versione: N/D Autore/i: Thousand Dragoon Informazioni: Questo script permette di usare il comando di battaglia automatica =) Istruzioni: Inserire lo script sopra Main... Script: #Este script coloca o comando de auto-batalha em suas lutas, fazendo que seus personagens ataquem sozinhos. #Este script é muito simples de ser usado, acima do Main (no editor de scripts) clique com o botão direito e inserir. Díª o nome de Auto_Battle e cole o código abaixo no script. #Pronto já pode ser usado. #============================================================================== # ¦ Auto_Battle #------------------------------------------------------------------------------ # Edited from default scripts by Thousand Dragoon Link and Sir_KnightDragoon # Comments by Thousand Dragoon Link #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # ? Renewal of a frame (party command phase) #-------------------------------------------------------------------------- def update_phase2 if Input.trigger?(Input::C) case @party_command_window.index when 0 # Fight # Determine if a SE is performed. $game_system.se_play($data_system.decision_se) start_phase3 when 1 # Escape. # escape is not possible if $game_temp.battle_can_escape == false $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) update_phase2_escape when 2 # Auto-Battle $game_system.se_play($data_system.decision_se) update_phase2_auto end return end end #-------------------------------------------------------------------------- # Renewal of a frame (party command phase : auto) #-------------------------------------------------------------------------- def update_phase2_auto loop do if @actor_index == $game_party.actors.size-1 start_phase4 return end @actor_index += 1 $game_party.actors[@actor_index].current_action.kind = 0 $game_party.actors[@actor_index].current_action.basic = 0 $game_party.actors[@actor_index].current_action.decide_random_target_for_actor end end end class Window_PartyCommand < Window_Selectable #-------------------------------------------------------------------------- # object initialization #-------------------------------------------------------------------------- def initialize super(0, 0, 640, 64) self.contents = Bitmap.new(width - 32, height - 32) self.back_opacity = 160 self.contents.font.name = $fontface self.contents.font.size = $fontsize #Change the commands to what you want them to say @commands = ["Combatti", "Fuga", "Auto-Battle"] @item_max = 3 @column_max = 3 draw_item(0, normal_color) draw_item(1, $game_temp.battle_can_escape ? normal_color : disabled_color) draw_item(2, normal_color) self.active = false self.visible = false self.index = 0 end #-------------------------------------------------------------------------- def draw_item(index, color) self.contents.font.color = color rect = Rect.new(80 + index * 160 + 4, 0, 128 - 10, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.draw_text(rect, @commands[index], 1) end #-------------------------------------------------------------------------- # Renewal of the rectangle cursor #-------------------------------------------------------------------------- def update_cursor_rect self.cursor_rect.set(80 + index * 160, 0, 128, 32) end end
  8. Nome Script: Menu e Party 5 pg Versione: 1.0 Autore: Descrizione: Permette di avere un party di 5 personaggi e di visualizzarli tutti nel menu. Istruzioni: Incollare sotto Materials e sopra Main; in Main prima di rgss_main { SceneManager.run } inserire questa riga: Graphics.resize_screen(640,480) Screenshot: Non servono Script: Bug e Conflitti Noti: Con la risoluzione standard non si vede bene il quinto pg nel menu, quindi impostare a 640 x 480 come nelle istruzioni. Note dell'autore: Condividetelo, usatelo in progetti free o commerciali, l'importante è creditare l'autore.
×