Jump to content
Rpg²S Forum

Mungò

Utenti
  • Posts

    107
  • Joined

  • Last visited

Posts posted by Mungò

  1. Il problema è che non sono capace di scriverlo! XD

    L'unico linguaggio informatico che conosco è il pascal, e cerco di orientarmi usando quello. Mi piacerebbe però imparare il linguaggio di questi script, solo non riesco a trovare su internet una guida completa :sad:

     

    Comunque tornando al nostro script la condizione che vorrei inserire è "se l'abilità usata non ha questa nota, il danno inflitto da abilità e oggetti, se è minore di 20, è uguale a 20". Il numero 20 è provvisorio, magari aumenterò la soglia del danno minimo qualora dovessi accorgermi che effettivamente è troppo piccola. Mi serve a evitare che le abilità più deboli che infliggono danni, o a causa della forza dell'abilità o a causa del livello del giocatore, non tolgano zero, ma che tolgano almeno un po', per evitare uno spreco di punti magia inutile. Le altre abilità che non necessitano di questa nota infliggono più semplicemente degli stati alterati. È a questo che mi serve questo codice. :tongue:

  2. Ho bisogno di uno script che faccia in modo che il danno causato da oggetti e abilità sia uguale al danno stesso se il danno è > 20, e che sia uguale a 20 se il danno è < 20. Mi spiego meglio.

    Se per esempio un'abilità di un personaggio (nemico o alleato) toglie 100, allora il danno complessivo sarà 100.

    Ma se il danno è 15, o -100, o comunque < 20, il danno complessivo sarà 20.

    Ho provato a modificare questo script, utilizzando una switch che quando è su off attiva il primo caso, con il danno > 20, quando è su on attiva l'altro, ovvero il danno = 20. Purtroppo non sono un bravo scripter (si dice così, giusto? :tongue: ), ed è tutto il giorno che lavoro su questo script, ma l'unico risultato che ho ottenuto è questo:

    class Game_Battler
    def skills
     for i in @skill.keys.sort
           result.push($data_skill[i]) if @skill[i] > 0
       skill = $data_skill[@skill_id]
       unless skill.note.include?("*NODANNO")
         if damage < 20
           $game_switches[29] = true
         else
           $game_switches[29] = false
         end
       end
     end
    end
     def make_obj_damage_value(user, obj)
       damage = obj.base_damage                        # get base damage
       if damage > 0                                   # a positive number?
         damage += user.atk * 4 * obj.atk_f / 1      # Attack F of the user
         damage += user.spi * 2 * obj.spi_f / 1      # Spirit F of the user
         unless obj.ignore_defense                     # Except for ignore defense
           damage -= self.def * 2 * obj.atk_f / 1    # Attack F of the target
           damage -= self.spi * 1 * obj.spi_f / 1    # Spirit F of the target
         end
         damage = 0 if damage < 0                      # If negative, make 0
       elsif damage < 0                                # a negative number?
         damage -= user.atk * 4 * obj.atk_f / 1      # Attack F of the user
         damage -= user.spi * 2 * obj.spi_f / 1      # Spirit F of the user
         damage = 0
       end
       damage *= elements_max_rate(obj.element_set)    # elemental adjustment
       damage /= 100
       damage = apply_variance(damage, obj.variance)   # variance
       damage = apply_guard(damage)                             # guard adjustment
       if $game_switches[29] = true
          damage = 0
         end
       if obj.damage_to_mp  
         @mp_damage = damage                           # damage MP
       else
         @hp_damage = damage                           # damage HP
       end
     end
     end

    Ciò che viene fuori è una battaglia in cui le abilità e gli oggetti dei personaggi non tolgono niente, anche se causano comunque danni quali veleno, sonno, ecc. Cosa ho sbagliato? :sad:

     

    Un'altra cosa: è possibile creare abilità che infliggono sempre stati alterati e altre che le infliggono solo alcune volte?

  3. Mi dà errore sulla riga 7...

    Hai ragione, non puoi testarlo perché ti mancano le windowskin, perdonami! :nana:

    Prova a cambiare la parte dopo la riga 185 con questo:

     

    	DEFAULT_SKIN_VALUE  = 1
    WINDOW_HASH ={
    # Window ID => [		 Name, Opac,  Bold, Italic, Shadow, Size,	Font],
    		  1 => [	  "Pokémon",  200, false,  false,   true,   20, DEFAULT],
    		  2 => [  "Rosso Mario",  200, false,  false,   true,   20, DEFAULT],
    		  3 => [  "Verde Yoshi",  200, false,  false,   true,   20, DEFAULT],
    		  4 => [  "Rosso fuoco",  255, false,  false,   true,   20, DEFAULT],
    		  5 => [	 "Neon blu",  200, false,  false,   true,   20, DEFAULT],
    		  6 => [  "Tecnologico",  255, false,  false,   true,   20, DEFAULT],
    } # Do not remove this.

     

    Qui ci sono le windowskin.

    Crea una cartella su graphics/windowskin e metti il contenuto del file .rar.

    Se lo provi capirai subito qual è esattamente il problema.

  4. Lo script permette di aggiungere la nuova voce "opzioni" nel menu di pausa, dove è possibile cambiare il volume delle canzoni, la windowskin da usare, se usare la corsa automatica o no, ecc.

    Ho un problema con questo script: quando vado su menu/opzioni/windowskin, non riesco a selezionare tutte le windowskin, ne posso scegliere solo alcune! Quando compare l'elenco delle windowskin selezionabili, premo giù e il cursore si sposta verso il basso, premo ancora giù e si sposta ancora verso il basso; fin qui tutto ok. Appena lo sposto di nuovo verso il basso ecco che ritorna alla prima windowskin! :nana: Si può risolvere questo bug?

    È possibile inoltre rimuovere l'opzione nel menu per la modifica della corsa automatica?

    Qui sotto c'è lo script:

     

    System Game Options

    Descrizione

    Aggiunge una nuova voce nel menu di pausa dove è possibile cambiare alcune opzioni di gioco

     

    Autore

    Yanfly Engine Melody

     

    Allegati

    N/A

     

    Istruzioni per l'uso

    Mettere sotto materials

     

     

    #===============================================================================
    # 
    # Yanfly Engine Melody - System Game Options
    # Last Date Updated: 2010.06.12
    # Level: Normal
    # 
    # System Game Options replaces the "Game End" scene found in the default RPG
    # Maker VX with a system options menu. In this menu, the player can readjust
    # sound volumes, automatic dashing, and more. This changes one of the unused
    # game end scene into something a whole lot more useful.
    # 
    #===============================================================================
    # Updates
    # -----------------------------------------------------------------------------
    # o 2010.06.12 - Bugfix for disposing the skins window.
    # o 2010.05.14 - Finished Script.
    # o 2010.05.12 - Started Script.
    #===============================================================================
    # Instructions
    # -----------------------------------------------------------------------------
    # To install this script, open up your script editor and copy/paste this script
    # to an open slot below ▼ Materials but above ▼ Main. Remember to save.
    # 
    # 1. Scroll down, adjust the various Switches and Variable values to something
    #	empty or predetermined. 
    # 2. Make a "Windows" folder in your project's "Graphics" folder. Insert the
    #	window skins you want to use there and adjust the WINDOW_HASH accordingly.
    # 
    #===============================================================================
    # Compatibility
    # -----------------------------------------------------------------------------
    # - Replaces ALL of Scene_End. Expect no functionality with any scripts that
    #  will also replace Scene_End.
    # - This script is made to be specifically compatible with Battle Engine Melody.
    #===============================================================================
    
    $imported = {} if $imported == nil
    $imported["SystemGameOptions"] = true
    
    module YEM
     module SYSTEM
    
    # This replaces the Game End title with the following text. And although
    # script itself doesn't provide the icon, any script that may potentially
    # link towards the System menu will reveal the System icon below.
    TITLE = "System"
    ICON  = 134
    
    #==========================================================================
    =
    # Game System Commands
    # --------------------------------------------------------------------------
    # The following adjusts the order at which you would like the menu system
    # commands to appear. Here is the reference table to their command ID's.
    #	  :blank		- Blank Item.
    #	  :volume_bgm  - Adjusts BGM volume.
    #	  :volume_bgs  - Adjusts BGS volume.
    #	  :volume_sfx  - Adjusts SFX volume.
    #	  :animations  - Turns on/off battle animations.
    #	  :autocursor  - Requires BEM. Memorized cursor position.
    #	  :skill_help  - Requires BEM. Display skill help.
    #	  :next_actor  - Requires BEM. Automatic Next Actor.
    #	  :atb_active  - Requires BEM. Sets ATB type.
    #	  :atb_speed	- Requires BEM. Sets ATB speed.
    #	  :auto_dash	- Controls if need to hold down dash button to run.
    #	  :instant_text - Whether or not text appears instantly in messages.
    #	  :windowskin  - Changes the windowskin.
    #	  :return_title - Return back to the title screen.
    #	  :return_menu  - Return back to the menu screen.
    #==========================================================================
    =
    
    # This array modifies the order your system menu options appear in from
    # top to bottom. Rearrange them as you see fit or remove them if desired.
    COMMANDS =[
      :windowskin,  # Adjusts window skins.
      :skill_help,  # Requires BEM. Shows skill help.
      :atb_active,  # Requires BEM. Sets ATB type.
      :atb_speeds,  # Requires BEM. Sets ATB speed.
      :animations,  # Turns on/off battle animations.
      :autocursor,  # Requires BEM. Memory cursor.
      :next_actor,  # Requires BEM. Automatic Next Actor.
      :bgm_volume,  # Adjusts BGM volume.
      :bgs_volume,  # Adjusts BGS volume.
      :sfx_volume,  # Adjusts SFX volume.
      :auto_dash,	# Controls need to hold down dash button to run.
      :instant_text, # Makes text appear instantly.
      :atb_active,  # Requires BEM. Sets ATB type.
      :atb_speed,	#Requires BEM. Sets ATB speed.
      :event1,
      :blank,		# A blank space.
      :return_title, # Return to the title screen.
      :return_menu,  # Return back to the main menu.
    ] # Do not remove this.
    
    # The following hash determines what variables and switches are used to
    # adjust the system options menu. It's very important that you bind the
    # values to the proper variables and switches in order for your game to
    # run properly. In addition to adjusting the switches, you also apply
    # text descriptions of each of the items here, too.
    
     
    OPTIONS ={
    # Option => Value
      :bgm_variable  => 21,  # Variable used to adjust BGM volume.
      :bgm_mute_sw  => 21,  # Switch used to mute/unmute the BGM.
    	:bgm_volume  => "BGM Volume",
    	:bgm_des	=> "Adjusts BGM volume. Z to Mute and Unmute.",
      :bgs_variable  => 22,  # Variable used to adjust BGS volume.
      :bgs_mute_sw  => 22,  # Switch used to mute/unmute the BGS.
    	:bgs_volume  => "BGS Volume",
    	:bgs_des	=> "Adjusts BGS volume. Z to Mute and Unmute.",
      :sfx_variable  => 23,  # Variable used to adjust SFX volume.
      :sfx_mute_sw  => 23,  # Switch used to mute/unmute the SFX.
    	:sfx_volume  => "SFX Volume",
    	:sfx_des	=> "Adjusts SFX volume. Z to Mute and Unmute.",
    	:mute		=> "Mute",
    	:audio	  => "Audio %d%%",
      :atb_avariable => 24,  # Variable used for ATB Active Type.
    	:atb_aname  => "ActiveType",
    	:wait_0	  => "Full",
    	:wait_0_des  => "ATB Gauge does not stop with battle menus open.",
    	:wait_1	  => "Semi",
    	:wait_1_des  => "ATB Gauge stops during target selection.",
    	:wait_2	  => "Stop",
    	:wait_2_des  => "ATB Gauge stops with battle menus open.",
    	:wait_3	  => "Wait",
    	:wait_3_des  => "ATB Gauge stops with any member ready for action.",
      :atb_svariable => 25,  # Variable used for ATB Speeds.
    	:atb_sname  => "Turn Speed",
    	:atb_s_des  => "Adjusts battle speed. Higher values are faster.",
      :animation_sw  => 24,  # Switch used to display/hide animations.
    	:animations  => "Animations",
    	:ani_des	=> "Enables/Disables battle animations.",
    	:ani_show	=> "Show",
    	:ani_hide	=> "Hide",
      :autocursor_sw => 25,  # Switch used for autocursors.
    	:autocursor  => "AutoCursor",
    	:curmem_des  => "Enables/Disables cursor memory for actions.",
    	:curmem_on  => "Memory",
    	:curmem_off  => "Reset",
      :next_actor_sw => 26,  # Switch used for automatic next actor.
    	:next_actor  => "Next Actor",
    	:next_des	=> "Move to next actor after selecting commands",
    	:next_on	=> "Auto",
    	:next_off	=> "Manual",
      :skill_help_sw => 27,  # Switch used to enable skill help.
    	:skill_help  => "Skill Help",
    	:help_des	=> "Display skill descriptions during battle phase.",
    	:help_on	=> "Enabled",
    	:help_off	=> "Disable",
      :auto_dash_sw  => 28,  # Switch used to enable auto-dashing.
    	:auto_dash  => "Auto-Dash",
    	:dash_des	=> "Automatically dash without holding the run button.",
    	:dash_on	=> "Dash",
    	:dash_off	=> "Walk",
      :inst_text_sw  => 29,  # Switch used to control instant text.
    	:instant_text => "Instant Text",
    	:inst_des	=> "Text appears all at once instead of one by one.",
    	:inst_on	=> "Instant",
    	:inst_off	=> "Normal",
      :return_title  => "Return to Title",
    	:retitle_des => "Return back to the title screen.",
      :return_menu  => "Return to Main Menu",
    	:remenu_des  => "Return back to the main menu.",
      :window_var	=> 30,  # Variable used to change windowskins.
    	:windowskin  => "Windowskin",
    	:wind_des	=> "Changes the windowskin used for the game.",
    } # Do not remove this.
    
    # This sets the default fonts used for your windows. Note that in this
    # array, if a player doesn't have the font in front, it'll use the next one
    # onward until the player does have that font installed.
    DEFAULT = ["UmePlus Gothic", "Verdana", "Arial", "Courier New"]
    WRITING = ["Comic Sans MS", "Lucida Handwriting", "Arial"]
    
    # The following adjusts the window skins used for your game. Match the
    # Window skins with the names accordingly. Within the windowskin hash,
    # the following settings are adjusted as such:
    #	Name - File Name
    #	Opac - Back Opacity
    #	Bold - Bold font?
    #  Italic - Italic font?
    #  Shadow - Use shadows?
    #	Size - Font Size
    #	Font - Font Set
    DEFAULT_SKIN_VALUE  = 7
    WINDOW_HASH ={
    # Window ID => [	  Name, Opac,  Bold, Italic, Shadow, Size,	Font],
    		  1 => [	"Merah",  200, false,  false,  true,  20, DEFAULT],
    		  2 => [	"Orange",  200, false,  false,  true,  20, DEFAULT],
    		  3 => [	"Kuning",  255, false,  false,  false,  20, DEFAULT],
    		  4 => ["Hijau Daun",  200, false,  false,  true,  20, DEFAULT],
    		  5 => [	"Hijau",  200, false,  false,  true,  20, DEFAULT],
    		  6 => [ "Biru Muda",  200, false,  false,  true,  20, DEFAULT],
    		  7 => [ "Biru Laut",  200, false,  false,  true,  20, DEFAULT],
    		  8 => [	  "Biru",  200, false,  false,  true,  20, DEFAULT],
    		  9 => [	  "Nila",  200, false,  false,  true,  20, DEFAULT],
    		10 => [	  "Ungu",  200, false,  false,  true,  20, DEFAULT],
    		11 => [	  "Pink",  200, false,  false,  true,  20, DEFAULT],
    		12 => [  "Abu-abu",  200, false,  false,  true,  20, DEFAULT],
    		13 => [	"Hitam",  200, false,  false,  true,  20, DEFAULT],
    		14 => [	"Putih",  255, false,  false,  false,  20, DEFAULT],
    	  
    } # Do not remove this.
    
     end # SYSTEM
    end # YEM
    
    #===============================================================================
    # Editting anything past this point may potentially result in causing computer
    # damage, incontinence, explosion of user's head, coma, death, and/or halitosis.
    # Therefore, edit at your own risk.
    #===============================================================================
    
    #===============================================================================
    # Vocab
    #===============================================================================
    
    module Vocab
    
     #--------------------------------------------------------------------------
     # overwrite method: self.game_end
     #--------------------------------------------------------------------------
     def self.game_end
    return YEM::SYSTEM::TITLE
     end
     
    end # Vocab
    
    #===============================================================================
    # module Icon
    #===============================================================================
    
    module Icon
     
     #--------------------------------------------------------------------------
     # new method: self.system
     #--------------------------------------------------------------------------
     def self.system
    return YEM::SYSTEM::ICON
     end
     
    end # Icon
    
    #===============================================================================
    # module Cache
    #===============================================================================
    
    module Cache
     
     #--------------------------------------------------------------------------
     # new method: self.windows
     #--------------------------------------------------------------------------
     def self.windows(filename); load_bitmap("Graphics/Windows/", filename); end
     
    end # Cache
    YEM::SYSTEM::WINDOWSKIN_VARIABLE = YEM::SYSTEM::OPTIONS[:window_var]
    #===============================================================================
    # RPG::BGM
    #===============================================================================
    unless $imported["BattleEngineMelody"]
    module RPG
    class BGM < AudioFile
     
     #--------------------------------------------------------------------------
     # overwrite method: play
     #--------------------------------------------------------------------------
     def play
    if @name.empty?
      Audio.bgm_stop
      @@last = BGM.new
    else
      vol = @volume
      if $game_variables != nil
    	options = YEM::SYSTEM::OPTIONS
    	vol = vol * $game_variables[options[:bgm_variable]] / 100
    	vol = [[vol, 0].max, 100].min
    	vol = 0 if $game_switches[options[:bgm_mute_sw]]
      end
      Audio.bgm_play("Audio/BGM/" + @name, vol, @pitch)
      @@last = self
    end
     end
     
    end # BGM
    class ME < AudioFile
     
     #--------------------------------------------------------------------------
     # overwrite method: play
     #--------------------------------------------------------------------------
     def play
    if @name.empty?
      Audio.me_stop
    else
      vol = @volume
      if $game_variables != nil
    	options = YEM::SYSTEM::OPTIONS
    	vol = vol * $game_variables[options[:bgm_variable]] / 100
    	vol = [[vol, 0].max, 100].min
    	vol = 0 if $game_switches[options[:bgm_mute_sw]]
      end
      Audio.me_play("Audio/ME/" + @name, vol, @pitch)
    end
     end
     
    end # ME
    class BGS < AudioFile
     
     #--------------------------------------------------------------------------
     # overwrite method: play
     #--------------------------------------------------------------------------
     def play
    if @name.empty?
      Audio.bgs_stop
      @@last = BGS.new
    else
      vol = @volume
      if $game_variables != nil
    	options = YEM::SYSTEM::OPTIONS
    	vol = vol * $game_variables[options[:bgs_variable]] / 100
    	vol = [[vol, 0].max, 100].min
    	vol = 0 if $game_switches[options[:bgs_mute_sw]]
      end
      Audio.bgs_play("Audio/BGS/" + @name, vol, @pitch)
      @@last = self
    end
     end
     
    end # BGS
    class SE < AudioFile
     
     #--------------------------------------------------------------------------
     # overwrite method: play
     #--------------------------------------------------------------------------
     def play
    unless @name.empty?
      vol = @volume
      if $game_variables != nil
    	options = YEM::SYSTEM::OPTIONS
    	vol = vol * $game_variables[options[:sfx_variable]] / 100
    	vol = [[vol, 0].max, 100].min
    	vol = 0 if $game_switches[options[:sfx_mute_sw]]
      end
      Audio.se_play("Audio/SE/" + @name, vol, @pitch)
    end
     end
     
    end # SE
    end # RPG
    end # $imported["BattleEngineMelody"]
    #===============================================================================
    # Game_System
    #===============================================================================
    
    class Game_System
     
     #--------------------------------------------------------------------------
     # new method: create_system_options
     #--------------------------------------------------------------------------
     def create_system_options
    return if @created_system_options
    @created_system_options = true
    options = YEM::SYSTEM::OPTIONS
    $game_variables[options[:bgm_variable]] = 100
    $game_variables[options[:bgs_variable]] = 100
    $game_variables[options[:sfx_variable]] = 100
    $game_switches[options[:bgm_mute_sw]] = false
    $game_switches[options[:bgs_mute_sw]] = false
    $game_switches[options[:sfx_mute_sw]] = false
    $game_switches[options[:animation_sw]] = true
    $game_switches[options[:autocursor_sw]] = true
    $game_switches[options[:next_actor_sw]] = true
    $game_switches[options[:skill_help_sw]] = false
    $game_switches[options[:auto_dash_sw]] = false
    $game_switches[options[:inst_text_sw]] = false
    $game_variables[YEM::SYSTEM::WINDOWSKIN_VARIABLE] = 
      YEM::SYSTEM::DEFAULT_SKIN_VALUE
     end
     
    end # Game_System
    
    #===============================================================================
    # Game_Player
    #===============================================================================
    
    class Game_Player < Game_Character
     
     #--------------------------------------------------------------------------
     # alias method: dash?
     #--------------------------------------------------------------------------
     alias dash_sgo dash? unless $@
     def dash?
    if $game_switches[YEM::SYSTEM::OPTIONS[:auto_dash_sw]]
      return false if @move_route_forcing
      return false if $game_map.disable_dash?
      return false if in_vehicle?
      return false if Input.press?(Input::A)
      return true
    else
      return dash_sgo
    end
     end
     
    end # Game_Player
    
    #===============================================================================
    # Window
    #===============================================================================
    
    class Window
     
     #--------------------------------------------------------------------------
     # update windowskin
     #--------------------------------------------------------------------------
     def update_windowskin
    return if $game_variables == nil
    variable = YEM::SYSTEM::WINDOWSKIN_VARIABLE
    if $game_variables[variable] == 0
      $game_variables[variable] = YEM::SYSTEM::DEFAULT_SKIN_VALUE
    elsif !YEM::SYSTEM::WINDOW_HASH.include?($game_variables[variable])
      $game_variables[variable] = YEM::SYSTEM::DEFAULT_SKIN_VALUE
    end
    skin = YEM::SYSTEM::WINDOW_HASH[$game_variables[variable]]
    change_settings(skin)
     end
     
     #--------------------------------------------------------------------------
     # change_settings
     #--------------------------------------------------------------------------
     def change_settings(skin)
    self.windowskin = Cache.windows(skin[0])
    self.back_opacity = skin[1]
    self.contents.font.bold = Font.default_bold = skin[2]
    self.contents.font.italic = Font.default_italic = skin[3]
    self.contents.font.shadow = Font.default_shadow = skin[4]
    self.contents.font.size = Font.default_size = skin[5]
    self.contents.font.name = Font.default_name = skin[6]
    self.contents.font.color = normal_color
     end
     
    end # Window
    
    #===============================================================================
    # Window_Base
    #===============================================================================
    
    class Window_Base < Window
     
     #--------------------------------------------------------------------------
     # alias method: initialize
     #--------------------------------------------------------------------------
     alias initialize_window_sgo initialize unless $@
     def initialize(x, y, width, height)
    initialize_window_sgo(x, y, width, height)
    self.update_windowskin
     end
     
     #--------------------------------------------------------------------------
     # alias method: create_contents
     #--------------------------------------------------------------------------
     alias create_contents_base_sgo create_contents unless $@
     def create_contents
    create_contents_base_sgo
    self.contents.font.color = normal_color
     end
     
    end # Window_Base
    
    #===============================================================================
    # Window_Selectable
    #===============================================================================
    
    class Window_Selectable < Window_Base
     
     #--------------------------------------------------------------------------
     # alias method: create_contents
     #--------------------------------------------------------------------------
     alias create_contents_selectable_sgo create_contents unless $@
     def create_contents
    create_contents_selectable_sgo
    self.contents.font.color = normal_color
     end
     
    end # Window_Selectable
    
    #===============================================================================
    # Window_SaveFile
    #===============================================================================
    
    class Window_SaveFile < Window_Base
     
     #--------------------------------------------------------------------------
     # alias method: refresh
     #--------------------------------------------------------------------------
     alias refresh_savefile_mso refresh unless $@
     def refresh
    if @file_exist
      n = @game_variables[YEM::SYSTEM::WINDOWSKIN_VARIABLE]
      if n == 0 or !YEM::SYSTEM::WINDOW_HASH.include?(n)
    	n = YEM::SYSTEM::DEFAULT_SKIN_VALUE
      end
      skin = YEM::SYSTEM::WINDOW_HASH[n]
      change_settings(skin)
    end
    refresh_savefile_mso
     end
     
    end # Window_SaveFile
    
    #===============================================================================
    # Window_Message
    #===============================================================================
    
    class Window_Message < Window_Selectable
     
     #--------------------------------------------------------------------------
     # alias method: update_show_fast
     #--------------------------------------------------------------------------
     alias update_show_fast_sgo update_show_fast unless $@
     def update_show_fast
    if $game_switches[YEM::SYSTEM::OPTIONS[:inst_text_sw]]
      if self.pause or self.openness < 255
    	@show_fast = false
      else
    	@show_fast = true
      end
      if @show_fast and @wait_count > 0
    	@wait_count -= 1
      end
    else
      update_show_fast_sgo
    end
     end
     
     #--------------------------------------------------------------------------
     # alias method: new_page
     #--------------------------------------------------------------------------
     alias new_page_sgo new_page unless $@
     def new_page
    self.update_windowskin
    new_page_sgo
     end
     
    end # Window_Message
    
    #===============================================================================
    # Window_SystemOptions
    #===============================================================================
    
    class Window_SystemOptions < Window_Selectable
     
     #--------------------------------------------------------------------------
     # initialize
     #--------------------------------------------------------------------------
     def initialize(help_window)
    dy = help_window.height
    dh = Graphics.height - dy
    super(0, dy, Graphics.width, dh)
    self.index = 0
    refresh
    @help_window = help_window
    update_help
     end
     
     #--------------------------------------------------------------------------
     # item
     #--------------------------------------------------------------------------
     def item; return @data[self.index]; end
     
     #--------------------------------------------------------------------------
     # refresh
     #--------------------------------------------------------------------------
     def refresh
    @data = []
    for command in YEM::SYSTEM::COMMANDS
      case command
      when :windowskin, :animations, :bgm_volume, :sfx_volume, :bgs_volume,
      :auto_dash, :instant_text, :blank, :event1, :atb2, :return_title, :return_menu
      when :skill_help, :atb_active, :atb_speeds, :autocursor, :next_actor
    	next unless $imported["BattleEngineMelody"]
    	if [:atb_active, :atb_speeds].include?(command)
    	  type = $game_variables[YEM::BATTLE_ENGINE::BATTLE_TYPE_VARIABLE]
    	  next unless type == 2
    	end
      else; next
      end
      @data.push(command)
    end
    @item_max = @data.size
    create_contents
    for i in 0...@item_max; draw_item(i); end
     end
     
     #--------------------------------------------------------------------------
     # draw_item
     #--------------------------------------------------------------------------
     def draw_item(index)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    obj = @data[index]
    return if obj == nil
    case obj
    when :windowskin
      draw_window_item(obj, rect.clone)
    when :bgm_volume, :sfx_volume, :bgs_volume
      draw_volume_item(obj, rect.clone)
    when :animations, :autocursor, :next_actor, :skill_help,
    :auto_dash, :instant_text
      draw_switch_item(obj, rect.clone)
    when :atb_active, :atb_speeds
      draw_atb_item(obj, rect.clone)
    when :return_title, :return_menu
      draw_solo_item(obj, rect.clone)
    end
     end
     
     #--------------------------------------------------------------------------
     # draw_window_item
     #--------------------------------------------------------------------------
     def draw_window_item(obj, rect)
    title = YEM::SYSTEM::OPTIONS[:windowskin]
    self.contents.font.color = normal_color
    self.contents.draw_text(rect.x, rect.y, rect.width/2, WLH, title, 1)
    dx = rect.x + rect.width/2
    skin_id = $game_variables[YEM::SYSTEM::WINDOWSKIN_VARIABLE]
    skin_name = YEM::SYSTEM::WINDOW_HASH[skin_id][0]
    dx = rect.x + rect.width/2
    self.contents.draw_text(dx, rect.y, rect.width/2, WLH, skin_name, 1)
     end
     
     #--------------------------------------------------------------------------
     # draw_volume_item
     #--------------------------------------------------------------------------
     def draw_volume_item(obj, rect)
    options = YEM::SYSTEM::OPTIONS
    case obj
    when :bgm_volume
      title = options[:bgm_volume]
      value = $game_variables[options[:bgm_variable]]
      mute  = $game_switches[options[:bgm_mute_sw]]
    when :bgs_volume
      title = options[:bgs_volume]
      value = $game_variables[options[:bgs_variable]]
      mute  = $game_switches[options[:bgs_mute_sw]]
    when :sfx_volume
      title = options[:sfx_volume]
      value = $game_variables[options[:sfx_variable]]
      mute  = $game_switches[options[:sfx_mute_sw]]
    else; return
    end
    value = sprintf(options[:audio], value)
    self.contents.font.color = normal_color
    self.contents.draw_text(rect.x, rect.y, rect.width/2, WLH, title, 1)
    self.contents.font.color.alpha = mute ? 128 : 255
    dx = rect.x + rect.width/2
    self.contents.draw_text(dx, rect.y, rect.width/4, WLH, value, 1)
    self.contents.font.color.alpha = mute ? 255 : 128
    dx = rect.x + rect.width*3/4
    self.contents.draw_text(dx, rect.y, rect.width/4, WLH, options[:mute], 1)
     end
     
     #--------------------------------------------------------------------------
     # draw_switch_item
     #--------------------------------------------------------------------------
     def draw_switch_item(obj, rect)
    options = YEM::SYSTEM::OPTIONS
    title = options[obj]
    case obj
    when :animations
      name1 = options[:ani_show]
      name2 = options[:ani_hide]
      toggle = $game_switches[options[:animation_sw]]
    when :autocursor
      name1 = options[:curmem_on]
      name2 = options[:curmem_off]
      toggle = $game_switches[options[:autocursor_sw]]
    when :next_actor
      name1 = options[:next_on]
      name2 = options[:next_off]
      toggle = $game_switches[options[:next_actor_sw]]
    when :skill_help
      name1 = options[:help_on]
      name2 = options[:help_off]
      toggle = $game_switches[options[:skill_help_sw]]
    when :cinematics
      name1 = options[:cinem_on]
      name2 = options[:cinem_off]
      toggle = $game_switches[options[:cinematics_sw]]
    when :auto_dash
      name1 = options[:dash_on]
      name2 = options[:dash_off]
      toggle = $game_switches[options[:auto_dash_sw]]
    when :instant_text
      name1 = options[:inst_on]
      name2 = options[:inst_off]
      toggle = $game_switches[options[:inst_text_sw]]
    else; return
    end
    self.contents.font.color = normal_color
    self.contents.draw_text(rect.x, rect.y, rect.width/2, WLH, title, 1)
    self.contents.font.color.alpha = toggle ? 255 : 128
    dx = rect.x + rect.width/2
    self.contents.draw_text(dx, rect.y, rect.width/4, WLH, name1, 1)
    self.contents.font.color.alpha = toggle ? 128 : 255
    dx = rect.x + rect.width*3/4
    self.contents.draw_text(dx, rect.y, rect.width/4, WLH, name2, 1)
     end
     
     #--------------------------------------------------------------------------
     # draw_atb_item
     #--------------------------------------------------------------------------
     def draw_atb_item(obj, rect)
    options = YEM::SYSTEM::OPTIONS
    case obj
    when :atb_active
      title = options[:atb_aname]
      value = $game_variables[options[:atb_avariable]]
      #---
      self.contents.font.color = normal_color
      name1 = options[:wait_0]
      dx = rect.x + rect.width/2
      self.contents.font.color.alpha = (value == 0) ? 255 : 128
      self.contents.draw_text(dx, rect.y, rect.width/8, WLH, name1, 1)
      name2 = options[:wait_1]
      dx = rect.x + rect.width*5/8
      self.contents.font.color.alpha = (value == 1) ? 255 : 128
      self.contents.draw_text(dx, rect.y, rect.width/8, WLH, name2, 1)
      name3 = options[:wait_2]
      dx = rect.x + rect.width*6/8
      self.contents.font.color.alpha = (value == 2) ? 255 : 128
      self.contents.draw_text(dx, rect.y, rect.width/8, WLH, name3, 1)
      name4 = options[:wait_3]
      dx = rect.x + rect.width*7/8
      self.contents.font.color.alpha = (value == 3) ? 255 : 128
      self.contents.draw_text(dx, rect.y, rect.width/8, WLH, name4, 1)
      #---
    when :atb_speeds
      title = options[:atb_sname]
      value = $game_variables[options[:atb_svariable]] - 1
      #---
      for i in 0...10
    	self.contents.font.color = normal_color
    	name = (i + 1).to_s
    	dx = rect.x + rect.width * (10 + i)/20
    	self.contents.font.color.alpha = (value == i) ? 255 : 128
    	self.contents.draw_text(dx, rect.y, rect.width/20, WLH, name, 1)
      end
      #---
    else; return
    end
    self.contents.font.color = normal_color
    self.contents.draw_text(rect.x, rect.y, rect.width/2, WLH, title, 1)
     end
     
     #--------------------------------------------------------------------------
     # draw_solo_item
     #--------------------------------------------------------------------------
     def draw_solo_item(obj, rect)
    options = YEM::SYSTEM::OPTIONS
    case obj
    when :return_title, :return_menu
      text = options[obj]
    else; return
    end
    self.contents.font.color = normal_color
    self.contents.draw_text(rect.x, rect.y, rect.width, WLH, text, 1)
     end
     
     #--------------------------------------------------------------------------
     # update
     #--------------------------------------------------------------------------
     def update
    super
    if Input.trigger?(Input::C)
      input_case_c
    elsif Input.repeat?(Input::LEFT)
      input_case_left
    elsif Input.repeat?(Input::RIGHT)
      input_case_right
    end
     end
     
     #--------------------------------------------------------------------------
     # input_case_c
     #--------------------------------------------------------------------------
     def input_case_c
    options = YEM::SYSTEM::OPTIONS
    case item
    when :windowskin
      Sound.play_decision
      $scene.open_skins_window
      return
    when :bgm_volume; switch = options[:bgm_mute_sw]
    when :bgs_volume; switch = options[:bgs_mute_sw]
    when :sfx_volume; switch = options[:sfx_mute_sw]
    when :animations; switch = options[:animation_sw]
    when :autocursor; switch = options[:autocursor_sw]
    when :next_actor; switch = options[:next_actor_sw]
    when :skill_help; switch = options[:skill_help_sw]
    when :cinematics; switch = options[:cinematics_sw]
    when :auto_dash;  switch = options[:auto_dash_sw]
    when :instant_text; switch = options[:inst_text_sw]
    when :return_title
      $scene.command_to_title
      return
    when :return_menu
      Sound.play_decision
      $scene.return_scene
      return
    else; return
    end
    $game_switches[switch] = !$game_switches[switch]
    Sound.play_decision
    RPG::BGM::last.play if item == :bgm_volume
    RPG::BGS::last.play if item == :bgs_volume
    draw_item(self.index)
     end
     
     #--------------------------------------------------------------------------
     # input_case_left
     #--------------------------------------------------------------------------
     def input_case_left
    options = YEM::SYSTEM::OPTIONS
    ignore = false
    case item
    when :bgm_volume, :bgs_volume, :sfx_volume
      value = Input.press?(Input::SHIFT) ? 10 : 1
      case item
      when :bgm_volume; variable = options[:bgm_variable]
      when :bgs_volume; variable = options[:bgs_variable]
      when :sfx_volume; variable = options[:sfx_variable]
      end
      return if $game_variables[variable] == 0
      $game_variables[variable] -= value
      $game_variables[variable] = [$game_variables[variable], 0].max
      ignore = true
    when :atb_active
      variable = options[:atb_avariable]
      return if $game_variables[variable] == 0
      $game_variables[variable] -= 1
      $game_variables[variable] = [$game_variables[variable], 0].max
      ignore = true
    when :atb_speeds
      variable = options[:atb_svariable]
      return if $game_variables[variable] == 1
      $game_variables[variable] -= 1
      $game_variables[variable] = [$game_variables[variable], 1].max
      ignore = true
    when :animations; switch = options[:animation_sw]
    when :autocursor; switch = options[:autocursor_sw]
    when :next_actor; switch = options[:next_actor_sw]
    when :skill_help; switch = options[:skill_help_sw]
    when :cinematics; switch = options[:cinematics_sw]
    when :auto_dash;  switch = options[:auto_dash_sw]
    when :instant_text; switch = options[:inst_text_sw]
    else; return
    end
    unless ignore
      return if $game_switches[switch]
      $game_switches[switch] = true
    end
    Sound.play_cursor
    RPG::BGM::last.play if item == :bgm_volume
    RPG::BGS::last.play if item == :bgs_volume
    draw_item(self.index)
     end
     
     #--------------------------------------------------------------------------
     # input_case_right
     #--------------------------------------------------------------------------
     def input_case_right
    options = YEM::SYSTEM::OPTIONS
    ignore = false
    case item
    when :bgm_volume, :bgs_volume, :sfx_volume
      value = Input.press?(Input::SHIFT) ? 10 : 1
      case item
      when :bgm_volume; variable = options[:bgm_variable]
      when :bgs_volume; variable = options[:bgs_variable]
      when :sfx_volume; variable = options[:sfx_variable]
      end
      return if $game_variables[variable] == 100
      $game_variables[variable] += value
      $game_variables[variable] = [$game_variables[variable], 100].min
      ignore = true
    when :atb_active
      variable = options[:atb_avariable]
      return if $game_variables[variable] == 3
      $game_variables[variable] += 1
      $game_variables[variable] = [$game_variables[variable], 3].min
      ignore = true
    when :atb_speeds
      variable = options[:atb_svariable]
      return if $game_variables[variable] == 10
      $game_variables[variable] += 1
      $game_variables[variable] = [$game_variables[variable], 10].min
      ignore = true
    when :animations; switch = options[:animation_sw]
    when :autocursor; switch = options[:autocursor_sw]
    when :next_actor; switch = options[:next_actor_sw]
    when :skill_help; switch = options[:skill_help_sw]
    when :cinematics; switch = options[:cinematics_sw]
    when :auto_dash;  switch = options[:auto_dash_sw]
    when :instant_text; switch = options[:inst_text_sw]
    else; return
    end
    unless ignore
      return if !$game_switches[switch]
      $game_switches[switch] = false
    end
    Sound.play_cursor
    RPG::BGM::last.play if item == :bgm_volume
    RPG::BGS::last.play if item == :bgs_volume
    draw_item(self.index)
     end
     
     #--------------------------------------------------------------------------
     # update_help
     #--------------------------------------------------------------------------
     def update_help
    case item
    when :bgm_volume; type = :bgm_des
    when :bgs_volume; type = :bgs_des
    when :sfx_volume; type = :sfx_des
    when :animations; type = :ani_des
    when :autocursor; type = :curmem_des
    when :next_actor; type = :next_des
    when :skill_help; type = :help_des
    when :cinematics; type = :cinem_des
    when :windowskin; type = :wind_des
    when :auto_dash;  type = :dash_des
    when :instant_text; type = :inst_des
    when :return_title; type = :retitle_des
    when :return_menu;  type = :remenu_des
    when :atb_active
      case $game_variables[YEM::SYSTEM::OPTIONS[:atb_avariable]]
      when 0; type = :wait_0_des
      when 1; type = :wait_1_des
      when 2; type = :wait_2_des
      when 3: type = :wait_3_des
      end
    when :atb_speeds; type = :atb_s_des
    else; type = nil
    end
    text = YEM::SYSTEM::OPTIONS[type].to_s
    @help_window.set_text(text, 1)
     end
     
    end # Window_SystemOptions
    
    #===============================================================================
    # Window_Skins
    #===============================================================================
    
    class Window_Skins < Window_Selectable
     
     #--------------------------------------------------------------------------
     # initialize
     #--------------------------------------------------------------------------
     def initialize
    dx = Graphics.width/4
    dw = Graphics.width/2
    dh = Graphics.height - 112
    super(dx, 56, dw, dh)
    @column_max = 1
    self.index = 0
    self.back_opacity = 255
    self.openness = 0
    self.active = false
    refresh
     end
     
     #--------------------------------------------------------------------------
     # refresh
     #--------------------------------------------------------------------------
     def refresh
    @data = []
    variable = $game_variables[YEM::SYSTEM::WINDOWSKIN_VARIABLE]
    hash = YEM::SYSTEM::WINDOW_HASH.sort{ |a,b| a[0] <=> b[0] }
    for key in hash
      @data.push(key[0])
      self.index = key[0] - 1 if key[0] == $game_variables[variable]
    end
    @item_max = @data.size
    create_contents
    for i in 0...@item_max
      draw_item(i)
    end
     end
     
     #--------------------------------------------------------------------------
     # draw_item
     #--------------------------------------------------------------------------
     def draw_item(index)
    rect = item_rect(index)
    self.contents.clear_rect(rect)
    rect.width -= 4
    text = YEM::SYSTEM::WINDOW_HASH[@data[index]][0]
    self.contents.draw_text(rect, text, 1)
     end
     
    end # Window_Skins
    
    #===============================================================================
    # Scene_Title
    #===============================================================================
    
    class Scene_Title < Scene_Base
     
     #--------------------------------------------------------------------------
     # alias method: create_game_objects
     #--------------------------------------------------------------------------
     alias create_game_objects_sgo create_game_objects unless $@
     def create_game_objects
    create_game_objects_sgo
    $game_system.create_system_options
     end
     
    end # Scene_Title
    
    #===============================================================================
    # Scene_Map
    #===============================================================================
    
    class Scene_Map < Scene_Base
     
     #--------------------------------------------------------------------------
     # alias method: start
     #--------------------------------------------------------------------------
     alias start_sgo start unless $@
     def start
    $game_system.create_system_options
    start_sgo
     end
     
    end # Scene_Map
    
    #===============================================================================
    # Scene_Battle
    #===============================================================================
    
    class Scene_Battle < Scene_Base
     
     #--------------------------------------------------------------------------
     # alias method: display_normal_animation
     #--------------------------------------------------------------------------
     unless $imported["BattleEngineMelody"]
     alias display_normal_animation_sgo display_normal_animation unless $@
     def display_normal_animation(targets, animation_id, mirror = false)
    return if $game_switches[YEM::SYSTEM::OPTIONS[:animation_sw]]
    display_normal_animation_sgo(targets, animation_id, mirror)
     end
     end # $imported["BattleEngineMelody"]
     
    end # Scene_Battle
    
    #===============================================================================
    # Scene_End
    #===============================================================================
    
    class Scene_End < Scene_Base
     
     #--------------------------------------------------------------------------
     # public instance variables
     #--------------------------------------------------------------------------
     attr_accessor :window_var
     
     #--------------------------------------------------------------------------
     # overwrite method: start
     #--------------------------------------------------------------------------
     def start
    super
    create_menu_background
    @window_var = YEM::SYSTEM::WINDOWSKIN_VARIABLE
    @help_window = Window_Help.new
    @options_window = Window_SystemOptions.new(@help_window)
    @skins_window = Window_Skins.new
     end
     
     #--------------------------------------------------------------------------
     # overwrite method: post_start
     #--------------------------------------------------------------------------
     def post_start; super; end
     
     #--------------------------------------------------------------------------
     # overwrite method: pre_terminate
     #--------------------------------------------------------------------------
     def pre_terminate; super; end
    
     #--------------------------------------------------------------------------
     # overwrite method: close_command_window
     #--------------------------------------------------------------------------
     def close_command_window; end
     
     #--------------------------------------------------------------------------
     # overwrite method: terminate
     #--------------------------------------------------------------------------
     def terminate
    super
    @help_window.dispose
    @options_window.dispose
    @skins_window.dispose
    dispose_menu_background
     end
     
     #--------------------------------------------------------------------------
     # overwrite method: update
     #--------------------------------------------------------------------------
     def update
    super
    @help_window.update
    @skins_window.update
    update_menu_background
    if @options_window.active
      update_options_window
    elsif @skins_window.active
      update_skins_window
    end
     end
     
     #--------------------------------------------------------------------------
     # new method: update_options_window
     #--------------------------------------------------------------------------
     def update_options_window
    @options_window.update
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    end
     end
     
     #--------------------------------------------------------------------------
     # new method: open_skins_window
     #--------------------------------------------------------------------------
     def open_skins_window
    @skins_window.open
    @skins_window.index = $game_variables[YEM::SYSTEM::WINDOWSKIN_VARIABLE] - 1
    @skins_window.active = true
    @options_window.active = false
     end
     
     #--------------------------------------------------------------------------
     # new method: update_skins_window
     #--------------------------------------------------------------------------
     def update_skins_window
    if @last_index != @skins_window.index
      @last_index = @skins_window.index
      update_skins
    end
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @skins_window.close
      @skins_window.active = false
      @options_window.active = true
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      @skins_window.close
      @skins_window.active = false
      @options_window.active = true
    end
     end
     
     #--------------------------------------------------------------------------
     # new method: update_skins
     #--------------------------------------------------------------------------
     def update_skins
    $game_variables[@window_var] = @skins_window.index + 1
    @options_window.update_windowskin
    @options_window.refresh
    @help_window.update_windowskin
    @help_window.set_text("")
    @options_window.update_help
    @skins_window.update_windowskin
    @skins_window.back_opacity = 255
    @skins_window.refresh
    @options_window.draw_item(@options_window.index)
     end
     
    end # Scene_End
    
    #===============================================================================
    # 
    # END OF FILE
    # 
    #===============================================================================

     

  5. Ho messo gli script sopra main dato che lo script del teletrasporto istantaneo era là. Ho messo prima quello del teletrasporto istantaneo, poi quello del nome della mappa in revolution mode e poi sotto quello che mi hai dato prima. Adesso tutti e 3 gli script funzionano alla perfezione! :sisi:

    Grazie mille giver, ti sono veramente grato! :tongue:

  6. Ho fatto un po' di prove con gli script che ho aggiunto al mio progetto, aggiungendoli o togliendoli.
    Ebbene ho trovato il problema! :rovatfl:
    Nonostante lo script dica che non entra in conflitto con niente con il 99.999% di sicurezza ho trovato uno script che verifica quello 0.001% mancante: lo script del teletrasporto istantaneo:

    
    #==============================================================================
    # Instant Transfer by Morhudiego, Member of rpg2s.net
    # Date: 11th january of 2010
    # Version: 1.1
    # Permission required: no
    # Credit required: yes
    #------------------------------------------------------------------------------
    # UPDATE BUG (italian)
    # 1.0 : Uscita dello script
    # 1.1 : Corretti errori di sintassi.
    #
    # UPDATE BUG (english)
    # 1.0 : Script published
    # 1.1 : Sintax errors corrected.
    #------------------------------------------------------------------------------
    # CONFIGURATION (italian)
    # Cambiate l'id della variabile qui sotto (Se necessario) usata per impostare
    # il tipo di dissolvenza.
    # Poi in un evento usate il comando "Controllo Variabili" e assegnatene uno
    # dei seguenti valori.
    # Valore 0 = Dissolvenza normale (nera)
    # Valore 1 = Dissolvenza immediata
    # Altri valori = Messaggio di errore
    #
    # CONFIGURATION (english)
    # Change the number of the variable (if necessary) used to set the kind of
    # fadeout/fadein.
    # Then use in an event the command "Variables" and assign it one of this
    # values.
    # Value 0 = Normal fade (black)
    # Value 1 = Instant fade
    # Other values = Error Message
    #==============================================================================
    class Scene_Map < Scene_Base
    	#Cambia il numero con l'id della variabile.
    	#Change this number with the variable id.
    	TIPO_DI_FADE = 4
    	attr_accessor :transfer_kind
    	def update_transfer_player
    		return unless $game_player.transfer?
    		transfer_kind = $game_variables[TIPO_DI_FADE]
    		if transfer_kind == 0
    			fade = (Graphics.brightness > 0)
    			fadeout(30) if fade
    			@spriteset.dispose
    			# Dispose of sprite set
    			$game_player.perform_transfer
    			# Execute player transfer
    			$game_map.autoplay
    			# Automatically switch BGM and BGS
    			$game_map.update
    			Graphics.wait(15)
    			@spriteset = Spriteset_Map.new
    			# Recreate sprite set
    			fadein(30) if fade
    			Input.update
    		elsif transfer_kind == 1
    			@spriteset.dispose
    			# Dispose of sprite set
    			$game_player.perform_transfer
    			# Execute player transfer
    			$game_map.autoplay
    			# Automatically switch BGM and BGS
    			$game_map.update
    			@spriteset = Spriteset_Map.new
    			# Recreate sprite set
    			Input.update
    		else
    			p 'id variabile invalido.'
    			$game_variables[TIPO_DI_FADE] = 0
    		end
    	end
    end
    

     



    Entrambi gli script per me sono indispensabili, in particolar modo quello del teletrasporto istantaneo: c'è un modo per poterli rendere compatibili?

  7. Personaggio in squadra non visibile

    Descrizione

    Uno script che fa in modo che un personaggio è in squadra ma non è visibile né nel menu né in battaglia, un po' come in un videogioco in stile pokemon!

     

    Autore

    modern algebra

     

    Istruzioni per l'uso

    Mettere sopra Main

     

    Script

     

    class Game_Player  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  # * Refresh  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  alias malgbr_rfrsh_mour_ledactrmap_7jv3 refresh  def refresh (*args)	# Alias in case there is another script that overwrites and need to 	#  incorporate whatever it does	malgbr_rfrsh_mour_ledactrmap_7jv3 (*args)	actor = $game_actors[1]  # Get first actor in database	@character_name = actor.character_name	@character_index = actor.character_index  endend

     

     

    Bugs e Conflitti Noti

    N/A

  8. Purtroppo il problema persiste...

    Ho provato ora a ricopiare di nuovo lo script di base e quello che hai fatto tu, ho provato anche con e senza il tuo script e ho capito che è nello script di base che c'è qualcosa che non va, il problema persiste anche se c'è solo lo script di base. :sisi:

  9. Funziona, anche se mi dava errore sulla riga 9 poi ho risolto cambiando

    $game_system.map_noname = true if $scene 1= self

    in

    $game_system.map_noname = true if $scene1 = self

    :rovatfl:

     

    Ho trovato però un altro errore nello script di base: appena cambi mappa non compare il nome, e se salvi e carichi il gioco non compare neppure il nome della mappa da cui riparti, compare solo quando fai nuovo gioco sulla mappa da cui parti.

  10. allora: scarica avs audio converter, aprilo e in alto vedrai i tipi di formato in cui si puo convertire (mp3 m4a wav mp2 etc) premi mp3 anche se la tu canzone è gia mp3... e premi converti in basso, se ti da errore allora premi mp2 e converti quindi converti in mp3 lo stesso file che hai convertito in mp2 mi segui? ricordati che una volta dopo aver converito il file mp3 in mp2 dovrai re inserirlo nella lista dei file da convertire

    se non hai capito qualcosa avvisami

    ti faccio fare questo procedimento perche può essere un errore di lettura causato dalla fonte da cui lo hai scaricato (nel caso di siti) o da dove lo hai importato (nel caso di aggeggi mobili come telefoni etc..)

    Si, funziona!!! Grazie mille! :sisi:

     

    Un'altra domanda: è possibile decidere di disattivare il tasto ctrl quando vuoi nel corso del gioco o anche fuori dal gioco?

  11. aaahh... capito... e un'altra cosa: vorrei far si che in un combattimento ci fossero dei dialoghi ogni tanto, per esempio la battaglia inizia e il nemico dice una frase e il mio personaggio risponde poi posso scegliere i comandi per combattere e quando gli ho tolto il 50% dica un'altra frase e quando muore un altra ancora... si puo fare?

    Se vai sul database, nella pagina con i gruppi di nemici, in basso a destra puoi inserire degli eventi che funzioneranno in battaglia, anche dialoghi! Puoi stabilire anche quando un certo evento deve verificarsi, se un certo nemico ha pochi HP, se una switch è attivata, ecc.

     

     

    Domanda: ho trovato delle musiche che normalmente si sentono bene, ma appena le importo nel programma si sente all'inizio della canzone un rumore che sembra il riavvolgimento di un nastro; dura mezzo secondo, ma è molto fastidioso! Inoltre non è neanche possibile aumentare la velocità di riproduzione di tutta la canzone. C'è modo di sistemare questo errore? Il file è un mp3.

  12. Scusatemi, credevo che il sito avesse problemi a caricare la nuova discussione, e così ho premuto diverse volte il tasto destro del mouse su "invia nuova discussione"; mi erano venuti diversi messaggi di errore, e quindi pensavo che non fosse riuscito a caricare correttamente la discussione. Grazie mille e scusatemi per il disagio! :sisi:

     

    Comunque avete qualche soluzione per questo script? Mi serve uno script praticamente in stile pokemon. Mi serve una voce da poter aggiungere nel menù o della schermata iniziale insieme a "nuovo gioco", "carica", ecc., oppure nel menù di pausa, un po' come si vede nel video che ho postato prima. Purtroppo non posso usare questo script perché come ho già detto prima entra in conflitto con un altro script a me indispensabile; mi serve solo la parte dello script che cambia le windowskin a piacimento del giocatore, e magari anche tutte quelle opzioni in più, come la regolazione dei volumi di BGS, di BGM, ecc. Purtroppo io sono ignorante in materia di RGSS2, e non ho idea di come fare a estrapolare solo questa parte dello script. :sisi:

  13. È possibile cambiare windowskin dal menù di gioco? Come in questo video:

     

     

    Il problema è che creando questo tipo di menù questo script entra in conflitto con un altro script che a me serve assolutamente, ovvero il Kylock's Time System VX 1.5, qui sotto.

    #======================================================================
    ========
    # ■ Kylock's Time System VX 1.5
    #     6.3.2008
    #------------------------------------------------------------------------------
    #  Script by: Kylock
    #==============================================================================
    #    Mostly rewritten since XP version.  Cleaner code and less intrusive (more
    #  compatible).  This is my comprehensive time and day/night system.  This
    #  script adds a new window to the game menu, so if you use a CMS, then place
    #  this script ABOVE it so that it won't mess up your CMS.  If you use a custom
    #  script that makes changes to the battle background, place KTS below it so
    #  that you don't get the delayed-tone effect in you battles.  Other than that,
    #  there shouldn't be any other script compatibility issues.
    #    I've tried to make this script as customizable as possible, the settings
    #  are found immediately following this header.  Although time output to game
    #  variables is optional, I strongly suggest using it so that its easier to
    #  build your events based on the time in the game.
    #==============================================================================
    # ● Change Log
    #------------------------------------------------------------------------------
    #  1.0 - Original Release.
    #  1.1 - Corrected tinting issue at the start of a battle.  Place this script
    #          below any battle background scripts if you experience "jumpy tinting"
    #  1.2 - Corrected the accuracy of $kts.stop and $kts.go
    #  1.3 - $kts.stop really stops everything now.  Also added game switches for
    #          even easier eventing.
    #  1.4 - Fixed Battle Test compatibility (simulates normal daylight for battle
    #          test instead of darkness).
    #        Now switches and variables will only update when the map loads so that
    #          events don't suddenly dissappear when their time is up.
    #        Added $kts_anti_tone - returns an inverse tone color to allow sprites
    #          to appear normally on a tinted screen.
    #  1.5 - Rewrote the regexp that finds the [KTS] in the map name.  Hopefully
    #          this resolves the wrong maps being tinted problem.
    #==============================================================================
    # ● Auto-tone Instructions
    #------------------------------------------------------------------------------
    #    Maps designated as outdoors are the only maps to be affected by this
    #  scripts use of auto-toning.  To signify a map to be "outdoors", you must
    #  include [KTS] In the name of the map.  For example, you world map could be
    #  named "World Map [KTS]" or "[KTS] World Map".  Provisions are made later in
    #  the script to remove [KTS] from the map name when it's read by another
    #  script.  This means that "[KTS]" won't show up in your Map Name Popup
    #  windows.
    #==============================================================================
    # ● Script Function Calls
    #------------------------------------------------------------------------------
    #    The following are script commands that can be executed by using the 
    #  "Script..." command in your events.
    #    ● $kts.stop            - Stops time (can be used for cutscenes)
    #    ● $kts.go              - Resumes time (don't forget to use this!)
    #    ● $kts.sec(n)          - progresses time forward (n) seconds
    #    ● $kts.min(n)          - progresses time forward (n) minutes
    #    ● $kts.hours(n)        - progresses time forward (n) hours
    #    ● $kts.days(n)         - progresses time forward (n) days
    #    ● $kts.jump_to_hour(n) - progresses time forward TO the specified hour.
    #                             Particularly useful in a situation where you
    #                             want a certain event to happen at a certain time,
    #                             or an Innkeeper who should wake the party up at
    #                             a certain hour.  This command MAY cause your game
    #                             to appear to freeze for a few seconds on slower
    #                             computers.
    #==============================================================================
    # ● Game Database Setup
    #------------------------------------------------------------------------------
    #    This script, by defult, uses the following game variables and switches:
    #  Database Variables:
    #    [1] The Current Time            [4] The Current Hour
    #    [2] The Current Second          [5] The Current Day
    #    [3] The Current Minute          [6] Name of the Current Day
    #  Database Switches
    #    [1] ON during night hours   (2200-0400)(10pm-4am)
    #    [2] ON during dawn hours    (0500-0800)( 5am-8am)
    #    [3] ON during daytime hours (0900-1800)( 9am-6pm)
    #    [4] ON during sunset hours  (1900-2100)( 7pm-9pm)
    #==============================================================================
    
    #==============================================================================
    # Stores variables and user defined settings for the time system.
    #==============================================================================
    module KTS
     #-----------------------------------------------------------------------
     # User Definable Clock Settings
     #-----------------------------------------------------------------------
     # Sets the speed multiplier of the clock.  1 is real time.  A higher
     #   value will give you a faster clock.  Default is 100.
     SPEED      = 60
     #AMPM (True: 12-hour clock, False: 24-hour clock)
     AMPM       = false
     # Sets the time at the start of your game.
     START_HOUR = 12
     START_DAY  = 1
     #-----------------------------------------------------------------------
     # If you want custom day names, edit away!
     #-----------------------------------------------------------------------
     DAY_NAMES = ["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"]
     #-----------------------------------------------------------------------
     # Settings for Time Periods
     #-----------------------------------------------------------------------
     T1 = [ 0,5 ] # Night         # Sets time periods for tinting effects
     T2 = [ 6,8 ] # Dawn          # [start Hour, End Hour] for time period
     T3 = [ 9,18] # Day           # Use 24-hour values for time periods
     T4 = [19,21] # Sunset
     T5 = [22,24] # Night         # <- Ex: Night is between 23:00 and 24:00
     #-----------------------------------------------------------------------
     # Settings for Output to Game Variables option.
     #-----------------------------------------------------------------------
     # Set this to true to output the current time to game variables.
     DATABASE_OUTPUT = true
       # Game Variable to be used for time output.
       TIME    = 5 #(Time in string format. Ex: "2:48 AM" or "02:48")
       SECONDS = 6 
       MINUTES = 7 
       HOURS   = 8 
       DAYS    = 9 
       DAYNAME = 10
       # Game Switches to be used for time output.
       NIGHT   = 5 # This switch is on during night hours   (2200-0400)(10pm-4am)
       DAWN    = 6 # This switch is on during dawn hours    (0500-0800)( 5am-8am)
       DAY     = 7 # This switch is on during daytime hours (0900-1800)( 9am-6pm)
       SUNSET  = 8 # This switch is on during sunset hours  (1900-2100)( 7pm-9pm)
     #-----------------------------------------------------------------------
     # Settings for time controlled screen toning
     #-----------------------------------------------------------------------
     # True will enable screen toning to be used by the script.
     USE_TONE = true
     # Sets the duration of tone changes (in frames)
     FADE_LENGTH = 120
     # Defines tones to be used in the corresponding time periods defined above.
     #              RED, GREEN, BLUE, GREY
     C1 = Tone.new(-187,  -119,  -17,  68)
     C2 = Tone.new(  17,   -51, -102,   0)
     C3 = Tone.new(   0,     0,    0,   0)
     C4 = Tone.new( -68,  -136,  -34,   0)
     C5 = Tone.new(-187,  -119,  -17,  68)
     # Defines anti-tones
     A1 = Tone.new( 187,   119,   17, -68)
     A2 = Tone.new( -17,    51,  102,   0)
     A3 = Tone.new(   0,     0,    0,   0)
     A4 = Tone.new(  68,   136,   34,   0)
     A5 = Tone.new( 187,   119,   17, -68)
    end
    
    #==============================================================================
    # Core Time System Engine
    #==============================================================================
    class Kylock_Time_System
     # sets instance variables
     def initialize
       $kts_map_data = load_data("Data/MapInfos.rvdata")
       @event_offset = (KTS::START_HOUR * 3600) + (KTS::START_DAY * 86400)
       @kts_stop = false
       $kts_event_tone = false
       $kts_battle_tone = true
       $kts_anti_tone = Tone.new(0,0,0,0)
     end
     
     # Computes current time and updates variables if used
     def update
       if !@kts_stop
         @total_seconds = (Graphics.frame_count * KTS::SPEED / 60) + @event_offset
         @seconds = (@total_seconds) % 60
         @minutes = (@total_seconds / 60) % 60
         @hours   = (@total_seconds / 3600) % 24
         @days    = (@total_seconds / 86400)
         update_tint
         if KTS::DATABASE_OUTPUT
           $game_variables[KTS::TIME]    = getTime
           $game_variables[KTS::DAYNAME] = getDayName
         end
       end
     end
    
     def update_variables
       $game_variables[KTS::SECONDS] = @seconds
       $game_variables[KTS::MINUTES] = @minutes
       $game_variables[KTS::HOURS]   = @hours
       $game_variables[KTS::DAYS]    = @days
     end
    
     def update_switches
       if @period == 1 || @period == 5
         $game_switches[KTS::NIGHT] = true
       else
         $game_switches[KTS::NIGHT] = false
       end
       if @period == 2
         $game_switches[KTS::DAWN] = true
       else
         $game_switches[KTS::DAWN] = false
       end
       if @period == 3
         $game_switches[KTS::DAY] = true
       else
         $game_switches[KTS::DAY] = false
       end
       if @period == 4
         $game_switches[KTS::SUNSET] = true
       else
         $game_switches[KTS::SUNSET] = false
       end
     end
    
     def getTime
       if KTS::AMPM
         # Formats a 12-Hour Clock
         if @hours > 12
           hours1 = @hours - 12
           if hours1 > 9
             time = sprintf("%02d:%02d" + " PM", hours1, @minutes)
           else
             time = sprintf("%01d:%02d" + " PM", hours1, @minutes)
           end
         else
           if @hours > 9
             time = sprintf("%02d:%02d" + " AM", @hours, @minutes)
           else
             time = sprintf("%01d:%02d" + " AM", @hours, @minutes)
           end
         end
         return time
       else
         # Formats a 24-Hour Clock
         time = sprintf("%02d:%02d", @hours, @minutes)
         return time
       end
     end
     #-----------------------------------------------------------------------
     # Script Command Functions
     #-----------------------------------------------------------------------
     def stop
       @time_stopped = @total_seconds
       @kts_stop = true
     end
     def go
       total_seconds = (Graphics.frame_count * KTS::SPEED / 60) + @event_offset
       @event_offset -= (total_seconds - @time_stopped)
       @kts_stop = false
     end
     def sec(sec = 0)
       @event_offset += sec
     end
     def min(min = 0)
       @event_offset += min * 60
     end
     def hours(hours = 0)
       @event_offset += hours * 3600
     end
     def days(days = 0)
       @event_offset += days * 86400
     end
     def jump_to_hour(jhour = 0)
       while @hours != jhour
         @event_offset += 1
         $kts.update
       end
     end
     #-----------------------------------------------------------------------
     # Script Support/Misc Functions
     #-----------------------------------------------------------------------
     def getDayName
       weekday = (@days % KTS::DAY_NAMES.length)
       return KTS::DAY_NAMES[weekday]
     end
    
     #-----------------------------------------------------------------------
     # Screen Tone Functions
     #-----------------------------------------------------------------------
     def update_tint(duration = KTS::FADE_LENGTH)
       return if $BTEST
       if KTS::USE_TONE && !$kts_event_tone && $kts_map_data[$game_map.map_id].outside_tint?
         if @hours >= KTS::T1[0] and @hours <= KTS::T1[1]
           @period = 1
           screen.start_tone_change(KTS::C1,duration)
           $kts_anti_tone = KTS::A1
         elsif @hours >= KTS::T2[0] and @hours <= KTS::T2[1]
           @period = 2
           screen.start_tone_change(KTS::C2,duration)
           $kts_anti_tone = KTS::A2
         elsif @hours >= KTS::T3[0] and @hours <= KTS::T3[1]
           @period = 3
           screen.start_tone_change(KTS::C3,duration)
           $kts_anti_tone = KTS::A3
         elsif @hours >= KTS::T4[0] and @hours <= KTS::T4[1]
           @period = 4
           screen.start_tone_change(KTS::C4,duration)
           $kts_anti_tone = KTS::A4
         elsif @hours >= KTS::T5[0] and @hours <= KTS::T5[1]
           @period = 5
           screen.start_tone_change(KTS::C5,duration)
           $kts_anti_tone = KTS::A5
         end
       else
         # no tone if indoors
         if !$kts_map_data[$game_map.map_id].outside_tint?
           screen.start_tone_change(Tone.new(0,0,0,0),duration)
         end
       end
     end
     def screen
       if $game_temp.in_battle
         return $game_troop.screen
       else
         return $game_map.screen
       end
     end
    end
    
    class Spriteset_Map
     #--------------------------------------------------------------------------
     # * Object Initialization
     #--------------------------------------------------------------------------
     alias kts_initialize initialize
     def initialize
       $kts.update_switches if !@kts_stop && KTS::DATABASE_OUTPUT
       $kts.update_variables if !@kts_stop && KTS::DATABASE_OUTPUT
       kts_initialize
     end
    end
    
    #==============================================================================
    # Instantly updates screen tone when a new map is loaded.
    #==============================================================================
    class Game_Map
     alias kts_setup setup
     def setup(map_id)
       kts_setup(map_id)
       $kts_event_tone = false
       $kts.update
       $kts.update_tint(0)
     end
    end
    
    #==============================================================================
    # Instantly updates screen tone when a battle starts.
    #==============================================================================
    class Spriteset_Battle
     alias kts_create_battleback create_battleback
     def create_battleback
       $kts.update_tint(0)
       kts_create_battleback
     end
    end
    
    #==============================================================================
    # Temporarily disables auto-toning if an event tints the screen.
    #==============================================================================
    class Game_Interpreter
     alias kts_Interpreter_command_223 command_223
     def command_223
       $kts_event_tone = true
       kts_Interpreter_command_223
     end
    end
    
    #==============================================================================
    # Integrates the Time System into the Game System.
    #==============================================================================
    class Game_System
     # inits a KTS object
     alias kts_initialize initialize
     def initialize
       $kts=Kylock_Time_System.new
       kts_initialize
     end
     # Updates kts every game frame
     alias kts_update update
     def update
       $kts.update
       kts_update
     end
    end
    
    #==============================================================================
    # Scans Map Names for Toning
    #==============================================================================
    class RPG::MapInfo
     def name # Definition prevents location scripts from reading anything within
       return @name.gsub(/\[.*\]/) {""} # brackets, including the brackets
     end
     def original_name
       return @name
     end
     def outside_tint?
       return @name.scan(/\[KTS\]/).size > 0
       # old regexp: return @name.scan(/[\KTS]/).size > 0
     end
    end
    
    #==============================================================================
    # Sets up the time window for the menu.
    #==============================================================================
    class Window_KTS < Window_Base
     def initialize(x, y)
       super(x, y, 160, WLH + 32)
       refresh
     end
     def refresh
       self.contents.clear
       self.contents.draw_text(4, -6, 120, 32, $kts.getDayName + " ore " + $kts.getTime, 2)
     end
     def update
       super
       $kts.update
       self.contents.clear
       self.contents.draw_text(4, -6, 120, 32, $kts.getDayName + " ore " + $kts.getTime, 2)
     end
    end
    
    #==============================================================================
    # Adds the time window to the menu.
    #==============================================================================
    class Scene_Menu < Scene_Base
     alias kts_start start
     def start
       kts_start
       @kts_window = Window_KTS.new(0,305)
     end
     alias kts_terminate terminate
     def terminate
       kts_terminate
       @kts_window.dispose
     end
     alias kts_update update
     def update
       kts_update
       @kts_window.update
     end
    end
    
    #==============================================================================
    # Saves and Loads game time to/from save game file.
    #==============================================================================
    class Scene_File
     alias kts_write_save_data write_save_data
     def write_save_data(file)
       kts_write_save_data(file)
       Marshal.dump($kts, file)
     end
     alias kts_read_save_data read_save_data
     def read_save_data(file)
       kts_read_save_data(file)
       $kts = Marshal.load(file)
     end
    end

    Inoltre io uso lo script KGC LargeParty, lo script che permette anche l'organizzazione dei personaggi nella squadra attraverso una settima voce nel menù. È possibile aggiungere un'ottava voce nel menù che faccia cambiare le opzioni di gioco come si vede nel video?

  14. È possibile creare un'azione di un personaggio che duri anche se esci e rientri in una mappa, senza eventi con processi in parallelo?

    Ho un'evento che si attiva con un bottone d'azione, dovrei fare in modo che il personaggio, che è l'evento stesso, se effettuate certe condizioni salti sul posto, e dovrebbe continuare a saltare anche quando esco e rientro nella mappa. Siccome dovrei fare queste condizioni per circa 300 eventi, non è conveniente utilizzare processi in parallelo attivati da tantissime switch. C'è un modo più semplice per fare ciò?

  15. Ti ho fatto questo script, spero ti possa essere utile (sono insicuro anche io della sua utilità.

     

    Grazie mille, ti sono veramente molto grato! :sisi:

    Non era necessario fare anche la parte che riduce i danni causati dalle abilità, mi bastavano solo gli attacchi normali! Ciò che mi serviva esattamente era questo:

    module Morshudiego
     SOTTRAZIONE_DANNO = 150 #NON TOCCARE QUESTA LINEA.
    end
    
    class Game_Battler
     #--------------------------------------------------------------------------
     # * Calculation of Damage From Normal Attack
     #     attacker : Attacker
     #    The results are substituted for @hp_damage
     #--------------------------------------------------------------------------
     def make_attack_damage_value(attacker)
       damage = attacker.atk * 4 - self.def * 2        # base calculation
       damage = 0 if damage < 0                        # if negative, make 0
       damage *= elements_max_rate(attacker.element_set)   # elemental adjustment
       damage /= 100
       if damage == 0                                  # if damage is 0,
         damage = rand(2)                              # half of the time, 1 dmg
       elsif damage > 0                                # a positive number?
         @critical = (rand(100) < attacker.cri)        # critical hit?
         @critical = false if prevent_critical         # criticals prevented?
         damage *= 3 if @critical                      # critical adjustment
       end
       damage = apply_variance(damage, 20)             # variance
       damage = apply_guard(damage)                    # guard adjustment
       damage -= Morshudiego::SOTTRAZIONE_DANNO
       @hp_damage = damage                             # damage HP
     end
    end

    Adesso gli attacchi normali non toglieranno più 4 volte il danno causato da una potente abilità! :wink:

  16. Scusa, non so se ho capito bene.

    Tu vuoi cambiare la potenza di un attacco normale, che si basa sull'attacco dell'eroe, senza cambiare l'attacco dell'eroe?

     

    no, sinceramente. non capisco.

    Praticamente voglio diminuire SOLO la potenza dell'attacco normale di tutti i personaggi senza alterare la potenza delle abilità, se possibile senza cambi di statistiche, equipaggiamenti o cambi di stato. Tra gli script c'è un'opzione che mostra il calcolo dei danni dell'attacco normale in generale?

  17. Potresti cambiare le statistiche dell'arma, cioè equipaggiarlo con un'arma più potente e poi rimuoverla, oppure c'è l'opzione per la maggiore probabilità di attacchi critici, ma non aviene sempre. La soluzione migliore mi pare quella di uno status alterato che aumenta l'attacco.

    ^ ^

    A me servirebbe non aumentare, ma abbassare l'attacco normale del personaggio, senza armi o status. C'è qualche opzione negli script? Ho provato a modificare qualcosa, ma senza risultato :wink:

×
×
  • Create New...