Project1

标题: 敌人等级质量系统,怎么根据等级和质量提取敌人各项属性 [打印本页]

作者: 幻耶    时间: 2012-6-8 10:13
标题: 敌人等级质量系统,怎么根据等级和质量提取敌人各项属性
本帖最后由 幻耶 于 2012-6-8 10:19 编辑

比如我在战斗中得到一样物品,该物品的名字为:幽灵,1,7,2  我希望根据分隔符记录的数值,计算得出id为1的敌人在等级为7,质量为2时的各项属性数值,如何实现?分隔符的数值是随机的。

地址:
http://rpg.blue/thread-75134-1-1.htmldsu_plus_rewardpost_czw
作者: kangxi0109    时间: 2012-6-8 13:23
表示不是很懂楼主说什么,下面是我的理解,有什么不对的请见谅。
首先在脚本里面定义好:
  1. class Item
  2.     def name
  3.       name = @name.split(/,/)[0]
  4.       name = name == nil ? "" : name
  5.       return name
  6.     end
  7.     def note
  8.       note = @name.split(/,/)[1] #提取第一个数字:$data_items[1].note
  9.       note = note == nil ? "": note
  10.       return note
  11.     end
  12.     def note2
  13.       note2 = @name.split(/,/)[2] #提取第二个数字:$data_items[1].note2
  14.       note2 = note2 == nil ? "": note2
  15.       return note2
  16.     end
  17.     def note3
  18.       note3 = @name.split(/,/)[3] #提取第三个数字:$data_items[1].note3
  19.       note3 = note3 == nil ? "": note3
  20.       return note3
  21.     end
  22.   end
复制代码
然后,物品的话,用公共事件加脚本(假设这个物品为1号):
  1. $game_troop.enemies[$data_items[1].note].level = $data_items[1].note2
  2. $game_troop.enemies[$data_items[1].note].rank = $data_items[1].note3
复制代码
然后怪物属性的话:
maxhp : $data_enemies[$data_items[1].note].base_maxhp
maxsp : $data_enemies[$data_items[1].note].base_maxsp
力量: $data_enemies[$data_items[1].note].base_str
灵巧: $data_enemies[$data_items[1].note].base_dex
敏捷: $data_enemies[$data_items[1].note].base_agi
魔力: $data_enemies[$data_items[1].note].base_int
攻击: $data_enemies[$data_items[1].note].base_atk
物防: $data_enemies[$data_items[1].note].base_pdef
魔防: $data_enemies[$data_items[1].note].base_mdef
作者: 幻耶    时间: 2012-6-8 14:51
本帖最后由 幻耶 于 2012-6-8 14:54 编辑
kangxi0109 发表于 2012-6-8 13:23
表示不是很懂楼主说什么,下面是我的理解,有什么不对的请见谅。
首先在脚本里面定义好:然后,物品的话, ...


就是假设战斗结束,某怪物掉了一件物品,上面记录着该怪物的ID、等级、品质等信息,用分隔符记录,这点已经实现了。然后在地图上通过事件里写脚本的方法把这个怪物的所有属性赋给一个新加入的角色,等于是复制敌人作为队友吧,问题关键是:怎么通过分隔符中的数值推算某等级和某品质下某编号怪物的各项属性
作者: kangxi0109    时间: 2012-6-8 15:16
幻耶 发表于 2012-6-8 14:51
就是假设战斗结束,某怪物掉了一件物品,上面记录着该怪物的ID、等级、品质等信息,用分隔符记录,这点已 ...

就是宠物系统?通过分隔符中的数值推算某等级和某品质下某编号怪物的各项属性的话,上面的方法就是啊,
作者: 幻耶    时间: 2012-6-8 15:23
本帖最后由 幻耶 于 2012-6-8 15:23 编辑
kangxi0109 发表于 2012-6-8 15:16
就是宠物系统?通过分隔符中的数值推算某等级和某品质下某编号怪物的各项属性的话,上面的方法就是啊, ...


那么赋予新角色属性就是这样?如果加入时等级不是初始化,也和敌人的等级一样?

$game_actors[12].str=$data_enemies[$data_items[1].note].base_str
$game_actors[12].agi=$data_enemies[$data_items[1].note].base_agi
$game_actors[12].dex=$data_enemies[$data_items[1].note].base_dex
$game_actors[12].int=$data_enemies[$data_items[1].note].base_int
$game_actors[12].level = $data_items[1].note2
。。。。。。
。。。

作者: kangxi0109    时间: 2012-6-8 15:34
本帖最后由 kangxi0109 于 2012-6-8 15:34 编辑

理论上是这样,在物品事件里面,12号角色初始化加入→定义敌人的品质和等级属性→再加上你的这些脚本就可以了,楼主为何不实践一下呢?
因为都是用全局变量的,问题应该不大。
作者: 幻耶    时间: 2012-6-8 15:38
谢谢,base_atk 和 atk 有什么区别么?




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