조회 수 250 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
전체키사용스크립트를쓸려고하는데요
전체키스크립트가안돼요
대음양사님과같은경우인데요
게임을시작하면RPGXP에문제가있어서 뭐시기 나오고(오류보고보내는거요)
어떻게해야사용가능하죠??


스크립트는이겁니다




#------------------------------------------------------------------------------
# ●임의 키 취득 스크립트  by tonbi
#
#  최신판의 정보나 버그 보고는 여기 → http://www.mc.ccnw.ne.jp/sarada/toshi/
#
# 이것을 사용한 것으로 ,이벤트의 스크립트로부터 ,
#
#   get_press(variable,key)       키가 눌러지고 있는가 취득
#   get_trigger(variable,key)     키가 누른 순간인지 취득
#   get_repeat(variable,key)      키가 눌러지고 있는가 취득(일정 시간마다)
#   get_press_all(variable)       상기의 일괄 취득 판
#   get_trigger_all(variable)     상기의 일괄 취득 판
#   get_repeat_all(variable)      상기의 일괄 취득 판
#
#   ※variable = 변수 ID  key = 키 ID 입니다.
#
# 이들이 실행할 수 있게 됩니다.
# 각각,지정한 넘버의 변수에 ,눌러지고 있다면 1,다르면0이 대입됩니다.
# 또,하단의 일괄 취득계는 ,지정한 변수의 넘버로부터 순서로,키 ID:0,1,2,···
# 토스 가와의 키 ID가 대입되고 갑니다.
#
# 조건 분기의 스크립트로 ,Key.press?(key) 라고(와) 넣으면 ,변수 사용하지 않고 분기될 수 있습니다.
# Key.trigger?(key),Key.repeat?(key) 모방할 수 있습니다.
#
# 키 ID 초기 설정은 ,(타이핑겜 기분?)
#
#      0 : 커서 키[←]
#      1 : 커서 키[↑]
#      2 : 커서 키[→]
#      3 : 커서 키[↓]
#      4 : [ENTER]
#      5 : [SPACE]
#      6 : [ESC]
#      7 : [BACKSPACE]
#      8 : [DELETE]
#      9 : [SHIFT]
#     10 : [CTRL]
#     11 : [ALT]
#     12 : [TAB]
#     13 : [CAPSLOCK]
# 14∼23 : [0]∼[9](메인 키보드)
# 24∼49 : [A]∼[Z]
# 50∼59 : [0]∼[9](텐 키)
#     60 : [,] (값)
#     61 : [.] (る)
#     62 : [/] (싹)
#     63 : [_] (로)
#     64 : [;] (れ)
#     65 : [:] (け)
#     66 : []] (무)
#     67 : [@] (")
#     68 : [[] (。)
#     69 : [-] (돛)
#     70 : [^] (에)
#     71 : []
#
# 아래쪽의 ★도장의 코멘트의 주변을 만지면,
# 필요하지 않는 키를 삭제하거나 ,늘리거나 를 할 수 있습니다.
# 키 코드의 지식이 필요합니다만 .
#  
#------------------------------------------------------------------------------
# ●스크립트로부터 직접 다양한 키를 취득하고 싶은 쪽에
#
# 1.취득하고 싶은 장면의 Input.update의 뒤 정답에 「Key.update」를 추가
# 2.Key.trigger?(keyID)로서 취득한다.press?,repeat?그러나 가
#   덧붙여서 되돌아가고 값은 Input의 경우와 동일한.
#
#------------------------------------------------------------------------------  
#==============================================================================
# ■ Key
# 키 취득을 관리한 클래스
#==============================================================================
module Key
  #----------------------------------------------------------
  # ● 오브젝트 초기화
  #----------------------------------------------------------
  def self.setup
    @keystatus=[]
    @getkeystate = Win32API.new("user32", "GetKeyState", "i", "i")
  end  
#----------------------------------------------------------
  # ● 갱신
  #----------------------------------------------------------
  def self.update
    for i in @keystatus
      num1 = false
      for j in i[1]
        num2=@getkeystate.call(j)
        if num2 != 1 and num2 != 0
          num1 = true
          break
        end
      end
      if num1 == false
        if i[0] > 0
          i[0] = i[0]*-1
        else
          i[0] = 0
        end
      else
        if i[0] > 0
          i[0] += 1
        else
          i[0] = 1
        end
      end      
    end
  end  
#----------------------------------------------------------
  # ● 키가 설정된 최대 삭
  #----------------------------------------------------------
  def self.max
    return @keystatus.size
  end
  #----------------------------------------------------------
  # ● 키 설정을 추가하다
  #     id    추가 선ID
  #     code  추가한 키 코드
  #----------------------------------------------------------
  def self.add_key(id,code)
    if @keystatus[id]=nil
      keystatus[id]=[]
    end
    @keystatus[id][0]=0
    @keystatus[id][1].push(code)
  end  
#----------------------------------------------------------
  # ● 키 설정을 삭제하다
  #     id    삭제 ID
  #----------------------------------------------------------
  def self.del_key(id)
    @keystatus[id]=nil
  end
  #----------------------------------------------------------
  # ● 키 설정을 일괄 변경하다
  #     val    키 설정의 배열,2 차원
  #     예 [[65],[66,67],[68]]
  #     졸참나무,  ID.0=A 키,ID.1=B와 C 키,ID.2=D 키와 설정
  #----------------------------------------------------------
  def self.add_key_set(val)
    @keystatus = []
    for i in 0...val.size
      if @keystatus[i]==nil
        @keystatus[i]=[]
      end
      @keystatus[i][0]=0
      @keystatus[i][1]=val[i]
    end
  end    
