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

Project1

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

[已经过期] 如何为角色属性添加经验

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3841
在线时间
1966 小时
注册时间
2013-1-3
帖子
9536
跳转到指定楼层
1
发表于 2022-12-30 19:55:50 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 紫英晓狼1130 于 2022-12-30 19:58 编辑

想将角色属性做成梯度增长 而不是增加点数
例如力量从1-10的难度和90-100的难度一定是不一样的
此处附上武林群侠传属性的成长经验表

自己在尝试的过程中使用了数组记录EXP表 但是无法与增减能力值同步刷新
以下是范例代码
RUBY 代码复制
  1. #numexp
  2.     numexp = [0,1,4,9,18,32,50,75,106,144,190,245,308,382,466,562,668,786,917,
  3.               1061,1217,1387,1570,1768,1980,2206,2447,2702,2972,3257,3557,3872,
  4.               4202,4547,4907,5281,5670,6074,6492,6924,7371,7831,8305,8793,9294,
  5.               9808,10335,10874,11426,11989,12565,13152,13750,14359,14979,15609,
  6.               16249,16899,17558,18227,18905,19591,20286,20989,21699,22418,23144,
  7.               23877,24617,25363,26116,26874,27639,28409,29185,29966,30752,31543,
  8.               32338,33138,33941,34749,35561,36377,37195,38018,38843,39671,40503,
  9.               41336,42173,43012,43853,44697,45542,46390,47239,48090,48943,50000,0]
  10.     if @actor_id == 1
  11.       while n < 100 and $game_variables[6] > numexp[n+1] and numexp[n+1] > 0
  12.         n += 1
  13.       end
  14.     end



目前的做法是根据角色属性值得到基础经验 之后再根据循环与EXP表比较显示出能力值
实际上二者并无关联 有没有方法能直接将能力值和EXP(也就是自定义的$game_variables)相关联
而能力值更像是一个等级 具体数值由变量计算
《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴

Lv4.逐梦者

梦石
0
星屑
7946
在线时间
1182 小时
注册时间
2007-7-29
帖子
2055
2
发表于 2023-1-1 03:55:02 | 只看该作者
看你这要求也不难,你把你修改的整个函数放出来看看,只有一段看不出为什么无法与增减能力值同步刷新,又或者我理解错了。单从脚本来看并没有任何返回值。
如果你的问题是经验值找不到对应的能力值可以参考如下,不过以下代码是当作你的总经验值为50000而不是需要叠加的产物,如果是需要叠加请无视。
  1. v = 0
  2. (0..100).each{|i| v = i; break if ($game_variables[6] < numexp[i]) }
  3. p v
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4476
在线时间
380 小时
注册时间
2012-11-8
帖子
272
3
发表于 2023-1-4 15:12:03 | 只看该作者
不知道我的理解有没有错误
给每个属性增加一个经验值,经验满了提升一点属性,提升属性的经验要求与当前提升量有关,变量6记录的是某属性获得的总经验值,然后要根据这个经验值去得到提升的属性值,是这个意思吗?
可以再使用一个变量记录提升的数值,比如变量7,根据变量7的值计算或查表得到当前档次下提升属性需要的经验,变量6超过该经验就扣除该经验,然后变量7+1,如果需要显示总经验值,可以计算得到,偷懒的可以再用一个变量记录总数。。。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
24
星屑
7017
在线时间
247 小时
注册时间
2020-12-4
帖子
306

极短24获奖极短23获奖极短22获奖

4
发表于 2023-1-5 10:48:35 | 只看该作者
猫大曾经发过一个自更新开关和变量的脚本,非常黑科技
如果你需要根据能力值来评定角色经验需求的话,这里应该可以用到她的脚本

自更新开关和变量(你用了会知道有多好用)
https://rpg.blue/forum.php?mod=v ... amp;fromuid=2717817
(出处: Project1)

具体做法就是先将变量跟表达式挂钩,如

将$game_variables[1] 的名字命名为 : "= $game_actors[x].***"   
即:将变量1的值与角色X的某项属性挂钩,之后访问 $game_variables[1] 的时候就会自动输出 "="之后表达式的值

然后你可以直接把EXP表用变量的方式来写,于是EXP就与角色的能力值挂钩了!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-27 09:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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