조회 수 685 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

 
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆전투 난이도 - KGC_BattleDifficulty◆
#_/----------------------------------------------------------------------------
#_/ 전투 난이도의 설정 기능을 추가합니다.
#_/ (기능 자체는 독립형. 메뉴등에 표시하는 경우는[MenuAlter][TitleOption]참조)
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ★ 커스터마이즈 항목 ★
#============================================================================= =

class Game_System
  # 난이도 배열 작성
# ≪"명칭", HP, SP, 타능력치, EXP, 골드, 트레이닝 전기밥통 출현율≫
# 각 항목의 배율을 지정.소수점 사용가능
  DIFFICULTY_LIST = [
    ["Easy",   0.8, 0.8, 0.7, 1.0, 1.0, 1.0],
    ["Normal", 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
    ["Hard",   1.5, 1.3, 1.2, 1.0, 1.0, 1.0],
    ["Mania",  2.0, 1.8, 1.5, 1.0, 1.0, 1.0],
    ["Divine", 3.0, 2.6, 2.0, 1.0, 1.0, 1.0]]
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

$imported["BattleDifficulty"] = true

#--------------------------------------------------------------------------
# ●난이도 설정 취득
#--------------------------------------------------------------------------
def get_difficulty
  # 난이도 설정을 돌려준다
  return $game_system.difficulty_list[$game_system.difficulty]
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_System
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_accessor :difficulty               # 難易度
  attr_accessor :difficulty_list          # 難易度リスト
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  alias initialize_KGC_BattleDifficulty initialize
  def initialize
    # 元の処理を実行
    initialize_KGC_BattleDifficulty

    @difficulty = 1
    @difficulty_list = DIFFICULTY_LIST
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Enemy
#==============================================================================

class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # ● 基本 MaxHP の取得
  #--------------------------------------------------------------------------
  alias base_maxhp_KGC_BattleDifficulty base_maxhp
  def base_maxhp
    n = base_maxhp_KGC_BattleDifficulty
    n *= get_difficulty[1]
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● 基本 MaxSP の取得
  #--------------------------------------------------------------------------
  alias base_maxsp_KGC_BattleDifficulty base_maxsp
  def base_maxsp
    n = base_maxsp_KGC_BattleDifficulty
    n *= get_difficulty[2]
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● 基本腕力の取得
  #--------------------------------------------------------------------------
  alias base_str_KGC_BattleDifficulty base_str
  def base_str
    n = base_str_KGC_BattleDifficulty
    n *= get_difficulty[3]
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● 基本器用さの取得
  #--------------------------------------------------------------------------
  alias base_dex_KGC_BattleDifficulty base_dex
  def base_dex
    n = base_dex_KGC_BattleDifficulty
    n *= get_difficulty[3]
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● 基本素早さの取得
  #--------------------------------------------------------------------------
  alias base_agi_KGC_BattleDifficulty base_agi
  def base_agi
    n = base_agi_KGC_BattleDifficulty
    n *= get_difficulty[3]
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● 基本魔力の取得
  #--------------------------------------------------------------------------
  alias base_int_KGC_BattleDifficulty base_int
  def base_int
    n = base_int_KGC_BattleDifficulty
    n *= get_difficulty[3]
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● 基本攻撃力の取得
  #--------------------------------------------------------------------------
  alias base_atk_KGC_BattleDifficulty base_atk
  def base_atk
    n = base_atk_KGC_BattleDifficulty
    n *= get_difficulty[3]
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● 基本物理防御の取得
  #--------------------------------------------------------------------------
  alias base_pdef_KGC_BattleDifficulty base_pdef
  def base_pdef
    n = base_pdef_KGC_BattleDifficulty
    n *= get_difficulty[3]
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● 基本魔法防御の取得
  #--------------------------------------------------------------------------
  alias base_mdef_KGC_BattleDifficulty base_mdef
  def base_mdef
    n = base_mdef_KGC_BattleDifficulty
    n *= get_difficulty[3]
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● 基本回避修正の取得
  #--------------------------------------------------------------------------
  alias base_eva_KGC_BattleDifficulty base_eva
  def base_eva
    n = base_eva_KGC_BattleDifficulty
    n *= get_difficulty[3]
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● EXP の取得
  #--------------------------------------------------------------------------
  alias exp_KGC_BattleDifficulty exp
  def exp
    n = exp_KGC_BattleDifficulty
    n *= get_difficulty[4]
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● ゴールドの取得
  #--------------------------------------------------------------------------
  alias gold_KGC_BattleDifficulty gold
  def gold
    n = gold_KGC_BattleDifficulty
    n *= get_difficulty[5]
    return Integer(n)
  end
  #--------------------------------------------------------------------------
  # ● トレジャー出現率の取得
  #--------------------------------------------------------------------------
  alias treasure_prob_KGC_BattleDifficulty treasure_prob
  def treasure_prob
    n = treasure_prob_KGC_BattleDifficulty
    n *= get_difficulty[6]
    return Integer(n)
  end
end

 

 

이 스크립트인데요... 이벤트-스크립트를 통해서 난이도를 조정하는방법을 알고싶은데... 어떻게 해야 조정될려나요...?

  • profile
    천무 2017.02.14 12:51
    #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
    #_/ ◆戦闘難易度 - KGC_BattleDifficulty◆
    #_/----------------------------------------------------------------------------
    #_/ 戦闘難易度の設定機能を追加します。
    #_/ (メニュー等に表示する場合は[MenuAlter][TitleOption]参照)
    #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

    #==============================================================================
    # ★ カスタマイズ項目 ★
    #==============================================================================

    module KGC
    # ◆難易度配列
    # ≪"名称", HP, SP, 他能力値, EXP, ゴールド, トレジャー出現率≫
    # 各項目の倍率を指定(百分率)。
    BD_DIFFICULTY_LIST = [
    ["Rookie", 60, 50, 60, 100, 100, 100],
    ["Easy", 80, 80, 70, 100, 100, 100],
    ["Normal", 100, 100, 100, 100, 100, 100],
    ["Hard", 150, 130, 120, 100, 100, 100],
    ["Mania", 200, 180, 150, 100, 100, 100],
    ["Unknown", 300, 260, 200, 100, 100, 100],
    ["Divine", 500, 400, 300, 100, 100, 100]
    ]
    # ◆初期難易度
    # BD_DIFFICULTY_LIST のインデックス。
    BD_INITIAL_DIFFICULTY = 2
    end

    #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

    $imported = {} if $imported == nil
    $imported["BattleDifficulty"] = true

    module Difficulty
    #--------------------------------------------------------------------------
    # ● 難易度設定取得
    #--------------------------------------------------------------------------
    def self.get
    # 難易度設定を返す
    return KGC::BD_DIFFICULTY_LIST[$game_system.difficulty]
    end
    #--------------------------------------------------------------------------
    # ● 難易度設定変更
    #--------------------------------------------------------------------------
    def self.set(index)
    # 範囲外ならば変更しない
    return if index < 0 || index >= KGC::BD_DIFFICULTY_LIST.size
    $game_system.difficulty = index
    end
    #--------------------------------------------------------------------------
    # ● 能力値補正済みエネミー取得
    #--------------------------------------------------------------------------
    def self.get_revised_enemy(enemy)
    en = enemy.clone
    diff = self.get
    en.maxhp = en.maxhp * diff[1] / 100
    en.maxsp = en.maxsp * diff[2] / 100
    en.str = en.str * diff[3] / 100
    en.dex = en.dex * diff[3] / 100
    en.agi = en.agi * diff[3] / 100
    en.int = en.int * diff[3] / 100
    en.atk = en.atk * diff[3] / 100
    en.pdef = en.pdef * diff[3] / 100
    en.mdef = en.mdef * diff[3] / 100
    en.exp = en.exp * diff[4] / 100
    en.gold = en.gold * diff[4] / 100
    if en.treasure_prob < 100
    en.treasure_prob = [en.treasure_prob * diff[5] / 100, 100].min
    end
    return en
    end
    end

    #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

    #==============================================================================
    # ■ Game_System
    #==============================================================================

    class Game_System
    attr_accessor :difficulty # 難易度
    #--------------------------------------------------------------------------
    # ● オブジェクト初期化
    #--------------------------------------------------------------------------
    alias initialize_KGC_BattleDifficulty initialize
    def initialize
    # 元の処理を実行
    initialize_KGC_BattleDifficulty

    @difficulty = KGC::BD_INITIAL_DIFFICULTY
    end
    #--------------------------------------------------------------------------
    # ● 難易度一覧
    #--------------------------------------------------------------------------
    def difficulty_list
    return KGC::BD_DIFFICULTY_LIST
    end
    end

    #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

    #==============================================================================
    # ■ Game_Enemy
    #==============================================================================

    class Game_Enemy < Game_Battler
    #--------------------------------------------------------------------------
    # ● 基本 MaxHP の取得
    #--------------------------------------------------------------------------
    alias base_maxhp_KGC_BattleDifficulty base_maxhp
    def base_maxhp
    n = base_maxhp_KGC_BattleDifficulty
    n *= Difficulty.get[1]
    return n / 100
    end
    #--------------------------------------------------------------------------
    # ● 基本 MaxSP の取得
    #--------------------------------------------------------------------------
    alias base_maxsp_KGC_BattleDifficulty base_maxsp
    def base_maxsp
    n = base_maxsp_KGC_BattleDifficulty
    n *= Difficulty.get[2]
    return n / 100
    end
    #--------------------------------------------------------------------------
    # ● 基本腕力の取得
    #--------------------------------------------------------------------------
    alias base_str_KGC_BattleDifficulty base_str
    def base_str
    n = base_str_KGC_BattleDifficulty
    n *= Difficulty.get[3]
    return n / 100
    end
    #--------------------------------------------------------------------------
    # ● 基本器用さの取得
    #--------------------------------------------------------------------------
    alias base_dex_KGC_BattleDifficulty base_dex
    def base_dex
    n = base_dex_KGC_BattleDifficulty
    n *= Difficulty.get[3]
    return n / 100
    end
    #--------------------------------------------------------------------------
    # ● 基本素早さの取得
    #--------------------------------------------------------------------------
    alias base_agi_KGC_BattleDifficulty base_agi
    def base_agi
    n = base_agi_KGC_BattleDifficulty
    n *= Difficulty.get[3]
    return n / 100
    end
    #--------------------------------------------------------------------------
    # ● 基本魔力の取得
    #--------------------------------------------------------------------------
    alias base_int_KGC_BattleDifficulty base_int
    def base_int
    n = base_int_KGC_BattleDifficulty
    n *= Difficulty.get[3]
    return n / 100
    end
    #--------------------------------------------------------------------------
    # ● 基本攻撃力の取得
    #--------------------------------------------------------------------------
    alias base_atk_KGC_BattleDifficulty base_atk
    def base_atk
    n = base_atk_KGC_BattleDifficulty
    n *= Difficulty.get[3]
    return n / 100
    end
    #--------------------------------------------------------------------------
    # ● 基本物理防御の取得
    #--------------------------------------------------------------------------
    alias base_pdef_KGC_BattleDifficulty base_pdef
    def base_pdef
    n = base_pdef_KGC_BattleDifficulty
    n *= Difficulty.get[3]
    return n / 100
    end
    #--------------------------------------------------------------------------
    # ● 基本魔法防御の取得
    #--------------------------------------------------------------------------
    alias base_mdef_KGC_BattleDifficulty base_mdef
    def base_mdef
    n = base_mdef_KGC_BattleDifficulty
    n *= Difficulty.get[3]
    return n / 100
    end
    #--------------------------------------------------------------------------
    # ● 基本回避修正の取得
    #--------------------------------------------------------------------------
    alias base_eva_KGC_BattleDifficulty base_eva
    def base_eva
    n = base_eva_KGC_BattleDifficulty
    n *= Difficulty.get[3]
    return n / 100
    end
    #--------------------------------------------------------------------------
    # ● EXP の取得
    #--------------------------------------------------------------------------
    alias exp_KGC_BattleDifficulty exp
    def exp
    n = exp_KGC_BattleDifficulty
    n *= Difficulty.get[4]
    return n / 100
    end
    #--------------------------------------------------------------------------
    # ● ゴールドの取得
    #--------------------------------------------------------------------------
    alias gold_KGC_BattleDifficulty gold
    def gold
    n = gold_KGC_BattleDifficulty
    n *= Difficulty.get[5]
    return n / 100
    end
    #--------------------------------------------------------------------------
    # ● トレジャー出現率の取得
    #--------------------------------------------------------------------------
    alias treasure_prob_KGC_BattleDifficulty treasure_prob
    def treasure_prob
    n = treasure_prob_KGC_BattleDifficulty
    if n < 100
    n *= Difficulty.get[6]
    return [n / 100, 100].min
    else
    return n
    end
    end
    end
  • profile
    천무 2017.02.14 12:57
    우선 위에붙이신 스크립트가 오류가납니다. 누군가 커스트마이징한것 같네요.
    제가 붙인걸 스크립트 main 위에 붙이시고요.

    사용방법은 이벤트의 스크립트 명령어에.
    아래 명령어를 (한줄씩 필요한것) 쓰면됩니다.

     Difficulty.set (0) # Rookie
     Difficulty.set (2) # Normal
     Difficulty.set (3) # Hard

    스크립트상에 보면.
    ["Rookie", 60, 50, 60, 100, 100, 100],
    ["Easy", 80, 80, 70, 100, 100, 100],
    ["Normal", 100, 100, 100, 100, 100, 100],
    ["Hard", 150, 130, 120, 100, 100, 100],
    ["Mania", 200, 180, 150, 100, 100, 100],
    ["Unknown", 300, 260, 200, 100, 100, 100],
    ["Divine", 500, 400, 300, 100, 100, 100]

    가 있는데 Rookie가 0 이고 Divine 가 6 입니다.
    난이도를 만약 제일어렵게 하려면 스크립트명령어를

    Difficulty.set (6)

    으로하면됩니다.

    난이도를 선택형으로 하시려면 선택지를 써서 각 선택지에 따라 명령어를 선택하게 하면됩니다.
  • ?
    달빛날개 2017.02.14 15:06
    오오 감사합니다! 명령어가 Difficulty.set 이였을줄이야... 거기다 오류가 나는 스크립트였다니..ㄷㄷ 아무튼 감사합니다! 잘 되네요!

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 게임다운로드관련 민원실에 게임 요청 자제해주세요. 천무 2017.02.19 3691
공지 네코플레이어관련 저장용량부족 문제 해결하기.(런타임 및 게임) 2 천무 2017.01.09 3625
공지 기타문의 야겜 문의에 관하여(꼭봐주세요!) 12 천무 2016.04.13 13127
118 기타문의 광고신고합니다 로란 2022.09.06 582
117 기타문의 비 온대요. 조심하세요 몽그리거 2022.08.15 545
116 기타문의 주소 복구 부탁드려도 될까요 tjddn 2022.05.01 546
115 기타문의 글 삭제 부탁드려요 secret 양우수 2022.04.11 0
114 기타문의 구글 플레이 스토어 오류 2 land_tnt 2020.04.01 1023
113 기타문의 apk 서비스 원스토어 검증 2 kimmmanApps 2020.03.11 1115
112 기타문의 네코 게임에 DEXP hororo라는 공포게임을 추가시켜주세요 성유찬 2019.04.16 679
111 기타문의 볼것들이 많아서 좋네요 카르케이 2019.04.09 546
110 기타문의 Rpg vx ace 버그 관련 구양이 2019.01.10 523
109 기타문의 대회 심사 관련 건의 2 아연 2019.01.04 772
108 기타문의 로그인이 안되요 1 희정몬 2018.11.28 853
107 기타문의 게임은 어떻게 만드나요 승원 2018.09.22 456
106 기타문의 게임만들기 1 익명 2018.07.22 531
105 기타문의 게임만들기 익명 2018.07.22 485
104 기타문의 MV 포팅 APK 만드는 도중에 문제가.... 1 탱크로리 2018.07.13 968
103 기타문의 광고수익에 관해 아골타 2018.06.02 511
102 기타문의 삭제한 게임 다시 플레이 할수는 없나요? secret ghost 2018.05.28 1
101 기타문의 속성유효도에 대해서 질문을 드리고 싶습니다 반반 2018.05.25 437
100 기타문의 아오오니 피아노 건반 2 박스차 2016.06.05 1310
99 기타문의 할리오니 야메떼 2018.03.14 903
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6


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

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