游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2152|回复: 6

关于动态属性的装备

[复制链接]

1

主题

36

帖子

75

积分

注册会员

Rank: 2

积分
75
发表于 2009-2-19 11:33:00 | 显示全部楼层 |阅读模式
小弟想了解一下,如何存储拥有动态属性的物品属性
例如:某个ID为104的头盔的护甲值为(1,5),通过怪物掉落后实例出来的实际护甲值为3
一般属性写死的话,直接索引item资源表就能找到对应属性了,但如果是动态范围的,该如何存储和获取他的实际值呢?

谢谢老大们赐教,外行人拜求 [em10]

1

主题

106

帖子

110

积分

注册会员

Rank: 2

积分
110
发表于 2009-2-19 11:39:00 | 显示全部楼层

Re:关于动态属性的装备

放数据库,
俺猜的

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2009-2-19 12:26:00 | 显示全部楼层

Re:关于动态属性的装备

两种方法,一种是预先在资源数据库里制作好多种变体,如魔兽世界;一种是为每个物品实例记录属性,如暗黑。

1

主题

36

帖子

75

积分

注册会员

Rank: 2

积分
75
 楼主| 发表于 2009-2-19 13:06:00 | 显示全部楼层

Re:关于动态属性的装备

谢谢楼上的大大,能稍微讲的具体些吗?
大概怎么样一个流程,比如从一件装备实例出来被记录,再到调用它的属性。是否需要外部的配置文件

1

主题

106

帖子

110

积分

注册会员

Rank: 2

积分
110
发表于 2009-2-19 14:35:00 | 显示全部楼层

Re:关于动态属性的装备

我猜测3楼说的是:
第一种方法,就是,防具防御值1-5的随机范围, 共5种属性,于是就在资源数据库里写上 ,编号XXX00001 对应防御值1,XXX00002对应防御值2,。。。。然后玩家的装备就记录是拥有的XXX00001还是XXX00002。。如果武器的攻击值有200-250的随机范围的话,就要有50种可能,全写进资源文件。
第二种方法,a玩家随机到一个234攻击的武器,那么就在a玩家对应的装备属性里写上攻击234。

一般装备都会有个基本属性吧,比如武器,a武器基本属性200-250物理攻击,然后可能由此产生一些附加属性
比如再加了100的力量,附加属性不固定。这个时候基本属性放配置文件里,附加属性放数据库里。
如果遇到基本属性都随机的话,那配置文件就只有配置下范围了,全部放数据库里。
反正那些东西都放数据库,凡是常改变,且量大的都放数据库,数据库又安全,又方便,效率也不错。

PS:外行人,哈哈,对此产生的后果不负责

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2009-2-19 16:15:00 | 显示全部楼层

Re:关于动态属性的装备

现在很多游戏引擎都使用属性表,其实就是key-value的字典。如果用方法一,物品就不需要存,只要记录人物身上所带物品的资源ID就够了。如果方法二,每个物品实例都有一个属性表,属性表里填了物品的所有属性,存储时需要一起保存。对规模不大的游戏,直接把场景状态连同人物物品一起序列化了就行了;对大型的游戏,属性表可以直接映射保存到后台关系数据库的一张表里。

14

主题

82

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2009-2-19 18:15:00 | 显示全部楼层

Re:关于动态属性的装备

此问题属于物品掉落规则中的一部分..

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-20 06:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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