看板 mud_sanc 關於我們 聯絡資訊
case "farm": tmp="/u/l/laechan/skycastle/room/"+names[0..0]+"/"+names+"-main"; if(file_exists(tmp+".c")) { if(!catch(ob=find_object_or_load(tmp))) { switch(quest_num) { case "crops": return (mapping)ob->query("crops"); break; case "sizeof_crops": return sizeof(keys((mapping)ob->query("crops"))); break; case "nobu_money": return (int)ob->query("nobu_money"); break; case "farm_level": return (int)ob->query("farm_level"); break; case "farm_land_num": return (int)ob->query("farm_land_num"); break; default: write("farm 沒有這個 quest_num 功能項喔.\n"); return -1; break; } } } return ob; break; 玩家天空城之家的 data 與 farm 有關的主要是底下參數 data["crops"] 玩家已收成的農作物資料 比方 data["crops"]["kiwi"] 就是玩家已收成未賣出的奇異果數量 sizeof(keys(data["crops"])) 即玩家已收成的農作物種類數量 data["nobu_money"] 即玩家天空城之家的挪布幣數量 這個我記得是玩家可領,但不可存。假設 wiz 有想要補發挪布幣給 玩家時,只要去 call 他的家;"add";"nobu_money";數量 這樣玩家就能從家裡領出這個挪布幣 data["farm_level"] 即玩家的農地等級 data["farm_land_num"] 即玩家的農地數量 現在寫一個 running code str=""; foreach(me in users()) { if(environment(me)) { tmp=me->query("name"); if(questing("farm",tmp,"farm_level")>0) str+=sprintf("%-11s %3d %3d\n",tmp, questing("farm",tmp,"farm_level"), questing("farm",tmp,"farm_land_num")); } } this_player()->more(explode(str,"\n"),1,1); ========== 程式執行區 ========== noras 1 6 khblade 3 12 . . 這樣即可知道,farm_level 最大為 3,farm_land_num 最大為 12。 那其實還有另一個參數,是與玩家農地的作物生長狀態有關的,不過 因為平常並不會沒事去讀那個東西,幾乎是用不太到的,就跳過。 (一樣是在 data 內,並沒有寫成另外的變數) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.126.145.135 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/mud_sanc/M.1703590190.A.F6B.html ※ 編輯: laechan (59.126.145.135 臺灣), 12/27/2023 08:53:30
laechan : questing("farm",未來還會加一個自動升版的功能 01/10 16:36