查看: 3421|回复: 10

[已经解决] 成长曲线没有物理防御、魔法防御怎么添加?

[复制链接]
梦石
0
星屑
15041
在线时间
2230 小时
注册时间
2019-1-24
回帖
964

R考场第七期纪念奖

发表于 2020-9-18 09:22:44 | 显示全部楼层 |阅读模式

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

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

×
图是VA里面的,今天发现XP版本没有物理防御、魔法防御的成长曲线,
这样的话如果角色等级提升就和等级挂不上钩了,只能靠装备了,
怎么才能做出类似VA这样也用曲线调节?
1.png
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2020-9-18 15:27:10 | 显示全部楼层
听说有些游戏用另一个角色的曲线代替..

点评

这个怎么实现?  发表于 2020-9-18 22:15
回复

使用道具 举报

梦石
0
星屑
8003
在线时间
1184 小时
注册时间
2007-7-29
回帖
2014
发表于 2020-9-19 01:23:25 | 显示全部楼层
本帖最后由 enghao_lim 于 2020-9-19 01:25 编辑

简单的方法只能如楼上所说的用另一个角色代替,下面的脚本就是简单暴力法,1 会用 2 的曲线, 3 会用 4的曲线,也就是双数位角色废掉了,且角色最大值一定要是双数。

继承的曲线有:
力量 = 物防
魔力 = 魔防
灵巧 = 攻击(顺手添加的……)

也就是说2号角色的力量将变成1号角色的物防,魔力变成魔防,灵巧变成攻击。

[fold=不负责任脚本 XD]
  1. class Game_Actor
  2.   #--------------------------------------------------------------------------
  3.   # ● 获取基本攻击力
  4.   #--------------------------------------------------------------------------
  5.   def base_atk
  6.     n = $data_actors[@actor_id + 1].parameters[3, @level]
  7.     weapon = $data_weapons[@weapon_id]
  8.     return n + (weapon != nil ? weapon.atk : 0)
  9.   end
  10.   #--------------------------------------------------------------------------
  11.   # ● 获取基本物理防御
  12.   #--------------------------------------------------------------------------
  13.   def base_pdef
  14.     n = $data_actors[@actor_id + 1].parameters[2, @level]
  15.     weapon = $data_weapons[@weapon_id]
  16.     armor1 = $data_armors[@armor1_id]
  17.     armor2 = $data_armors[@armor2_id]
  18.     armor3 = $data_armors[@armor3_id]
  19.     armor4 = $data_armors[@armor4_id]
  20.     pdef1 = weapon != nil ? weapon.pdef : 0
  21.     pdef2 = armor1 != nil ? armor1.pdef : 0
  22.     pdef3 = armor2 != nil ? armor2.pdef : 0
  23.     pdef4 = armor3 != nil ? armor3.pdef : 0
  24.     pdef5 = armor4 != nil ? armor4.pdef : 0
  25.     return n + pdef1 + pdef2 + pdef3 + pdef4 + pdef5
  26.   end
  27.   #--------------------------------------------------------------------------
  28.   # ● 获取基本魔法防御
  29.   #--------------------------------------------------------------------------
  30.   def base_mdef
  31.     n = $data_actors[@actor_id + 1].parameters[5, @level]
  32.     weapon = $data_weapons[@weapon_id]
  33.     armor1 = $data_armors[@armor1_id]
  34.     armor2 = $data_armors[@armor2_id]
  35.     armor3 = $data_armors[@armor3_id]
  36.     armor4 = $data_armors[@armor4_id]
  37.     mdef1 = weapon != nil ? weapon.mdef : 0
  38.     mdef2 = armor1 != nil ? armor1.mdef : 0
  39.     mdef3 = armor2 != nil ? armor2.mdef : 0
  40.     mdef4 = armor3 != nil ? armor3.mdef : 0
  41.     mdef5 = armor4 != nil ? armor4.mdef : 0
  42.     return n + mdef1 + mdef2 + mdef3 + mdef4 + mdef5
  43.   end
  44. end
复制代码
[/fold]

点评

O(∩_∩)O哈哈~,奇思妙想达到效果,按照这个思路还能弄出来不少成长曲线。  发表于 2020-9-20 18:11

评分

参与人数 2星屑 +50 赞 +2 收起 理由
RyanBern + 50 + 1 认可答案
miantouchi + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2020-9-19 11:34:29 | 显示全部楼层
本帖最后由 灯笼菜刀王 于 2020-9-19 11:49 编辑

这种问题, 也是改一下公式就好了

你让防御,魔防和力量,智力挂钩不就可以成长了


能力曲线是用一个 二维数组 保存的, 通过 Table[类型,等级]  这样调用预设数值

所以,如果你想要增加新的曲线, 大可自定义一个数组来调用, 或者用个公式让系统自己计算出来 比如 防御 = 当前等级 * 2.5 之类的

如果想直观化操作, 也可以用楼上的方法, 虽然我觉得实际操作起来还不如脚本里设置方便, 笑

点评

dota就是例子  发表于 2020-9-21 09:15
^_^需要例子刀王。感受下脚本怎么比曲线图方便,或者说让曲线图废了吧。。。O(∩_∩)O哈哈~  发表于 2020-9-20 18:20

评分

参与人数 1赞 +1 收起 理由
MCCF + 1 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
2323
在线时间
207 小时
注册时间
2019-3-30
回帖
144
发表于 2020-9-19 15:37:45 | 显示全部楼层
我上次也提过类似的问题,但是只有基础数值没有增长

点评

也就这样,我这种的话这样就可以了  发表于 2020-9-20 23:06
你的问题解决了没?  发表于 2020-9-20 18:50
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部