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

Project1

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

[已经解决] 是否能将va的EXP曲线计算公式改成xp那种的

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2014-4-6
帖子
22
跳转到指定楼层
1
发表于 2014-4-12 11:06:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 akachin 于 2014-4-12 16:02 编辑

如题,对脚本一窍不通,搜索似乎也搜不到相关的……

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-4-12 11:39:42 | 只看该作者
这个已经不是脚本的范畴了……不直接改软件的话应该不行吧。
当然用脚本是可以重做每级所需的经验值的,但那样的话就浪费了这么好的一个数据库了

点评

唉居然这么严重吗……  发表于 2014-4-12 11:51
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22968
在线时间
8639 小时
注册时间
2011-12-31
帖子
3367
3
发表于 2014-4-12 12:09:10 | 只看该作者
==============================================================================
# □ No.001
#    経験値詳細設定(RPGツクールVX Ace)
#------------------------------------------------------------------------------
# by initialization
#==============================================================================

#==============================================================================
# □ 設定
#==============================================================================
module RGSSinit end
module RGSSinit::Experience_Value_Details_Setting
  #--------------------------------------------------------------------------
  # ○ 素材スイッチ(true/false)
  #--------------------------------------------------------------------------
  MATERIAL_SWITCH = true
  #--------------------------------------------------------------------------
  # ○ プリセット(ハッシュ設定)
  #--------------------------------------------------------------------------
  PRESET = {
  # "set01" / 100ずつで次のレベルの例
  "set01" => [
       0,  100,  200,  300,  400,  500,  600,  700,  800,  900,
    1000, 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900,
    2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900,
    3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900,
    4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900,
    5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900,
    6000, 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900,
    7000, 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900,
    8000, 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900,
    9000, 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, ],
  # "set02" / 10 → 15 → 22と1.5倍ずつ加算(レベル22以降は32768で固定)
  "set02" => [
          0,      10,      25,      47,      80,     129,     202,     311,
        474,     718,    1084,    1633,    2456,    3690,    5541,    8317,
      12481,   18727,   28096,   42149,   63228,   94846,  127614,  160382,
     193150,  225918,  258686,  291454,  324222,  356990,  389758,  422526,
     455294,  488062,  520830,  553598,  586366,  619134,  651902,  684670,
     717438,  750206,  782974,  815742,  848510,  881278,  914046,  946814,
     979582, 1012350, 1045118, 1077886, 1110654, 1143422, 1176190, 1208958,
    1241726, 1274494, 1307262, 1340030, 1372798, 1405566, 1438334, 1471102,
    1503870, 1536638, 1569406, 1602174, 1634942, 1667710, 1700478, 1733246,
    1766014, 1798782, 1831550, 1864318, 1897086, 1929854, 1962622, 1995390,
    2028158, 2060926, 2093694, 2290302, 2323070, 2192988, 2224766, 2257534,
    2290302, 2323070, 2355838, 2388606, 2421374, 2454142, 2486910, 2519678,
    2552446, 2585214, 2617982],
  }
  #--------------------------------------------------------------------------
  # ○ 経験値リストの作成(ハッシュ設定)
  #--------------------------------------------------------------------------
  LIST = {
   1 => PRESET["set01"],
   2 => PRESET["set01"],
   3 => PRESET["set01"],
   4 => PRESET["set01"],
   5 => PRESET["set01"],
   6 => PRESET["set01"],
   7 => PRESET["set01"],
   8 => PRESET["set01"],
   9 => PRESET["set01"],
  10 => PRESET["set01"],
  }
  #--------------------------------------------------------------------------
  # ○ 自動加算(ハッシュ設定)
  #--------------------------------------------------------------------------
  ADD = {
          1 => 100,
          2 => 100,
          3 => 100,
          4 => 100,
          5 => 100,
          6 => 100,
          7 => 100,
          8 => 100,
          9 => 100,
         10 => 100,
  }
  #--------------------------------------------------------------------------
  # ○ 自動加算に存在しない職業IDの設定
  #--------------------------------------------------------------------------
  DEFAULT = 100
end

#==============================================================================
# ■ Object
#==============================================================================
class Object
  #--------------------------------------------------------------------------
  # ○ アクセス省略化
  #--------------------------------------------------------------------------
  RGSSinit001 = RGSSinit::Experience_Value_Details_Setting
end

#==============================================================================
# □ 経験値詳細設定
#==============================================================================
$rgssinit ||= {} ; $rgssinit["経験値詳細設定"] = RGSSinit001::MATERIAL_SWITCH

