设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2567|回复: 3
打印 上一主题 下一主题

[已经解决] 难度脚本的使用方法

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2180
在线时间
1011 小时
注册时间
2015-10-17
帖子
1285
跳转到指定楼层
1
发表于 2017-5-10 13:48:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
问一下这难度脚本怎么使用,都是英文的看不懂,试了下完全找不到方向


RUBY 代码复制
  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/     ◆                Battle Difficulty - KGC_BattleDifficulty Ace
  3. #_/     ◇                                Last Update: 2008/05/09                              ◇
  4. #_/     ◇                                Converted: 2012/09/06
  5. #_/     ◆                          Translation by Mr. Anonymous                            ◆
  6. #_/     ◇                          Converted by Tsukihime
  7. #_/----------------------------------------------------------------------------
  8. #_/  This script adds battle difficulty settings to your game.
  9. #_/============================================================================
  10. #_/  Installation: Insert below KGC_ExtraDropItem and KGC_CustomMenuCommand.
  11. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  12.  
  13. #==============================================================================#
  14. #                                                       ★ Customization ★                                                                #
  15. #==============================================================================#
  16.  
  17. module KGC
  18. module BattleDifficulty
  19.   #                                        ◆ Difficulty Variable ◆
  20.   #  Change the variable the difficulty setting is stored in.
  21.   DIFFICULTY_VARIABLE = 944
  22.  
  23.   #                              ◆ Add Difficulty Command to Main Menu ◆
  24.   #  This toggle enables/disables the difficulty command selection to be added
  25.   #   to the main command menu.
  26.   USE_MENU_DIFFICULTY_COMMAND = true
  27.  
  28.   #                                       ◆ Difficulty Initialization ◆
  29.   #  DIFFICULTY Index
  30.   #  By default, 1 = Normal
  31.   INITIAL_DIFFICULTY = 1
  32.  
  33.   #                                                ◆ Difficulty ◆
  34.   #  Difficulty Format:
  35.   #   DIFFICULTY << {
  36.   #      :name  => "Difficulty Name",
  37.   #      :maxhp => MaxHP,
  38.   #      :maxmp => MaxMP,
  39.   #      :atk   => Attack,
  40.   #      :def   => Defense,
  41.   #      :mat   => Magic Attack,
  42.   #      :mdf   => Magic Defense,
  43.   #      :agi   => Agility,
  44.   #      :luk   => Luck
  45.   #      :param => Attack ・ Defense ・ Mat, Mdf ・ Agility, Luck (Batch Specification),
  46.   #      :exp   => Experience,
  47.   #      :gold  => Gold,
  48.   #      :drop  => Item Drop Rate,
  49.   #   }
  50.   #  Create by the format
  51.   #  (:atk, :def, :spi, :agi (The :param field takes highest priority)
  52.   #  The unit is a percentile of a each item.
  53.   #  :name is not optional
  54.   #  An omitted item is treated as a default of 100
  55.   DIFFICULTY = [] # Do not remove or modify this line!
  56.   # 〜 Custom Difficulty Settings Inserted Below Here 〜
  57.   DIFFICULTY << {               # Difficulty Level: 0
  58.         :name  => "简单",
  59.         :maxhp => 80,
  60.         :maxmp => 80,
  61.         :param => 80,
  62.         :cri   => 50,
  63.         :drop  => 80,
  64.   }  # ← Do not remove!
  65.   DIFFICULTY << {               # Difficulty Level: 1
  66.         :name  => "普通",
  67.   }
  68.   DIFFICULTY << {               # Difficulty Level: 2
  69.         :name  => "困难",
  70.         :maxhp => 150,   #150
  71.         :maxmp => 130,
  72.         :atk   => 120,
  73.         :mat   => 120,
  74.         :mdf   => 120,
  75.         :agi   => 105,
  76.         :luk   => 110,
  77.         :exp   => 150,
  78.         :drop  => 150,
  79.   }
  80.  
  81. end
  82. end
  83.  
  84. #------------------------------------------------------------------------------#
  85.  
  86. $imported = {} if $imported == nil
  87. $imported["BattleDifficulty"] = true
  88.  
  89. module KGC::BattleDifficulty
  90.   # Parameters
  91.   PARAMS = [
  92.         :maxhp, :maxmp, :atk, :def, :mat, :mdf, :agi, :luk,
  93.         :exp, :gold, :drop
  94.   ]
  95.  
  96.   module_function
  97.   #--------------------------------------------------------------------------
  98.   # ○ 難易度補正値作成
  99.   #--------------------------------------------------------------------------
  100.   def create_param_revs
  101.         @@param_revs = []
  102.         DIFFICULTY.each { |d|
  103.           rev = {}
  104.           rev[:name] = d[:name]
  105.           # 一括指定を適用
  106.           if d[:param] != nil
  107.                 rev[:atk] = rev[:def] = rev[:mat] = rev[:mdf] = rev[:agi] = rev[:luk] = d[:param]
  108.           end
  109.           # パラメータ指定を適用
  110.           PARAMS.each { |par|
  111.                 if d[par] != nil
  112.                   rev[par] = d[par]
  113.                 else
  114.                   rev[par] = 100 if rev[par] == nil
  115.                 end
  116.           }
  117.           # リストに追加
  118.           @@param_revs << rev
  119.         }
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # ○ 難易度補正値取得
  123.   #--------------------------------------------------------------------------
  124.   def param_revs
  125.         return @@param_revs
  126.   end
  127.   #--------------------------------------------------------------------------
  128.   # ○ 難易度インデックス取得
  129.   #--------------------------------------------------------------------------
  130.   def get_index
  131.         vid = DIFFICULTY_VARIABLE
  132.         if $game_variables[vid] < 0 || DIFFICULTY.size <= $game_variables[vid]
  133.           $game_variables[vid] = INITIAL_DIFFICULTY
  134.         end
  135.         return $game_variables[vid]
  136.   end
  137.   #--------------------------------------------------------------------------
  138.   # ○ 難易度取得
  139.   #--------------------------------------------------------------------------
  140.   def get
  141.         return @@param_revs[get_index]
  142.   end
  143.   #--------------------------------------------------------------------------
  144.   # ○ 難易度変更
  145.   #      index : 難易度インデックス
  146.   #--------------------------------------------------------------------------
  147.   def set(index)
  148.         index = [[index, DIFFICULTY.size - 1].min, 0].max
  149.         $game_variables[DIFFICULTY_VARIABLE] = index
  150.   end
  151.  
  152.   create_param_revs
  153. end
  154.  
  155. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
  156.  
  157. #==============================================================================
  158. # ■ RPG::Enemy::DropItem
  159. #==============================================================================
  160.  
  161. unless $@
  162. class RPG::Enemy::DropItem
  163.   #--------------------------------------------------------------------------
  164.   # ● 出現率 1/N の分母 N
  165.   #--------------------------------------------------------------------------
  166.   alias denominator_KGC_BattleDifficulty denominator
  167.   def denominator
  168.     n = @denominator
  169.     if n > 1
  170.       n = [n * 100 / KGC::BattleDifficulty.get[:drop], 1].max
  171.     end
  172.     return n
  173.   end
  174.  
  175. end  # class
  176. end  # unless $@
  177.  
  178. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
  179.  
  180. #==============================================================================
  181. # ■ Game_Enemy
  182. #==============================================================================
  183.  
  184. class Game_Enemy < Game_Battler
  185.  
  186.  
  187.   # Ace defines one method for accessing all basic parameters
  188.   alias :th_kgc_difficulty_param_base :param_base
  189.   def param_base(i)
  190.     th_kgc_difficulty_param_base(i) * KGC::BattleDifficulty.get[:maxhp] / 100
  191.   end
  192.  
  193.  
  194.   #--------------------------------------------------------------------------
  195.   # ● 経験値の取得
  196.   #--------------------------------------------------------------------------
  197.   alias :th_KGC_BattleDifficulty_exp :exp
  198.   def exp
  199.     th_KGC_BattleDifficulty_exp * KGC::BattleDifficulty.get[:exp] / 100
  200.   end
  201.   #--------------------------------------------------------------------------
  202.   # ● お金の取得
  203.   #--------------------------------------------------------------------------
  204.   alias :th_KGC_BattleDifficulty_gold :gold
  205.   def gold
  206.     th_KGC_BattleDifficulty_gold * KGC::BattleDifficulty.get[:gold] / 100
  207.   end
  208. end
  209.  
  210. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
  211.  
  212. #==============================================================================
  213. # ■ Scene_Title
  214. #==============================================================================
  215.  
  216. module DataManager
  217.  
  218.   class << self
  219.     alias :th_KGC_BattleDifficulty_create_game :create_game_objects
  220.   end
  221.  
  222.   def self.create_game_objects
  223.     th_KGC_BattleDifficulty_create_game
  224.     variable_id = KGC::BattleDifficulty::DIFFICULTY_VARIABLE
  225.     p variable_id
  226.     $game_variables[variable_id] = KGC::BattleDifficulty::INITIAL_DIFFICULTY
  227.   end
  228. end
  229.  
  230.  
  231.  
  232.  
  233.  
  234. =begin
  235.  
  236.  
  237.  
  238. #==============================================================================
  239. # ■ Scene_Menu
  240. #==============================================================================
  241.  
  242.  
  243. # new window for Ace, moving it out of Scene_Menu
  244. class Window_BattleDifficulty < Window_Command
  245.  
  246.   def make_command_list
  247.     KGC::BattleDifficulty::param_revs.each { |d|
  248.       add_command(d[:name], d[:name].to_sym)
  249.     }
  250.   end
  251. end
  252.  
  253. class Window_MenuCommand
  254.  
  255.   alias :th_kgc_battle_difficulty_add_main_commands :add_main_commands
  256.   def add_main_commands
  257.     th_kgc_battle_difficulty_add_main_commands
  258.     if KGC::BattleDifficulty::USE_MENU_DIFFICULTY_COMMAND
  259.       add_command("Difficulty", :difficulty, main_commands_enabled)
  260.     end
  261.   end
  262. end
  263.  
  264. class Scene_Menu
  265.  
  266.   # add new menu to the scene
  267.  
  268.   alias :th_kgc_battle_difficulty_start :start
  269.   def start
  270.     th_kgc_battle_difficulty_start
  271.     create_difficulty_window
  272.   end
  273.  
  274.   alias :th_kgc_battle_difficulty_cmd_window :create_command_window
  275.   def create_command_window
  276.     th_kgc_battle_difficulty_cmd_window
  277.     @command_window.set_handler(:difficulty,      method(:command_difficulty))
  278.   end
  279.  
  280.   def create_difficulty_window
  281.     @difficulty_window = Window_BattleDifficulty.new(80, 100)
  282.     @difficulty_window.set_handler(:ok, method(:on_difficulty_ok))
  283.     @difficulty_window.set_handler(:cancel, method(:on_difficulty_cancel))
  284.     @difficulty_window.hide.deactivate
  285.   end
  286.  
  287.   def command_difficulty
  288.     @difficulty_window.show.open.activate
  289.   end
  290.  
  291.   def on_difficulty_ok
  292.     KGC::BattleDifficulty.set(@difficulty_window.index)
  293.     end_difficulty_selection
  294.   end
  295.  
  296.   def on_difficulty_cancel
  297.     end_difficulty_selection
  298.   end
  299.  
  300.   def end_difficulty_selection
  301.     @difficulty_window.close
  302.     @command_window.activate
  303.   end
  304. end
  305.  
  306.  
  307. =end

