Project1

标题: 角色能力值能用脚本输入吗? [打印本页]

作者: miantouchi    时间: 2021-12-4 18:28
标题: 角色能力值能用脚本输入吗?
角色能力值能用脚本输入吗?用默认得曲线一级一级输入太麻烦了。
能不用用脚本输入
比如力量
角色ID =>[这里是角色的每一级的力量值]
1=>[2,4, 8, 10, 12, 18, 20,23,26,29,32]

1.png (5.41 KB, 下载次数: 7)

1.png

2.png (6.3 KB, 下载次数: 5)

2.png

作者: Im剑侠客    时间: 2021-12-4 18:58
本帖最后由 Im剑侠客 于 2021-12-5 21:58 编辑

如果可以接受高工作量,手动遍历完全可行。
有个思路,
先独立建一个用于获取各等级力量的哈希表,命名比如:
module Finger_Def
  Str = {
    1(角色id) => [各等级力量参数数组];
    2(以此类推)
}
end

然后,找到处理角色力量的函数,比如:def str(角色的力量源函数),调用角色的力量,比如调用1号角色第5级的力量:
a = Finger_Def::Str
b = a[1][5]

得到力量数值后,可自行处理下一步自己需要应用的地方。

或者是升级的时候,呃……因为我没有使用默认的升级功能,对这部分升级时的能力值提升不太清楚。

===========

更新一下。
打开工程看了看默认相关的,关于力量准确的位置是def base_str。
关键一句应该是首句:n = $data_actord[@actor_id].parameters[2, @level]。
将这一句改写成从哈希表获取力量数值的方式即可。

===========

第二天晚上更新。
当我侧过脸去,我从另一个角度发现,似乎你想要的可能是类似“外部工具”的援助工具,本质上应该还没有想着要完全脱离角色能力值曲线表。如果是这样的话,似乎答非所问了,上面的方法就仅作参考吧。


更多的留给楼下补充吧。
作者: enghao_lim    时间: 2021-12-6 02:34
我比较好奇为什么不直接用生成曲线……
作者: miantouchi    时间: 2021-12-6 09:14
enghao_lim 发表于 2021-12-6 02:34
我比较好奇为什么不直接用生成曲线……


曲线没有那么精确吧,手动可以掌控每一级对应的情况
作者: SailCat    时间: 2021-12-6 12:20
会解三元一次方程组吗?

https://rpg.blue/thread-487410-1-3.html

作者: enghao_lim    时间: 2021-12-6 14:49
本帖最后由 enghao_lim 于 2021-12-6 14:51 编辑
miantouchi 发表于 2021-12-6 09:14
曲线没有那么精确吧,手动可以掌控每一级对应的情况


虽然不是很理解但还是满足你……

  1. $data_actors = load_data("Data/Actors.rxdata")

  2. $actor = {}

  3. $actor[1] = [2, 4, 8, 10, 12, 18, 20, 23, 26, 29, 32]

  4. $actor.each { |pair|
  5.   id = pair[0]
  6.   arr = pair[1]
  7.   for i in 0...arr.size
  8.     $data_actors[id].parameters[2, i+1] = arr[i]
  9.   end
  10. }

  11. save_data($data_actors, "Data/Actors.rxdata")

  12. exit
复制代码


插在main之前,运行,结束会直接关闭游戏,如果是在工程测试的情况工程也得关掉重开,工程会记着工程打开时的值,所以会看不到修改,改好后即可把脚本移除或者放到main之后。

PS: parameters[2, i+1] 0 是 maxhp, 1 是 maxsp,2 是 力量 以此类推……

对此脚本照成的数据丢失一概不负责,请自行备份。
作者: miantouchi    时间: 2021-12-6 22:05
本帖最后由 miantouchi 于 2021-12-6 22:06 编辑
enghao_lim 发表于 2021-12-6 14:49
虽然不是很理解但还是满足你……


经过测试可以完美达到想要的想过,没有做不到,只有想不到呀,膜拜了。
我是想每次运行修改一个角色的数值,所以在你的脚本基础上改了下,不知道改的有没有
啥后遗症,希望指点下。
我只是增加了一个MP的修改,如果没啥问题,我会依次增加,力量、敏捷等等这些修改。

1.png (38.88 KB, 下载次数: 5)

1.png

2.png (36.29 KB, 下载次数: 12)

2.png

作者: enghao_lim    时间: 2021-12-7 01:03
miantouchi 发表于 2021-12-6 22:05
经过测试可以完美达到想要的想过,没有做不到,只有想不到呀,膜拜了。
我是想每次运行修改一个角色的数 ...
  1. $actor[1] = [2, 4, 8, 10, 12, 18, 20, 23, 26, 29, 32]
  2. $actor[3] = [2, 4, 8, 10, 12, 18, 20, 23, 26, 29, 32]
复制代码

完全能够同时对多个角色进行修改,如果你有多个角色完全可以一起更改。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1