在传奇游戏中,角色和英雄的药品使用机制是自动解包和喝药的功能。这种机制在游戏的数据库设置中有所体现。下面我们将详细解释这个机制及其相关的DB设置。
DB设置格式
首先,我们来看看药品的DB设置格式:
bash
普通/特殊 药品名称, stdmode, shape, anicount
其中,每一行代表一种药品。各个字段的含义如下:
普通/特殊 药品名称:这个字段表示药品的名称,如“强效金创药”、“超级金创药”等。
stdmode:这个字段表示药品的模式。对于普通药品,stdmode为0;对于打捆药品,stdmode为31。
shape:这个字段表示药品的形状。对于普通药品,shape为0;对于特殊药品,shape为1。
anicount:这个字段表示药品的动画计数。对于非打捆药品,anicount对应的是打捆药品的shape;对于打捆药品,anicount的值表示药品的类型,如1表示普通红药,2表示普通蓝药,3表示特殊药品。
药品使用机制
当角色或英雄需要使用某种药品时,游戏会根据以下步骤进行操作:
搜索包裹:游戏会搜索包裹中stdmode=0、shape与药品对应的非打捆物品。如果找到这样的物品,就会吃掉它。
判断是否还有剩余:如果之前吃的药品在包裹中没有剩余,游戏会根据之前吃掉的物品的anicount值去搜索包裹中stdmode=31、shape等于药品anicount值的打捆物品。如果能找到这样的物品,就会进行解包操作。
解包操作:解包时,游戏会检查打捆物品的anicount值是否与药品的anicount值匹配。如果匹配,就会解包成功;否则,会提示药品用完。
问题解决策略
根据上述机制,我们可以解决以下问题:
英雄/人物只解包不吃药:如果不吃普通红药,可以检查药品的stdmode和shape是否等于0、AC是否大于0;普通蓝药的stdmode和shape是否等于0、MAC是否大于0;特殊药品的stdmode是否等于0、shape是否等于1、AC/MAC是否大于0。
只吃药不解包:如果只吃药不解包,可以将打捆物品的shape改为等于药品的anicount,并将打捆物品的anicount值设为正确的值(普通红药的打捆anicount值为1、普通蓝药的打捆anicount值为2、特殊药品的打捆anicount值为3)。这样就可以在药品用完之前解包并使用新的药品。