Re: [wizs] 請教 .h 檔

作者: caselook (幸福要懂得耕耘)   2014-05-22 12:14:06
※ 引述《laechan (小太保)》之銘言:
: 不是這樣的。
: 最簡單的房間是我已經先幫你編好的 /u/c/caselook/workroom.c
: > home caselook
: [/u/c/caselook/workroom ]
: 工作室
: 一間工作室,牆上貼了一張告示(note)。
: 明顯出口有: disc.
: Lv250.『你可以跟我 adv 屬性』小滷蛋(Lodao)
: > more here
: inherit ROOM; // 繼承房間樣本, ROOM 被定義在 /include/mudlib.h
: // 而 mudlib.h 在 sanc 是全域繼承檔是不需事先 #include 的
: // ansi.h 也是
全域繼承檔是不是定義在 /include/globals.h 裡面?
: void create()
: {
: ::create();
: seteuid(getuid(this_object())); // 到這裡為止都是固定的
: // seteuid: 設定一個物件的有效識別名稱
: // 有這一行, 房間才被允許做一些
: // 載入或複製物件的動作
: // getuid : 傳回一個物件的有效識別名稱
: // this_object(): 這個物件本身
上面這一段應該就是標準寫法了。似乎是與mudos設定物件的權限有關。
所以,是不是所有的 void create(){}都要加上這一行?
: set("light",1); // 房間維持光亮
: set("short","工作室"); // 設定房間名稱
我看 wizhelp 的 basic 說明檔,提到 set()的標準寫法是
this_object->set() ,這個「->」符號的意思是?
: set("long",@LONG // 設定房間敘述
: 一間工作室,牆上貼了一張告示(note)。 // 被 @LONG ... LONG 括起來的範圍
: // "所見即所得"
: LONG
: );
: set("item_desc",([ // 設定房間額外可觀看的目標及內容
: "note":@LONG
: 這是一張告示。
: LONG
: ]));
: set("exits",([ // 設定房間出口
: "disc":"/d/wiz/room/disc",
: ]));
: set("hide_exits",([ // 設定房間隱藏出口
: "wiz1":"/d/wiz/room/wiz1",
: ]));
: set("objects",([ // 設定房間要預載哪些物件
: "/d/wiz/mob/lodao":1,
: ]));
在 create room 的set(),除了設定 exits,hide_exits,objects....之外,
還有那些資料可以參考 set()函數的功能?
: reset(); // 有 set("object") 就要有這一行 reset()
: // 被設定的物件才會被 load 到房間
: }
: 你所參考的房間,有一些寫法是錯誤的,那是非常早期版本的
: mudos 可相容的寫法,現在是不相容的,這只要 update 那個
: 房間馬上就會知道。
update 還沒用過。主要是因為覺得 edit 不習慣。
所以我 cp 了 workroom,c workroom.bak 之後,不知道怎麼 edit workroom.c
有沒有辦法在 local 端用 npp 編輯好,再上傳到 sanc?
: 如果你真的要自己研究,那你應該先問的是一開始要知道哪些
: 事情,包括有哪些指令(工具)可使用、可先參考哪幾個區域、
: 然後怎麼設定自己的 workroom 去快速連結這些區域等。
這個很需要知道,我原以為直接在 caselook 的工作目錄下先寫區域,
包含 room 及各種 objcet後,再考慮連結其他的區域的說。
: 有哪些 wiz 的指令可用
: update - 更新(編譯, compile)一個 .c 檔並將其載入到記憶體
: invis player - 讓自己隱形, 在調查主動怪區域時可使自己不被攻擊
: more [目標] - 如 more lodao、more here、more ~/workroom.c、..
: clone [目標] - 叫出一個物件,如 clone /d/wiz/mob/lodao
: dest [目標] - 消滅一個物件,如 dest lodao、dest cloth、...
: goto [目標] - 如 goto laechan、goto ~/workroom.c、..
: home - 回自己的工作室,預設為 /u/c/caselook/workroom.c
: 也可以 home 其它 wiz 的工作室如 home laechan
: cp - 拷貝檔案
: rm - 刪除檔案, 目錄
: mv - 搬移檔案, 目錄
: md - 建立目錄
: da [目標] - 觀看一個被載入物件的設定資料。如 da me、da laechan、
: da here、da ~/workroom、...
sanc 好像沒有 cat指令,打 cat 呼叫的是妙喵的哀嚎....
sanc有沒有類似於 cat 的指令呢?
我用的 pietty只有「複製全部」的功能,用 more 分段顯示是很方便,
但比較不容易截錄畫面文字。
: 可先參考哪幾個區域
: 基本上 /d/ppl/ 目錄下的區域就是一開始可以參考的。
/d/ppl/我會好好觀摩,有問題再在板上請益^^
: 但是這並不是叫你一個人摸索,因為入門的方式不對的話,
: 學這些東西會事倍功半很吃力,我當初剛當 wiz 時什麼也
: 不懂,但是有人帶我,隔天我就自力寫出一個區域碧水鎮:
: 1.因為我是用 copy 現有的區域來改的
: 2.因為我可以用 more 後的東西對照 update 後所看到的
: 結果來對照「我只需改哪些東西,其它照舊即可」
: 但是求快的結果就是我只會拷貝修改,當了 wiz 快一個月
: 還無法自己從頭到尾實際編出一間完整的房間,卻已經寫
: 好三個區域,還包含怪物、武防具、道具等物件。
: 之後就很痛苦,因為實際上有些寫法即便用 copy、修改的
: 方式寫也依然是錯誤的,變成後來「又更懂一些之後」,
: 就得回頭去修改自己有寫錯的地方;之後「又多懂了一些
: 之後」,就要又再去修改自己還有寫錯的地方;...
: 那還不如一開始就以絕對不會有問題的寫法去寫,這就是
: 我想強調的,而如果你都自己摸索,就很難做到這樣。
同意您。
因為本身底子差,所以才想先看看一些文件資料。
當然有各位的指導,相信能夠事半功倍。感恩..<(_ _)>
: Laechan

Links booklink

Contact Us: admin [ a t ] ucptt.com