☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTES•◘

Estado
Cerrado para nuevas respuestas
Mensajes
454
Reacciones
0
Puntos
0
Re: ☆ APORTES de Recursos, Herramientas y Tutoriales ☆ [~◘•SOLO APORTES•◘~]

ultimo aporte del dia de hoy (hay que darle trabajo a los moderadores)
78 tilesets
descripcion:
78 Tiles de todo tipo, futurista, guerra, naturaleza, etc
Descarga:
Directa
 
Mensajes
3.669
Reacciones
303
Puntos
0
Ubicación
Hope's Peak Academy
Re: ☆ APORTES de Recursos, Herramientas y Tutoriales ☆ [~◘•SOLO APORTES•◘~]

•Charas Variados RPG Maker VX•

Los charas no son mios, pero yo los subi (no recuerdo el nombre del autor ni donde los descargue)

Link de Descarga: 279 Charas para RPG Maker VX

Contiene:

Del RTP editados

Animales

Anime y Videojuegos

Enemigos y Animaciones (Para los eventos)

Algunos Tiles
 

DKNINJA.

Banneado
Mensajes
391
Reacciones
0
Puntos
0
Ubicación
Ciudad batallas
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

Hola a todos.

Aquí aporto un script medio raro que encontré por ahí xD:

Nombre del script: Rei Dance Minigame

Autor: Reijuvb (?)

Plataforma: VX

Descripción:

Tal y como dice su nombre, es un minijuego de baile muy al estilo de DDR.

Entre sus características están el de poder usar otros gráficos y su fácil control además de algunos add-ons.

Imágenes:

reida11.jpg


rdmen.jpg


Demo\ezcript xD:

http://www.4shared.com/file/Y3fMAUoH/Rei_Dance_Minigame.html

Instrucciones:

Ni idea

Saludos.
 

Miwel~

EMD Legend
Mensajes
2.453
Reacciones
70
Puntos
842
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

-Nombre Del Script: Créditos Estilo Final Fantasy VIII
-Versión Del Script: v.1.1
-Rpg Maker: XP
-Introducción: Permite crear una escena antes de titulo con imágenes al mas puro estilo de FF8.
-Características: Totalmente Editable ^^
-Demo: No tengo demo, pero para los que no hayan jugado FF8, seria así:
Link: http://www.youtube.com/watch?v=b7Bn8L1anig
-ScreenShot: No existe (?)
-Script:
Código:
#=====================================================
# - Final Fantasy VIII opening Credits Script v1.1  By Azzy9
#=====================================================
# In Main replace "$scene = Scene_Title.new" with  "$scene = FFVIIICredits.new"
class FFVIIICredits
def main
  $data_system = load_data("Data/System.rxdata")
  $game_system = Game_System.new
  # - Drawing up the Background for Scene FFVII_Credits
  @Background = Sprite.new
   @Background.bitmap = RPG::Cache.picture("1")
   @Background.opacity = 255
   @Background_c = 0
   @sprite1 = Window1.new
   @sprite1.x =  100
   @sprite1.y =  100
   @sprite1.visible = false
   @sprite2 = Window2.new
   @sprite2.x =  350
   @sprite2.y =  300
   @sprite2.visible = false
   @sprite3 = Window3.new
   @sprite3.x =  350
   @sprite3.y =  100
   @sprite3.visible = false
   @sprite4 = Window4.new
  @sprite4.x =  100
   @sprite4.y =  300
   @sprite4.visible = false
   @sprite5 = Window5.new
   @sprite5.x =  100
   @sprite5.y =  100
   @sprite5.visible = false
   @sprite6 = Window6.new
   @sprite6.x =  350
   @sprite6.y =  300
   @sprite6.visible = false
   @sprite7 = Window7.new
   @sprite7.x =  350
   @sprite7.y =  100
   @sprite7.visible = false
   @sprite8 = Window8.new
   @sprite8.x =  100
   @sprite8.y =  300
   @sprite8.visible = false
   @sprite9 = Window9.new
   @sprite9.x =  100
   @sprite9.y =  100
   @sprite9.visible = false
   @sprite10 = Window10.new
   @sprite10.x =  350
   @sprite10.y =  300
   @sprite10.visible = false
   @sprite11 = Window11.new
   @sprite11.x =  350
   @sprite11.y =  100
   @sprite11.visible = false
   @sprite12 = Window12.new
   @sprite12.x =  100
   @sprite12.y =  300
   @sprite12.visible = false
   @sprite13 = Window13.new
   @sprite13.x =  100
   @sprite13.y =  100
   @sprite13.visible = false
   @sprite14 = Window14.new
   @sprite14.x =  350
   @sprite14.y =  300
   @sprite14.visible = false
   @sprite15 = Window15.new
   @sprite15.x =  350
   @sprite15.y =  100
   @sprite15.visible = false
   @sprite16 = Window16.new
   @sprite16.x =  100
   @sprite16.y =  300
   @sprite16.visible = false
   @sprite17 = Window17.new
   @sprite17.x =  100
   @sprite17.y =  100
   @sprite17.visible = false
   @sprite18 = Window18.new
   @sprite18.x =  350
   @sprite18.y =  300
   @sprite18.visible = false
   @sprite19 = Window19.new
   @sprite19.x =  350
   @sprite19.y =  100
   @sprite19.visible = false
   @sprite20 = Window20.new
   @sprite20.x =  100
   @sprite20.y =  300
   @sprite20.visible = false
   @sprite21 = Window21.new
   @sprite21.x =  100
   @sprite21.y =  100
   @sprite21.visible = false
   @sprite22 = Window22.new
   @sprite22.x =  350
   @sprite22.y =  300
   @sprite22.visible = false
   @sprite23 = Window23.new
   @sprite23.x =  350
   @sprite23.y =  100
   @sprite23.visible = false
   @sprite24 = Window24.new
   @sprite24.x =  100
   @sprite24.y =  300
   @sprite24.visible = false
   @sprite25 = Window25.new
   @sprite25.x =  100
   @sprite25.y =  100
   @sprite25.visible = false
   @sprite26 = Window26.new
   @sprite26.x =  350
   @sprite26.y =  300
   @sprite26.visible = false
   @sprite27 = Window27.new
   @sprite27.x =  350
   @sprite27.y =  100
   @sprite27.visible = false
   @sprite28 = Window28.new
   @sprite28.x =  100
   @sprite28.y =  300
   @sprite28.visible = false
   Graphics.transition
   loop do
     Graphics.update
     Input.update
     update
     if $scene != self
       break
     end
   end
   Graphics.freeze
   @Background.dispose
   @sprite1.dispose
   @sprite2.dispose
   @sprite3.dispose
   @sprite4.dispose
   @sprite5.dispose
   @sprite6.dispose
   @sprite7.dispose
   @sprite8.dispose
   @sprite9.dispose
   @sprite10.dispose
   @sprite11.dispose
   @sprite12.dispose
   @sprite13.dispose
   @sprite14.dispose
   @sprite15.dispose
   @sprite16.dispose
   @sprite17.dispose
   @sprite18.dispose
   @sprite19.dispose
   @sprite20.dispose
   @sprite21.dispose
   @sprite22.dispose
   @sprite23.dispose
   @sprite24.dispose
   @sprite25.dispose
   @sprite26.dispose
   @sprite27.dispose
   @sprite28.dispose
end
def update
   @Background.update   # Change of background
   @Background_c = (@Background_c + 1)
case @Background_c              
when 200
   Audio.bgm_play("Audio/BGM/" + "Overture", 100, 100) # - Plays the Background Music
   @Background.bitmap = RPG::Cache.picture("0")
   @sprite1.visible = true
   @sprite2.visible = true
   @sprite1.contents_opacity -= 2
when 400
   @sprite1.visible = false
   @sprite2.visible = false
   @sprite3.visible = true
   @sprite4.visible = true
when 600
   @sprite3.visible = false
   @sprite4.visible = false
   @Background.bitmap = RPG::Cache.picture("2")
when 800
   @Background.bitmap = RPG::Cache.picture("3")
when 1000  
   @Background.bitmap = RPG::Cache.picture("0")
   @sprite5.visible = true
   @sprite6.visible = true
when 1200  
   @sprite5.visible = false
   @sprite6.visible = false
   @sprite7.visible = true
   @sprite8.visible = true
when 1400  
   @sprite7.visible = false
   @sprite8.visible = false
   @Background.bitmap = RPG::Cache.picture("4")
when 1600  
   @Background.bitmap = RPG::Cache.picture("5")
when 1800
   @Background.bitmap = RPG::Cache.picture("0")
   @sprite9.visible = true
   @sprite10.visible = true
when 2000
   @sprite9.visible = false
   @sprite10.visible = false
   @sprite11.visible = true
   @sprite12.visible = true
when 2200
   @sprite11.visible = false
   @sprite12.visible = false
   @Background.bitmap = RPG::Cache.picture("6")
when 2400
   @Background.bitmap = RPG::Cache.picture("7")
when 2600
   @Background.bitmap = RPG::Cache.picture("0")
   @sprite13.visible = true
   @sprite14.visible = true
when 2800  
   @sprite13.visible = false
   @sprite14.visible = false
   @sprite15.visible = true
   @sprite16.visible = true
when 3000  
   @sprite15.visible = false
   @sprite16.visible = false
   @Background.bitmap = RPG::Cache.picture("8")
when 3200  
   @Background.bitmap = RPG::Cache.picture("9")
when 3400
   @Background.bitmap = RPG::Cache.picture("0")
   @sprite17.visible = true
   @sprite18.visible = true
when 3600
   @sprite17.visible = false
   @sprite18.visible = false
   @sprite19.visible = true
   @sprite20.visible = true
when 3800  
   @sprite19.visible = false
   @sprite20.visible = false
   @Background.bitmap = RPG::Cache.picture("10")
when 4000  
   @Background.bitmap = RPG::Cache.picture("11")
when 4200
   @Background.bitmap = RPG::Cache.picture("0")
   @sprite21.visible = true
   @sprite22.visible = true
when 4400
   @sprite21.visible = false
   @sprite22.visible = false
   @sprite23.visible = true
   @sprite24.visible = true
when 4600  
   @sprite23.visible = false
   @sprite24.visible = false
   @Background.bitmap = RPG::Cache.picture("12")
when 4800  
   @Background.bitmap = RPG::Cache.picture("13")
when 5000
   @Background.bitmap = RPG::Cache.picture("0")
   @sprite25.visible = true
   @sprite26.visible = true
when 5200
   @sprite25.visible = false
   @sprite26.visible = false
   @sprite27.visible = true
   @sprite28.visible = true
when 5400  
   @sprite27.visible = false
   @sprite28.visible = false
   @Background.bitmap = RPG::Cache.picture("14")
when 5600  
   @Background.bitmap = RPG::Cache.picture("15")
when 5800  
   @Background.bitmap = RPG::Cache.picture("16")
