作者hlead (希多)
看板mud_sanc
标题[wizs] 关於任务发布区。
时间Fri May 4 21:17:21 2012
我打算做一个任务发布区之类的东西。(在想想要叫啥名字好...)
目前打算是列出可接取的表(附带关键字),然後可以直接用quest指令接任务。
这样的作法好处:简单、方便,不用写额外东西,完全由quest指令支援。
读取关键字:implode(query_quest_key(),"、");
随机产生任务的部份:
1.在任务发布区设定可接哪些任务...
程式码如下:
mixed all_quests,quests=({});
int i,r,max_num;
string str;
all_quests = get_dir("/open/cmds/quest/mission/*.c"); // 新建个mission目录专门存放。
for(i=0;i<10;i++) // 一次释放出十个任务可接取
{
max_num = sizeof(all_quests); // 取得所有任务的数量。
r=random(max_num);
str=all_quests[r];
all_quests-=str; // 去掉已公布的。
if( sscanf(str,"%s.c",str)==1 ) ; // 去除 .c 的部份
quests+=str;
}
set("can_quests",quests);
2.在任务档里面,写上判别该格有无此任务,并设置可重复接取即可。
程式码如下:
repeat=1## // 可重复接取。
step1_check=
member_array(xxx,can_quests)!=1) // xxx为此任务档名,can_quests为可接取的任务
这里没有这个任务可以接取唷!##
----------------------------------------------------------
这样基本上就可以作到随机产生。
不过,这类任务应该大多是杀怪任务吧!感觉比较适合。
另外,任务方面我想稍微分一下难度。
大致上可能为:a001 a002 b003 a004 c005...之类的
a = 杀高等区域王的的任务。
b = 杀低等区域王的的任务、杀高等区域小怪的任务。
c = 杀滴等区域小怪的任务。
然後,假如总共有 10 个任务。
则 a型任务 可能为 1 个。
b型任务 可能为 3 个。
c型任务 可能为 6 个。
--------------------------------------------------
然後有几个问题不太知道怎麽做:
1.上面的member_array的部份怎麽写比较好?...
(写在脚本里就不太会写了...感觉会很冗长...avert...)
--
Norr@Sanc
风,吹散了一切烦恼,只留下平静的思考。
雨,淋落了一切纷乱,只剩下无比的快乐。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 175.182.50.63
※ 编辑: hlead 来自: 175.182.50.63 (05/04 21:47)