开发者茶水间:代币系统3.0与未来

众所周知(当然也没几个人知道……),代币系统1.0和2.0系统都做到一半便弃坑,主要原因是背包系统的改革一直拖着,而既然现在背包系统已经彻底的现代化(就差每个物品做个图标然后可以拖来拖去了,虽然有这个计划,但这样可能会导致并不能一眼看出物品名,最终还是放弃了这个方案),现在可以重新将代币系统捡回来了,而这一次更加的激进。

目前,一部分物品现在在物品栏中会以青色底色显示,以这种底色显示的物品将不占用背包空间,同时也无法执行[存入],[锁定]和[解锁]操作(但不一定不能[出售],只有带有“不可出售”标签的才是不能出售,不过通常这些物品都较为重要,建议不要随意出售)。

同时,你应该也发现了,背包的物品现在可以点住拖动了,这是一个方便你整理物品顺序的功能,你可以随意调整物品顺序。新获得的物品和从仓库取出的物品会在最后。

下列物品已经加入了这个“不占格子的物品”豪华套餐,注意这只是一个举例,其实还有更多物品也加入了,这里只是一部分:

  • 所有传送符文
    • 注:传送系统未来会进行改版,目前奖励暂时不变,改版会进行追溯,玩家只会赚不会亏,请放心
  • XX之翼系列
  • 体力药水(曾经它不可见,现在它又回来了)
    • 未来可能又会再次加入各种不同类的体力药水
      • 如小黄鸭,西瓜,冰淇淋等
  • 导师奖励
    • 注:导师系统未来会进行改版,目前奖励暂时不变,改版会进行追溯,玩家只会赚不会亏,请放心
  • 绝大多数遗迹保护协会购入项目(即捐赠奖励)
  • 一部分活动奖励

目前这一改动已经实装,如果你发现一部分物品已经变色了,可以直接将仓库中这些物品移入背包,当然不移动也可以,不过要记得系统只会使用背包中的物品。

