作者laechan (小太保)
看板mud_sanc
标题Re: [wizs] 直觉化的虚拟物品系统
时间Thu Sep 25 17:32:16 2008
※ 引述《laechan (小太保)》之铭言:
: 推 hermis :这个好玩,不过能延伸的任务只有收集物品的样子 09/25 16:34
: → hermis :还会扩充其他功能吗? 09/25 16:34
若从目前虚拟物品的设定来看,读取该虚拟物品的资料时..
该虚拟物品有在资料库设定某资料 => 直接读资料库的资料
│
└─→没有在资料库设定某资料 => 改读取其指向的实体物件的资料(query)
例如我也可以在虚拟物品资料设定区,把物品会有的 id、short、
long、mass、value 等全设进去 => 就等於完全不需要去读实体物件的资料
(这是虚拟物品计划最初代的构想)
但是实务上,因为一物品的资料「并不会很经常地需要读取全部的资
料」,以指令 i 为例,它就不会去读取到「long」跟「value」这两
个资料项,更不用说武防在 i 时不会读取到的资料更多。
所以越频繁读取到的东西,越需要设定在虚拟物品资料库内;资料项
目越大、or越复杂的资料,越需要优先考量将它们设在物件资料中。
(这是虚拟物品计划第二代的构想,之前在实装怪物掉落物系统时采
用的就是这个构想)
======现在是第三代的构想,所以上面那个也要改=====
其实目前多数线上游戏,其怪物掉落物多半都是虚拟物品。
最明显的就是RO,它的第三物品栏几乎都是虚拟物品,玩家在打开物
品栏时它只会读取其图像档;玩家游标指向该物品时,只会读取其名
字;玩家在物品栏按右键时,才显示该物品的叙述以及重量。
而只有在卖商店时,才会多显示价格。
换言之它最常被读取的资料就是图像档以及名字罢了。
而以天二来说,天堂二另有「解迷&任务道具」是不显示在物品栏的
(亦即没有重量价格等等),所以理论上它的任务道具只有名字跟mark
这两项(它连实体物件可能都没指向,这个日後也可以参考),甚至可
能名字=key名, 後面只接基本参数(但圣殿不会这样子做)。
而D2那个就更单纯,它可能所有的东西都是虚拟物品,可以预见的就
是它的资料库一定很庞大,就不需要载入太多的实体物件。
(话说它载入最多的多半都是房间格子以及怪物)
虚拟物件可做的应用,跟实体物件不会差到哪去,甚至其应用可能还
会少於实体物件可做的应用。
(因为它做的到的应用,实体物件都能办到)
以後会着重的重点就是干掉所有的实体物品(武防除外),再让指令
i = vobjs,这样虚拟物品系统就算完全实装於圣殿。若考量到这
点,则虚拟物品最好於现在多增设几个参数...
一、mass (以後用於统计重量用,但允许无 mass = 无重量物品
的存在。这时可做的方便归类,就是有重量 = 一般物
品,无重量 = 解谜物品)
=>也可以弄公设, 没设定的物品 mass 一律内定为 1
二、value (用於卖店时可以整批列出价格以及卖出)
=>无 value 设定时就得读取实体物件的 value 值, 也可行
三、cmds (用於让特殊指令如 drink, eat 判断玩家身上的虚拟物品
是不是可以 drink or eat)
=>这个研究中
以去刀粉为例,去刀的效果是直接在去刀粉这个实体物件中自行定
义 add_action 来做去刀, 但未来去刀粉若虚拟化...
"laechan_xxx" : ([ "name" : "去刀粉",
"file" : "xxxxxxxx",
"remark" : "去刀用的",
"cmds" : "use",
]),
也就是说,假设有个虚拟物品公用指令 use 存在的话,那只要虚
拟物品有设定 cmds 为 use 的话, 就代表该物品可以被指令 use
使用, 这时 use 指令内就做底下动作...
real_ob=get_vobjs_object("laechan_xxx");
real_ob->use();
也就是说去刀粉的实体物件还是有撰写怎麽去刀,但是因为玩家身
上已经改带虚拟的去刀粉,所以这时就透过某指令来执行...
以前:
之前是直接在物件上
写去刀指令
去刀粉(实体) ──────────→ 去刀
以後:
指令 use ─→ 判断身上有去刀粉(虚拟)
─→ 呼叫去刀粉(实体) ──→ 命令它做去刀的动作
指令 use 原本就在规划内,透过 use 去转呼叫,应该就是以後
主要的应用,像 usecard 以後就会改成 use 同行卡 to xxx、
use 磁力卡 to xxx、...然後再用 usecard 来当作备用指令。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: laechan 来自: 61.225.160.127 (09/25 17:34)