anbian4.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 110 行
C
110 行
// /u/beyond/mr/anbian4.c// this is made by beyond// update 1997.6.20#include <ansi.h>#define SHIP_TO __DIR__"anbian1"inherit ROOM;void check_trigger();void on_board();void arrive();void close_passage();int do_yell(string arg);void reset();void create(){ set("short",HIW"岸边"NOR); set("long", @long从这里乘船可以到达曼佗罗山庄,一位上了年纪的老船夫正在岸边休息,你可以呼喊一声(yell),船家就会摆船过来。long); set("outdoors", "mr"); set("exits",([ "east" : __DIR__"shuixie", ])); setup();}void init(){ add_action("do_yell", "yell");}void check_trigger(){ object room; if(!query("exits/enter") ) { if( !(room = find_object(__DIR__"zhou5")) ) room = load_object(__DIR__"zhou5"); if( room = find_object(__DIR__"zhou5") ) { if((int)room->query("yell_trigger")==0 ) { room->set("yell_trigger", 1); set("exits/enter", __DIR__"zhou5"); room->set("exits/out", __FILE__); message("vision", "一叶扁舟缓缓地驶了过来,艄公将一块踏脚" "板搭上堤岸,以便乘客\n上下。\n", this_object() ); message("vision", "艄公将一块踏脚板搭上堤岸,形成一个向上" "的阶梯。\n", room); remove_call_out("on_board"); call_out("on_board", 15); } else message("vision", "只听得湖面不远处隐隐传来:“别急嘛," "这儿正忙着呐……”\n",this_object() ); } else message("vision", "ERROR: boat not found\n", this_object() ); } else message("vision", "岸边一只小舟上的老艄公说道:正等着你呢,上来吧。\n", this_object() );}void on_board(){ object room; if( !query("exits/enter") ) return; message("vision", "艄公把踏脚板收了起来,竹篙一点,扁舟向湖中驶去。\n", this_object() ); if( room = find_object(__DIR__"zhou5") ) { room->delete("exits/out"); message("vision", "艄公把踏脚板收起来,说了一声“坐稳喽”," "竹篙一点,扁舟向\n湖中驶去。\n", room ); } delete("exits/enter"); remove_call_out("arrive"); call_out("arrive", 20);}void arrive(){ object room; if( room = find_object(__DIR__"zhou5") ) { room->set("exits/out", SHIP_TO); message("vision", "艄公说“到啦,上岸吧”,随即把一块踏脚板" "搭上堤岸。\n",room ); } remove_call_out("close_passage"); call_out("close_passage", 20);}void close_passage(){ object room, *ob; int i; if( room = find_object(__DIR__"zhou5") ) { tell_room(room, "艄公轻声说道:“都下船吧,我也要回去了。”\n", ({})); ob = all_inventory(room); for(i = 0; i < sizeof(ob); i++) { if (userp(ob[i])) { if (!living(ob[i])) tell_room(room, "艄公把$N抬下了船。\n", ob[i]); else tell_room(room, "$N听了艄公的话,乖乖地下了船
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?