作者kevinjkckung (kevinjkckung)
看板ToS
标题Re: [心得] 官方送抽卡之都市传说破除
时间Fri Dec 27 21:54:17 2013
以下是不负责任 感觉文
首先针对主题部分
1. 一开始就决定好是哪一张
2. 奖励抽卡也是随机
今天如果我是公司的人
我会选择2 为什麽?
假设今天使用帐有100个帐号
执行一的动作需要去跑100个RANDOM後执入数据库
今天神魔帐号里面将近快有一半的帐号是免洗帐号
因此选择2,所需要执行的RANDOM数 一定≦100
结论:
资料执行的次数减少 则伺服器寿命增加 (两种机率一样
=================分隔线====================
这边另外探讨 有关抽奖的部分
以下我将会使用 RO 脚本(Script) 的简易写法说明我自己的想法
//=================Script1===================
check 抽卡 == AA /确认抽卡种类 可能有1 友情抽 2石抽 3活动
if 抽卡 == 1 goto friend /如果 抽卡种类是1 则执行firend指令
if 抽卡 == 3 goto activities
set magic,RANDOM(0,9) /设定一个参数magic 并随机从0~9取一个数字出来
if magic == 1,2,3,4,5,6 goto 巨像
if magic == 7,8,9 goto 防龙
if magic == 0 goto 狂魔 /同上面 参数对应 则执行该项
.....etc
//=================Script1End===============
这个是 奖励抽不吃加倍的写法
上面抽到的是 10% 也就是奖励抽及平常时候用的指令
活动期间 则要去执行 activities的指令
因为当狂魔机率提升两倍时 其他机率要下降才能维持100% 则需要另外写一套指令
另一种
//=================Script2===================
check 抽卡 == AA /确认抽卡种类 可能有1 友情抽 2石抽 3活动
if 抽卡 == 1 goto friend /如果 抽卡种类是1 则执行firend指令
set magic,RANDOM(0,19) /设定一个参数magic 并随机从0~19取一个数字出来
if magic == 0~10 goto 巨像
if magic == 11~16 goto 防龙
if magic == 17,18,19,20 goto 狂魔 /同上面 参数对应 则执行该项
狂魔:
if 抽卡 == 2 get item ID 1,1,1 /如果是石抽 则抽出一张狂魔 1张,1等,技1
if 抽卡 == 3 get item ID 1,30,1 /如果是活动 则抽出一张狂魔 1张,30等,技1
.....etc
//=================Script2End===============
以上是奖励,活动都吃到狂魔两倍的情况
但其实同样是200% 每个人写出来的设定其实都不太一样
但老实说
这些东西只有亲自去问设计的人才有办法求证
不然其实程式码可以利用一些指令
虽然结果可能雷同 但中间会出现很多错觉
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.173.111.234
1F:→ monHHH:... 12/27 21:56
2F:推 oprengar:嗯嗯 快推不然别人以为我们不懂 12/27 21:56
3F:推 QJP0518:嗯嗯 跟我想的一样 12/27 21:56
4F:推 cacasi:你这样文组的会看不懂 12/27 21:56
文组的看得懂英文 看得懂中文 合在一起就看不懂了(被揍
5F:推 gpc:简单的说不是一开始就决定的 详情请参考source code (爆) 12/27 21:57
6F:→ BlackZap:if後面用goto 那下面不用放else 12/27 21:57
7F:推 wwwsamyoui12:真的 12/27 21:58
8F:推 pochin671111:看得懂给推 12/27 21:59
9F:推 gn005066:else 没用到 12/27 21:59
更正
10F:推 BlackZap:结论:这些东西只有亲自去问设计的人才有办法求证 12/27 21:59
11F:推 badloveyou:看不懂还是推! 12/27 22:00
12F:→ BlackZap:结论才是重点 这种没办法考究的 我们也只能瞎猜 12/27 22:00
13F:推 cacasi:if uid=工读生 then 加倍卡 else 巨像防龙妹子中国兽西方兽 12/27 22:03
14F:推 waveking:快推,不然人家会以为农科的不懂 12/27 22:04
15F:→ BlackZap:以前 我在家里写脚本 现在 我在学校写程式 12/27 22:05
17F:推 jknm0510a:程式不太可能这样写,维护程度太低,修改很困难 12/27 22:07
只是随便举例 毕竟我写的程式码只是从RO私服脚本内学的(菸
我本身是商科的XD
18F:→ zebraseven:这里面写到乱数范围是 9 ~ 500 12/27 22:07
原来有人有提供了 囧
19F:推 shmichael:恩恩 我完全懂了 12/27 22:10
※ 编辑: kevinjkckung 来自: 1.173.111.234 (12/27 22:12)
20F:推 everemember:快推,不然人家以为法科的看不懂 12/27 22:14
21F:推 alexscafe:跟我想的一样 12/27 22:17
22F:推 lolucky531:创1000只帐号 先计算首抽比例 再算奖品比例大概可解XD 12/27 22:19
首抽"可能"又是另一个指令库了
23F:→ alan3100:不懂的东西就别乱说..前後都很明显错很大 12/27 22:30
是否能指出哪边有错?
24F:推 Sabaurila:快推才不会让人看扁商科 12/27 22:32
25F:嘘 ssoloss:前面两种方法资料处理量都是一样,没有减少,无关伺服寿命 12/27 22:49
26F:推 ssoloss:补推) 区别只是在request密集度而已,但利用维修事先偷跑 12/27 22:53
27F:→ ssoloss:减少伺服上限的负担也是不无可能,只能说2是比较直觉作法 12/27 22:54
28F:→ ssoloss:至於後面两段,程式肯定不是这样写 12/27 22:56
减少的是执行量 很多免洗 被放掉的帐号 在1里面会去执行RANDOM决定卡片
但在2因为没有从奖励中拉出来 所以减少了RANDOM的执行
至於程式码部分 我有说了 我是仿照RO私服脚本写的
毕竟RO私服不是读取C++ 所以有很多地方会有出入
但意思大概是这样
※ 编辑: kevinjkckung 来自: 1.173.111.234 (12/27 23:06)
29F:→ ssoloss:程式(的逻辑)肯定不是这样写,不懂你想表达的是什麽意思 12/27 23:27
30F:嘘 ssoloss:抽个卡要检查这麽多if完全是浪费效率 12/27 23:29
31F:→ fish410058:不太懂两种做法跟伺服器寿命有甚麽差 12/28 00:40
32F:→ ibmibmqq:IF超吃力的 12/28 01:09
33F:推 sanadakenta:如果你只在意程式怎麽写最好,那你就是个程式设计师 12/28 02:03
34F:→ sanadakenta:但通常,不在意那些东西的,叫做「老板」「主管」 12/28 02:04
35F:→ sanadakenta:业务 就更不管那麽多 他只管有哪些功能 他比较好卖 12/28 02:04
36F:→ sanadakenta:结论:这就是资讯业 12/28 02:05
37F:→ sanadakenta:而且 谁能保证 写这段东西的 是个商业逻辑好的RD呢? 12/28 02:06