• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[RGSS2/3]MSX - XP Characters on VX/VXAce
#1
DESCRIZIONE:
Permette di usare character di RMXP sul VX e VXAce. Basta solo agiungere al nome del file $xp all'inizio.

AUTORE/I:
Melosx

ISTRUZIONI:
Copiare lo script sotto materials.

SCRIPT:
[SPOILER]
Codice:
#==============================================================================
    # ** MSX - XP Characters on VX/VXAce
    #==============================================================================
    # Autore:   Melosx
    # Versione: 1.0
    # Compatibile con VX e VXAce
    #
    #==============================================================================
    # * Descrizione
    # -----------------------------------------------------------------------------
    # Lo script permette di usare i chara xp nel vx semplicemente inserendo il tag
    #                                   $xp
    # prima del nome del file.
    # Potete quindi usare i normali VX/VXAce insieme a quelli dell'XP.
    #
    #==============================================================================
    # * Istruzioni
    # -----------------------------------------------------------------------------
    # Inserire lo script sotto Materials e sopra Main. Aggiungere ai chara dell'XP
    # il tag $xp prima del nome.
    #
    #==============================================================================

    #==============================================================================
    # ** Sprite_Character
    #==============================================================================
    class Sprite_Character < Sprite_Base

      def update_bitmap
        if @tile_id != @character.tile_id or
           @character_name != @character.character_name or
           @character_index != @character.character_index
          @tile_id = @character.tile_id
          @character_name = @character.character_name
          @character_index = @character.character_index
          if @tile_id > 0
            sx = (@tile_id / 128 % 2 * 8 + @tile_id % 8) * 32;
            sy = @tile_id % 256 / 8 % 16 * 32;
            self.bitmap = tileset_bitmap(@tile_id)
            self.src_rect.set(sx, sy, 32, 32)
            self.ox = 16
            self.oy = 32
          else
            self.bitmap = Cache.character(@character_name)
            sign = @character_name[/^[!$]./]
            if sign != nil and sign.include?('$')
              @cw = bitmap.width / 3
              @ch = bitmap.height / 4
            else
              @cw = bitmap.width / 12
              @ch = bitmap.height / 8
            end
            if @character_name != nil and @character_name.include?('$xp')
              @cw = bitmap.width / 4
              @ch = bitmap.height / 4
            end
            self.ox = @cw / 2
            self.oy = @ch
          end
        end
      end
        
      def update_src_rect
        if @character_name != nil and @character_name.include?('$xp')
          if @tile_id == 0
            pattern = @character.pattern > 0 ? @character.pattern - 1 : 3
            sx = pattern * @cw
            sy = (@character.direction - 2) / 2 * @ch
            self.src_rect.set(sx, sy, @cw, @ch)
          end
        else
          if @tile_id == 0
            index = @character.character_index
            pattern = @character.pattern < 3 ? @character.pattern : 1
            sx = (index % 4 * 3 + pattern) * @cw
            sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
            self.src_rect.set(sx, sy, @cw, @ch)
          end
        end
      end
    end


    #==============================================================================
    # ** Window_Base
    #==============================================================================
    class Window_Base < Window

      def draw_character(character_name, character_index, x, y)
        return if character_name == nil
        bitmap = Cache.character(character_name)
        sign = character_name[/^[!$]./]
        if character_name != nil and character_name.include?('$xp')
          cw = bitmap.width / 4
          ch = bitmap.height / 4
          n = character_index
          src_rect = Rect.new(0, 0, cw, ch)
        else
          if sign != nil and sign.include?('$')
            cw = bitmap.width / 3
            ch = bitmap.height / 4
          else
            cw = bitmap.width / 12
            ch = bitmap.height / 8
          end
          n = character_index
          src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
        end
        self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
      end

    end
[/SPOILER]


BUG E CONFLITTI NOTI:
Nessuno.
[Immagine: 45509.gif]
 
Rispondi
#2
Grazie, davvero utilissimo
 
Rispondi
  


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  aiuto script rpg maker vx ace Cod96 4 2,170 04-06-2013, 09:37 AM
Ultimo messaggio: Lorenz
  RPG maker vx ace Ricky 0 1,175 31-03-2013, 11:20 PM
Ultimo messaggio: Ricky

Vai al forum:


Browsing: 1 Ospite(i)