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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
 
상태 창을 스크립트를 사용하여 화면에 띄울려고 합니다.

일단 스크립트 창을 열고 main 위에 삽입을 하여 새 스크립트를 만든 다음

붙여 넣었으나. 아무것도 되지 않는군요

 

스크립트 내용중 15번 스위치가 on 되었을 때라는 조건이 붙어 이벤트로

15번 스위치 on을 만들었으나 출력 되지 않습니다. 원인을 아시는 분은 꼭좀 알려주세요.

그럼 스크립트 나갑니다...

 

 

 

#◆◇◆◇◆-----XRXS54. 맵상에서 간이 윈도우 표시 ver1. 0 -----◇◆◇◆◇
# by 각궁
# 「디폴트 기능 & 사양」
# ·WIN_2 = true. (이)라고 해도, 스윗치가 ON로 한편, 엑터가 존재하지 않으면
#  윈도우는 표시되지 않습니다. 이 3 요소가 갖추어졌을 때에 윈도우를 표시합니다.
# ·반대로 이 요소가 하나에서도 빠지면(자) 윈도우는 자동적으로 비표시가 됩니다.
# ·트크르 개시시는 스윗치는 OFF이므로, ON로 하지 않으면 표시되지 않습니다.
#------------------------------------------------------------------
# 커스터마이즈(customize) 포인트
#(*존재하지 않는 스윗치를 지정하시면(자) 에러가 됩니다. )
#----------------------------------------------------------------
WIN_1 = true # 엑터 1용 윈도우를 표시한다면 true, 하지 않으면 false.
SWITVH_1 = 15 # 엑터 1용 윈도우의 표시/비표시에 대응하는 스윗치의 ID.
#스위치에 관한 설명은 위를 참고해 주세요.
OPACITY_1 = 50 # 엑터 1용 윈도우의 투명도(0으로 가까울 정도 투명)
X_1 = 0 # 엑터 1용 윈도우의 X좌표
Y_1 = 384 # 엑터 1용 윈도우의 Y좌표

WIN_2 = true # 엑터 2용 윈도우를 표시한다면 true, 하지 않으면 false.
SWITVH_2 = 15 # 엑터 2용 윈도우의 표시/비표시에 대응하는 스윗치의 ID.
#스위치에 관한 설명은 위를 참고해 주세요.
OPACITY_2 = 50 # 엑터 2용 윈도우의 투명도(0으로 가까울 정도 투명)
X_2 = 160 # 엑터 2용 윈도우의 X좌표
Y_2 = 384 # 엑터 2용 윈도우의 Y좌표

WIN_3 = true # 엑터 3용 윈도우를 표시한다면 true, 하지 않으면 false.
SWITVH_3 = 15 # 엑터 3용 윈도우의 표시/비표시에 대응하는 스윗치의 ID.
#스위치에 관한 설명은 위를 참고해 주세요.
OPACITY_3 = 50 # 엑터 3용 윈도우의 투명도(0으로 가까울 정도 투명)
X_3 = 320 # 엑터 3용 윈도우의 X좌표
Y_3 = 384 # 엑터 3용 윈도우의 Y좌표

WIN_4 = true # 엑터 4용 윈도우를 표시한다면 true, 하지 않으면 false.
SWITVH_4 = 15 # 엑터 4용 윈도우의 표시/비표시에 대응하는 스윗치의 ID.
#스위치에 관한 설명은 위를 참고해 주세요.
OPACITY_4 = 100 # 엑터 4용 윈도우의 투명도(0으로 가까울 정도 투명)
X_4 = 480 # 엑터 4용 윈도우의 X좌표
Y_4 = 384 # 엑터 4용 윈도우의 Y좌표

SET_SP = [true, true, true, true] # 각 윈도우의 SP표시 설정. false로 비표시.
OPTION = 16
# 「메세지 윈도우 표시시는 간이 윈도우를 소거한다」
#  (이)라고 하는 기능의 ON/OFF에 대응하는 스윗치의 ID.
#=========================================================================
# ■ Scene_Map
#=========================================================================
class Scene_Map
#---------------------------------------------------------------------
# ● 프레임 갱신
#---------------------------------------------------------------------
alias main_tokimiya main
def main
# 간이 윈도우 1을 작성
@simple_window1 = Window_MapStatus.new(X_1, Y_1, 0)
@simple_window1.opacity = OPACITY_1
@simple_window1.visible = $game_switches[SWITVH_1]
unless $game_party.actors.size > 0
@simple_window1.visible = false
end
# 간이 윈도우 2를 작성
@simple_window2 = Window_MapStatus.new(X_2, Y_2, 1)
@simple_window2.opacity = OPACITY_2
@simple_window2.visible = $game_switches[SWITVH_2]
unless $game_party.actors.size > 1
@simple_window2.visible = false
end
# 간이 윈도우 3을 작성
@simple_window3 = Window_MapStatus.new(X_3, Y_3, 2)
@simple_window3.opacity = OPACITY_3
@simple_window3.visible = $game_switches[SWITVH_3]
unless $game_party.actors.size > 2
@simple_window3.visible = false
end
# 간이 윈도우 4를 작성
@simple_window4 = Window_MapStatus.new(X_4, Y_4, 3)
@simple_window4.opacity = OPACITY_4
@simple_window4.visible = $game_switches[SWITVH_4]
unless $game_party.actors.size > 3
@simple_window4.visible = false
end

