한글 입력 그런 허접한 스크립트가 아니라
진짜 한글 채팅 스크립트입니다.
분명히 말하지만 출처는 게임공작소(rpgxp.gameshot.net)의 허걱 님 자료입니다.
자세한 사용방법은 프로젝트에 나와있는걸로 알고있습니다.
p.s : RKC에는 죽어도 올리기 싫더니.. asd
Timorian(내가바로T다)
Knave
Grump
하고.. 닉네임도 참 자주 바뀌는군
blog.naver.com/cutie_color
| 첨부 '1' |
|---|
와; 잘 만드셨네요 ㄷㄷㄷ
역시 이런건 네트워크에이용하는개 ㅋㅋ
물개는 우엉우엉
우와ㅇㅅㅇ 잘쓸게요-
이거 좋네요.ㅎㅎ
오옹@.@
되게 좋네요ㅎㅎ.
잘 쓸게요!
대박
짱이에요 근대여 파일인 손상됬다고 나옵니다.
우왔~!! 감사합니다~!!
이거 사용법 몰랐는데 이 글덕분에 사용법을 알았다능..
잘사용 하겠습니다~
입력인데..
아르시스 제외하고
페릭스인가 ? . . 파란애 제외하고
글로리아 제외하고
힐다 제외하니깐 ㅎㅎ 추천
잘 쓸게요
제...
발
#============================================================================
# ■ Window_NameInput
#============================================================================
class Window_NameInput < Window_Base
#--------------------------------------------------------------------------
def initialize
super(NWS::NIW_X, NWS::NIW_Y, (NWS::HOR_LINE + 1) * 32, (NWS::VER_LINE + 1) * 32 )
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = NWS::OPACITY
@index = 0
refresh
update_cursor
end
#--------------------------------------------------------------------------
def character
return NWS::TABLE[@index]
end
#--------------------------------------------------------------------------
def is_decision
return (@index == NWS::CONFIRM)
end
#--------------------------------------------------------------------------
def item_rect(index)
rect = Rect.new(0, 0, 0, 0)
rect.x = index % NWS::HOR_LINE * 32
rect.y = index / NWS::HOR_LINE * 32
rect.width = 32
rect.height = 32
return rect
end
#--------------------------------------------------------------------------
def refresh
self.contents.clear
for i in 0...NWS::TABLE.size
rect = item_rect(i)
rect.x += 2
rect.width -= 4
self.contents.draw_text(rect, NWS::TABLE[i], 1)
end
end
#--------------------------------------------------------------------------
def update_cursor
self.cursor_rect = item_rect(@index)
end
#--------------------------------------------------------------------------
def cursor_down(wrap)
if @index < NWS::VER_LINE * NWS::HOR_LINE - NWS::HOR_LINE
@index += NWS::HOR_LINE
elsif wrap
@index -= NWS::VER_LINE * NWS::HOR_LINE - NWS::HOR_LINE
end
end
#--------------------------------------------------------------------------
def cursor_up(wrap)
if @index >= NWS::HOR_LINE
@index -= NWS::HOR_LINE
elsif wrap
@index += NWS::VER_LINE * NWS::HOR_LINE - NWS::HOR_LINE
end
end
#--------------------------------------------------------------------------
def cursor_right(wrap)
if @index % NWS::HOR_LINE < (NWS::HOR_LINE - 1)
@index += 1
elsif wrap
@index -= (NWS::HOR_LINE - 1)
end
end
#--------------------------------------------------------------------------
def cursor_left(wrap)
if @index % NWS::HOR_LINE > 0
@index -= 1
elsif wrap
@index += (NWS::HOR_LINE - 1)
end
end
#--------------------------------------------------------------------------
def cursor_to_decision
@index = NWS::CONFIRM
end
#--------------------------------------------------------------------------
def update
super
last_mode = @mode
last_index = @index
if Input.repeat?(Input::DOWN)
cursor_down(Input.trigger?(Input::DOWN))
end
if Input.repeat?(Input::UP)
cursor_up(Input.trigger?(Input::UP))
end
if Input.repeat?(Input::RIGHT)
cursor_right(Input.trigger?(Input::RIGHT))
end
if Input.repeat?(Input::LEFT)
cursor_left(Input.trigger?(Input::LEFT))
end
if Input.trigger?(Input::A)
cursor_to_decision
end
if @index != last_index
end
update_cursor
end
end
#===========================================================================
# ■ Scene_Name
#===========================================================================
class Scene_Name
#---------------------------------------------------------------------------
def main
@actor = $game_actors[$game_temp.name_actor_id]
back = Spriteset_Map.new if NWS::BACKGROUND == true
@edit_window = Window_NameEdit.new(@actor, $game_temp.name_max_char)
@input_window = Window_NameInput.new
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
back.dispose if NWS::BACKGROUND == true
@edit_window.dispose
@input_window.dispose
end
#--------------------------------------------------------------------------
def terminate
@menuback_sprite.dispose
@edit_window.dispose
@input_window.dispose
end
#--------------------------------------------------------------------------
def return_scene
$scene = Scene_Map.new
end
#--------------------------------------------------------------------------
def update
@edit_window.update
@input_window.update
if Input.repeat?(Input::B)
if @edit_window.name == [] && @edit_window.prompt == []
$game_system.se_play($data_system.buzzer_se)
else
@edit_window.back
end
elsif Input.trigger?(Input::C)
if @input_window.is_decision
if @edit_window.name.size == 0 && @edit_window.prompt.size == 0 # 이름이 비어있는 경우
@edit_window.restore_default
if @edit_window.name.size == 0 && @edit_window.prompt.size == 0
$game_system.se_play($data_system.buzzer_se)
else
$game_system.se_play($data_system.decision_se)
end
else
name = @edit_window.prompt_to_letter
name = @edit_window.name.to_s + name
@actor.name = name
return_scene
end
elsif @input_window.character != "" && @input_window.character != nil
if @edit_window.name.size > @edit_window.max_char
$game_system.se_play($data_system.buzzer_se)
else
@edit_window.add(@input_window.character)
end
end
end
end
end
우와 ㅎ
이상하게 오류가 나네요. ㅠㅠ
감사합니다