作者laechan (小太保)
看板mud_sanc
标题[闲聊] 实体武防与虚拟武防共存期间的过渡时期
时间Tue Sep 15 16:34:45 2009
这篇是打来看看是否可行的(可能打到最後会发现不可行)。
比较直觉的想法是先拿一两个部位的装备位置来实验,例如回收线上
所有的 kneepad 类防具(重点一),依照 help eq_kneepad 来看圣殿
目前只有 21 种 kneepad,是所有装备种类中数量最少的。(大概)
回收之後,将 21 种 kneepad 全集中到 /d/eq/kneepad 下,集中方
式考量到有些 eq 种类会有上百种情况,参考 RO 及猎人的做法,我
会大致将装备做底下两种可能的分类方式(重点二)..
一、S、A、B、C、D (四或五种,没有D时C就类似RO的一级武防)
一、SS、S、A、B、C、D (六种)
然後编为 D01、D02、... 例如星战护膝的档名就可能是..
/d/eq/kneepad/a01.c
也就是可能会舍弃传统Lv制,改用同样符合直觉的分类方式。
============================================================
接下来,玩家重新登入时将发现原有的 kneepad 消失。要重新取得
kneepad 有两种基本途径..
一、商店购买
二、打怪获得
这时需整理所有会打到这 21 种护膝的来源怪物,修改怪物中关於
取得该武防的方式(重点三,搭配其实已实装的虚拟物品+掉宝系统)
,并撰写支援虚拟物品的新式商店(重点四)。
由这里并且可以发现另一个重要的关键,就是「实体物品系统不能
亡」,也就是说,以RO为例的话,星战护膝可能有「0洞」的也可能
有「1洞」的,0洞的护膝可以是虚拟的,但是1洞的护膝就绝对只能
是实体的。
也就是说不管到最後虚拟到什麽程度,都还是会存在实体物品(重点五)
============================================================
玩家身上的储存格规划部份可能如下(重点六)...
objs : ({"档名1",状态,"档名2",状态,...})
wearing : ({"部位":档名or物件,...})
例如玩家身上有三个虚拟的星战护膝...
objs : ({"/d/eq/kneepad/a01",0,
"/d/eq/kneepad/a01",0,
"/d/eq/kneepad/a01",0,})
wear 了一个之後..
objs : ({"/d/eq/kneepad/a01",1,
"/d/eq/kneepad/a01",0,
"/d/eq/kneepad/a01",0,})
wearing : ({"kneepad" : "/d/eq/kneepad/a01"})
在这情况下 objs 就可以跟 all_inventory() 分开,玩家下 wear
all 时就先判断 all_inventory() 「之後再额外判断 objs」,包
括抓取物品是否可装备的判断等。
==========================================================
重点七
除了 objs 也应该要有 eqs 储存格。
这可以减少 wear all 时在 objs 中过多的无谓的判断,并把 objs
简化为底下...
objs : (["档名" : 数量,..])
==========================================================
重点八
「应该要有实体武防存在的武防装备位置,不设置虚拟物品」
在这情况下武器的虚拟化就几乎完全不可行,但是许多装备的虚拟
化却可行,例如..
sleeves、kneepad、underwear、wristlet、ring、earring、
misc、bracelet、......
也就是说只有少数装备存在着变动的可能。
在这情况下必须完全舍弃以前说的「+x」的精练性质,变成精链
可能是把东西镶在特定物品上藉以改变其名称与属性之类的。
因此重点九就是修改武防基本继承档,新增函数,再让改变性质
的武防会自动呼叫这些函数。
但是舍弃「+x」就不好玩了,不舍弃的情况则无法有效缩减防具
物件数(因为虚拟物品系统的存在目的之一就是要缩减物件数)。
但想像一下玩家身上 2x 种防具都 +x 的情况......
(我光想就觉得很乱)
========================================================
会暴增的储存格就是 objs,所以 objs 应该确定会摆在 temp区
,玩家则可在 quit 前先将 temp 区储存的物品改存到家里头,
这时就类似 RO 的仓库,但是变成有存进「家」的东西才会被系
统储存。
这时「家」就可以随着玩家离开新手镇之後同时赋予玩家,也就
是取消天空城造家系统,直接给离开新手镇的玩家一个「家」。
伴随而来的就是虚拟物品贩卖处,玩家打到的虚拟物品都可以透
过这个地方卖掉,「这个地方只能卖虚拟物品」。
至於 eqs 储存格则理论上可以放在 data 区,但限制 size,则
玩家最多只能把n件虚拟武防放在 eqs 区,在这情况下应设定一
个 虚拟ID←→虚拟武防实际档名 的转换系统(重点十),才不会
造成玩家 eqs 储存格的暴肥。
==========================================================
应该大致就是这样。
最近会拿 kneepad 来做实验,也就是会先从回收 kneepad 开始。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.225.160.75