Lv4.逐梦者

梦石
0
星屑
6260
在线时间
1481 小时
注册时间
2015-7-25
帖子
652

开拓者

2
发表于 2017-5-10 14:23:31 | 只看该作者
本帖最后由 魔法丶小肉包 于 2017-5-10 14:28 编辑

目测貌似跟944号变量的值有关....也就是DIFFICULTY_VARIABLE
944号变量的值为0时,简单
为1时,普通
为2时,困难
具体的数值在DIFFICULTY里设置

点评

fjm
已经可以使用了,非常感谢  发表于 2017-5-10 15:16
fjm
多谢指点,我试下  发表于 2017-5-10 14:56

评分

参与人数 1星屑 +250 收起 理由
RaidenInfinity + 250 认可答案

查看全部评分

笨肉包的首款像素OC游戏《花城梦之心》尝试制作中~
目前的坑 【不可思议的迷宫】幽灵契约外传:歌莉娅
持续更新中~ 当前进度 v0.28
大版本更新时才会更新网盘文件,预计下次大版本更新:v0.30
完成度:
主线 15% 支线 0% 数据库 6% 系统 86% 美术 6%
两边同时填坑~
( 这里是笨肉包~专修魔法!目标是大魔法师!
( 坑太大啦,一个人填不完啦hhh 一定会填完的嗯...
( 每天都和bug们比试魔力~吾之魔法将扫平一切!
( 弱点是美术,魔法修行之余再补补课吧~
( 哼哼哼~这便是魔法的力量!
大家都离开啦,笨肉包也不知道还能坚持多久呀...
这是属于笨肉包一个人的旅行(再见了...蚊子湯,七重酱,笨肉包永远想你们!TwT
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 08:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表