作者laechan (小太保)
看板mud_sanc
标题Re: [问题] 血肉副本
时间Thu Jul 3 22:44:34 2014
※ 引述《cheerall2001 (加油!!)》之铭言:
: 请问副本次数是以几次为限呢??
: 因为本身是挂血肉 进进出出几次後就不给进了 =,=
: 不晓得能否调高上限 或者改付费之类的??
可能在某一个时间区段内 3 次吧? 太久了, 忘了.
(翻程式码中)
if(tmps[n3*2-1][1]==0)
{
if(
check_cd_times(me,tmps[n3*2-2],idata,tmps[n3*2-1][0],tmps[n3*2-1][1],t)>0)
return notify_fail("绫儿: 你还无法进入这个副本喔.\n");
questing("instance","create",tmps[n3*2-2],({files,({me}),
tmps[n3*2-1][0],tmps[n3*2-1][1]}));
}
int check_cd_times(object ob,string key_name,mapping idata,
string diff,int multi,int t)
{
string names;
int s,i,j,min_t=t;
if(!ob) return 1;
names=ob->query("name");
j=sizeof(idata[names]);
// 一定可进入
if(j<3) return 0;
.
.
if(t-min_t >
3600)
{
所以应该是一小时内只能进出三次。
当初确实是有规划如果玩家愿意付出什麽的话可以多进去一次,
但是没有实装咧(因为那时感觉没啥人玩副本)。
暑假期间就 3→5 吧(至於一小时应该没必要调吧),已实装。
对副本有任何意见或建议都欢迎提出。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.165.173.180
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1404398678.A.8CD.html
1F:推 cheerall2001:我从不能进入後 等了一天还是不能进入 =,= 07/03 22:53
// /open/cmds/quest/quest_data/quest_data.c 的 instance 段
for(i=0;i<j;i++)
{
if(idata[names][i][0]==diff && idata[names][i][1]==multi)
{
s++;
if(min_t>idata[names][i][2])
min_t=idata[names][i][2];
}
}
上面的意思是说从你已进去的纪录里面找出「时间最小的那一个」,
也就是 min_t。比方你已进入三次了,这三次里面最早进入的时间就
是 min_t。
if(t-min_t > 3600)
{
然後你现在想要进入副本,就拿现在的时间 - 最早的时间,有超过一
小时的话就做底下呼叫
questing("instance","instance_ob",key_name,
({
"del-ppl_instance",
names+"-"+diff+"-"+multi}));
也就是删掉你最近几次进入副本的纪录。
// /std/new_ob/instance/instance_ob.c 的 instance_data 函数
case "del-ppl_instance":
if(str2)
{
string s1,s2,s3;
// names, diff, multi
if(sscanf(str2,"%s-%s-%s",s1,s2,s3)==3)
{
int i,j;
j=sizeof(ppl_instance[s1]);
for(i=0;i<j;i++)
if(ppl_instance[s1][i][0]==s1 && ppl_instance[s1][i][1]==s2)
ppl_instance[s1][i]=0;
ppl_instance[s1]-=({0});
}
else
map_delete(ppl_instance,str2);
}
else
ppl_instance=([]);
return 1;
break;
我猜是上面标绿色的部份写错,要比对的应该是 s2 及 s3。
已修正,可再测试。若明天该 bug 确定修正,你可以申请 bug 回报奖励。
※ 编辑: laechan (1.165.173.180), 07/03/2014 23:15:12
※ 编辑: laechan (1.165.173.180), 07/03/2014 23:15:34
2F:推 cheerall2001:我确定之前是进入3次後到shutdown前就都无法进入了 07/03 23:25
3F:→ cheerall2001:自己有测试过3次 感谢wiz修改^_^ 07/03 23:25