[wizs] 指令 running

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間14年前 (2012/04/05 10:40), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
這個目前限制只有 adm 可用, 不過理論上 wiz 應該也可以, 改天再下放. running 的架構很簡單,指令 running 下下去就進入編輯畫 面, 範例一如下.. > running 編輯結束並存檔(.). 中途放棄編輯(~q).訊息暫時中斷。 __________________________________________________________________ write("目前的時間是: "+ctime(time())+".\n"); . ========== 程式執行區 ========== 目前的時間是: Thu Apr 5 10:09:06 2012. ========== 程式執行區 ========== 簡單的說,就是 running 會幫你執行你在編輯區 key 入的 程式碼. 範例二如下.. > running 編輯結束並存檔(.). 中途放棄編輯(~q).訊息暫時中斷。 __________________________________________________________________ obs=users(); tmp="玩家資料列表:\n"; foreach(ob in obs) if(ob && environment(ob)) tmp+=sprintf("%-11s %-3d %-6s %-9s %-10s\n", ob->query("name"),(int)ob->query("level"), (string)ob->query("gender"),(string)ob->query("race"), (string)ob->query("pri_guild")); write(tmp); . ========== 程式執行區 ========== 玩家資料列表: ramsay 120 male dragonman knight yth 102 male stoneman mage ma713 120 male dragonman knight ma7131 120 male devil blader . . noibadi 109 male human thief silvara 51 female elf clerical ========== 程式執行區 ========== 詳細的程式資料 norr 你可 more /cmds/adm/_running.c 觀看,即可知道一些細節。 running 還內建了一個簡單的排序, 底下是範例三.. > running 編輯結束並存檔(.). 中途放棄編輯(~q).訊息暫時中斷。 __________________________________________________________________ obs=users(); // 依戰功排序 sort_keys="warexp"; obs=sort_array(obs,"sort_xxx",this_object()); tmp="玩家資料列表:\n"; foreach(ob in obs) if(ob && !wizardp(ob) && environment(ob)) tmp+=sprintf("%-11s %-3d %-7d\n", ob->query("name"),(int)ob->query("level"), (int)ob->query("warexp")); write(tmp); . ========== 程式執行區 ========== 玩家資料列表: angelwind 120 2827385 kimokimo 120 2721838 windman 120 1366279 . . . 由這個功能就可知道,running 是很有改良空間的。 總之,running 目前暫時可做為要測試什麼時需得在 自己的 workroom 編輯測試用函數的替代方式,有這 個理論上就不用去編輯 workroom 了。 而且,它具有即時執行(anytime)、隨處可執行(anywhere) 的效果,例如範例四,我想秒殺所在房間的所有怪物時.. > l [/u/l/laechan/area/secret/room/190 ] [秘境階梯] 這裡充滿著一股濃濃的土石味, 但這味道並不難聞, 反而令人覺 得十分的舒服. 明顯出口有: northdown 和 southup. Lv110.大 骨 兵(Big Bone Troop) [10隻大 骨 兵] Lv130.大 骨 兵(Big Bone Troop) [19隻大 骨 兵] Lv130.石化蟲(Stoneworm) [14隻石化蟲] Lv125.石化蟲(Stoneworm) [13隻石化蟲] > running 編輯結束並存檔(.). 中途放棄編輯(~q).訊息暫時中斷。 __________________________________________________________________ obs=all_inventory(env); foreach(ob in obs) if(living(ob) && !userp(ob)) ob->die(); . ========== 程式執行區 ========== 大 骨 兵發出一聲慘叫!! 大 骨 兵慢慢的倒在地上死了...你得到 5400點的經驗值。 你拿不起任何影特幣了! 大 骨 兵發出一聲慘叫!! 大 骨 兵慢慢的倒在地上死了...你得到 8280點的經驗值。 你拿不起任何影特幣了! 石化蟲發出一聲慘叫!! 石化蟲慢慢的倒在地上死了...你得到 8280點的經驗值。 你拿不起任何影特幣了! 石化蟲發出一聲慘叫!! 石化蟲慢慢的倒在地上死了...你得到 7590點的經驗值。 你拿不起任何影特幣了! ========== 程式執行區 ========== 當然像這種程式段也可以寫為內建函數, 這樣就不需要打 那麼多行, 有時只要一行就可以解決了, 例如.. call_die_all(env); 像是要叫出房間原本的怪物時就這樣做 env->reset(); > running 編輯結束並存檔(.). 中途放棄編輯(~q).訊息暫時中斷。 __________________________________________________________________ env->reset(); . > l [/u/l/laechan/area/secret/room/190 ] [秘境階梯] 這裡充滿著一股濃濃的土石味, 但這味道並不難聞, 反而令人覺 得十分的舒服. 明顯出口有: northdown 和 southup. Lv130.大 骨 兵(Big Bone Troop) [17隻大 骨 兵] Lv130.大 骨 兵(Big Bone Troop) [12隻大 骨 兵] Lv110.石化蟲(Stoneworm) [16隻石化蟲] Lv115.石化蟲(Stoneworm) [20隻石化蟲] 這樣怪物就可以生回來。 Laechan -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.140.164.51
文章代碼(AID): #1FVGOAks (mud_sanc)
文章代碼(AID): #1FVGOAks (mud_sanc)