[wizs] 關於任務發布區。

看板mud_sanc (Sanctuary - 聖殿)作者 (希多)時間13年前 (2012/05/04 21:17), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/4 (看更多)
我打算做一個任務發布區之類的東西。(在想想要叫啥名字好...) 目前打算是列出可接取的表(附帶關鍵字),然後可以直接用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)
文章代碼(AID): #1FezRaOR (mud_sanc)
文章代碼(AID): #1FezRaOR (mud_sanc)