Project1

标题: 新人求救,怪物等级设定 [打印本页]

作者: 825300455    时间: 2012-7-26 17:05
标题: 新人求救,怪物等级设定
我是新人………………………………在数据库里面,怪物是不可以像主角一样设定等级的,他只给你设定什么生命值,精神值等等,如果我想设置一个15级的怪物,该填啥,不会填默认的吧,或者有什么脚本,如果有要发过来,(我升初二,很多关于脚本的不懂,请求大师教我用这个脚本)dsu_plus_rewardpost_czw
作者: №独孤剑→    时间: 2012-7-26 18:23
http://rpg.blue/forum.php?mod=vi ... =%E7%AD%89%E7%BA%A7
敌人等级随我方变化,
http://rpg.blue/forum.php?mod=viewthread&tid=143428
脚本。

作者: 灯笼菜刀王    时间: 2012-7-26 18:33
RMXP里,怪没有等级的设置, 如果想要给它加个等级, 只能改脚本

找到游戏定义怪物的脚本, Game_Enemy  这个就是啦, 怪物的一切数据都在这里

先给它新建一个等级类,  attr_accessor :level

然后下面初始化一下, @level = level   这样就完成了让怪拥有了等级,

不过,这个level是不存在的,因为还没有定义, 直接使用会出错,

所以,下面还要定义一个
def level
  return 15
end
这样就完成了, 怪物的等级全部都是15级了

不过,一个游戏里所有怪都15级好像很傻, 每次修改定义也很麻烦, 要是能数据库里直接改就好了, 不过,默认数据库是不会给你加个等级设置的.

所以,我们可以从别的地方动手, 比如,金钱, 可以设定6位数, 一只怪要这么多钱干嘛, 砍一只怪赚100W也太奢侈了, 为了维护游戏世界的市场, 我们让钱只显示4位就足够了, 剩下的两位拿来做等级设置

于是,就可以这样,
def gold  #把钱先改一下
  return  $data_enemies[@enemy_id].gold % 10000
end

%是除余号, 表示怪的钱除10000以后返回剩下的余数. 即1W以上的数值不显示

然后,把万位和十万位拿到这里来
def level
  return  $data_enemies[@enemy_id].gold / 10000
end
这样就表示把钱除10000 所得到的结果

然后,数据库里, 怪物的金钱数值就这样改 150015   这样就表示,怪物的等级是15, 怪物掉的钱是15元

调用一下, p $data_enemies[1].level

就可以看到,幽灵的等级就是15了

同样的,改变算法就可以在数据库里扩展怪物的能力设置. 自己去开扩用途吧.


作者: 825300455    时间: 2012-7-26 23:17
怎么加,在哪里加,给个样板出来好吗,求求了




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