if $rgssinit["経験値詳細設定"]

#==============================================================================
# □ CombinedUse
#==============================================================================
module CombinedUse
  #============================================================================
  # □ RGSSスクリプト倉庫(kureさん)
  #============================================================================
  module RGSS_Script_Warehouse
    #--------------------------------------------------------------------------
    # ○ 職業レベルシステム
    #--------------------------------------------------------------------------
    def self.job_level_system
      return true if defined?(KURE::JobLvSystem) if defined?(KURE)
      return false
    end
  end
end

#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● 指定レベルに上がるのに必要な累計経験値の取得 [再定義]
  #     level : レベル
  #--------------------------------------------------------------------------
  def exp_for_level(level)
    if CombinedUse::RGSS_Script_Warehouse.job_level_system
      return $data_classes[$data_actors[@actor_id].use_exp_curve].exp_for_level(level) if $data_actors[@actor_id].use_exp_curve != 0 if @actor_id > 0
    end
    return exp_for_level_rgssinit001(level) if $rgssinit["経験値詳細設定"]
    return exp_for_level_rgssinit003(level) if $rgssinit["レベル拡張"]
    return self.class.exp_for_level(level)
  end
  #--------------------------------------------------------------------------
  # ○ 指定レベルに上がるのに必要な累計経験値の取得:経験値詳細設定
  #     level : レベル
  #--------------------------------------------------------------------------
  def exp_for_level_rgssinit001(level)
    if RGSSinit001::LIST[@class_id]
      if RGSSinit001::LIST[@class_id][level - 1]
        return RGSSinit001::LIST[@class_id][level - 1]
      else
        max      = RGSSinit001::LIST[@class_id].size
        last_exp = RGSSinit001::LIST[@class_id][max - 1]
        rate     = RGSSinit001::ADD[@class_id] ? RGSSinit001::ADD[@class_id] : RGSSinit001::DEFAULT
        return last_exp + (rate * ( level - max))
      end
    end
    return $rgssinit["レベル拡張"] ? exp_for_level_rgssinit003(level) : self.class.exp_for_level(level)
  end
end

end

点评

谢谢!请问这个脚本应该怎么使用呢,楼下的都是日文看不懂……  发表于 2014-4-12 12:24

评分

参与人数 1梦石 +1 收起 理由
迷糊的安安 + 1 谢谢!楼下的都是日文看不懂…….

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22968
在线时间
8639 小时
注册时间
2011-12-31
帖子
3367
4
发表于 2014-4-12 12:10:41 | 只看该作者
素材スイッチ
この素材に対して、有効(true)又は無効(false)を指定します。
プリセット
「経験値リストの作成」で扱う経験値配列のプリセットを作成します。

設定方法
PRESET = {
 "プリセット名" => [0, レベル2の累計経験値, …, レベル99の累計経験値],
 …,
}

"プリセット名"の名前は、半角でも全角でも可能("で囲む事を忘れないで下さい)ですが
プリセット名は複数存在させないよう、ご注意下さい。

設定できるレベルの範囲は、通常99までとなりますが
それよりも設定できる環境であれば、それ以降の累計経験値の設定もできます。
(この素材単体で行う事はできません、専用のRGSS3素材が必要です)
経験値リストの作成
職業毎に経験値設定を行います。

設定方法
LIST = {
 職業ID => PRESET["プリセット名"],(又は[0, レベル2の累計経験値, …, レベル99の累計経験値],)
 …,
}

設定されていない職業IDは、自動加算による経験値の作成となります。

尚、PRESET(プリセット)を指定せず
直接経験値配列に指定する事も可能です。
自動加算
経験値設定の際に、nil(何もない)が検出された場合
ここで設定された値を代用し、最終レベルまで適用させます。

設定方法
ADD = {
 職業ID => 自動加算の値,
 …,
}

ここに記述されていない職業IDは
自動加算に存在しない職業IDの設定の値が扱われます。
自動加算に存在しない職業IDの設定
自動加算に存在しなかった職業IDの為の設定です。
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

5
发表于 2014-4-12 14:38:52 | 只看该作者
楼上就是“用脚本重做每一级的经验值”
PRESET这一段设为 "设定名称" => 每一等级所对应的经验值
在LIST那一段改成 职业ID => PRESET["设定名称"]

点评

谢谢!去试试  发表于 2014-4-12 16:02
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 08:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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