未来会加入其他代币,下面是一些预览(请注意只是预览,可能会随时变化

  • 星界宝珠
    • 目前没有设定用途,仅作为记录,未来会设定用途
    • 获得超出5张卡片以上的卡片的部分,会转换为这个代币,转换比例和兑换奖励未定。会追溯之前的副本记录
    • 星界宝珠由绝大多数卡片溢出获得
    • 纯粹星界宝珠由某些特定史诗卡片溢出获得
    • 此物品将会追溯后邮件发放
  • 时空记忆徽章
    • 暂定用途是购买[一部分]绝版的活动奖励
    • 可能会在某些新活动中发放
    • 此物品暂不发放
  • 神谕之石
    • 原用于抽神谕,神谕系统回炉重做之后用途未定
    • 此物品暂不发放
  • 凤凰羽毛
    • 回归玩家系统上线之后,一次性进行的回归玩家补偿会一次性获得此物品若干个(当然还有其他补偿,参见今后发布的其他文章)
    • 今后的回归玩家也会在上线之后获得这个
    • 出售此物品会获得大量金币
    • 用途未定。
  • 霸者之证
    • 用于对沙雕群友发色图的奖励
    • 用途未定
  • 导师声望
    • 导师系统改版的物品,目前暂时不使用
    • 未来导师系统改版之后将会一次性发放
    • 用途未定
  • 女神的祝福
    • 所有加过官方群的玩家可以在群公告获得通用兑换码领取(仅限一次)
      • 同时也会不定期在群里发放通用兑换码(有过期时间,过时不候)
    • 可以使用,效果等同于红莲之翼+星界之翼+梦境之翼三者合一效果
    • 也可以作为代币兑换其他奖励,目前未定

背包重制系统正式版实装

在  此前的文章  中已经说明的背包系统现在已经正式实装,目前实装的规则如下:

  • 所有玩家的背包数目不变,为200格,新玩家也是200格。购买的扩展背包将减半处理。
  • 在此基础上,同一物品现在叠加只占一格背包位(取代了之前每个物品单独占一格背包位)
  • 待拾取栏位删除
  • 此后物品栏这一页面中不存在过期物品这一概念。
  • 所有获得的物品都会装入背包,如果背包不够,物品现在将会被直接强制丢弃掉。
    • 目前正在抓紧寻找程序中的各个地方来处理这一问题,尽可能保证关键地方不出错(比如在领取邮件时候如果背包满了,会导致物品直接消失,邮件也没了)。
    • 最近一段时间内请不要让背包太满
    • 会考虑给出背包接近满额的提示(但头部是有提示的,请时刻注意)
    • 未来会改进这一部分。
  • 所有在2019年4月27号之前获得位于“待拾取物品栏”中的物品,依然可以被拾取,他们也没有有效期,作为一个历史遗留问题,现在你可以随意的慢慢处理。可以拾取,可以保留,也可以直接在待拾取栏位中出售。
  • 所有购买了PLUS并且在使用中的角色,会获得一个新的仓库系统(实际上它是占用之前的待拾取栏位的系统)。因此,此前位于待拾取栏位中的物品也会保留在仓库里面。
    • 现在可以将物品栏物品移向仓库
      • 请注意这一操作将会有每日上限(按照单个物品计算,不是按照一叠计算),目前未实装,但未来会设定每天只能移动若干个物品进入仓库
    • 同样,也可以将仓库物品移回物品栏
      • 这一操作不会有上限
      • 其实这就是原来的“拾取”操作
    • PLUS账号如果过期,就不能再将物品移入仓库,但可以将物品移出仓库
    • 仓库的最大容量等于背包最大容量,也就是说PLUS角色相当于拥有两倍仓库
  • 一部分游戏内文档没有更新,未来会进行更新。

总体而言,这一改动是为了让未来的系统开发更加符合现代网游的习惯,由于一些历史问题,我游的所谓“待拾取物品栏”几乎成为一个无限大的背包来使用,而真正的背包却变成了要合卡的时候才捡东西。

这一改革将取消这种扭曲的做法,来让整个游戏的框架变得更加现代化。但总体而言,同一堆叠的物品只占一格这使得物品系统不那么约束,可以设计出很多可以堆叠几千几万的物品而不用担心放不下

总之:

“都是好事儿”——孙一峰

未来会根据这一改动进行更多的相关调整,如果遇到问题或者有疑问请及时联系管理员。

由于技术原因,以下是一些暂行操作:

  • 市场物价影响依然暂时关闭。未来会进行这一调整工作。
  • 分解系统暂时关闭,开启时间未知。
  • 少数物品获得的时候依然会存入仓库,这也是一个临时性操作,未来会将全部物品都存入背包。

背包系统重制为游戏系统解放了很多压力,接下来的很多本来预定要重新制作系统的功能,现在将会套用背包系统进行制作。诸如:

  • 神谕之石(本预定由于祈祷神谕,之后会作其他用途)将会变为背包物品,类型为代币,占用格子,品质为紫色,并且可见。
  • 星界水晶(副本掉落同一卡片获得超过5张卡之后溢出卡片自动分解产物)将会变为背包物品,类型为代币,占用格子,品质为紫色,并且可见。
  • 回复药将会重命名为体力药水,变回背包物品,类型为特殊物品,品质为紫色,并且可见
  • 导师声望(导师系统重做之后的物品),将会变为背包物品,类型为代币,占用格子,品质为紫色,并且可见。
  • 后续版本中可能出现的副本钥匙,声望代币或其他物品均会变成普通的物品而不是代币。
  • 原代币系统废除(做好了也根本没实装过,所以无所谓啦)
  • 会考虑给出相关UI来统一提示代币。

将PHP版本从5.6升级到7.3中遇到的坑汇总贴[不定时更新]

提示:这是一篇技术博客,请普通玩家不必关注此文。

因为种种主观和客观原因,虽然我写的其他程序都是基于PHP7的了,但 Linodas 因为历史遗留太多,一直没有升级到最新的PHP版本,一直保持在5.6版本。

不过由于最近的一些神秘计划,因此在最近就正好将PHP更新到了CentOS 6.8支持的最高的7.3版。搬迁之后马上就遇到了一大堆问题。

因此,下面就是一份维修记录,除了作为技术留底,也方便了今后有人在网上搜索同类问题的时候能看到此文。

安装完php7之后记得装其他组件。

比如GD库,Redis等等。否则会报错找不到class

PHP7不再支持传统的 mysql_ 开头的库,需要用mysqli_ 开头的替换

注意不能直接复制粘贴替换,否则会死的很惨。
可以先用 http://www.seabreezecomputers.com/mysql2mysqli/ 这个工具转换旧的代码,注意也不要直接转换完了就替换,也会死得很惨。
请务必要针对自己的mysql库的实际情况(OO化的还是过程化的),具体调整代码才可以工作。

=& new classname 不能用

直接删掉&即可

一般个人不会用这种写法,我是改一个第三方库里面的

PHP7不支持 preg_replace 中使用 /e 修饰符,需要用 preg_replace_callback 替换

这里一定要小心的修复,我在这里遇到的问题是模板引擎太老,导致所有模板生成全是空白,查阅error_log没有报错,所以花了许多时间解决这个问题。

现在一般大家写的时候都不会用/e修饰符了,所以问题不大。

NaN和False的关系

用一张图可以说明此问题

对于有多个PHP版本情况,记得要修改crontab中的CLI方式执行的PHP文件

例如在cron中如果有类似
/usr/bin/php /www/domain/123.php
这样的内容,需要修改为类似
/usr/bin/php73 /www/domain/123.php
这样。

类似 $aaa->$bbb[‘ccc’]的格式的解析顺序变化

这个一般很多迁移指南里面都写为第一条,我当时感觉“啊好像我游没有用到这个写法啊”就没管。

结果还是中招了,不过只有一个很小的地方遇到了,问题不大,改了就好。

可以用下列正则快速的找出问题代码
\$[A-Za-z0-9]+\-\>\$[A-Za-z0-9]+\[
修改办法也很简单,改为
$aaa->{$bbb['ccc']}
就可以了

之后还会有更多更新,敬请期待。

 

背包系统正式重制相关注意事项

之前已经咕咕了两年的系统现在终于要正式进行了。

总之,为保有特色的物价系统,以及改造物品栏成为现代模式,现经过持续近两年(2017-8 ~ 2019-4)的多方取材(玩其他游戏)的改动草案开列如下:

注意这不是最终结果,只是目前的一个比较好的方案,此文不一定会随时更新,请以游戏内实际情况为准。

合并现有两个背包,删除“待拾取栏位”(即现在的“仓库”)
删除物品栏存放数量上限,改为和一般游戏一样的格子上限。
每个玩家现在初始持有 200 格物品栏,每一格可以存放素材堆叠至 65535 个,同一叠放只占用1格物品栏
– 超出上限目前暂时无法获得新物品,需要空出格子才能继续,这些物品会被直接显示为无法获得(未来会考虑作出邮务大师的功能,也就是物品如果无法拾取会邮寄给玩家)

之前的讨论是这套系统会导致物价系统被影响,因此物价系统将做以下改动
分为两个部分

注意这~也~不是最终结果,只是目前的一个比较好的方案,此文不一定会随时更新,请以游戏内实际情况为准。

购买上限
– 大部分商店物品现在有单人每天可购买之上限,虽然不RP,但这是目前影响最小的做法。
– 一般购买上限为20~50,每天日常刷新时刷新。
– 不同商店如果出售相同的物品,上限会分开使用。
– 一部分素材购买上限会更少,可能是10,5甚至1,需要分开设置。还未商定。

物价影响
– NPC会随机的参与市场购买和出售,和玩家一样,这也会在玩家不知道的情况下修改物价。
– 酒馆老板会提前出售情报,类似于“XXX城市最近XXX物品非常稀缺,可能是有商人在大规模采购”云云。
– 这一情报会导致这个城市的这类物品价格上升。
– 虽然剧情上稀缺了,但玩家的每日购买上限并未变化。
– 自然也会有“XXX城市的XXX物品产量剧增但没有人购买,可能商人会抛售”云云。

由于这一部分功能尚未制作,因此在制作完成之前物价系统将保持暂时关闭的状态。

请注意这也不是正式方案,新的物品管理系统可能会导致需要完全重做物价系统,这一部分内容可以再进行商讨。

过渡办法

新用户不再看到未拾取物品栏位
老用户的历史遗留未拾取物品栏位会在过渡期间依然存在,但不再被使用,所有的新获得物品将会存入背包,如果背包满了依然会无法拾取新物品(物品会自动被丢弃),请确保拾取物品的时候有足够空间。
有历史遗留的玩家可以直接在界面上拾取物品,拾取完成之后这一栏位就消失。

关于捐赠项目中增加背包上限

– 之前版本的是增加存放上限,现在改为增加格子数,之前是每个扩展增加20,现在是每个扩展增加10
– 之前已经购买的玩家将按比例调整。之前上限是1200(也就是可以购买1000,即50次),现在是可以增加500格,加上默认200格也就是700格。
– 如果已经购买过PLUS的角色,会额外拥有等同于背包格数的“银行”,银行内的物品可以无限制的存入,但每天有取出上限(只能取出X个,X商定中,X将按照物品真正个数计算而不是按堆叠计算)。
– 银行将会使用原来的待拾取物品栏的框架,所以重制之后如果又是PLUS用户同时待拾取物品框中有物品,那么会就地变成银行,如果超出了银行上限,那么也是允许的,只是不能再往银行中存入新物品直到银行中物品堆叠数小于上限。
– 银行物品不能参与制作,可以出售。

 

回归玩家补偿

此项将会另文说明。
回归玩家并不是只看登录时间,会综合考虑各方面因素定为回归玩家。
回归玩家将进行一个一次性补偿,用来补偿当年的物品自动删除系统,详情方案还在商讨中。

开发者茶水间:有关于背包系统重制的说明

众所周知,在年初的大饼新闻中,其中有一项就是重制背包。

最初是打算将背包系统重制为和现代网游一样的模式,但这样做会导致工作量巨大,而且一次性改一大堆东西也容易出毛病,因此目前我们选择的是小规模的敏捷迭代的方式更新。

背包重制的初衷是改革“AFK回归玩家发现背包被清空”这一尴尬处境。(同时我们也会为过去长期未活跃而导致背包被清空的玩家发放一笔非常丰富的补偿,来缓解之前这个设定造成的损失,对这些玩家补偿内容还在商讨中。),同时,也让现在这个名存实亡的物品待拾取栏正名。

总之,所有的改动都将会使得下面这一个事实成立:

已经拿到物品栏的物品就肯定永久都存在了,会被删除的物品不会在物品栏中出现。

为了达成此效果,目前(和未来)正在(和将要)进行的改革开列如下:

1:重新命名一些名词,现在背包页面改称“物品栏”,背包依然叫背包,而待拾取物品栏则重命名为“仓库”(只是一个暂定名字)

2:暂时关闭物品自动删除系统。

3:仓库将会设置一个上限,目前在过渡阶段这个上限将暂时设为无限制,但未来会增设上限。上限的数字和对之前已经超出上限玩家的处理方式还在商讨中。

4:超出上限获得的物品会在每天维护的时候用一封30天到期的邮件来发送。

5:因为一些原因导致无法获得的物品,也将使用邮件发送,但一部分物品不在此列。

6:为了缓解物品栏压力,正在制作一个类似其他网游的“代币”系统。一些物品可能会在未来被移入代币系统进行处理。

请注意这只是迭代的第一步,最终如果有机会的话还是想将物品重置为现代网游的逻辑,不过那是更加长远的事情,先做好目前手头上的事情是更好的。

差不多就是这样了!如有疑问请联系管理员或者留言。