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

Project1

 找回密码
 注册会员
搜索
查看: 69|回复: 7

[有事请教] 能够覆盖掉VxAce系统的内建类编码吗?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
100
在线时间
36 小时
注册时间
2020-1-11
帖子
29
发表于 2020-2-15 11:07:32 | 显示全部楼层 |阅读模式

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

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

x
举例:
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

我想把红字这段注解掉(新建职业时,总是给你先设好的四样特性),有办法吗?求赐教…

Lv3.寻梦者

梦石
0
星屑
1519
在线时间
173 小时
注册时间
2019-10-22
帖子
200
发表于 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 暂时还没想到  实践出真知
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
100
在线时间
36 小时
注册时间
2020-1-11
帖子
29
 楼主| 发表于 2020-2-15 13:13:40 | 显示全部楼层
非常非常的感谢!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

行之不通。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

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

具体?         
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

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

使用道具 举报

Lv3.寻梦者

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

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

而你说的那个  是游戏的编辑器 两个完全不一样的东西
回复 支持 反对

使用道具 举报

Lv1.梦旅人

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

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

是啊!钻研错方向了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

站长信箱:fux2@moe9th.com|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2020-2-29 03:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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