when 5850  
   @Background.bitmap = RPG::Cache.picture("17")
when 6200
   Audio.bgm_stop
   $scene = FFVIIICredits.new
    end
if Input.trigger?(Input::C)
   $scene = Scene_Title.new
    end
  end
end

class Window1 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 233, 33, "Executive Producer")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window2 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 133, 33, "Producer")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window3 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 133, 33, "Director")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window4 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 133, 33, "Music")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window5 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 233, 33, "Battle System Designer")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window6 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 233, 33, "Main Programmer")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window7 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 183, 33, "Art Director")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window8 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 183, 33, "Charcter Design ")
   self.contents.draw_text(0, 10, 233, 63, "& Battle visual director")
   self.contents.draw_text(0, 20, 153, 93, "Azzy9")
 end
end

class Window9 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 133, 33, "Scenario")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window10 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 183, 33, "Image Illustrator")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window11 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 183, 33, "CG Supervisor")
  self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window12 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 183, 33, "Movie Director")
  self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window13 < Window_Base
 def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
  self.contents.draw_text(0, 0, 233, 33, "Modeling Director")
  self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window14 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
  self.contents.draw_text(0, 0, 233, 33, "Movie Director")
  self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end


class Window15 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
  self.contents.draw_text(0, 0, 233, 33, "Battle Effect  Director")
  self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window16 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 233, 33, "Polygon Director")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window17 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 183, 33, "Motion Director")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window18 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 233, 33, "CardGame Director")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window19 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 233, 33, "LeadField Designer")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window20 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 233, 33, "LeadField Designer")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window21 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 233, 33, "VFX & Composite")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window22 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 233, 33, "Event Programmer")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window23 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 138, 33, "Event Director")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window24 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 233, 33, "Battle Programmers")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window25 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 233, 33, "WorldMap Director")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window26 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 183, 33, "Map Director")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end
class Window27 < Window_Base
def initialize
   super(0, 0, 250,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 240, 33, "Sound Programmer")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end

class Window28 < Window_Base
def initialize
   super(0, 0, 240,240)
   self.contents = Bitmap.new(width - 32, height - 32)
   self.contents.font.name = "Tahoma"
   self.contents.font.size = 30
   self.opacity = 0
   self.contents.draw_text(0, 0, 183, 33, "Sound Editor")
   self.contents.draw_text(0, 10, 143, 63, "Azzy9")
 end
end
-Instrucciones:
Para que corra el script apenas iniciemos el juego, cambia en la parte de main donde dice "$scene = Scene_Title.new" por "$scene = FFVIIICredits.new".

Las Imágenes van en la carpeta "Pictures" con el nombre por orden de salida (Por ejemplo, la primera imagen se llamara "1" la segunda "2", etc.. (Se puede cambiar)

Para cambiar la música, buscar donde dice:
Código:
   Audio.bgm_play("Audio/BGM/" + "Overture", 100, 100) # - Plays the Background Music
Donde "Overture" seria la música que queremos poner.
-Compatibilidad: Puede no ser muy compatible con otros scripts de Titulo.
-Créditos: - Azzy9
- Voidzone
 
Última edición por un moderador:
Mensajes
5
Reacciones
0
Puntos
0
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

Charas y battlers de dragonballz rpg maker vx
http://www.megaupload.com/?d=1V56CVIL
tengo faces o las creo todo VX
 
Mensajes
854
Reacciones
0
Puntos
0
Ubicación
Que te importa! :)
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE




