看板 mud_sanc 關於我們 聯絡資訊
副本剩下 instance_temp 這個大項目,初定格式如下.. instance_temp= ([ "laechan":([ "laechan/004":({ ({進入時間,是否計算}), . . ({進入時間,是否計算}), }), ]), ]); 比方說玩家在一段時間內進入該副本的次數已達n次,則在 CD時間如果要再進去,原則上是不行的,這時玩家透過支付 挪布幣的方式變成可以,則該次進入時「是否計算」的參數 就會變更成別的,則玩家「於CD時間內要再進入」,它就會 看「是否計算」的參數是否有「已付過挪布幣進入」,有的 話就不會放行。 instance_temp 在系統重開後 CD 時間都會歸零。 questing 的最簡略呼叫語法如下 questing("instance","set_temp/query_temp/del_temp/query_first", instance_id,({ ({instance_members}) })); 這意思是說,比方今天有n個人同時進這副本.. questing("instance","set_temp","laechan/001",({ ({laechan,justinj,..}) })); 這樣就是最簡易的呼叫,set_temp 的判斷就如下 // 沒有帶其它參數時就以「當下的時間」以及「一般判斷」來做 if(sizeof(vars)<1) vars=({time(),0}); else if(sizeof(vars)<2) vars+=({0}); // 然後開始針對每一個玩家做設定 foreach(ppl in ppl_names) { if(!ppl) continue; tmp=ppl->query("name"); if(undefinedp(instance_temp[tmp])) { instance_temp[tmp]=([]); instance_temp[tmp][ids]=({}); } else if(undefinedp(instance_temp[tmp][ids])) instance_temp[tmp][ids]=({}); // 把玩家本次進入的時間資訊設進 instance_temp 裡面 instance_temp[tmp][ids]+=({ ({vars[0],vars[1]}) }); } wiz 不需知道 instance_temp 裡面是怎麼運作的,只要知道全域呼叫 函數 questing("instance") 要如何帶參數即可,基本上 quest_num 欄位都是帶 "laechan/001" 這樣的格式。 以上已實裝。 LAechan -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.157.53 ※ 文章網址: http://www.ptt.cc/bbs/mud_sanc/M.1398390184.A.7FD.html ※ 編輯: laechan (210.61.157.53), 04/25/2014 11:40:31