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

Project1

 找回密码
 注册会员
搜索
查看: 2073|回复: 6
打印 上一主题 下一主题

[已经解决] 敌人等级质量系统,怎么根据等级和质量提取敌人各项属性

[复制链接]

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
跳转到指定楼层
1
发表于 2012-6-8 10:13:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 幻耶 于 2012-6-8 10:19 编辑

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

地址:
http://rpg.blue/thread-75134-1-1.html
囡囚囨囚囨図囨囧

Lv3.寻梦者

梦石
0
星屑
2743
在线时间
1601 小时
注册时间
2010-10-22
帖子
1058
2
发表于 2012-6-8 13:23:41 | 只看该作者
表示不是很懂楼主说什么,下面是我的理解,有什么不对的请见谅。
首先在脚本里面定义好:
  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
【2022.06.03】原本以为已经不可能再找回来的东西重新找回来了,原本一直念念不忘的坑终于再一次拿起铲子了。一别竟近10年,你好,我的世界我的梦。
【不可阻挡】异元-地劫黎明
回复

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
3
 楼主| 发表于 2012-6-8 14:51:47 | 只看该作者
本帖最后由 幻耶 于 2012-6-8 14:54 编辑
kangxi0109 发表于 2012-6-8 13:23
表示不是很懂楼主说什么,下面是我的理解,有什么不对的请见谅。
首先在脚本里面定义好:然后,物品的话, ...


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

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2743
在线时间
1601 小时
注册时间
2010-10-22
帖子
1058
4
发表于 2012-6-8 15:16:05 | 只看该作者
幻耶 发表于 2012-6-8 14:51
就是假设战斗结束,某怪物掉了一件物品,上面记录着该怪物的ID、等级、品质等信息,用分隔符记录,这点已 ...

就是宠物系统?通过分隔符中的数值推算某等级和某品质下某编号怪物的各项属性的话,上面的方法就是啊,
【2022.06.03】原本以为已经不可能再找回来的东西重新找回来了,原本一直念念不忘的坑终于再一次拿起铲子了。一别竟近10年,你好,我的世界我的梦。
【不可阻挡】异元-地劫黎明
回复

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
5
 楼主| 发表于 2012-6-8 15:23:12 | 只看该作者
本帖最后由 幻耶 于 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
。。。。。。
。。。
囡囚囨囚囨図囨囧
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2743
在线时间
1601 小时
注册时间
2010-10-22
帖子
1058
6
发表于 2012-6-8 15:34:08 | 只看该作者
本帖最后由 kangxi0109 于 2012-6-8 15:34 编辑

理论上是这样,在物品事件里面,12号角色初始化加入→定义敌人的品质和等级属性→再加上你的这些脚本就可以了,楼主为何不实践一下呢?
因为都是用全局变量的,问题应该不大。
【2022.06.03】原本以为已经不可能再找回来的东西重新找回来了,原本一直念念不忘的坑终于再一次拿起铲子了。一别竟近10年,你好,我的世界我的梦。
【不可阻挡】异元-地劫黎明
回复

使用道具 举报

Lv4.逐梦者

梦石
3
星屑
6420
在线时间
1131 小时
注册时间
2007-12-26
帖子
2402
7
 楼主| 发表于 2012-6-8 15:38:50 | 只看该作者
谢谢,base_atk 和 atk 有什么区别么?
囡囚囨囚囨図囨囧
回复

使用道具 举报

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

本版积分规则

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

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-19 19:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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