main_tokimiya # 구메소드의 호출

# 간이 윈도우의 해방
@simple_window1.dispose
@simple_window2.dispose
@simple_window3.dispose
@simple_window4.dispose
end

#---------------------------------------------------------------------
# ● 프레임 갱신
#---------------------------------------------------------------------
alias update_tokimiya update
def update
update_tokimiya # 구메소드의 호출
# 이전의 파라미터와 상위가 있으면, 내용을 갱신한다.
#
# 윈도우 1의 갱신.
if WIN_1 == true and $game_party.actors.size > 0
# 데이터의 갱신
actor = $game_party.actors[0]
factor_1 = @simple_window1.before_1[0] != actor.name
factor_2 = @simple_window1.before_1[1] != actor.hp
factor_3 = @simple_window1.before_1[2] != actor.sp
if factor_1 or factor_2 or factor_3
@simple_window1.before_1[0] = actor.name
@simple_window1.before_1[1] = actor.hp
@simple_window1.before_1[2] = actor.sp
@simple_window1.refresh(0)
end
# 비표시 기능의 실행
if @message_window.visible == true and $game_switches[OPTION] == true
@simple_window1.before_1[3] = false
@simple_window1.visible = false
elsif @simple_window1.before_1[3] != $game_switches[SWITVH_1]
@simple_window1.before_1[3] = $game_switches[SWITVH_1]
@simple_window1.visible = $game_switches[SWITVH_1]
end
end

# 윈도우 2의 갱신.
if WIN_2 == true and $game_party.actors.size > 1
# 데이터의 갱신
actor = $game_party.actors[1]
factor_1 = @simple_window2.before_2[0] != actor.name
factor_2 = @simple_window2.before_2[1] != actor.hp
factor_3 = @simple_window2.before_2[2] != actor.sp
if factor_1 or factor_2 or factor_3
@simple_window2.before_2[0] = actor.name
@simple_window2.before_2[1] = actor.hp
@simple_window2.before_2[2] = actor.sp
@simple_window2.refresh(1)
# 윈도우를 강제적으로 생성
@simple_window2.before_2[3] = true
@simple_window2.visible = true
end
# 비표시 기능의 실행
if @message_window.visible == true and $game_switches[OPTION] == true
@simple_window2.before_2[3] = false
@simple_window2.visible = false
elsif @simple_window2.before_2[3] != $game_switches[SWITVH_2]
@simple_window2.before_2[3] = $game_switches[SWITVH_2]
@simple_window2.visible = $game_switches[SWITVH_2]
end
# 엑터가 존재하지 않는데 윈도우가 표시된 채로의 경우.
elsif @simple_window2.visible == true and @simple_window2.before_2 != nil
# 윈도우를 소거.
@simple_window2.before_2[3] = false
@simple_window2.visible = false
end

# 윈도우 3의 갱신.
if WIN_3 == true and $game_party.actors.size > 2
# 데이터의 갱신
actor = $game_party.actors[2]
factor_1 = @simple_window3.before_3[0] != actor.name
factor_2 = @simple_window3.before_3[1] != actor.hp
factor_3 = @simple_window3.before_3[2] != actor.sp
if factor_1 or factor_2 or factor_3
@simple_window3.before_3[0] = actor.name
@simple_window3.before_3[1] = actor.hp
@simple_window3.before_3[2] = actor.sp
@simple_window3.refresh(2)
# 윈도우를 강제적으로 생성
@simple_window3.before_3[3] = true
@simple_window3.visible = true
end
# 비표시 기능의 실행
if @message_window.visible == true and $game_switches[OPTION] == true
@simple_window3.before_3[3] = false
@simple_window3.visible = false
elsif @simple_window3.before_3[3] != $game_switches[SWITVH_3]
@simple_window3.before_3[3] = $game_switches[SWITVH_3]
@simple_window3.visible = $game_switches[SWITVH_3]
end
# 엑터가 존재하지 않는데 윈도우가 표시된 채로의 경우.
elsif @simple_window3.visible == true and @simple_window3.before_3 != nil
# 윈도우를 소거.
@simple_window3.before_3[3] = false
@simple_window3.visible = false
end

