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