zine 发表于 2023-12-30 01:37:12

实际相同物品物理属性借用

刚刚检查最新的门忠物品放弃,看到一个是钢刀,心想这种是最常见的物品,为什么有人会放弃了。去当铺看了一下,


历史原因,钢刀被复制了N份,导致有些有物理定义,有些没有,有些定义的还不一样。
放弃这个任务的玩家估计接到了这个任务,怎么也找不到匹配的,这点的确很麻烦。即使没有门忠的麻烦,如果要定义N个一样的物品也很浪费人力。

搜索一下,系统里到处复制的比当铺存有的更多:


增加了借用物理属性的功能,其他23把刀全部向第一把刀看齐,门忠任务再接到钢刀,随便任何一把都可以交了。

顺便说一下,为什么没直接用物品名称和id判断
1.物品名称和id可以随便改写,很早以前还出过有任务只判断id,玩家用别的玩家取这个名字反复交任务的情况。虽然新任务基本不可能重现这种漏洞,但用id判断本身是不怎么可靠的。
2.有些同名物品未必指同一样(或者类似的东西),比如叫盒子,可以是装电视机的,也可以是装个戒指大小的。上面处理的钢刀基本应该属于差不多形状,尺寸的。

火折子,酒袋也会用同样方式处理,(其他火折子都是定义的3寸左右,但不知道谁定义的2米长火折子也存在于系统)

如果有其他同名物品,你觉得应该是同一类的也欢迎在本贴提交。

zine 发表于 2023-12-30 01:38:53

这个修改要重启后才能完整生效,有些已经存在系统内存中的会保持自己的物理定义直到被销毁。

dtp 发表于 2023-12-30 01:39:42

所以现在不用 ID 用的是什么,中文名称吗?

pianfeng 发表于 2023-12-30 01:43:36

布衣

zine 发表于 2023-12-30 01:46:19

dtp 发表于 2023-12-29 10:39 AM
所以现在不用 ID 用的是什么,中文名称吗?

举个例子,
比如npc A跟你要蛋糕(dan gao),这个蛋糕只能完成特定任务环节npc B给你,npc B给物品叫蛋糕(dan gao),但是怎么保证系统里没有其他叫蛋糕(dan gao)的物品可以让玩家走捷径不做特定任务环节?

答案是没法保证,所以这个特定环节一般会加个mark,set("owner",玩家id),这样和系统其他蛋糕区别,当然这样也不保险,谁知道其他蛋糕会不会在什么地方也加这个mark?

最保险是任务物品蛋糕上有自己的验证函数,比如call is_dangao_for() return 交任务npc id才是真的,这样基本不可能存在系统其他蛋糕出现同样行为的情况。

门忠的用物理定义属性+名称+id判断也是增加物品指纹的一种方式。

dtp 发表于 2023-12-30 01:50:47

我听不懂这些原理。我就关心,我现在做任务是认中文还是认 ID,既然物理属性都无所谓了的话。

门忠任务再接到钢刀,随便任何一把都可以交了。

zine 发表于 2023-12-30 01:51:46

dtp 发表于 2023-12-29 10:50 AM
我听不懂这些原理。我就关心,我现在做任务是认中文还是认 ID,既然物理属性都无所谓了的话。 ...

物理属性有所谓啊,如果无所谓就没这个帖子了。

门忠的用物理定义属性+名称+id判断也是增加物品指纹的一种方式。

dtp 发表于 2023-12-30 02:00:07

你是说,只有钢刀无所谓,别的还是要看物理属性的?

dtp 发表于 2023-12-30 02:00:56

那这物理属性可不好背呀。一长串记不住,看到一个差不多的也不知道是不是,唉,好痛苦。

zine 发表于 2023-12-30 02:02:09

dtp 发表于 2023-12-29 11:00 AM
你是说,只有钢刀无所谓,别的还是要看物理属性的?

我是说系统复制了N份的东西,现在物理属性统一了。不会钢刀A是3尺金属,钢刀B是一丈木条,导致B不能交任务。其他也在改进,比如复制了36处的布衣。
页: [1] 2
查看完整版本: 实际相同物品物理属性借用