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

Project1

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

[已经解决] 主角升级公式

[复制链接]

Lv1.梦旅人

梦石
0
星屑
80
在线时间
45 小时
注册时间
2009-10-6
帖子
229
跳转到指定楼层
1
发表于 2010-6-19 22:04:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我想把所有的角色有这样一个设定:
初始等级0级,
等级上限200级。
死亡可复活。
10级以前处于新手保护期:
升级所需经验=新等级*100
新手保护期内 死亡扣除经验 =等级*10
10级以后保护期过了:
升级所需经验=新等级的4次方除10,
死亡时扣除的经验为上一次升级所需的经验。




请各位高手给个工程或脚本什么的! 我谢啦!

Lv1.梦旅人

梦石
0
星屑
50
在线时间
105 小时
注册时间
2010-6-20
帖子
122
2
发表于 2010-6-20 01:36:24 | 只看该作者
:dizzy:我不会
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6865
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

3
发表于 2010-6-20 10:00:45 | 只看该作者
对于单机游戏来说
角色死亡后扣除经验不太实用
除非弄成网络游戏那样随时随地的保存数据
更改等级上限还涉及到角色在100级以上的属性空白问题
需要手动设置.在数据库里是无法设置的











你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
45 小时
注册时间
2009-10-6
帖子
229
4
 楼主| 发表于 2010-6-20 10:07:31 | 只看该作者
只是为了加游戏难度……
战争乃至凶之物,它扭曲人性,
摧残信仰,它拆散家庭,
毁灭国家。任何灾难,
都与之相形见拙。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6865
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

5
发表于 2010-6-20 22:18:46 | 只看该作者
本帖最后由 后知后觉 于 2010-6-21 14:59 编辑

  1. module Hzhj
  2.   New_Final_Level = 200
  3.   module_function
  4.   def make_new_actor_rxdata
  5.     actors = load_data("Data/Actors.rxdata")
  6.     for actor in actors
  7.       next if actor.nil?
  8.       actor.final_level = New_Final_Level
  9.       actor.initial_level = 0
  10.       parameters = actor.parameters
  11.       parameters.resize(6, New_Final_Level + 1)
  12.       parameters[0, 0] = parameters[0, 1]
  13.       parameters[1, 0] = parameters[1, 1]
  14.       parameters[2, 0] = parameters[2, 1]
  15.       parameters[3, 0] = parameters[3, 1]
  16.       parameters[4, 0] = parameters[4, 1]
  17.       parameters[5, 0] = parameters[5, 1]
  18.       for i in 100..New_Final_Level
  19.         parameters[0, i] = parameters[0, i - 1] * 2 - parameters[0, i - 2]
  20.         parameters[1, i] = parameters[1, i - 1] * 2 - parameters[1, i - 2]
  21.         parameters[2, i] = parameters[2, i - 1] * 2 - parameters[2, i - 2]
  22.         parameters[3, i] = parameters[3, i - 1] * 2 - parameters[3, i - 2]
  23.         parameters[4, i] = parameters[4, i - 1] * 2 - parameters[4, i - 2]
  24.         parameters[5, i] = parameters[5, i - 1] * 2 - parameters[5, i - 2]
  25.       end
  26.     end
  27.     save_data(actors, "Data/Hzhj_Actors.rxdata")
  28.   end
  29. end
  30. #Hzhj.make_new_actor_rxdata;exit
复制代码
上面这段脚本放在脚本编辑器的【最顶部】
脚本开头的
  New_Final_Level = 200
那个 200 就是我设置的新的最高等级.
然后把 Scene_Title 脚本内的这一行
$data_actors = load_data("Data/Actors.rxdata")
改成这样
$data_actors = load_data("Data/Hzhj_Actors.rxdata")
最后看上面脚本里的最后一行
#Hzhj.make_new_actor_rxdata;exit
这一行最前面有一个 # 号
运行的时候要把这个 # 号删除
运行之后程序会自动退出.然后就把这个 # 号加回去
这一行是用来生成新的角色数据文件的.不需要每次运行都去执行一次
只是要在你 更改了 数据库->角色 部分的内容后才要运行一次
更改一次角色数据库就要运行一次这一行
第12-17行是在设置 0 级时候的6个属性
我这里直接设置的和第 1 级是一样的.自己修正成自己需要的值
100级以后属性的算法是 根据 99级和98级的差值来计算
比如 一个角色 99 级的时候 力量是415. 他 98 级的时候 力量 是 400
那么他 100 级的力量就是 415 + 415 - 400 = 430
当他 101 级的时候 力量 就是 430 + 15 = 445
……
也就是说.这以后每一集的增加量等于 98 到 99 的增加量.
不想要这样的效果就自己改.
上面是属性曲线
经验值曲线在 Game_Actor 里的
def make_exp_list 里面
改成这样

  1.   #--------------------------------------------------------------------------
  2.   # ● 计算 EXP
  3.   #--------------------------------------------------------------------------
  4.   def make_exp_list
  5.     @exp_list[0] = 0
  6.     for i in 1..10
  7.       @exp_list[i] = @exp_list[i - 1] + i * 100
  8.     end
  9.     for i in 11..200
  10.       @exp_list[i] = @exp_list[i - 1] + i ** 4 / 10
  11.     end
  12.     @exp_list[201] = 0
  13.   end
复制代码
经验值曲线做好了
还有个地方要改.就是经验值的上限
找到 def exp=(exp)
这一行下面的这一行
    @exp = [[exp, 9999999].min, 0].max
把里面的 9999999 改得足够大就可以了
帮你算了一下.就现在的算法.经验值上限要这个数:6480269570

上面内容从这个帖子弄来的
http://www.diyrpg.net/bbs/redire ... =5183&pid=42435

挂了扣经验就自己去搞吧.

评分

参与人数 1星屑 +2 收起 理由
玛尔斯 + 2 我真的不知怎么感谢您了!

查看全部评分












你知道得太多了

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
45 小时
注册时间
2009-10-6
帖子
229
6
 楼主| 发表于 2010-6-21 12:16:23 | 只看该作者
回复 后知后觉 的帖子


    无效。。。。。。。。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6865
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

7
发表于 2010-6-21 15:13:07 | 只看该作者
应该是你自己的脚本冲突了吧...
新工程里是有效果的...全局搜索关键字 ####  可以找到修改的地方
Project1.rar (189.59 KB, 下载次数: 109)

还有就是 def make_exp_list 算法修正了一下.

评分

参与人数 1星屑 +400 收起 理由
「旅」 + 400 认可答案

查看全部评分












你知道得太多了

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-2-13
帖子
82
8
发表于 2010-6-21 20:27:25 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2010-6-24
帖子
18
9
发表于 2010-6-24 11:02:58 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
4 小时
注册时间
2010-5-30
帖子
18
10
发表于 2010-6-25 20:56:47 | 只看该作者
我看都晕啦...4次方...*100...
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-25 15:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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