# 윈도우 4의 갱신.
if WIN_4 == true and $game_party.actors.size > 3
# 데이터의 갱신
actor = $game_party.actors[3]
factor_1 = @simple_window4.before_4[0] != actor.name
factor_2 = @simple_window4.before_4[1] != actor.hp
factor_3 = @simple_window4.before_4[2] != actor.sp
if factor_1 or factor_2 or factor_3
@simple_window4.before_4[0] = actor.name
@simple_window4.before_4[1] = actor.hp
@simple_window4.before_4[2] = actor.sp
@simple_window4.refresh(3)
# 윈도우를 강제적으로 생성
@simple_window4.before_4[3] = true
@simple_window4. visible = true
end
# 비표시 기능의 실행
if @message_window.visible == true and $game_switches[OPTION] == true
@simple_window4.before_4[3] = false
@simple_window4.visible = false
elsif @simple_window4.before_4[3] != $game_switches[SWITVH_4]
@simple_window4.before_4[3] = $game_switches[SWITVH_4]
@simple_window4.visible = $game_switches[SWITVH_4]
end
# 엑터가 존재하지 않는데 윈도우가 표시된 채로의 경우.
elsif @simple_window4.visible == true and @simple_window4.before_4 != nil
# 윈도우를 소거.
@simple_window4.before_4[3] = false
@simple_window4.visible = false
end
end
end

 

#=========================================================================
# ■ Window_MapStatus
#=========================================================================
class Window_MapStatus < Window_Base
#--------------------------------------------------------------------------
# ○공개 인스턴스 변수
#--------------------------------------------------------------------------
attr_accessor :before_1 # 갱신전의 윈도우 1의 파라미터
attr_accessor :before_2 # 갱신전의 윈도우 2의 파라미터
attr_accessor :before_3 # 갱신전의 윈도우 3의 파라미터
attr_accessor :before_4 # 갱신전의 윈도우 4의 파라미터
#---------------------------------------------------------------------
# ● 프레임 갱신
#---------------------------------------------------------------------
def initialize(x, y, id)
super(x, y, 160,96)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = 18
@before_1=[]
@before_2=[]
@before_3=[]
@before_4=[]
# 현단계의 엑터의 파라미터와 가시 상태를 기억.
data
# 항목의 묘화.
refresh(id)
end
#--------------------------------------------------------------------------
# ● 항목의 묘화
#--------------------------------------------------------------------------
def data
# 엑터 1의 기억(다만, 파티가 1명 이상의 경우)
if $game_party.actors.size > 0
actor = $game_party.actors[0]
@before_1 = [actor.name, actor.hp, actor.sp, true]
end
# 엑터 2의 기억(다만, 파티가 2명 이상의 경우)
if $game_party.actors.size > 1
actor = $game_party.actors[1]
@before_2 = [actor.name, actor.hp, actor.sp, true]
end
# 엑터 3의 기억(다만, 파티가 3명 이상의 경우)
if $game_party.actors.size > 2
actor = $game_party.actors[2]
@before_3 = [actor.name, actor.hp, actor.sp, true]
end
# 엑터 3의 기억(다만, 파티가 4명 이상의 경우)
if $game_party.actors.size > 3
actor = $game_party.actors[3]
@before_4 = [actor.name, actor.hp, actor.sp, true]
end
end
#--------------------------------------------------------------------------
# ● 항목의 묘화
#--------------------------------------------------------------------------
def refresh(id)
# 재묘화를 위해서(때문에) 일단 내용을 파기 한다
self.contents.clear
# 대응하는 엑터가 없으면, 아무것도하지 않고 종료한다.
actor = $game_party.actors[id]
if actor == nil
return
end
# 이름의 묘화
draw_actor_name(actor, 0, -5)
# HP의 묘화
if SET_SP[id]
draw_actor_hp_custom(actor, 0, 18)
else
draw_actor_hp_custom(actor, 0, 28)
end
# SP의 묘화
if SET_SP[id]
draw_actor_sp_custom(actor, 0, 36)
end
end

