查看: 2354|回复: 7

[已经解决] 能够覆盖掉VxAce系统的内建类编码吗?

[复制链接]
梦石
0
星屑
208
在线时间
420 小时
注册时间
2020-1-11
回帖
175
发表于 2020-2-15 11:07:32 | 显示全部楼层 |阅读模式

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

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

×
举例:
class RPG::Class < RPG::BaseItem
  def initialize
    super
    @exp_params = [30,20,30,30]
    @params = Table.new(8,100)
    (1..99).each do |i|
      @params[0,i] = 400+i*50
      @params[1,i] = 80+i*10
      (2..5).each {|j| @params[j,i] = 15+i*5/4 }
      (6..7).each {|j| @params[j,i] = 30+i*5/2 }
    end
    @learnings = []
    @features.push(RPG::BaseItem::Feature.new(23, 0, 1))
    @features.push(RPG::BaseItem::Feature.new(22, 0, 0.95))
    @features.push(RPG::BaseItem::Feature.new(22, 1, 0.05))
    @features.push(RPG::BaseItem::Feature.new(22, 2, 0.04))
    @features.push(RPG::BaseItem::Feature.new(41, 1))
    @features.push(RPG::BaseItem::Feature.new(51, 1))
    @features.push(RPG::BaseItem::Feature.new(52, 1))

  end
  def exp_for_level(level)
    lv = level.to_f
    basis = @exp_params[0].to_f
    extra = @exp_params[1].to_f
    acc_a = @exp_params[2].to_f
    acc_b = @exp_params[3].to_f
    return (basis*((lv-1)**(0.9+acc_a/250))*lv*(lv+1)/
      (6+lv**2/50/acc_b)+(lv-1)*extra).round.to_i
  end
  attr_accessor :exp_params
  attr_accessor :params
  attr_accessor :learnings
end

我想把红字这段注解掉(新建职业时,总是给你先设好的四样特性),有办法吗?求赐教…
梦石
0
星屑
4881
在线时间
425 小时
注册时间
2019-10-22
回帖
647
发表于 2020-2-15 12:29:32 | 显示全部楼层
当然可以 直接插入这一段 就可以实现

  1. class RPG::Class < RPG::BaseItem
  2.   def initialize
  3.     super
  4.     @exp_params = [30,20,30,30]
  5.     @params = Table.new(8,100)
  6.     (1..99).each do |i|
  7.       @params[0,i] = 400+i*50
  8.       @params[1,i] = 80+i*10
  9.       (2..5).each {|j| @params[j,i] = 15+i*5/4 }
  10.       (6..7).each {|j| @params[j,i] = 30+i*5/2 }
  11.     end
  12.     @learnings = []
  13.   end
  14.   def exp_for_level(level)
  15.     lv = level.to_f
  16.     basis = @exp_params[0].to_f
  17.     extra = @exp_params[1].to_f
  18.     acc_a = @exp_params[2].to_f
  19.     acc_b = @exp_params[3].to_f
  20.     return (basis*((lv-1)**(0.9+acc_a/250))*lv*(lv+1)/
  21.       (6+lv**2/50/acc_b)+(lv-1)*extra).round.to_i
  22.   end
  23.   attr_accessor :exp_params
  24.   attr_accessor :params
  25.   attr_accessor :learnings
  26. end
复制代码


至于会导致什么意想不到的bug 暂时还没想到  实践出真知

评分

参与人数 1星屑 +100 收起 理由
VIPArcher + 100 我很赞同

查看全部评分

















回复

使用道具 举报

梦石
0
星屑
208
在线时间
420 小时
注册时间
2020-1-11
回帖
175
 楼主| 发表于 2020-2-15 13:13:40 | 显示全部楼层
非常非常的感谢!
回复

使用道具 举报

梦石
0
星屑
208
在线时间
420 小时
注册时间
2020-1-11
回帖
175
 楼主| 发表于 2020-2-15 13:52:55 | 显示全部楼层
坏数据 发表于 2020-2-15 12:29
当然可以 直接插入这一段 就可以实现

行之不通。
回复

使用道具 举报

梦石
0
星屑
4881
在线时间
425 小时
注册时间
2019-10-22
回帖
647
发表于 2020-2-16 08:44:47 | 显示全部楼层

具体?         
















回复

使用道具 举报

梦石
0
星屑
208
在线时间
420 小时
注册时间
2020-1-11
回帖
175
 楼主| 发表于 2020-2-16 10:44:39 | 显示全部楼层

把脚本粘贴后,在新建职业时,默认的四项功能仍在。
试了次数大于10。系统本身存在防修改内部类和函数的机制。
因为能力有限,无法再探究下去了。
回复

使用道具 举报

梦石
0
星屑
4881
在线时间
425 小时
注册时间
2019-10-22
回帖
647
发表于 2020-2-16 11:00:04 | 显示全部楼层
我服了 那是数据库  那个东西跟你工程的脚本没有关系  这个没法改  

你写脚本这些 这是给游戏运行后执行用的

而你说的那个  是游戏的编辑器 两个完全不一样的东西
















回复

使用道具 举报

梦石
0
星屑
208
在线时间
420 小时
注册时间
2020-1-11
回帖
175
 楼主| 发表于 2020-2-16 11:52:22 | 显示全部楼层
坏数据 发表于 2020-2-16 11:00
我服了 那是数据库  那个东西跟你工程的脚本没有关系  这个没法改  

你写脚本这些 这是给游戏运行后执行用 ...

是啊!钻研错方向了。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部