




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Mudos编程总结[推荐] 第一篇:Mudos编程总结[推荐]Mudos编程总结1,Mudos系统调用系统MudLib系统文件的过程和一些特点Mudos启动以后先要寻找一个配置文件,用来配置MudLib文件系统的一些信息(这里时config.cfg),找不到就无法启动。找到以后根据配置文件里面的参数进行初始化Mudos,然后调用配置文件里面的两个入口文件,即simul_efun.c和master.c。首先载入simul_efun文件并生成一个特殊的全局对象,这个对象用于定义一些全局使用的函数,也可以重载Mudos中的Efun函数,这些新定义的文件使用起来和Efun是一样的。然后系统会调用master.c文件并生成一个全局对象(主控对象),主控对象用于系统的全局控制,包括全局对象的加载,错误信息的跟踪处理等。接下来,系统会根据主控对象中的定义,载入一些系统需要用到的全局对象。到此,Mudos系统就启动完成了。2、用户连接系统后的处理过程。。当用户通过客户端进行连接以后,Mudos系统会调用master对象特有的connect()函数,通过这个函数编程人员需要创建并返回一个用户对象,系统会将用户连接到这个用户对象上,即是说这个用户对象就代表了这个用户。到此,就算完成了用户的连接过程。3、用户的登陆后的处理过程当Mudos系统调用master的connect函数创建并返回一个用户对象以后,用户对象会调用特有的logon()函数,这个函数用来把用户的设置都设置好并进行游戏。注:最好在这里重新建立一个用户对象,然后通过exec函数把用户的连接转移到新的对象上,然后删除这个对象。4、Mudos系统中的系统中对象simul_efun对象、master主控对象和用户对象这三种对象都是系统提供的特殊对象,其中simul_efun对象和master主控对象在系统中只有一个实例,即不能被clone也不能new创建,而用户对象主要的作用就是用来创建用户并完成初始化的对象,用户每次登陆都会自动生成一个,用户登陆完成后最好删除它。这里需要指出主控对象和用户对象都有特有的一些函数,这些函数提供给Mudos系统来调用的,用来完成一些系统需要处理的事情。5、Master主控对象objectconnect()程序连接后调用的函数,创建并返回一个用户对象。string*epilog(intload_empty)返回一个包含物件文件名称的数组,其中所有的文件为启动游戏之前必须预先载入的对象.voidpreload(stringfile)系统按照epilog函数返回的数组载入全局对象后调用次函数,用来判断对象是否成功创建staticvoidcrash(stringerror,objectcommand_giver,objectcurrent_object)当系统异常终止(crash)时,就调用主控物件中的此函数,用来记录一些系统crash的log信息。voidlog_error(stringfile,stringmessage)编译程序发生任何错误系统都会调用此函数,用于发现是哪个对象出了什么错误。用于记录编译程序时出现的错误信息。stringerror_handler(mappingerror,intcaught)主控物件处理错误的函数,此函数让mudlib代替系统处理错误情形。用来处理系统运行时出现的错误信息。stringget_root_uid()取得root使用者识别名称需要获取系统的uid时调用此函数。stringget_bb_uid()取得骨架使用者识别名称。stringcreator_file(stringstr)系统创建任何对象时都会调用此函数,用来获得系统初始化对象的uid值。mixedcompile_object(stringfile)提供虚拟对象,当系统无法按照给定的路径载入对象时调用此函数。如果返回值是0,系统将不会载入这个对象,如果返回值是一个对象,系统会把这个对象当作是系统要载入的对象。一般来说,这里会返回一个void对象。stringobject_name(objectob)系统调用此函数以知晓一个物件的名称。stringdomain_file(stringstr)返回一个指定对象所属的区域,系统调用此函数来获得对象的区域。stringauthor_file(stringstr)返回一个指定对象所属的作者,系统调用此函数来获得对象的作者。intsave_ed_setup(objectwho,intcode)ed()函数储存一个使用者的编辑程序设定或组态设定时调用intretrieve_ed_setup(objectwho)ed()函数取得使用者的编辑程序设定或组态设定stringmake_path_absolute(stringfile

是雁****找我
实名认证
内容提供者


最近下载