#----------------------------------------------------------
  # ● 키 설정을 일괄 삭제한다
  #----------------------------------------------------------
  def self.del_key_set
    @keystatus[i]=nil
  end
  #----------------------------------------------------------
  # ● 키 정보를 돌려 준다.Input와 동일한.
  #     id   키 ID
  #----------------------------------------------------------
  def self.press?(id)
    if @keystatus[id][0] > 0
      return true
    else
      return false
    end
  end
  def self.trigger?(id)
    if @keystatus[id][0] == 1
      return true
    else
      return false
    end
  end
  def self.repeat?(id)
    if @keystatus[id][0] <= 0
      return false
    else
      if @keystatus[id][0] % 5 == 1 and @keystatus[id][0] % 5 != 2
        return true
      else
        return false
      end
    end
  end
end  
#==============================================================================9
# ■ Scene_Title (키의 초기화 호출)
#==============================================================================
class Scene_Title
  alias main_tonbi12 main
  def main
    #----------------------------------------------------------------
    # ★여기를 만지면,키 ID와 키 코드의 설정을 바꾸는 일을 할 수 있습니다.
    # 1개의 ID에 여러 키 넣고 싶다면
    # 변수 val = [[37],[38],[39],[40],[13,32]]
    # 의과 같이2 차원 배열이 되도록 해 주십시오.
    # [13,32]과 같이 1개의 ID에 여러의 키를 설정할 수 있습니다.
    #
    set = [37,38,39,40,13,32,27,8,46,16,17,18,9,20,48,49,50,51,52,53,54,55,56,57,
    65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
    96,97,98,99,100,101,102,103,104,105,188,190,191,226,187,186,221,192,219,189,
    222,220]
    # 2 차원에 변환
    val = []
    for i in set
      val.push([i])
    end
    # set 가 아니고 val 에(로) 설정하십시오.set 은  1회용.
    #----------------------------------------------------------------
    Key.setup
    Key.add_key_set(val)
    Key.update
    main_tonbi12
  end
end  
#==============================================================================
# ■ Scene_Map (키의 갱신을 추가)
#==============================================================================
class Scene_Map
  alias update_tonbi12 update
  def update
    Key.update
    update_tonbi12
  end
end
#==============================================================================
# ■ Scene_battle (키의 갱신을 추가)
#==============================================================================
class Scene_Battle
  alias update_tonbi12 update
  def update
    Key.update
    update_tonbi12
  end
end  
#==============================================================================
# ■ Interpreter (이벤트>스크립트용 방법)
#==============================================================================
class Interpreter
  def get_press(variable,id)
    $game_variables[variable]= Key.press?(id) == true ? 1 : 0
  end
  def get_trigger(variable,id)
    $game_variables[variable]= Key.trigger?(id) == true ? 1 : 0
  end
  def get_repeat(variable,id)
    $game_variables[variable]= Key.repeat?(id) == true ? 1 : 0
  end
  def get_press_all(variable)
    for i in 0...Key.max
      $game_variables[variable+i]= Key.press?(i) == true ? 1 : 0
    end
  end
  def get_trigger_all(variable)
    for i in 0...Key.max
      $game_variables[variable+i]= Key.trigger?(i) == true ? 1 : 0
    end
  end
  def get_repeat_all(variable)
    for i in 0...Key.max
      $game_variables[variable+i]= Key.repeat?(i) == true ? 1 : 0
    end
  end
end  
?

List of Articles
번호 제목 글쓴이 날짜 조회 수
1367 몹을 이벤트로 깔아놓기 강추... 메서슈미트 2005.08.18 359
1366 rpg2003첨시작할때 해설넣는법 afjlljfa 2005.08.18 554
1365 액알이 뭔가요? 카리아인 2005.08.17 331
1364 맵 만드는 거에서요... メIllusion。 2005.08.17 116
1363 RPGXP로 턴제전략(SRPG) 만드는 법좀...;; 천공MiD짱 2005.08.17 921
1362 질문요! 덩키동크 2005.08.17 214
1361 질문요! 크로스바게트 2005.08.17 283
1360 RPGXP 꼭 해결해주삼 DSR-pro 2005.08.17 471
1359 RPGXP 꼭 해결해주삼 file ^,.^ 2005.08.17 610
1358 2인용 액알을 만들려고 합니다(rpg2003) file 카리스 2005.08.17 679
1357 RPG2003에서 이벤트 캐릭 그림 설정할때 윤수마루 2005.08.17 455
1356 RPG2003에서 이벤트 캐릭 그림 설정할때 초반수 2005.08.17 463
1355 택틱컬 rpg만들기 ㅡㅡ; 나루나비 2005.08.17 616
1354 [급한질문] 제발 부탁드립니다. 전체키 스크립트요 빨리요..! file 대음양사 2005.08.17 328
1353 RPG 게임만들기 2003 에서...(왕초보가) Strawbe_Lee 2005.08.17 541
» 전체키사용스크립트말인데요... ㅅr랑go백 2005.08.17 250
1351 rpg메이커 xp에서 레벨업할떄마다 렙업했다고 알려주는창뜨게하는방법좀 가르쳐주세요. 크레시스 2005.08.17 247
1350 rpg메이커 xp에서 레벨업할떄마다 렙업했다고 알려주는창뜨게하는방법좀 가르쳐주세요. 나철 2005.08.17 417
1349 타이틀이 되는파일은? 윤수마루 2005.08.17 137
1348 타이틀이 되는파일은? file 청렴결백 2005.08.16 301
Board Pagination Prev 1 ... 369 370 371 372 373 374 375 376 377 378 ... 442 Next
/ 442


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)