ComediaMaker
Faça Login e conecte-se!!!

Ainda nao é membro?
Registre-se logo e faça parte
dessa Bagaça!!




Mog Input Name

Ir em baixo

Dispondo Mog Input Name

Mensagem por Diogo Pegasus em Dom Mar 06, 2011 10:11 am

MOG-Name_Input
V1.0

Introdução: Um script que muda a tela de colocar o nome do herói

Instrusões:
Pegue o script cole acima de main, baixe as imagens "lá em baixo", crie
uma pasta dentro de Graphics chamada Transitions e dentro dela coloque a
imagem "003-Blind03" e dentro da pasta pictures coloque as outras duas e
teste o jogo

SS:



Script:

Código:

Código: [url=http://comediamaker.forumeiro.com/][Selecionar][/url]

#_______________________________________________________________________________
# MOG Scene Name Iris RMVX Version 1.0         
#_______________________________________________________________________________
# Credits:
# Original XP version By Moghunter
# LoMastul For Converting it to RMVX.
#
# Link to Moghunter's Scripts: http://www.atelier-rgss.com
#===============================================================================
# Do Not Edit!!
# This script is 100% Plug n' Play
#_______________________________________________________________________________
# Scene Name with moving background :P.
# (Crie seu próprio estilo.) --? o.O got no idea what it means
#_______________________________________________________________________________
module MOG
# Time given to the transition.
MSNTT1 = 30
# Defines the name of the transition which is used.
MSNTT2 = "003-Blind03"
end
$mogscript = {} if $mogscript == nil
$mogscript["Scene_Name_Iris"] = true
###############
# Window_Base #
###############
class Window_Base < Window
 
def draw_actor_level_name(actor, x, y)
self.contents.font.color = normal_color
self.contents.draw_text(x , y, 24, WLH, actor.level.to_s, 1)
end
def draw_actor_class_menu_status(actor, x, y)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 90, 40, actor.class.name, 1)
end
def draw_actr_name(actor, x, y)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 220, 50, actor.name,1)
end
end
######################
# Window_Status_Name #
######################
class Window_Status_Name < Window_Base
def initialize(actor)
super(0, 0, 270, 416)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Georgia"
@actor = actor
self.opacity = 0
refresh
end
def refresh
self.contents.clear
draw_actor_graphic(@actor, 40, 94)
draw_actor_class_menu_status(@actor, 55, 340)
draw_actor_level_name(@actor, 8, 96)
end
end
####################
# Window_NameEdit2 #
####################
class Window_NameEdit2 < Window_Base
attr_reader  :name                 
attr_reader  :index                 
def initialize(actor, max_char)
super(-100, 6, 540, 128)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
@name = actor.name
@max_char = max_char
name_array = @name.split(//)[0...@max_char]
@name = ""
for i in 0...name_array.size
@name += name_array[i]
end
@default_name = @name
@index = name_array.size
refresh
update_cursor_rect
end
def restore_default
@name = @default_name
@index = @name.split(//).size
refresh
update_cursor_rect
end
def add(character)
if @index < @max_char and character != ""
@name += character
@index += 1
refresh
update_cursor_rect
end
end
def back
if @index > 0
name_array = @name.split(//)
@name = ""
for i in 0...name_array.size-1
@name += name_array[i]
end
@index -= 1
refresh
update_cursor_rect
end
end
def refresh
self.contents.clear
name_array = @name.split(//)
for i in 0...@max_char
c = name_array[i]
if c == nil
c = ""
end
x = 320 - @max_char * 14 + i * 28
self.contents.draw_text(x + 32, 64, 28, 28, c, 1)
end
draw_actr_name(@actor, 295, 20)
end
def update_cursor_rect
x = 320 - @max_char * 14 + @index * 28
self.cursor_rect.set(x + 32, 64, 28, 28)
end
def update
super
update_cursor_rect
end
end
#####################
# Window_NameInput2 #
#####################
class Window_NameInput2 < Window_Base
CHARACTER_TABLE =
[
"A","B","C","D","E",
"F","G","H","I","J",
"K","L","M","N","O",
"P","Q","R","S","T",
"U","V","W","X","Y",
"Z"," "," "," "," ",
"+","-","*","/","!",
"1","2","3","4","5",
"" ,"" ,"" ,"" ,"" ,
"a","b","c","d","e",
"f","g","h","i","j",
"k","l","m","n","o",
"p","q","r","s","t",
"u","v","w","x","y",
"z"," "," "," "," ",
"#","$","%","&","@",
"6","7","8","9","0",
"" ,"" ,"" ,"" ,"" ,
]
def initialize
super(120, 120, 544, 416)
self.contents = Bitmap.new(width - 28, height - 28)
@index = 0
refresh
update_cursor_rect
end
def character
return CHARACTER_TABLE[@index]
end
def refresh
self.contents.clear
for i in 0...90
x = 50 + i / 5 / 9 * 180 + i % 5 * 28
y = i / 5 % 9 * 28
self.contents.draw_text(x, y, 28, 28, CHARACTER_TABLE[i], 1)
end
self.contents.draw_text(302, 9 * 28, 48, 28, "OK", 1)
end
def update_cursor_rect
if @index >= 90
self.cursor_rect.set(300, 9 * 28, 48, 28)
else
x = 50 + @index / 5 / 9 * 180 + @index % 5 * 28
y = @index / 5 % 9 * 28
self.cursor_rect.set(x, y, 28, 28)
end
end
def update
super
if @index >= 90
if Input.trigger?(Input::DOWN)
Sound.play_cursor
@index -= 90
end
if Input.repeat?(Input::UP)
Sound.play_cursor
@index -= 90 - 40
end
else
if Input.repeat?(Input::RIGHT)
if Input.trigger?(Input::RIGHT) or
@index / 45 < 3 or @index % 5 < 4
Sound.play_cursor
if @index % 5 < 4
@index += 1
else
@index += 45 - 4
end
if @index >= 90
@index -= 90
end
end
end
if Input.repeat?(Input::LEFT)
if Input.trigger?(Input::LEFT) or
@index / 45 > 0 or @index % 5 > 0
Sound.play_cursor
if @index % 5 > 0
@index -= 1
else
@index -= 45 - 4
end
if @index < 0
@index += 90
end
end
end
if Input.repeat?(Input::DOWN)
Sound.play_cursor
if @index % 45 < 40
@index += 5
else
@index += 90 - 40
end
end
if Input.repeat?(Input::UP)
if Input.trigger?(Input::UP) or @index % 45 >= 5
Sound.play_cursor
if @index % 45 >= 5
@index -= 5
else
@index += 90
end
end
end
if Input.repeat?(Input::L) or Input.repeat?(Input::R)
Sound.play_cursor
if @index < 45
@index += 45
else
@index -= 45
end
end
end
update_cursor_rect
end
end
##############
# Scene_Name #
##############
class Scene_Name
def main
@actor = $game_actors[$game_temp.name_actor_id]
@edit_window = Window_NameEdit2.new(@actor, $game_temp.name_max_char)
@edit_window.opacity = 0
@input_window = Window_NameInput2.new
@input_window.opacity = 0
@name_back = Plane.new
@name_back.bitmap = Cache.picture("MN_BK")
@name_back.z = 10
@name_back.opacity = 255
@name_lay = Plane.new
@name_lay.bitmap = Cache.picture("Name_Lay")
@name_lay.z = 15
@name_lay.opacity = 255
@name_status_window = Window_Status_Name.new(@actor)
@name_status_window.x -= 300
@name_status_window.contents_opacity = 0
Graphics.transition(MOG::MSNTT1, "Graphics/Transitions/" + MOG::MSNTT2)
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@edit_window.dispose
@input_window.dispose
@name_back.dispose
@name_lay.dispose
@name_status_window.dispose
end
def update
@name_back.ox += 1
if @name_status_window.x < 0
@name_status_window.x += 15
@name_status_window.contents_opacity += 5
elsif @name_status_window.x >= 0
@name_status_window.x = 0
@name_status_window.contents_opacity = 255
end
@edit_window.update
@input_window.update
if Input.repeat?(Input::B)
if @edit_window.index == 0
return
end
Sound.play_cancel
@edit_window.back
return
end
if Input.trigger?(Input::C)
if @input_window.character == nil
if @edit_window.name == ""
@edit_window.restore_default
if @edit_window.name == ""
Sound.play_buzzer
return
end
Sound.play_cursor
return
end
@actor.name = @edit_window.name
Sound.play_cursor
$scene = Scene_Map.new
return
end
if @edit_window.index == $game_temp.name_max_char
Sound.play_buzzer
return
end
if @input_window.character == ""
Sound.play_buzzer
return
end
Sound.play_cursor
@edit_window.add(@input_window.character)
return
end
end
end
Downloads

Demo do script em inglês
Imagens


Céditos

MogHunter : Fez o script na versão XP
LoMastul : Converteu para VX
Fael : por disponibilizar no MRM
RMXP.org : site de onde foi retirado

______________________________________________________________________________
avatar
Diogo Pegasus
Marechal do CM
Marechal do CM


Mensagens : 1139
Comédia Grana : 5228
Créditos : 20
Humor : O Google é meu pastor e nada me faltará

Ver perfil do usuário http://comediamaker.forumeiro.com

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum