조회 수 624 추천 수 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 2635
공지 네코플레이어관련 저장용량부족 문제 해결하기.(런타임 및 게임) 2 천무 2017.01.09 2496
공지 기타문의 야겜 문의에 관하여(꼭봐주세요!) 12 천무 2016.04.13 11530
79 기타문의 카론 rpg 핵의심 문의 3 봄붐범 2017.05.24 816
78 기타문의 포켓몬스터 우라늄버전을 모바일로 플레이하려는데 어떻게 안될까요? 한별이닷 2017.05.19 1494
77 기타문의 검색하는 법 God_maekin 2017.05.14 185
76 기타문의 RPG게임을 실행하려는데.. secret 하야테 2017.04.02 0
75 기타문의 광고 제휴관련 문의합니다 1 Maker 2017.03.30 573
74 기타문의 네코 어떡게 만들어요... 2 그린세븐 2016.10.16 608
73 기타문의 rpg vx ace 게임 시작전 광고 어떻게 넣을 수 있을까요? 탱크로리 2017.03.11 246
72 기타문의 촉수로 세뇌 5 요롬코롬 2017.01.02 2234
71 기타문의 빨간망토 1 Musicmate 2017.02.22 2608
» 기타문의 rpg xp 를 사용중인데요 이 스크립트의 사용법을 알고싶어요 3 달빛날개 2017.02.14 624
69 기타문의 스폰지오니 걸남TV 2017.02.02 751
68 기타문의 3회대회 후원은 언제부터 시작하나요? 1 sigtuna 2017.01.31 637
67 기타문의 아오오니 비밀번호 2 ... 2017.01.28 1314
66 기타문의 혹시나 도움되실까 해서 secret 눈팅러 2017.01.27 3
65 기타문의 촉수로세뇌 윤혜린 2017.01.24 3650
64 기타문의 제 작품 오류가 발생했습니다. 4 file 누런덧니 2017.01.15 613
63 기타문의 촉수로세뇌 2 꾸팅 2017.01.01 3369
62 기타문의 오류 1 secret 2017.01.12 2
61 기타문의 그래서 대회는 어케된거임?? 1 사미인곡 2017.01.10 603
60 기타문의 APK오류 1 새준 2016.12.27 685
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6






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

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