#--------------------------------------------------------------------------
# ● HP 의 묘화
# actor : 엑터
# x : 묘화처 X 좌표
# y : 묘화처 Y 좌표
# width : 묘화처의 폭
#--------------------------------------------------------------------------
def draw_actor_hp_custom(actor, x, y, width = 144)
# 캐릭터 라인 "HP" 를 묘화
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
# MaxHP 를 묘화 하는 스페이스가 있을까 계산
if width - 32 >= 108
hp_x = x + width - 108
flag = true
elsif width - 32 >= 48
hp_x = x + width - 48
flag = false
end
# HP 를 묘화
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
self.contents.draw_text(hp_x - 12, y, 48, 32, actor.hp.to_s, 2)
# MaxHP 를 묘화
if flag
self.contents.font.color = normal_color
self.contents.draw_text(hp_x + 48 - 12, y, 12, 32, "/", 1)
self.contents.draw_text(hp_x + 60 - 12, y, 48, 32, actor.maxhp.to_s)
end
end
#--------------------------------------------------------------------------
# ● SP 의 묘화
# actor : 엑터
# x : 묘화처 X 좌표
# y : 묘화처 Y 좌표
# width : 묘화처의 폭
#--------------------------------------------------------------------------
def draw_actor_sp_custom(actor, x, y, width = 144)
# 캐릭터 라인 "SP" 를 묘화
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
# MaxSP 를 묘화 하는 스페이스가 있을까 계산
if width - 32 >= 108
sp_x = x + width - 108
flag = true
elsif width - 32 >= 48
sp_x = x + width - 48
flag = false
end
# SP 를 묘화
self.contents.font.color = actor.sp == 0 ? knockout_color :
actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
self.contents.draw_text(sp_x - 12, y, 48, 32, actor.sp.to_s, 2)
# MaxSP 를 묘화
if flag
self.contents.font.color = normal_color
self.contents.draw_text(sp_x + 48 - 12, y, 12, 32, "/", 1)
self.contents.draw_text(sp_x + 60 - 12, y, 48, 32, actor.maxsp.to_s)
end
end
end

 

 

 

 

여기까지가 스트립트 이구요..

문제가 무엇인지 아시는분은 꼭좀 알려주세요
?

  1. 쯔꾸르 mv 게임을 apk 파일로 변환했는데...

    Date2023.01.14 By박하맛 Views1337
    Read More
  2. 쯔꾸르 젖소이야기 결혼 방법좀 알려주세요...

    Date2021.12.20 By백지씨 Views2633
    Read More
  3. apk포팅 승인 어케 하나요?

    Date2021.11.29 Bygame메이커xp Views1262
    Read More
  4. Yanfly님의 Action Sequence Pack 질문드립니다

    Date2021.07.15 ByNeuromancer Views1547
    Read More
  5. 싸게 MV 를 먼저? 아니면 돈을 더 들어서라도 MZ?

    Date2021.07.06 ByXatra Views1759
    Read More
  6. RMMV - 스탯창과 대화창 변견 관련 질문입니다. (초보입니다 도움좀 주세요 ㅜㅜ)

    Date2021.01.22 Byscribble Views1557
    Read More
  7. 아오오니를 하는 사람인데요 질문 두가지가 있어요

    Date2021.01.16 By오니개무서워 Views1637
    Read More
  8. 재밌는게임

    Date2020.12.07 Byland_tnt Views1461
    Read More
  9. c언어 질문

    Date2020.11.10 By세종기항19 Views1687
    Read More
  10. 코딩 질문

    Date2020.11.08 By세종기항19 Views1544
    Read More
  11. 혹시나 물어보는데

    Date2020.11.07 By드래곤규 Views1405
    Read More
  12. 오픈보 게임 더블드래곤 리로디드 얼티네이트에 대해 궁금

    Date2020.09.09 By이부닝 Views1228
    Read More
  13. 상태이상 확률 결정

    Date2020.09.02 By스트레이보우 Views1010
    Read More
  14. 다음 인디사이드 제작대회는 언제쯤 열릴까요?

    Date2020.05.23 ByWOONAALAA Views966
    Read More
  15. xp로 제작된 어플 실행자체가 안된다는 분이 있습니다.(제생각엔 apk로 변환하는 과정에서 버전자체가 낮은 것 같습니다)

    Date2020.05.04 By라엔 Views1424
    Read More
  16. apk 포팅하는데 게임 이름이 필요합니다 뜨는데

    Date2020.05.03 Bykashu Views1357
    Read More
  17. 쯔꾸르VX Ace렉먹음 도와주세요...

    Date2020.03.22 By랖랖 Views1787
    Read More
  18. 안녕하세요

    Date2020.02.14 By청월령 Views841
    Read More
  19. 포팅 중 '게임 이름이 필요합니다' 오류

    Date2020.02.11 By아이비스 Views824
    Read More
  20. RPGMV 거리 추적

    Date2020.01.19 By정욱 Views936
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 442 Next
/ 442


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

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