Aporto...


  • [*]Nombre: MOG_Combo_Display
    [*]RPG Maker: XP
    [*]ScreenShot:


    XP_bat11.gif



    [*]Script:


    Código:
    #==============================================================================
    # +++ MOG XP - Combo Display V1.0 +++
    #==============================================================================
    # By Moghunter 
    # http://www.atelier-rgss.com/
    #==============================================================================
    # ■ Apresenta a quantidade de acertos no alvo e o dano maximo.
    # ---------------------------------------------------------------------------
    # É necessário ter os arquivos imagens na pasta Graphics/Windoskins.
    # Combo_Damage.png 
    # Combo_Hud.png
    # Combo_Number.png
    #==============================================================================
    module MOG_COMBO_DISPLAY
      #Ativar tempo para fazer combo.
      TIME_COUNT = true
      # Tempo para fazer um combo. (40 = 1s) 
      COMBO_TIME = 40
      # Cancelar a contagem de Combo caso o inimigo acertar o herói.
      ENEMY_CANCEL_COMBO = true
      # Posição geral das imagens. X Y
      COMBO_POSITION = [10,80]
      # Posição do número de HITS. X Y
      HIT_POSITION = [15,20]
      # Posição do número de dano. X Y
      TOTAL_POSITION = [60,-20]
      # Prioridade das imagens.
      PRIORITY_Z = 50
    end 
    
    #===============================================================================
    # ■ Game_Temp
    #===============================================================================
    class Game_Temp
       attr_accessor :combo_hit
       attr_accessor :max_damage   
       attr_accessor :combo_time  
      #--------------------------------------------------------------------------
      # ● initialize
      #--------------------------------------------------------------------------   
       alias mog_combo_display_initialize initialize
       def initialize
           @combo_hit = 0
           @max_damage = 0  
           @combo_time = 0    
           mog_combo_display_initialize
       end
    end
    
    #===============================================================================
    # ■ Combo_Sprite_Hud
    #===============================================================================
    class Combo_Sprite_Hud < Sprite
       attr_accessor :combo_wait
       include MOG_COMBO_DISPLAY
       
      #--------------------------------------------------------------------------
      # ● Initialize
      #--------------------------------------------------------------------------
      def initialize
         super  
         @combo_wait = false
         $game_temp.combo_time = 0
         $game_temp.combo_hit = 0
         $game_temp.max_damage = 0     
         @combo_hit_old = 0
         @animation_speed = 0
         @pos_x = COMBO_POSITION[0]
         @pos_x_fix = 0
         @pos_y = COMBO_POSITION[1]
         create_combo_sprite
         create_total_damage_sprite     
         create_hud_sprite     
       end       
    
      #--------------------------------------------------------------------------
      # ● Create Hud Sprite   
      #--------------------------------------------------------------------------
      def create_hud_sprite   
           @hud = Sprite.new
           @hud.bitmap = RPG::Cache.windowskin("Combo_HUD")
           @hud.z = PRIORITY_Z
           @hud.x = COMBO_POSITION[0]
           @hud.y = COMBO_POSITION[1]
           @hud.opacity = 250
           @hud.visible = false
      end     
    
      #--------------------------------------------------------------------------
      # ● Create Total Damage Sprite
      #--------------------------------------------------------------------------
      def create_total_damage_sprite    
           @total_image = RPG::Cache.windowskin("Combo_damage")
           @total_bitmap = Bitmap.new(@combo_image.width,@combo_image.height)
           @total = Sprite.new
           @total.bitmap = @total_bitmap
           @total_im_cw = @total_image.width / 10
           @total_im_ch = @total_image.height     
           @total_number_text = $game_temp.max_damage.abs.to_s.split(//)
           for r in 0..@total_number_text.size - 1
             @total_number_abs = @total_number_text[r].to_i 
             @total_src_rect = Rect.new(@total_im_cw * @total_number_abs, 0, @total_im_cw, @total_im_ch)
             @total_bitmap.blt(40 + ((@total_im_cw - 12) *  r), 0, @total_image, @total_src_rect)        
           end      
           @total.z = PRIORITY_Z + 1
           @total_orig_x = COMBO_POSITION[0] + TOTAL_POSITION[0]
           @total_orig_y = COMBO_POSITION[1] + TOTAL_POSITION[1]
           @total.x = @total_orig_x
           @total.y = @total_orig_y
           @total.zoom_x = 1.00
           @total.zoom_y = 1.00
           @total.opacity = 250  
           @total.visible = false
      end     
    
      #--------------------------------------------------------------------------
      # ● Create Combo Number  
      #--------------------------------------------------------------------------
      def create_combo_sprite
           @combo_image = RPG::Cache.windowskin("Combo_Number")
           @combo_bitmap = Bitmap.new(@combo_image.width,@combo_image.height)
           @combo = Sprite.new
           @combo.bitmap = @combo_bitmap
           @combo_im_cw = @combo_image.width / 10
           @combo_im_ch = @combo_image.height     
           @combo_number_text = $game_temp.combo_hit.abs.to_s.split(//)
           for r in 0..@combo_number_text.size - 1
             @combo_number_abs = @combo_number_text[r].to_i 
             @combo_src_rect = Rect.new(@combo_im_cw * @combo_number_abs, 0, @combo_im_cw, @combo_im_ch)
             @combo_bitmap.blt(40 + ((@combo_im_cw - 12) *  r), 0, @combo_image, @combo_src_rect)        
           end      
           @combo.z = PRIORITY_Z + 2
           @combo_orig_x = COMBO_POSITION[0] + HIT_POSITION[0]
           @combo_orig_y = COMBO_POSITION[1] + HIT_POSITION[1]
           @pos_x_fix = (@combo_im_cw / 2 * @combo_number_text.size)
           @combo.x = @combo_orig_x - @pos_x_fix     
           @combo.y = @combo_orig_y
           @combo.zoom_x = 1.00
           @combo.zoom_y = 1.00
           @combo.opacity = 250
           @combo.visible = false
      end  
         
      #--------------------------------------------------------------------------
      # ● Dispose
      #--------------------------------------------------------------------------
      def dispose
          @combo_bitmap.dispose
          @combo.bitmap.dispose
          @combo.dispose
          @hud.bitmap.dispose
          @hud.dispose
          @total_bitmap.dispose
          @total.bitmap.dispose
          @total.dispose
          super 
      end
        
      #--------------------------------------------------------------------------
      # ● Refresh
      #--------------------------------------------------------------------------
      def refresh
          @combo_hit_old = $game_temp.combo_hit
          @combo.bitmap.clear
          @total.bitmap.clear
          @combo_number_text = $game_temp.combo_hit.abs.to_s.split(//)
          for r in 0..@combo_number_text.size - 1
             @combo_number_abs = @combo_number_text[r].to_i 
             @combo_src_rect = Rect.new(@combo_im_cw * @combo_number_abs, 0, @combo_im_cw, @combo_im_ch)
             @combo_bitmap.blt(40 + ((@combo_im_cw - 12) *  r), 0, @combo_image, @combo_src_rect)        
           end            
           @total_number_text = $game_temp.max_damage.abs.to_s.split(//)
           for r in 0..@total_number_text.size - 1
             @total_number_abs = @total_number_text[r].to_i 
             @total_src_rect = Rect.new(@total_im_cw * @total_number_abs, 0, @total_im_cw, @total_im_ch)
             @total_bitmap.blt(40 + ((@total_im_cw - 12) *  r), 20, @total_image, @total_src_rect)        
           end
           #Combo Position
           @pos_x_fix = (@combo_im_cw / 2 * @combo_number_text.size)
           @combo.x = @combo_orig_x - @pos_x_fix
           @combo.y = @combo_orig_y
           @combo.zoom_x = 2
           @combo.zoom_y = 2
           @combo.opacity = 70
           @combo.visible = true
           #Total Position      
           @total.x = @total_orig_x + 20
           @total.y = @total_orig_y     
           @total.opacity = 100 
           @total.visible = true            
           #Hud Position 
           @hud.x = COMBO_POSITION[0]
           @hud.y = COMBO_POSITION[1]
           @hud.opacity = 255
           @hud.visible = true 
       end    
      
      #--------------------------------------------------------------------------
      # ● Slide Update
      #--------------------------------------------------------------------------
      def slide_update
        return if @combo.visible == false
        if $game_temp.combo_time > 0 and @combo_wait == false
           $game_temp.combo_time -= 1 if TIME_COUNT == true
        end 
        if $game_temp.combo_time > 0 and $game_temp.combo_hit > 0   
             #Total Damage
             if @total.x > @total_orig_x
                @total.x -= 1
                @total.opacity += 8
             else   
                @total.x = @total_orig_x
                @total.opacity = 255
             end  
             #Combo
             if @combo.zoom_x > 1.00
                @combo.zoom_x -= 0.05 
                @combo.zoom_y -= 0.05       
                @combo.opacity += 8
             else
                @combo.zoom_x = 1
                @combo.zoom_y = 1 
                @combo.opacity = 255
                @combo.x = @combo_orig_x - @pos_x_fix
                @combo.y = @combo_orig_y
             end           
         elsif $game_temp.combo_time == 0 and @combo.visible == true
               @combo.x -= 5 
               @combo.opacity -= 10
               @total.x -= 3
               @total.opacity -= 10
               @hud.x += 5
               @hud.opacity -= 10     
               $game_temp.combo_hit = 0
               @combo_hit_old = $game_temp.combo_hit 
               $game_temp.max_damage = 0
               if @combo.opacity <= 0
                  @combo.visible = false
                  @total.visible = false
                  @hud.visible = false
               end  
         end    
      end
       
      #--------------------------------------------------------------------------
      # ● Cancel
      #--------------------------------------------------------------------------    
      def cancel
          $game_temp.combo_hit = 0
          $game_temp.max_damage = 0
          $game_temp.combo_time = 0      
          @combo_hit_old = $game_temp.combo_hit
      end  
    
      #--------------------------------------------------------------------------
      # ● Clear
      #--------------------------------------------------------------------------     
      def clear
          $game_temp.combo_time = 0
      end      
    
      #--------------------------------------------------------------------------
      # ● Update
      #--------------------------------------------------------------------------
      def update
        super
        refresh if $game_temp.combo_hit != @combo_hit_old 
        slide_update 
      end    
    end
    
    #===============================================================================
    # ■ Scene_Battle
    #===============================================================================
    class Scene_Battle
      include MOG_COMBO_DISPLAY
      
      #--------------------------------------------------------------------------
      # ● main
      #--------------------------------------------------------------------------
      alias mog_combo_main main
      def main
        create_cb_sprite
        mog_combo_main
        dispose_cb_sprite
      end
      
      #--------------------------------------------------------------------------
      # ● create_cb_sprite
      #--------------------------------------------------------------------------  
      def create_cb_sprite
         @combo_sprite = Combo_Sprite_Hud.new
      end
       
      #--------------------------------------------------------------------------
      # ● dispose_cb_sprite
      #--------------------------------------------------------------------------
      def dispose_cb_sprite
         @combo_sprite.dispose
      end  
      
      #--------------------------------------------------------------------------
      # ● update
      #-------------------------------------------------------------------------- 
      alias mog_combo_update update
      def update
        mog_combo_update
        @combo_sprite.update       
      end      
      
      #--------------------------------------------------------------------------
      # ● mog_combo_start_phase1
      #--------------------------------------------------------------------------
      alias mog_combo_start_phase2 start_phase2
      def start_phase2
          @combo_sprite.combo_wait = false
          mog_combo_start_phase2
      end  
      
      #--------------------------------------------------------------------------
      # ● start_phase4  
      #--------------------------------------------------------------------------
      alias mog_combo_display_start_phase4 start_phase4
      def start_phase4  
          @combo_sprite.combo_wait = true
          mog_combo_display_start_phase4
      end  
      
      #--------------------------------------------------------------------------
      # ● update_phase4_step5
      #--------------------------------------------------------------------------
      alias mog_combo_display_update_phase4_step5 update_phase4_step5
      def update_phase4_step5    
          for target in @target_battlers         
            if target.damage != nil and target.damage.is_a?(Numeric) and
               target.damage.to_i > 0
              if target.is_a?(Game_Enemy)
                 $game_temp.combo_hit += 1
                 $game_temp.max_damage += target.damage.to_i
                 $game_temp.combo_time = COMBO_TIME
              else
                 $game_temp.combo_time = 0 if ENEMY_CANCEL_COMBO == true
              end             
            end
          end    
          mog_combo_display_update_phase4_step5      
       end  
      
      #--------------------------------------------------------------------------
      # ● Start After Battle Phase
      #--------------------------------------------------------------------------
      alias mog_combo_start_phase5 start_phase5
      def start_phase5 
          @combo_sprite.clear  
          mog_combo_start_phase5
      end    
    end  
    
    $mog_rgssxp_combo_display = true


    [*]Demo:


    MOG_Combo_Display


    [*]Instrucciones:

    1-.

    Copiar y pegar encima de Main.

    2-.

    Guardar las siguientes imágenes en la carpeta pictures

    Imágenes


    Combo_Damage.PNG


    http://www.atelier-rgss.com/RGSS/Battle/IMG/XP_Bat11/Combo_Damage.PNG

    Combo_Number.PNG


    http://www.atelier-rgss.com/RGSS/Battle/IMG/XP_Bat11/Combo_Number.PNG

    Combo_Hud.png


    http://www.atelier-rgss.com/RGSS/Battle/IMG/XP_Bat11/Combo_Hud.png

    Son totalmente editables.


    [*]Creditos:


    MOGHunter



Saludos~ :difus_3:

I200966
 
Mensajes
383
Reacciones
0
Puntos
0
Ubicación
Guarenas
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

aqui les traigo 1 script de autointalacion de fuentes
descripcion:Instala automáticamente las fuentes de uno o más que el jugador no tiene en su equipo.
Es útil si desea utilizar cualquier fuente que no viene instalado automáticamente en su ordenador.
Las fuentes se instalan una vez que el juego se inicia por primera vez
script:
#================================================= =============================
# ** Fuentes Auto Install
#------------------------------------------------- -----------------------------
# Para Wachunga (01/07/2006)
# Editado, revisado y adaptado por Rafidelis; D
# Versión 2.0
# 20/03/10
#------------------------------------------------- -----------------------------

Rafidelis módulo
#================================================= =========================
Auto # origen de instalación del módulo
#------------------------------------------------- -------------------------
# Este módulo está configurado para instalar fuentes Auto Juego de secuencias de comandos
#================================================= =========================
Auto_Instalar_Fontes módulo
Agregando a la secuencia de comandos del sistema #
Rafidelis.add_script ("[Otros] - Wachunga: Instalación Automaticamentes Fuentes - Edición", "1.5")
# Script Añadido

# Nombre de archivos de fuentes
['WillRobinson.ttf'] = Nome_Dos_Arquivos
# Nombre de las Fuentes
Nombres = ['Will Robinson "]
# Notificar los mensajes de error y / o el éxito?
Notificar = true
# Carpeta en la carpeta del juego con las fuentes
Pasta_Fonte = 'Fuentes /'
# Carpeta del Sistema, donde se instalarán las fuentes.
['SystemRoot'] Pasta_Destino ENV = + '/ Fuentes /'

# Borrar la carpeta con las fuentes después de instalarlos?
Deletar_Pasta = false

# Mensaje de error
Mensaje_error = "Error al instalar la fuente de% s.
La fuente no se puede encontrar en el s.Por% póngase en contacto con nosotros en:
[email protected] o descargar el código fuente% s a través de fuentes de sitios de descarga! ".

Anuncio # éxito!
Mensagem_de_Sucesso =
"El% s de origen se ha instalado correctamente en su carpeta% computador.Na s. \ nDivirta está jugando!"
final
final
#================================================= ============================
# ** Instalar_Fontes
#================================================= ============================
# Esta clase es responsable de instalar las fuentes en el sistema del juego.
#================================================= ============================
Instalar_Fontes clase
# Apis por Wachunga
AFR = Win32API.new ('gdi32', 'AddFontResource', ['P'], 'L')
WPS Win32API.new = ('kernel32', 'WriteProfileString', ['P'] * 3, 'L')
SM = Win32API.new ("user32", "SendMessage", ['L'] * 4, 'L')
WM_FONTCHANGE = 0x001D
HWND_BROADCAST = 0xffff
#================================================= ==========================
# Inicialización de objetos
#================================================= ==========================
def inicializar
éxito = []
i en 0 ... Auto_Instalar_Fontes: Nome_Dos_Arquivos.size
f = Auto_Instalar_Fontes: Nome_Dos_Arquivos
# Si no se ha instalado la fuente
si no FileTest.exist (Auto_Instalar_Fontes: Pasta_Destino + f)?
# Verifique en la carpeta del juego, si el origen existe
si FileTest.exists (Auto_Instalar_Fontes: Pasta_Fonte + f)?
Copias # para el sistema
File.rename (Auto_Instalar_Fontes: Pasta_Fonte + f, Auto_Instalar_Fontes: Pasta_Destino + f)
AFR.call (Auto_Instalar_Fontes: Pasta_Destino + f)
WPS.call (Auto_Instalar_Fontes 'Auto_Instalar_Fontes:: nombres + "(TrueType), f)
SM.call (HWND_BROADCAST, WM_FONTCHANGE, 0.0)
si FileTest.exist (Auto_Instalar_Fontes: Pasta_Destino + f)?
success.push (Auto_Instalar_Fontes:: nombres )
final
# Si la fuente no existe en la carpeta del juego
más
f = Auto_Instalar_Fontes:: nombres
mensaje = sprintf (Auto_Instalar_Fontes:: mensaje_error, f, Auto_Instalar_Fontes: Pasta_Fonte, f)
imprimir un mensaje
salida
final
final
final
si el éxito! = [] # Si se ha instalado una fuente
si Auto_Instalar_Fontes:: Notify
Fuentes =''
success.each hacer | f |
Fuentes de la <<f <<','
final
mensaje = sprintf (Auto_Instalar_Fontes: Mensagem_de_Sucesso, fuentes [0 ..- 3] Auto_Instalar_Fontes: Pasta_Destino)
imprimir un mensaje
Dir.delete (Auto_Instalar_Fontes: Pasta_Fonte) si Auto_Instalar_Fontes: Deletar_Pasta
final
# Ejecutar Game.exe nuevo, por lo que las fuentes se comprueban
Thread.new {sistema ('Game')}
salida
final
final
final
Instalar_Fontes.new # Inicio de la instalación

Preguntas más frecuentes

Citar
Pregunta: ¿Cómo puedo cambiar la fuente de mi juego?
Respuesta: Abra el Editor de scipts e ir en el "Principal" (el último guión)
Puedes buscar: defaultfonttype = $ $ = $ = FontName fontface Font.default_name = "Arial" (según la versión del fabricante, esta línea es posible que falte, añadir aquí después de empezar). Vuelva a colocar el nombre entre comillas (la fuente predeterminada es "Arial") con el nombre de la fuente deseada.

Pregunta: ¿Dónde puedo conseguir diferentes tipos de letra?
Respuesta: Buscar en la Internet a encontrar decenas de fuentes diferentes adjunta un ejemplo de una fuente que no viene instalado en las ventanas para que pueda hacer un TES

Créditos y Agradecimientos
• Realizado por Wachunga
• Editado por Rafidelis
 
Mensajes
251
Reacciones
0
Puntos
0
Ubicación
chile
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

Mi aporte:

AMS - Advanced Message Script - R4 Thai Mod version 1.5

Código:
#===================================================
# ? AMS - Advanced Message Script - R4 Thai Mod version 1.5
#===================================================
#----------------------------------------------------
#	Original Message
#----------------------------------------------------
# For more infos and update, visit:
# www.dubealex.com (Creation Asylum)
#
# Edited, Fixed and Enhanced by: Dubealex
# Original Script Core by: XRXS Scripter (Jap Dudes)
# HTML Hexadecimal color feature from: Phylomorphis 
#
# Special Thanks:
# Rabu: For enabling the Show Face feature in an encrypted project
#
# To found all my new features, search the following:  #NEW
# To configure the button to skip the dialog, search:  #SKIP_TEXT_CODE
#
# May 18, 2005
#----------------------------------------------------
# Mod Thai characters fix by Hima 18/08/2007
# Version 1.3
#	----------------- Version History ----------------
#	1.0			-			First released
#	1.1			-			Fixed some special syntaxes
#	1.2			-			Fixed so that it works with RGSS102E.dll
#	1.3			-			Fixed a problem with สระอำ, การันต์ และ ตัวเขบ็ด ก็
#	1.4			-			Fixed a problem with \% function (cancle text skip)
# 1.5			-			Added a new feature, message style selection.
#
#===================================================
#		New Function
#===================================================
=begin
	1.) Msg Box style selection
	By adding "\style[numbers]" into the message, the message box will change according to the style's number
	To add more style, search for "Add more style here" and you'll see the array of style. Copy and paste it on the
	next line, and change the array index number. Then change the parameter inside, corresponding to the index name for example
	 @message_style[3] = {"width" => 100, "height" => 160, "x" => 80, "y" =>[200,160,1], "opacity" => 160, "skin" => "001-Blue01"}
	 This would mean, the style number "3" is as follow
			width : 100 px,  height : 160 px, x position : 80  y position : top - 200, middle - 160, bottom - 1, opacity : 160 and using a skin of file name "001-Blue01"
	Note that this function will change the style "permanently".
=end

#===================================================

LETTER_BY_LETTER_MODE = true   #Set the letter by letter mode ON/OFF          

#===================================================
#  CLASS AMS Begins
#===================================================
class AMS
 attr_accessor :name_box_x_offset
 attr_accessor :name_box_y_offset 
 attr_accessor :font_type
 attr_accessor :name_font_type
 attr_accessor :font_size
 attr_accessor :name_font_size
 attr_accessor :message_box_opacity 
 attr_accessor :name_box_skin
 attr_accessor :name_box_text_color
 attr_accessor :message_box_text_color
 attr_accessor :message_box_skin
 attr_accessor :name_box_width
 attr_accessor :name_box_height
 attr_accessor :message_width
 attr_accessor :message_height
 attr_accessor :message_x
 attr_accessor :message_y_bottom
 attr_accessor :message_y_middle
 attr_accessor :message_y_top
 attr_accessor :event_message_x_ofset
 attr_accessor :event_message_y_ofset
 attr_accessor :style
 attr_reader      :message_style 
  
def initialize  
 @name_box_x_offset = 0       #Choose the X axis offset of the name bos. default= 0
 @name_box_y_offset = -10    #Choose the Y axis offset of the name bos. default= -10
 @name_box_width = 8           #Choose the width of the Name Box. default= 8  
 @name_box_height = 26        #Choose the height of the Name Box. default= 26
 
 @font_type = "Trajan Pro"           #Choose the Font Name (Case Sensitive) for message box
 @name_font_type = "Trajan Pro" #Choose the Font Name (Case Sensitive) for Name Box
 @font_size = 20                    #Choose the default Font Size for message box text
 @name_font_size = 20          #Choose the deafault Font Size for Name Box text
 @name_box_text_color=0        #Choose the Text Color of the Name Box
 @message_box_text_color=0   #Choose the Text Color of the Message Box
 
 @message_box_opacity = 160            #Choose the opacity of the message window. Default=160
 @message_box_skin = "001-Blue01"   #Choose the WindowSkin for the Message Box
 @name_box_skin = "001-Blue01"       #Choose the WindowSkin for the Name Box
 
 @message_width = 480          #Choose the width size of the message box. Default=480
 @message_height = 160         #Choose the height size of the message box. Default=160
 @message_x = 80                  #Choose the X position of the message box. Default=80
 @message_y_bottom = 304    #Choose the Y bottom position of the message box. Default=304
 @message_y_middle = 160    #Choose the Y middle position of the message box. Default=160
 @message_y_top = 16           #Choose the Y top position of the message box. Default=16
 
 @event_message_x_ofset = 0   #Choose the X position offset of the event message. Default=0
 @event_message_y_ofset = 48   #Choose the Y position offset of the event message. Default=48
 
 @style = 0
 @message_style = []
 # Add more styles here
 @message_style[0] = {"width" => 480, "height" => 160, "x" => 80, "y" =>[16,160,304], "opacity" => 160, "skin" => "001-Blue01"}
 @message_style[1] = {"width" => 360, "height" => 160, "x" => 80, "y" =>[16,160,304], "opacity" => 160, "skin" => "001-Blue01"}
 end
end
#===================================================
#  CLASS AMS Ends
#===================================================


#===================================================
#  Class Window_Message Begins
#===================================================
class Window_Message < Window_Selectable   

alias xrxs9_initialize initialize

def initialize

@alex_skip = false
$formed_letters = [ 
"่" , "้" , "๊" , "๋" , "ี"   "ื" , "ึ" , "ุ",  "ู", "็"
]
xrxs9_initialize

if $soundname_on_speak == nil then
  $soundname_on_speak = ""
end

$gaiji_file = "./Graphics/Gaiji/sample.png"

if FileTest.exist?($gaiji_file)
  @gaiji_cache = Bitmap.new($gaiji_file)
else
  @gaigi_cache = nil
end
@opacity_text_buf = Bitmap.new(32, 32)
end


#--------------------------------------------------------------------------

alias xrxs9_terminate_message terminate_message

def terminate_message
 
if @name_window_frame != nil
  @name_window_frame.dispose
  @name_window_frame = nil
end

if @name_window_text  != nil
  @name_window_text.dispose
  @name_window_text  = nil
end
xrxs9_terminate_message
end

#--------------------------------------------------------------------------

def refresh
 
self.contents.clear
self.contents.font.color = text_color($ams.message_box_text_color)
self.contents.font.name = $ams.font_type
self.contents.font.size = $ams.font_size
self.windowskin = RPG::Cache.windowskin($ams.message_box_skin)
@x = @y = @max_x = @max_y = @indent = @lines = 0
@face_indent = 0
@opacity = 255
@cursor_width = 0
@write_speed = 0
@write_wait = 0
@mid_stop = false
@face_file = nil
@popchar = -2

if $game_temp.choice_start == 0
  @x = 8
end

if $game_temp.message_text != nil
  @now_text = $game_temp.message_text
  if (/\A\\[Ff]\[(.+?)\]/.match(@now_text))!=nil then
     @face_file = $1 + ".png"
     @x = @face_indent = 128
    if FileTest.exist?("Graphics/Pictures/" + $1 + ".png")
      self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
    end
    @now_text.gsub!(/\\[Ff]\[(.*?)\]/) { "" }
  end

  begin
  last_text = @now_text.clone
  @now_text.gsub!(/\\[Vv]\[([IiWwAaSs]?)([0-9]+)\]/) { convart_value($1, $2.to_i) }
  end until @now_text == last_text
  @now_text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
    $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
   end
  @now_text.gsub!(/\\[Ii]tem\[([0-9]+)\]/) do
    $data_items[$1.to_i] != nil ? $data_items[$1.to_i].name : ""
   end
  #NEW
  #Dubealex's Stop Skip Text ON-OFF
  @now_text.gsub!(/\\[%]/) { "\100" }
  #End new command
   
  #NEW
  #Dubealex's Show Monster Name Feature
   @now_text.gsub!(/\\[Mm]\[([0-9]+)\]/) do
   $data_enemies[$1.to_i] != nil ? $data_enemies[$1.to_i].name : ""
   end
   #End new command
   
  #NEW
  #Dubealex's Show Item Price Feature
   @now_text.gsub!(/\\[Pp]rice\[([0-9]+)\]/) do
   $data_items[$1.to_i] != nil ? $data_items[$1.to_i].price : ""
   end
   #End new command
   
  #NEW
  #Dubealex's Show Hero Class Name Feature
   @now_text.gsub!(/\\[Cc]lass\[([0-9]+)\]/) do
   $data_classes[$data_actors[$1.to_i].class_id] != nil ? $data_classes[$data_actors[$1.to_i].class_id].name : ""
   end
   #End new command
   
  #NEW
  #Dubealex's Show Current Map Name Feature
   @now_text.gsub!(/\\[Mm]ap/) do
   $game_map.name    != nil ? $game_map.name    : ""
   end
   #End new command
   
  #NEW
  #Dubealex's Choose Name Box Text Color
   @now_text.gsub!(/\\[Zz]\[([0-9]+)\]/) do
   $ams.name_box_text_color=$1.to_i
   @now_text.sub!(/\\[Zz]\[([0-9]+)\]/) { "" }
   end
   #End new command
   
  name_window_set = false
  if (/\\[Nn]ame\[(.+?)\]/.match(@now_text)) != nil
    name_window_set = true
    name_text = $1
    @now_text.sub!(/\\[Nn]ame\[(.*?)\]/) { "" }
  end
  if (/\\[Aa]ctor/.match(@now_text)) != nil
    name_window_set = true
    name_text = $text
    @now_text.sub!(/\\[Aa]ctor/) { "" }
  end

  if (/\\[Pp]\[([-1,0-9]+)\]/.match(@now_text))!=nil then
    @popchar = $1.to_i
    if @popchar == -1
      @x = @indent = 48
      @y = 4
    end
    @now_text.gsub!(/\\[Pp]\[([-1,0-9]+)\]/) { "" }
  end

  @max_choice_x = 0
  if @popchar >= 0
    @text_save = @now_text.clone
    @max_x = 0
    @max_y = 4
    for i in 0..3
      line = @now_text.split(/\n/)[3-i]
      @max_y -= 1 if line == nil and @max_y <= 4-i
      next if line == nil
      line.gsub!(/\\\w\[(\w+)\]/) { "" }
      cx = contents.text_size(line).width
      @max_x = cx if cx > @max_x
      if i >= $game_temp.choice_start
        @max_choice_x = cx if cx > @max_choice_x
      end
    end
    self.width = @max_x + 32 + @face_indent
    self.height = (@max_y - 1) * 32 + 64
    @max_choice_x -= 68
    @max_choice_x -= @face_indent*216/128
  else
    @max_x = self.width - 32 - @face_indent
    for i in 0..3
      line = @now_text.split(/\n/)[i]
      next if line == nil
      line.gsub!(/\\\w\[(\w+)\]/) { "" }
      cx = contents.text_size(line).width
      if i >= $game_temp.choice_start
        @max_choice_x = cx if cx > @max_choice_x
      end
    end
    @max_choice_x += 8
  end
  @cursor_width = 0
  @now_text.gsub!(/\\\\/) { "\000" }
  @now_text.gsub!(/\\[Cc]\[([0123456789ABCDEF#]+)\]/) { "\001[#{$1}]" }
  @now_text.gsub!(/\\[Gg]/) { "\002" }
  @now_text.gsub!(/\\[Ss]\[([0-9]+)\]/) { "\003[#{$1}]" }
  @now_text.gsub!(/\\[Aa]\[(.*?)\]/) { "\004[#{$1}]" }
  
   #NEW 
   #Hima's Message Box Style Change
   @now_text.gsub!(/\\[Ss]tyle\[([0-9]+)\]/) do
     $ams.style= $1.to_i
    @now_text.sub!(/\\[Ss]\[([0-9]+)\]/) { "" }
     end
   #End of new command
  
   #NEW 
   #Dubealex's Permanent Color Change
   @now_text.gsub!(/\\[Cc]olor\[([0-9]+)\]/) do
     $ams.message_box_text_color= $1.to_i
    @now_text.sub!(/\\[Cc]\[([0-9]+)\]/) { "" }
     end
   #End of new command
   
   #NEW 
   #Dubealex's Font Change Feature
    @now_text.gsub(/\\[Tt]\[(.*?)\]/) do
     buftxt = $1.to_s
     $ams.font_type = buftxt
     @now_text.sub!(/\\[Tt]\[(.*?)\]/) { "" }
     end
   #End of new command
   
  @now_text.gsub!(/\\[.]/) { "\005" }
  @now_text.gsub!(/\\[|]/) { "\006" }
  @now_text.gsub!(/\\[>]/) { "\016" }
  @now_text.gsub!(/\\[<]/) { "\017" }
  @now_text.gsub!(/\\[!]/) { "\020" }
  @now_text.gsub!(/\\[~]/) { "\021" }
  @now_text.gsub!(/\\[Ee]\[([0-9]+)\]/) { "\022[#{$1}]" }
  @now_text.gsub!(/\\[Ii]/) { "\023" }
  @now_text.gsub!(/\\[Oo]\[([0-9]+)\]/) { "\024[#{$1}]" }
  @now_text.gsub!(/\\[Hh]\[([0-9]+)\]/) { "\025[#{$1}]" }
  @now_text.gsub!(/\\[Bb]\[([0-9]+)\]/) { "\026[#{$1}]" }
  @now_text.gsub!(/\\[Rr]\[(.*?)\]/) { "\027[#{$1}]" }
  
  reset_window
  
  if name_window_set
    color=$ams.name_box_text_color
    off_x =  $ams.name_box_x_offset
    off_y =  $ams.name_box_y_offset
    space = 2
    x = self.x + off_x - space / 2
    y = self.y + off_y - space / 2
    w = self.contents.text_size(name_text).width + $ams.name_box_width + space
    h = $ams.name_box_height + space
    @name_window_frame = Window_Frame.new(x, y, w, h)
    @name_window_frame.z = self.z + 1
    x = self.x + off_x + 4
    y = self.y + off_y
    @name_window_text  = Air_Text.new(x, y, name_text, color)
    @name_window_text.z = self.z + 2
  end
  @text_array = @now_text.scan(/./)
  @type_time = 0
end

reset_window

if $game_temp.choice_max > 0
  @item_max = $game_temp.choice_max
  self.active = true
  self.index = 0
end

if $game_temp.num_input_variable_id > 0
  digits_max = $game_temp.num_input_digits_max
  number = $game_variables[$game_temp.num_input_variable_id]
  @input_number_window = Window_InputNumber.new(digits_max)
  @input_number_window.number = number
  @input_number_window.x = self.x + 8
  @input_number_window.y = self.y + $game_temp.num_input_start * 32
end
end

#--------------------------------------------------------------------------

def update
 
super

if @fade_in
  self.contents_opacity += 24
  if @input_number_window != nil
    @input_number_window.contents_opacity += 24
  end
  if self.contents_opacity == 255
    @fade_in = false
  end
  return
end
@now_text = nil if @now_text == "" 

if @now_text != nil and @mid_stop == false
  if @write_wait > 0
    @write_wait -= 1
    return
  end
  text_not_skip = LETTER_BY_LETTER_MODE
  while true
    @max_x = @x if @max_x < @x
    @max_y = @y if @max_y < @y
    if (c = @now_text.slice!(/./m)) != nil && @type_time < @text_array.size
      @mark = ""
        if c == "ำ" or c == "้" or c == "่" or c == "๊" or c == "๋" or c == "ี" or c == "ิ" or c == "ื" or c == "ึ" or c == "ุ" or c == "ู" or c == "ั" or c == "็" or c == "์"
          @type_time += 1
          next
        end
        if @type_time != @text_array.size - 1  &&  c != "" && c != "ไ" &&  c != "ใ"
          if ((@text_array[@type_time+1] <=> "ำ") == 0)
            @mark = "ำ"
          end
          if ((@text_array[@type_time+1] <=> "ั") == 0)
            @mark = "ั"
          end
          if ((@text_array[@type_time+1] <=> "็") == 0)
            @mark = "็"
          end
          if ((@text_array[@type_time+1] <=> "์") == 0)
            @mark = "์"
          end
          if ((@text_array[@type_time+1] <=> "ิ") == 0)
            @mark = "ิ"
          end
          if ((@text_array[@type_time+1] <=> "ี") == 0)
            @mark = "ี"
          end
          if ((@text_array[@type_time+1] <=> "ึ") == 0)
            @mark = "ึ"
          end
          if ((@text_array[@type_time+1] <=> "ื") == 0)
            @mark = "ื"
          end
          if ((@text_array[@type_time+1] <=> "ุ") == 0)
            @mark = "ุ"
          end
          if ((@text_array[@type_time+1] <=> "ู") == 0)
            @mark = "ู"
          end
          if ((@text_array[@type_time+1] <=> "๋") == 0)
            @mark = "๋"
          end
          if ((@text_array[@type_time+1] <=> "๊") == 0)
            @mark = "๊"
          end
          if ((@text_array[@type_time+1] <=> "้") == 0)
            @mark = "้"
          end
          if ((@text_array[@type_time+1] <=> "่") == 0)
            @mark = "่"
          end
          if @type_time != @text_array.size - 2 && c != " " && @mark != ""
            if ((@text_array[@type_time+2] <=> "ำ") == 0)
              @mark.concat("ำ")
            end
            if ((@text_array[@type_time+2] <=> "๋") == 0)
              @mark.concat("๋")
            end
            if ((@text_array[@type_time+2] <=> "๊") == 0)
              @mark.concat("๊")
            end
            if ((@text_array[@type_time+2] <=> "้") == 0)
              @mark.concat("้")
            end
            if ((@text_array[@type_time+2] <=> "่") == 0)
              @mark.concat("่")
            end
          end
        end
        
      if c == "\000"
        c = "\\"
      end
      
      if c == "\001"
        @now_text.sub!(/\[([0123456789ABCDEF#]+)\]/, "")
        temp_color = $1
        color = temp_color.to_i
        leading_x = temp_color.to_s.slice!(/./m)
        if leading_x == "#"
          self.contents.font.color = hex_color(temp_color)
          next
        end
        if color >= 0 and color <= 7
          self.contents.font.color = text_color(color)
        end
        @type_time += (3+$1.to_s.length)
      end

      if c == "\002"
        if @gold_window == nil and @popchar <= 0
          @gold_window = Window_Gold.new
          @gold_window.x = 560 - @gold_window.width
          if $game_temp.in_battle
            @gold_window.y = 192
          else
            @gold_window.y = self.y >= 128 ? 32 : 384
          end
          @gold_window.opacity = self.opacity
          @gold_window.back_opacity = self.back_opacity
        end
        @type_time += 1
        c = ""
      end

      if c == "\003"
        @now_text.sub!(/\[([0-9]+)\]/, "")
        speed = $1.to_i
        if speed >= 0 and speed <= 19
          @write_speed = speed
        end
        c = ""
        @type_time += (3+$1.to_s.length)
      end

      if c == "\004"
        @now_text.sub!(/\[(.*?)\]/, "")
        buftxt = $1.dup.to_s
        @type_time += (3+$1.to_s.length)
        if buftxt.match(/\//) == nil and buftxt != "" then
          $soundname_on_speak = "Audio/SE/" + buftxt
        else
          $soundname_on_speak = buftxt.dup
        end
        c = ""
      elsif c == "\004" 
        c = ""
      end
      
      if c == "\005"
        @write_wait += 5
        c = ""
        @type_time += 1
      end
      
      if c == "\006"
        @write_wait += 20
        @type_time += 1
        c = ""
      end
      
      if c == "\016"
        text_not_skip = false
        @type_time += 1
        c = ""
      end
      
      if c == "\017"
        text_not_skip = true
        @type_time += 1
        c = ""
      end
      
      if c == "\020"
        @mid_stop = true
        @type_time += 1
        c = ""
      end
      
      if c == "\021"
        terminate_message
        @type_time += 1
        return
      end
      
      if c == "\023"
        @indent = @x
        @type_time += 1
        c = ""
      end

      if c == "\024"
        @now_text.sub!(/\[([0-9]+)\]/, "")
        @opacity = $1.to_i
        color = self.contents.font.color
        self.contents.font.name = $ams.font_type
        self.contents.font.size = $ams.font_size
        self.contents.font.color = Color.new(color.red, color.green, color.blue, color.alpha * @opacity / 255)
        @type_time += (3+$1.to_s.length)
        c = ""
      end

      if c == "\025"
        @now_text.sub!(/\[([0-9]+)\]/, "")
        self.contents.font.size = [[$1.to_i, 6].max, 32].min
        @type_time += (3+$1.to_s.length)
        c = ""
      end

      if c == "\026"
        @now_text.sub!(/\[([0-9]+)\]/, "")
        @x += $1.to_i
        @type_time += (3+$1.to_s.length)
        c = ""
      end
      
      if c == "\027"
        @now_text.sub!(/\[(.*?)\]/, "")
        @x += ruby_draw_text(self.contents, @x, @y * line_height + (line_height - self.contents.font.size), $1, @opacity)
        if $soundname_on_speak != ""
          Audio.se_play($soundname_on_speak)
        end
        @type_time += (3+$1.to_s.length)
      c = ""
      end

      if c == "\030"
        @now_text.sub!(/\[(.*?)\]/, "")
        self.contents.blt(@x , @y * line_height + 8, RPG::Cache.icon($1), Rect.new(0, 0, 24, 24))
        if $soundname_on_speak != ""
          Audio.se_play($soundname_on_speak)
        end
        @x += 24
        @type_time += (3+$1.to_s.length)
        c = ""
      end

      if c == "\n"
        @lines += 1
        @y += 1
        @x = 0 + @indent + @face_indent
        if @lines >= $game_temp.choice_start
          @x = 8 + @indent + @face_indent
          @cursor_width = @max_choice_x
        end
        c = ""
      end
      
      if c == "\022"
        @now_text.sub!(/\[([0-9]+)\]/, "")
        @x += gaiji_draw(4 + @x, @y * line_height + (line_height - self.contents.font.size), $1.to_i)
        c = ""
      end
      
      #NEW
      #Dubealex's Text Skip On/OFF Command
       if c == "\100"
          if @alex_skip==false
             @alex_skip=true
          else
            @alex_skip=false
          end
         c = ""
         @type_time += 1
       end  
       #end of new command        
      if c != ""
        if @mark != ""
          c.concat(@mark)
          @mark = ""
        end
        self.contents.draw_text(0+@x, 32 * @y, 40, 32, c)
        @x += self.contents.text_size(c).width
        if $soundname_on_speak != "" then
          Audio.se_play($soundname_on_speak)
        end
        @type_time += 1
        end
#SKIP_TEXT_CODE

# B = Escape, 0 (On The NumPad), X 
# C = Enter, Space Bar and C
# A = Shift, Z 

  if Input.press?(Input::C) # <-- Change the value on that line
    if @alex_skip==false      
    text_not_skip = false
    end
      end
    else
      @now_text = ""
      text_not_skip = true
      break
    end
    
    if text_not_skip
      break
    end
  end
  @write_wait += @write_speed
  return
end

if @input_number_window != nil
  @input_number_window.update
  if Input.trigger?(Input::C)
    $game_system.se_play($data_system.decision_se)
    $game_variables[$game_temp.num_input_variable_id] =
      @input_number_window.number
    $game_map.need_refresh = true
    @input_number_window.dispose
    @input_number_window = nil
    terminate_message
  end
  return
end

if @contents_showing
  if $game_temp.choice_max == 0
    self.pause = true
  end
  
  if Input.trigger?(Input::B)
    if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
      $game_system.se_play($data_system.cancel_se)
      $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
      terminate_message
    end
  end
  
  if Input.trigger?(Input::C)
    if $game_temp.choice_max > 0
      $game_system.se_play($data_system.decision_se)
      $game_temp.choice_proc.call(self.index)
    end
    if @mid_stop
      @mid_stop = false
      return
    else
      terminate_message
    end
  end
  return
end

if @fade_out == false and $game_temp.message_text != nil
  @contents_showing = true
  $game_temp.message_window_showing = true
  refresh
  Graphics.frame_reset
  self.visible = true
  self.contents_opacity = 0
  if @input_number_window != nil
    @input_number_window.contents_opacity = 0
  end
  @fade_in = true
  return
end

if self.visible
  @fade_out = true
  self.opacity -= 48
  if self.opacity == 0
    self.visible = false
    @fade_out = false
    $game_temp.message_window_showing = false
  end
  return
end
end

#--------------------------------------------------------------------------

def get_character(parameter)

case parameter
when 0  
  return $game_player
else 
  events = $game_map.events
  return events == nil ? nil : events[parameter]
end
end

#--------------------------------------------------------------------------

def reset_window

#MESSAGE_SIZE
#MESSAGE_POSITION

if @popchar >= 0
  events = $game_map.events
  if events != nil
    character = get_character(@popchar)
    x = [[character.screen_x -  $ams.event_message_x_ofset - self.width / 2, 4].max, 636 - self.width].min
    y = [[character.screen_y - $ams.event_message_y_ofset - self.height, 4].max, 476 - self.height].min
    self.x = x
    self.y = y
  end
elsif @popchar == -1
  self.x = -4
  self.y = -4
  self.width = 648
  self.height = 488
else
  if $game_temp.in_battle
    self.y = 16
  else
    case $game_system.message_position
    when 0  
      self.y = $ams.message_style[$ams.style]["y"][0]
    when 1  
      self.y = $ams.message_style[$ams.style]["y"][1]
    when 2  
      self.y = $ams.message_style[$ams.style]["y"][2]
    end
    self.x = $ams.message_style[$ams.style]["x"]
    if @face_file == nil
      self.width = $ams.message_style[$ams.style]["width"]
      self.x = $ams.message_style[$ams.style]["x"]
    else
      if self.width <= 600
        self.width = 600
        self.x -=60
       end 
    end
    self.height = $ams.message_style[$ams.style]["height"]
  end
end
self.contents = Bitmap.new(self.width - 32, self.height - 32)
self.contents.font.color = text_color($ams.message_box_text_color)
self.contents.font.name = $ams.font_type
 self.contents.font.size = $ams.font_size
if @face_file != nil
  self.contents.blt(16, 16, RPG::Cache.picture(@face_file), Rect.new(0, 0, 96, 96))
end
if @popchar == -1
  self.opacity = 255
  self.back_opacity = 0
elsif $game_system.message_frame == 0
  self.opacity = 255
  self.back_opacity = $ams.message_style[$ams.style]["opacity"]
else
  self.opacity = 0
  self.back_opacity = $ams.message_style[$ams.style]["opacity"]
end
end

#--------------------------------------------------------------------------

def gaiji_draw(x, y, num)

if @gaiji_cache == nil
  return 0
else
  if @gaiji_cache.width < num * 24
    return 0
  end

  if self.contents.font.size >= 20 and self.contents.font.size <= 24
    size = 24
  else
    size = self.contents.font.size * 100 * 24 / 2200
  end

  self.contents.stretch_blt(Rect.new(x, y, size, size), @gaiji_cache, Rect.new(num * 24, 0, 24, 24))

  if $soundname_on_speak != "" then
    Audio.se_play($soundname_on_speak)
  end
  return size
end
end

#--------------------------------------------------------------------------

def line_height
return 32

if self.contents.font.size >= 20 and self.contents.font.size <= 24
  return 32
else
  return self.contents.font.size * 15 / 10
end
end

#--------------------------------------------------------------------------

def ruby_draw_text(target, x, y, str,opacity)

sizeback = target.font.size
target.font.size * 3 / 2 > 32 ? rubysize = 32 - target.font.size : rubysize = target.font.size / 2
rubysize = [rubysize, 6].max
opacity = [[opacity, 0].max, 255].min
split_s = str.split(/,/)
split_s[0] == nil ? split_s[0] = "" : nil
split_s[1] == nil ? split_s[1] = "" : nil

height = sizeback + rubysize
width  = target.text_size(split_s[0]).width

target.font.size = rubysize
ruby_width = target.text_size(split_s[1]).width
target.font.size = sizeback

buf_width = [target.text_size(split_s[0]).width, ruby_width].max

width - ruby_width != 0 ? sub_x = (width - ruby_width) / 2 : sub_x = 0

if opacity == 255
  target.font.size = rubysize
  target.draw_text(x + sub_x, y - target.font.size, target.text_size(split_s[1]).width, target.font.size, split_s[1])
  target.font.size = sizeback
  target.draw_text(x, y, width, target.font.size, split_s[0])
  return width
else
  if @opacity_text_buf.width < buf_width or @opacity_text_buf.height < height
    @opacity_text_buf.dispose
    @opacity_text_buf = Bitmap.new(buf_width, height)
  else
    @opacity_text_buf.clear
  end
  @opacity_text_buf.font.size = rubysize
  @opacity_text_buf.draw_text(0 , 0, buf_width, rubysize, split_s[1], 1)
  @opacity_text_buf.font.size = sizeback
  @opacity_text_buf.draw_text(0 , rubysize, buf_width, sizeback, split_s[0], 1)
  if sub_x >= 0
    target.blt(x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
  else
    target.blt(x + sub_x, y - rubysize, @opacity_text_buf, Rect.new(0, 0, buf_width, height), opacity)
  end
  return width
end
end

#--------------------------------------------------------------------------

def convart_value(option, index)
option == nil ? option = "" : nil
option.downcase!

case option
when "i"
  unless $data_items[index].name == nil
    r = sprintf("\030[%s]%s", $data_items[index].icon_name, $data_items[index].name)
  end
when "w"
  unless $data_weapons[index].name == nil
    r = sprintf("\030[%s]%s", $data_weapons[index].icon_name, $data_weapons[index].name)
  end
when "a"
  unless $data_armors[index].name == nil
    r = sprintf("\030[%s]%s", $data_armors[index].icon_name, $data_armors[index].name)
  end
when "s"
  unless $data_skills[index].name == nil
    r = sprintf("\030[%s]%s", $data_skills[index].icon_name, $data_skills[index].name)
  end
else
  r = $game_variables[index]
end

r == nil ? r = "" : nil
return r
end

#--------------------------------------------------------------------------

def dispose
terminate_message

if @gaiji_cache != nil
  unless @gaiji_cache.disposed?
    @gaiji_cache.dispose
  end
end

unless @opacity_text_buf.disposed?
  @opacity_text_buf.dispose
end

$game_temp.message_window_showing = false
if @input_number_window != nil
  @input_number_window.dispose
end
super
end

#--------------------------------------------------------------------------

def update_cursor_rect
if @index >= 0
  n = $game_temp.choice_start + @index
  self.cursor_rect.set(8 + @indent + @face_indent, n * 32, @cursor_width, 32)
else
  self.cursor_rect.empty
end
end
end
#=========================================
#  CLASS Window_Message Ends
#=========================================


#=========================================
#  Class Window_Frame Begins
#=========================================
class Window_Frame < Window_Base

def initialize(x, y, width, height)
super(x, y, width, height)
self.windowskin = RPG::Cache.windowskin($ams.name_box_skin)
self.contents = nil
end

#--------------------------------------------------------------------------

def dispose
super
end
end
#=========================================
#  CLASS Window_Frame Ends
#=========================================


#=========================================
#  CLASS Game_Map Additional Code Begins
#=========================================
class Game_Map

#Dubealex's Addition (from XRXS) to show Map Name on screen
def name
 return $map_infos[@map_id].gsub(/\[.*\]/) {""} # brackets, including the brackets
end
end
#=========================================
#  CLASS Game_Map Additional Code Ends
#=========================================


#=========================================
#  CLASS Scene_Title Additional Code Begins
#=========================================
class Scene_Title

#Dubealex's Addition (from XRXS) to show Map Name on screen
 $map_infos = load_data("Data/MapInfos.rxdata")
 for key in $map_infos.keys
   $map_infos[key] = $map_infos[key].name
 end
 
 #Dubealex's addition to save data from the AMS in the save files
 $ams = AMS.new
 
end
#=========================================
#  CLASS Scene_Title Additional Code Ends
#=========================================


#=========================================
#  CLASS Window_Base Additional Code Begins
#=========================================
class Window_Base < Window

#Dubealex Addition (from Phylomorphis) to use HTML Hex Code Colors
def hex_color(string)
  red = 0
  green = 0
  blue = 0
  if string.size != 6
    print("Hex strings must be six characters long.")
    print("White text will be used.")
    return Color.new(255, 255, 255, 255)
  end
  for i in 1..6
    s = string.slice!(/./m)
    if s == "#"
      print("Hex color string may not contain the \"#\" character.")
      print("White text will be used.")
      return Color.new(255, 255, 255, 255)
    end
    value = hex_convert(s)
    if value == -1
      print("Error converting hex value.")
      print("White text will be used.")
      return Color.new(255, 255, 255, 255)
    end
    case i
    when 1
      red += value * 16
    when 2
      red += value
    when 3
      green += value * 16
    when 4
      green += value
    when 5
      blue += value * 16
    when 6
      blue += value
    end
  end
  return Color.new(red, green, blue, 255)
end

#--------------------------------------------------------------------------

def hex_convert(character)
  case character
   when "0"
     return 0
  when "1"
     return 1
  when "2"
     return 2
  when "3"
     return 3
  when "4"
     return 4
  when "5"
     return 5
  when "6"
     return 6
  when "7"
     return 7
  when "8"
     return 8
  when "9"
     return 9
  when "A"
     return 10
  when "B"
     return 11
  when "C"
     return 12
  when "D"
     return 13
  when "E"
     return 14
  when "F"
     return 15
   end
  return -1
end
end
#=========================================
#  CLASS Window_Base Additional Code Ends
#=========================================


#=========================================
#  Class Air_Text Begins 
#=========================================
class Air_Text < Window_Base

def initialize(x, y, designate_text, color=0)
 
super(x-16, y-16, 32 + designate_text.size * 12, 56)
self.opacity      = 0
self.back_opacity = 0
self.contents = Bitmap.new(self.width - 32, self.height - 32)
w = self.contents.width
h = self.contents.height
self.contents.font.name = $ams.name_font_type
self.contents.font.size = $ams.name_font_size
self.contents.font.color = text_color(color)
self.contents.draw_text(0, 0, w, h, designate_text)
end

#--------------------------------------------------------------------------

def dispose
self.contents.clear
super
end
end 
#==========================================
#  CLASS Air_Text  Ends
#==========================================

Tiene varias funciones interesantes, como mensajes letra por letra y cambiar stylos de las ventanas.
 
OP

Angie

Heroic User
Mensajes
5.212
Reacciones
144
Puntos
1.086
Ubicación
Where despair lies
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

Nombre: Tic-Tac-Toe
Acerca del Script/Engine: Te permite jugar al 3 en raya con otra persona, no con el ordenador.
Autor:
sadho
Versión: 1.3
Instrucciones: Para jugar, se debe ejecutar el comando llamar script y poner lo siguiente: $scene = Tictactoe.new.
Demo:No disponible.

Screens:
3enrayawx8.jpg


Script:
Código:
######################################
# Juego Tic-tac-toe hecho por 
sadho, traducido por TN-69 - 27 Julio 2006
# Version : 1.3
######################################

class
 Tictactoe

@@turn = "x"
@@font_name = "Arial"
@@font_size =
 40

def initialize(menu_index = 0)
@menu_index = menu_index
end
######################
def
 main
@turnWindow = Turn_window.new(@@turn)
@turnwindow.x = 450
@turnwindow.y
 = 370
setSquares
setMenu

Graphics.transition
loop do
Graphics.update
Input.update
update
if
 $scene != self
break
end
end 

Graphics.freeze
@command_window.dispose
@turnwindow.dispose

for
 x in 0..8
@sqr[x].dispose
end
end
######################
def
 update
@command_window.update
@turnwindow.update(@@turn)

for
 x in 0..8
@sqr[x].update
end

if @command_window.active
update_command
return
end
end

######################
def
 update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene
 = Scene_Map.new
return
end
if Input.trigger?(Input::C)
case
 @command_window.index
when 0..8
$game_system.se_play($data_system.decision_se)
doAction(@command_window.index)
when
 9
$game_system.se_play($data_system.decision_se)
$scene = 
Tictactoe.new
when 10
$game_system.se_play($data_system.cancel_se)
$scene
 = Scene_Map.new
end
return
end
end
######################
def
 setMenu
s1 = "Arriba izquierda"
s2 = "Arriba medio"
s3 = 
"Arriba derecha"
s4 = "Centro izquierda"
s5 = "Centro medio"
s6
 = "Centro derecha"
s7 = "Abajo izquierda"
s8 = "Abajo medio"
s9
 = "Abajo derecha"
s10 = "Repetir"
s11 = "Salir"
@command_window
 = Window_Command.new(175, [s1, s2, s3, s4, s5, s6,s7,s8,s9,s10,s11])
@command_window.index
 = @menu_index
@command_window.x = 440
end
######################
def
 setSquares
@sqr = []
for x in 0..2
@sqr[x] = 
Square.new(@@font_name,@@font_size)
@sqr[x].x = (x+1)*100
@sqr[x].y
 = 50
end

for x in 3..5
@sqr[x] = 
Square.new(@@font_name,@@font_size)
@sqr[x].x = (x-2)*100
@sqr[x].y
 = 150
end

for x in 6..8
@sqr[x] = 
Square.new(@@font_name,@@font_size)
@sqr[x].x = (x-5)*100
@sqr[x].y
 = 250
end

end
######################
def 
doAction(squareId)
if (@sqr[squareId].getOwner == "none")
@sqr[squareId].setOwner(@@turn)
verifyScore
else
$game_system.se_play($data_system.buzzer_se)
end
end
######################
def
 verifyScore
gameIsFinish = false
#check all --
for x in 0..2
if
 (@sqr[x*3].getOwner == @@turn && @sqr[x*3+1].getOwner == @@turn
 && @sqr[x*3+2].getOwner == @@turn)
print "El "+@@turn+" ha 
ganado!"
gameIsFinish = true
end
end

#check all |
for
 x in 0..2
if (@sqr[x].getOwner == @@turn && 
@sqr[x+3].getOwner == @@turn && @sqr[x+6].getOwner == @@turn)
print
 "El "+@@turn+" ha ganado!"
gameIsFinish = true
end
end

#check
 \
if (@sqr[0].getOwner == @@turn && @sqr[4].getOwner == 
@@turn && @sqr[8].getOwner == @@turn) 
print "El "+@@turn+" 
ha ganado!"
gameIsFinish = true
end

#check /
if 
(@sqr[2].getOwner == @@turn && @sqr[4].getOwner == @@turn 
&& @sqr[6].getOwner == @@turn) 
print "El "+@@turn+" ha 
ganado!"
gameIsFinish = true
end

if noMoreSpace && 
!gameIsFinish
print "¡Empate!"
$scene = Scene_Restart.new
end

if
 gameIsFinish
$scene = Scene_Restart.new
elsif (@@turn == "x")
@@turn
 = "o"
else @@turn = "x"
end
end
######################
def
 noMoreSpace
for x in 0..8
if (@sqr[x].getOwner == "none")
return
 false
end
end
return true
end
######################
end

#----------------------------------------------------------------------
#Squares
#----------------------------------------------------------------------
class
 Square < Window_Base

def initialize(fontName,fontSize)
@owner
 = "none"

super(0, 0, 100,100)
self.contents = 
Bitmap.new(width-32, height-32)
self.contents.font.name = fontName 
self.contents.font.size
 = fontSize
refresh
end

def refresh
self.contents.clear
if
 (@owner == "x")
self.contents.font.color = text_color(2)
self.contents.draw_text(22,
 15, 100, 32, "X")
elsif (@owner == "o")
self.contents.font.color =
 text_color(1)
self.contents.draw_text(22, 15, 100, 32, "O")
end
end

def
 update
refresh
end
#############
def setOwner(newOwner)
@owner
 = newOwner
end
#############
def getOwner
return @owner
end
#############
end

#----------------------------------------------------------------------
#Turn
 Window
#----------------------------------------------------------------------
class
 Turn_Window < Window_Base

def initialize(turn)
super(0, 0,
 165,60)
self.contents = Bitmap.new(width-32, height-32)
self.contents.font.name
 = "Arial" 
self.contents.font.size = 30
refresh(turn)
end

def
 refresh(turn)
self.contents.clear
if (turn == "x")
self.contents.font.color
 = text_color(2)
self.contents.draw_text(0,0,100,32,"Turno de: X")
elsif
self.contents.font.color
 = text_color(1)
self.contents.draw_text(0,0,100,32,"Turno de: O")
end
end

def
 update(turn)
refresh(turn)
end
end
#----------------------------------------------------------------------
#scene
 restart
#----------------------------------------------------------------------
class
 Scene_Restart

@@font_name = "Arial"
@@font_size = 40

def
 initialize(menu_index = 0)
@menu_index = menu_index
end
######################
def
 main
setMenu

Graphics.transition
loop do
Graphics.update
Input.update
update
if
 $scene != self
break
end
end 

Graphics.freeze
@command_window.dispose
end
######################
def
 update
@command_window.update

if @command_window.active
update_command
return
end
end
######################
def
 update_command
if Input.trigger?(Input::C)
case 
@command_window.index
when 0
$game_system.se_play($data_system.decision_se)
$scene
 = Tictactoe.new
when 1
$game_system.se_play($data_system.cancel_se)
$scene
 = Scene_Map.new
end
return
end
end
######################
 
def setMenu
s1 = "Repetir"
s2 = "Salir"
@command_window = 
Window_Command.new(180, [s1, s2])
@command_window.index = @menu_index
@command_window.x
 = 250
@command_window.y = 200
end
end
 
OP

Angie

Heroic User
Mensajes
5.212
Reacciones
144
Puntos
1.086
Ubicación
Where despair lies
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

Behemoth Battle System
Creado por Behemoth.​
-Nombre Del Script: Behemot Battle System
-Versión Del Script: Dunno.
-Rpg Maker: VX
-Introducción:
Es un sistema de batalla lateral muy efectivo y dinamico, pero tiene tantas ventajas como desventajas lo cual hace que sea algo complicado utilizar.

Ventajas:

  • Facil elavoracion de habilidades ya que solo requiere la animación de combate, con un poco de practica incluso podrias poner una intro a la animacion.
  • Soporta todo tipo de animaciones ya que los battler de hecho son creados con animaciones de combate.
Desventajas:
  • Mucha incompatibilidad con casi todos los script que se utilicen para combates y habilidades.
  • Utiliza demasiadas animaciones de combate para 1 solo battler.(1 por pose)
  • Los enemigos tienen que ser creados con animaciones (1 por pose)
En pocas palabras la cantidad de recursos en animaciones es asombrosa, pero con practica y unos cuantos script mas podras manejarla.

Videos:



Descarga:
Behemoth Bleach Battle System

Creditos: Kash por crear el post original.
 
Última edición por un moderador:
OP

Angie

Heroic User
Mensajes
5.212
Reacciones
144
Puntos
1.086
Ubicación
Where despair lies
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

Aporte: Pack con algunos fogs.
Plataforma: RPG Maker XP
Créditos:
Nikolov777 por subirlos.
Descarga: Mediafire
 

DKNINJA.

Banneado
Mensajes
391
Reacciones
0
Puntos
0
Ubicación
Ciudad batallas
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

  • Nombre: MOG Skill Item
  • Autor: Moghunter
  • Version: 1.0
  • Plataforma: RPG Maker XP
  • SCRITP
Código:
#_______________________________________________________________________________
# MOG Skill Item V1.0            
#_______________________________________________________________________________
# By Moghunter            
# http://www.atelier-rgss.com
#_______________________________________________________________________________
# Permite aprender habilidades al usar un objeto.
#_______________________________________________________________________________
module MOG
# Definición del sonido cuando se aprende una habilidad. 
SKILL_LEARN_SE =  RPG::AudioFile.new("106-Heal02",150,150)
# Definición del sonido cuando no se puede aprender una habilidad.
SKILL_NOLEARN_SE =  RPG::AudioFile.new("057-Wrong01",150,150)
# Definición de los ítems que enseñan habilidades.
#
# ITEM_SKILL = {A=>B, A=B, ...}
# 
# A = ID del ITEM.
# B = ID de la HABILIDAD(SKILL).
#
ITEM_SKILL = {
              1=>1,
              2=>2,
              3=>3,
              4=>10,
              5=>23,
              10=>13,
              15=>15
              }
end
################
# Game_Battler #
################
class Game_Battler
alias mog44_item_effect item_effect
def item_effect(item)
item_skill = MOG::ITEM_SKILL[item.id]
if item_skill != nil
unless self.skill_learn?(item_skill)
self.learn_skill(item_skill)
$game_system.se_play(MOG::SKILL_LEARN_SE)
return true
else
$game_system.se_play(MOG::SKILL_NOLEARN_SE)
return false
end
end
mog44_item_effect(item)
end
end

  • INSTRUCCIONES

Cólocalo sobre MAIN. Ahora, a partir de la línea 22, puedes ir agregando items y habilidades. En el número de la izquierda se escribe el ID del objeto, y en el de la derecha se escribe el ID de la habilidad que quieras que aprenda con ese objeto. (Ese objeto debe ser USABLE...lógico no? XD).
Recuerda que la última combinación "objeto-habilidad" NO debe llevar coma al final, el resto SÍ debe llevarlas.

Saludos.
 
Última edición:
OP

Angie

Heroic User
Mensajes
5.212
Reacciones
144
Puntos
1.086
Ubicación
Where despair lies
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

Pack con varios Efectos Sonoros:
Click me :$
 

DKNINJA.

Banneado
Mensajes
391
Reacciones
0
Puntos
0
Ubicación
Ciudad batallas
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

Aporto unos cuantos charas de KING OF FIGHTERS para XP.

Yashiro Nanakase:

Char553862.png


Terry Bogard:

Char553749.png


Ralf Jones:

Char552950.png


Orochi:

Char552839.png


Mai Shiranui (la sexy mai xDD):

Char552729.png


Iori Yagami:

Char552058.png


Choi bounge:

Char551619.png


Chang Koeban:

Char551280.png


Blue Mary:

Char551172.png


Billy Kane:

Char551063.png


Saludos.
 

DKNINJA.

Banneado
Mensajes
391
Reacciones
0
Puntos
0
Ubicación
Ciudad batallas
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

Aquí aporto un tilesets de Super Mario Bross para XP:

new-SMB-Tilest-XP.png


Créditos a Dark link

Saludos.
 

DKNINJA.

Banneado
Mensajes
391
Reacciones
0
Puntos
0
Ubicación
Ciudad batallas
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

Aqui aporto un script para caminar en diagonal:

Nombre: Movement Diagonal

Plataforma: XP

Autor: Northro

Demo:

http://www.mediafire.com/?s2vgul4rp6e2u1v

Script (Por si les da paja bajarse la demo):


Código:
#===============================================================================
# Creado por: Northro
# Para: RPG Maker XP
# Nombre del Script: Movement Diagonal
# Versión del Script: 1.0
# Descripción: Mueve el personaje diagonalmente.
#===============================================================================

#===============================================================================
# Instrucciones: Pegar arriba del script "Main", para
#                poner a un personaje el character que
#                va a usar cuando se mueva en diagonal
#                debes ponerle el nombre del character
#                más "_diagonal".
#===============================================================================

#===============================================================================
# Clase "Game_Player"
#===============================================================================

class Game_Player < Game_Character
  def update
    actor = $game_party.actors[0]
    if @character_diagonal and graphic_movement_diagonal(actor)
      @character_name = actor.character_name + "_diagonal"
    else
      @character_name = actor.character_name
    end
    last_moving = moving?
    unless moving? or $game_system.map_interpreter.running? or
      @move_route_forcing or $game_temp.message_window_showing
      x = $game_player.x
      y = $game_player.y
      d = 0
      case Input.dir8
      when 1
        @through == true ? through = true : through = false
        if passable?(x - 1, y + 1, d)
          @character_diagonal = true
          @through = true if through == false
          move_left
          move_down
        end
        @through = false if through == false
      when 2
        @character_diagonal = false
        move_down
      when 3
        @through == true ? through = true : through = false
        if passable?(x + 1, y + 1, d)
          @character_diagonal = true
          @through = true if through == false
          move_down
          move_right
        end
        @through = false if through == false
      when 4
        @character_diagonal = false
        move_left
      when 6
        @character_diagonal = false
        move_right
      when 7
        @through == true ? through = true : through = false
        if passable?(x - 1, y - 1, d)
          @character_diagonal = true
          @through = true if through == false
          move_up
          move_left
        end
        @through = false if through == false
      when 8
        @character_diagonal = false
        move_up
      when 9
        @through == true ? through = true : through = false
        if passable?(x + 1, y - 1, d)
          @character_diagonal = true
          @through = true if through == false
          move_right
          move_up
        end
        @through = false if through == false
      end
    end
    last_real_x = @real_x
    last_real_y = @real_y
    super
    if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
      $game_map.scroll_down(@real_y - last_real_y)
    end
    if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
      $game_map.scroll_left(last_real_x - @real_x)
    end
    if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
      $game_map.scroll_right(@real_x - last_real_x)
    end
    if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
      $game_map.scroll_up(last_real_y - @real_y)
    end
    unless moving?
      if last_moving
        result = check_event_trigger_here([1,2])
        if result == false
          unless $DEBUG and Input.press?(Input::CTRL)
            if @encounter_count > 0
              @encounter_count -= 1
            end
          end
        end
      end
      if Input.trigger?(Input::C)
        check_event_trigger_here([0])
        check_event_trigger_there([0,1,2])
      end
    end
  end
  def graphic_movement_diagonal(actor)
    if moving?
      RPG::Cache.character(actor.character_name + "_diagonal", actor.character_hue) rescue return false
    end
  end
end

Instrucciones:

Para agregarle a un character un character de movimiento diagonal debes agregarle al final del nombre "_diagonal".

Si no entienden contáctenme por MP.

Saludos.
 
Última edición:
Mensajes
1.992
Reacciones
153
Puntos
0
Ubicación
En los ideales.
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

El Script de Rpg maker definitivo:

Final Fantasy XIII BTC/ATB System

Descripcion: Quienes hayan jugado, o visto jugar al FF XIII lo más probable es que este sistema les haya gustado
Plataforma: Solo VX
Creditos: A the-end-of-eternity y a un menda

Link:http://www.megaupload.com/?d=I8ZRMPPJ

Videos de Muestra

Para quienes no lo conzcan
http://www.youtube.com/watch?v=I6auT2NC0oYPara quienes ya lo conocen/quienes quieren ver como es el sistema de batalla
http://www.youtube.com/watch?v=9SuhbNKXhuo&feature=related/

Por cierto, quien sepa como cambiar los battlers de enemigos y como hacer que los distintos roles puedan usar habilidades, que me mande un MP y yo lo pondre

Por cierto, estoy trabajando en la traducción
 
Última edición:

ioli

Ki ni Narimasu!~
VIP
Mensajes
4.291
Reacciones
340
Puntos
0
Ubicación
кσтєи-вυ
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

RPG Tankentai Sideview Battle System
v3.4d & ATB v1.2c

• Nombre Del Script: RPG Tankentai Sideview Battle System
• Versión Del Script:
v3.4d + ATB v1.2c
• Rpg Maker:
VX
• Introducción:
Sistema de Batalla lateral mediante charas.
• Screens:
atb-1-1.jpg


• Créditos:
Enu

• Descarga:
Demo básica - RPG Tankentai SBS 3.4d
Demo con algunas anotaciones - ATB 1.2d + SBS 3.4c



Si quieres más información, puedes visitar éste sitio (está en inglés y necesitas estar registrado):
[ RPG Tankentai Sideview Battle System v3.4d & ATB v1.2c ], Battle System by Enu (Update: July 11, 2010)


 
Última edición por un moderador:
OP

Angie

Heroic User
Mensajes
5.212
Reacciones
144
Puntos
1.086
Ubicación
Where despair lies
Re: ☆ APORTES de Recursos, Scripts/Engines, Herramientas y Tutoriales ☆ ◘•SOLO APORTE

Aporte: Pack de Auto-tiles que me pasó kululu-labo♪ (créditos a él).
Plataforma: RPG Maker XP

Auto Tiles (Subidos por ~Angie)
 
Estado
Cerrado para nuevas respuestas
Arriba Pie