MUD编辑修改入门教程.docx

上传人:b****4 文档编号:12336287 上传时间:2023-04-18 格式:DOCX 页数:63 大小:66.30KB
下载 相关 举报
MUD编辑修改入门教程.docx_第1页
第1页 / 共63页
MUD编辑修改入门教程.docx_第2页
第2页 / 共63页
MUD编辑修改入门教程.docx_第3页
第3页 / 共63页
MUD编辑修改入门教程.docx_第4页
第4页 / 共63页
MUD编辑修改入门教程.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

MUD编辑修改入门教程.docx

《MUD编辑修改入门教程.docx》由会员分享,可在线阅读,更多相关《MUD编辑修改入门教程.docx(63页珍藏版)》请在冰豆网上搜索。

MUD编辑修改入门教程.docx

MUD编辑修改入门教程

MUD编辑修改入门教程

MUDLIB各个目录是干什么的?

现在大部分中文MUD都是在东方故事(esII)基础上发展起来的,其目录结构基本一样,

也有个别MUD为了标新立异对个别目录换了个名字以示不同,但其实质没有什么变化。

这个做的最可恶的是xkx,把一个好好的daemon目录换成了一个不土不洋的kungfu,

里边却还是skill,condition这些洋名,简直让人faint!

我实在看不出这种修改有什么好处,

除了添麻烦(xkx对一些命令的汉化,什么cha,du...也是如此)。

不过,

也有一些是为了系统更合理而修改的。

对MUDLIB目录的解释已经有许多版本了,基本也没什么区别,下边是我的解释,

以我自己整理的一份MUDLIB为基础,如果有目录不同的地方适当贯通就是了。

adm这里是最基本,最底层的程序,是整个MUD的控制枢纽。

这个目录只有admin权限可以修改。

admdaemons守护程序目录。

守护程序是指游戏中频繁调用的控制类程序,

MUD里各种基本功能都是由这些程序控制的。

这些程序一般在游戏一启动就自动载入内存。

按照unix下文件命名习惯,这里的程序多以d.c结尾,

比如combatd.c就是控制战斗的程序。

另外由于这些程序调用非常频繁,

一般都做了宏定义(查看includeglobals.h),例如admdaemonscombatd.c

定义为COMBAT_D,在其它程序里可以适用这些宏定义代替这些文件名。

admetc系统配置目录,此目录定义为CONFIG_DIR这里放的是游戏的系统文档文件,

比如游戏的欢迎画面,巫师列表,BAN掉的IP记录等。

admobj这里只有两个文件,但却是整个MUD最重要的东西。

master.c:

这是MudOS主控物件,也就是整个MUD的总司令。

simul_efun.c防真函数加载精灵,这是MUD启动时第一个要载入的东西。

所谓efun,是指系统函数,也就是mudos中定义的函数。

这些函数不必做任何说明可以在MUD的任何程序里直接调用,

而且由于他们是预先定义的,也就是mudos早已经知道他们是做什么的,

所以比其它在MUDLIB里定义的函数执行效率要高。

但他们的缺点是修改非常不方便,

对任何一个efun函数的修改必须重新编译mudos才能生效。

因此,

在MUDLIB中又有了防真函数的定义,也就是simul_efun,

这些函数的作用跟efun完全一样,不同的是他们定义在UDLIB中,可以随时修改,

但必须重新启动游戏才能生效。

顺便讲一下一个MUD启动的过程,MUD启动的初始化过程分以下几步:

1.载入防真函数simul_efun

2.载入主控物件master,这里是调用master的create()函数将其载入内存。

3.载入需要预先载入的守护程序,这里调用master的preload()函数,

需要预先载入的文件定义在admetcpreload里。

4.MUD进入多用户状态,允许玩家登录。

以上过程必须正确无误的执行完,否则游戏无法正确启动。

master.c和simul_efun.c这两个文件只能在游戏启动时由mudos自动载入,

不可以在游戏中用update的方法载入,而且这两个物件也不

允许非ROOT权限的物件摧毁(destruct)它,因为他们的摧毁就等于游戏关闭。

admsimul_efun防真函数目录,这里放的是定义各类防真函数的文件,

这些文件由SIMUL_EFUN_OB(也就是admobjsimul_efun)来载入内存。

cmds游戏命令目录,这里放的是游戏中可以使用的各种命令,

只有admin才可以修改这个目录

cmdsadm只有天神(admin)可以使用的命令

cmdsarch只有大巫师(arch)以上才可以使用的命令

cmdswiz只有巫师(wizard)以上才可以使用的命令

cmdsapp只有巫师学徒(wizard)以上才可以使用的命令

cmdsimm只有荣誉玩家(immortal)以上才可以使用的命令

cmdsusr只有普通玩家(player)以上才可以使用的命令

cmdsstd所有生物(npcandplayer)都可以使用的命令命令目录采用子集格式,

权限高的命令完全包含权限低的命令,比如天神可以使用所有游戏命令,

普通玩家只能使用cmdsusr和cmdsstd目录下的命令。

data游戏数据目录,只有arch以上权限才可以修改这个目录

databoard各个留言板的数据

datalogin玩家登录数据

datauser玩家档案,呵呵,这里记录的是每个玩家的所有劳动成果

datanpc一些特殊npc的数据,比如商店老板

datadaemon重要的系统数据,比如emote词,英汉翻译词典

datamail玩家信件

feature标准继承函数。

只有admin才可以对这个目录进行修改这些函数是非常重要的,

是MUD里各种物件,包括玩家,NPC,物品,房间等的各种功能的标准定义,

这些函数反映了整个MUD的与众不同之处,一个好的MUDLIB必然要对这些函数进行优化。

而要设计新的程序,必须对这个目录所有文件有所了解。

obj系统物件,这是经常在MUD里被调用的各种物件。

这个目录下的物件被复制后跟调用他的物件具有相同的euid,

也就是说具有相同的权限,所以,这里的一个npc如果经admin编译后复制出来,

也具有了admin权限。

这点非常重要,有些物件必须具有跟玩家相同的euid才能正常使用

,比如符纸。

而出于安全考虑,这个目录下的物件不可以随便复制。

只有arch以上才可以修改此目录。

objboard游戏中各个留言板

objnpc一些特殊的NPC

objsheet各种符纸

objweapons兵器

objmisc其它乱七八糟的东西,比如信箱等

quest游戏里各种任务quest的文件,此目录需要wizard以上权限才可以修改

binaries文件编译过程生成的二进制文件,此目录ROOT权限才可以修改

d区域目录,游戏的地图门派和NPC存放的地方。

此目录wizard以上权限可以修改。

这里是整个MUDLIB最简单最常用的东西,也是玩家可以直接接触到的东西。

玩家所呆的任何一个房间都应该对应这个目录下的一个文件,

房间里每个NPC也都对应一个文件。

这个目录下存在许多子目录,

分别对应游戏的不同区域(domain)。

ddomainnpc该区域中的npc

ddomainnpcobj该区域中npc身上的物品

ddomainobj该区域中的物品

data_bak档案备份目录,保存需要备份的重要数据。

admin可以修改

include头文件目录,只有admin可以修改。

这里放的是游戏中各个文件所需要的头文件,

其中以下几个特别重要:

globals.h全局定义的头文件,这是一个特殊的头文件,

他不需要在任何一个文件里被调用,但是这里定义的所有变量可以在任何一个文件里直接使用。

这里一般用来定义非常重要的或者许多地方需要调用

的变量。

对这个文件的修改必须重新启动游戏才可以生效。

command.h

这里定义的是各个权限等级所能够使用的命令目录,所以,除了admin,

应该绝对禁止任何人修改此文件。

includerace种族的头文件

includenet网络功能的头文件

open系统临时目录,ftp登陆目录,任何人都具有写权限。

questobjFY3的task专门目录,存放各个task物品文件。

wizard以上权限可以修改。

u巫师工作目录,存放各个巫师开发过程的半成品。

这里的子目录名只能为各个巫师的euid,

而只有对应euid的人才有对相应目录的修改权限。

比如一个目录是lion,

那么只有lion这个ID或者比lion权限高的人

才可以修改它下边的内容。

clone物品目录,存放游戏中需要经常复制的各种物品,wizard以上权限可以写。

这个目录下的物品一般被其他地方复制(clone)出来,但他们的euid是固定的,

不会随调用它的物件的不同而改变,这就是这个目录和obj目录的最大不同。

此目录arch以上等级可以修改

clonearmor装备

clonedrug药品

clonefruit水果,水果跟食物的不同是吃了可以同时加食物和饮水,

而且有些水果具有养颜美容之功效。

cloneliquid容器,象酒袋茶壶一类

clonemoney顾名思义,人见人爱的东西

cloneuser玩家物件,包括login.c(link_ob)和user.c(body),

此目录只有admin可以修改

clonebooks各种秘籍

clonefood吃的

clonegift各种礼物,一般是好东东

cloneweapon兵器

clonemisc其他杂物,比如尸体,头颅。

daemon呵呵,这个目录为什么叫这个名字我一直没明白,看下边的说明吧。

此目录只有arch以上可以修改。

daemonskill游戏中所有的技能

daemoncondition人物各种状态,比如中毒,恢复等。

daemonclass这个应该理解为“组织”或“工会”,是ESII从外国MUD里保留下来的东西,

不过随着中文MUD的发展,工会的概念逐渐被淡化,其含义已经跟以前完全不同,

现在他的意思有点象“身份”,比如道士,和尚,喇嘛,官兵,老百姓。

个人有个人的身份。

很多情况下,这个跟门派类似,但又不完全相同。

这里存放的是各种不同身份的人所具有的特殊东西,

不过现在一般用来存放各种特殊技能的特殊用法(perform)

doc文档。

游戏中的各种文本文件,arch以上可以修改

dochelp各种帮助文件

docefuns各种系统函数的用法

docstory各种背景故事

log系统日记,记录游戏过程各种重要事件,是巫师处理纠纷和剔除bug的主要依据来源。

一个好的巫师应该养成经常看系统日记的习惯。

本目录只有ROOT权限可以修改。

p玩家目录,这个目录下内容玩家具有写的权限。

主要存放需要玩家修改的内容,

比如玩家房间,自创武功等。

std标准对象目录,游戏中各种标准物件,

只有admin可以修改游戏里其他物件都需要继承这里的相应文件。

stdarmor装备物品的标准继承,比如衣服,盔甲等

stdboard留言板

stdchar生物的标准继承,MUD里的生物包含两种:

玩家(player)和非玩家(

npc)他们都需要继承stdcharchar.c这个对象,

他们与其他物件的区别是具有心跳(heartbeat)。

stddrug药品的标准继承,其实这个现在一般不用了,这部分功能都放到了

feature的相应文件里,保留这个是为了跟旧的系统兼容。

stditem物品的标准继承

stdroom房间的标准继承

有人曾问房间和物品到底有什么区别?

说实话,这个问题还真不好说,

这两个物件基本结构差不多,也没有什么可以区分的特征。

现在的常用判断方法是房间是没有环境(environment)的,但也不是所有物品

(包括生物)都有环境,所以,呵呵,这个问题还有待MUD程序的进一步完善,

现在基本上无法判断。

stdskill技能的标准继承

stdweapon武器的标准继承

stdmisc其他物件,比如钱,符纸。

值得注意的是,std这个目录跟一般MUDLIB的结构不太一样,

一般MUDLIB并没有如此归类存放,大家可以根据自己的认识加以判断。

以上是根据我的理解对各个目录的解释,未必是权威的说法,

只是为了让大家有所认识,如果有什么错误请指正。

作为刚入门的新巫师,准确理解各个目录的作用是非常重要的,

必须知道哪个目录下的东西是做什么的,哪个目录你可以去改,哪个目录你不能动。

一般来说,要成为一个合格的巫师,至少要花半月时间来“读”程序,

了解整个MUDLIB的结构,了解各个文件的作用

(未必要完全看懂,但至少应该知道他是干什么的),

这样不至于再以后的程序开放过程中不知道什么功能该如何实现,从而走许多弯路。

当你了解了整个MUDLIB后就可以试着自己写程序了,

一般你只能在自己的工作目录里写东西。

刚开始不妨试着写一个简单的房间,

然后试着写一个简单的npc,然后试着把这个npc放到这个房间里。

这样逐渐提高,你很快就成为一个合格的巫师了。

 

认识自己

--什么是巫师?

  巫师是创造者,程序设计师,负责创造玩家眼里的游戏世界。

你可以创造任何东西,这也使得巫师这个位置显得很重要且需担负很大的责任。

当一个巫师代表你可以在瞬间取一个玩家的性命,对游戏系统造成很大的损害,或是建立一个人间天堂。

任何你想得到的都可以做到。

  在目前的大陆,专职的巫师是很少见的。

这恐怕主要是因为MUD这个游戏还没有一套成熟的商业运营机制来使它产生经济效益,并以此养活那位专职的巫师吧!

大多数巫师都是走的“玩而优则巫”的道路。

很难想像:

一个从未玩过MUD的人会有多高的热情和动力去承担如此艰巨、而且是无报酬的工作。

但并非说玩得好的玩家就一定要去做巫师,有人就是天生的玩家。

流行的对于巫师有专职与兼职之说,这是指在一个MUD与两个或多个MUD担任巫师之分。

我们的观点是坚决反对兼职巫师的,以下摘录的一段文字很能代表我们的看法:

--------------------------------------------------------------------

对于目前大部分的wiz兼职实在对于大陆泥巴这个freeware是最大侮辱了

我对于巫师的看法就是该诚恳的,勤奋的,付出在自己最热爱的一个mud

而不该去其他的mud寻找所谓的新的创意,或是一个等待开发处女,如果

大家的目的是需要提高中国泥巴的整体水平的话,大概你一个单兵作用不

大吧,那可需要的是一个整体的力量。

兼职的巫师本身就是一种浮华的类wiz,他们有点技术,热忠于这个那个的

mud串门做个嘴片子,本身精力也许很多,有任务也许完成,下网了就也许

满足于自己名片颇多。

如果要获得新的想法,需要在其他mud当巫师才能获得吗?

那不是成了看别

人的工作成果,“启发“自己的新想法?

这...

如果觉得另外一个mud比现在所在的mud更能体现自己的想法思路或风格,

那坚决的全身心的投入到那个更理想的mud里哪,如果觉得现在呆的mud

没发展了。

那呆着也是惹那一身烦嘛!

居然有人在自己不喜欢的mud里当

wiz,这...

mud本身就是体现一个创作群体的思想,现在大家对于mud的观念特奇怪,

做wiz的等待admin发任务,admin抱死自己的权利,不去发现wiz们的长

处而只知道门派、地图、daemon的下任务,有技术的wiz抱怨工作简单、无

聊,需要提高的wiz抱怨石头太硬。

这就导致了巫师这个群体成个很官僚的

状况,如果大家真心的做个mud,又何至如此呢。

还有就是兼职也导致侵犯某些codes的作者的权利,甚至有人拿着这边的程

序到那边去申请职务,这...

如果大家真心要把自己做的门派,或是得意的程序奉献给大家,那建议把

那些程序放到自己的主页上呀,好坏自有公论嘛,而且大家在你的主页上

经过讨论,或者对你是个更大的提高呢,这样大家知道是你的程序,觉得

保证你的权利。

freeware,sigh,到了中国这个福地,什么都变味了,人们

换着法子的保护自己署名的权利,更大一群人拿着去掉开发者的署名的程

序做开发.这...是freeware的精神吗?

限制巫师兼职根本就不是一种可

以用来限制的条件,只是一相情愿的愿望而已。

(有删改)

※来源·BBS水木清华站·[FROM166.111.54.141]

---------------------------------------------------------------------

--巫师的观念:

  巫师是什么?

巫师并不是神,神只是提供我们服务器、提供我们站点的人物,在我们这里,他们被定义为(gods),真正的巫师都是同玩家一样通过远程登录上去的用户——只是一个拥有较多权限的超级用户而已。

因此本质上也是一种高级的玩家,但他所遵循的原则却要绝对地高于玩家。

争吵

  巫师:

永远不要与玩家争吵。

如果你觉得自己错了,请于第一时间去改正它,第二时间再向玩家说明。

要是觉得丢面子的话,就保持缄默吧。

如果你觉得自己没错,就不要理会,对方再纠缠下去干脆kickout....有些事情是越争越越乱、越争越糟糕。

还有一点:

你如果上线时手头有事情要处理或者没有二十分钟以上的闲功夫,奉劝你不要现身,隐身处理事情算了。

  玩家:

永远不要与巫师争吵。

如果你觉得自己对的,尽可能地去post或mail,如果觉得自己未被重视受到了伤害又不大可能得到补偿,你可以拒玩这个站点。

如果你发现是你自己错了......你完了.........

要求

  巫师:

永远不要对玩家提出要求。

如果你觉得确需限制,就直接设计出程序,只要他们在规则的允许之内,任由他们发展。

一个好的巫师是完全通过他的程序来实现对世界的调控,而不是言语。

话多的巫师工作将会很累很累。

  玩家:

请不要对巫师提出出格的要求。

这是一种很不健康的思想,理论上,玩家与巫师应该是有某种正式的沟通管道,而尽量减少私底下的交易。

也就说,巫师应该只是制订规则、写区域、管理维护MUD,而尽量减少介入玩家的生活或成长过程。

玩家也应该要尽量不要要求不在巫师工作范围内的事情,最常见的就是向巫师索取仙果、询问打开暗门的口令、某个秘密人物的所在。

这种要求直接导致你在巫师心目中的评价直线下降。

如果牵涉到要求改武功、提经验的地步的话,可能会带来进行坐黑牢的惩罚。

而在此,我们还得指出一点,对于巫师来说“勿以恶小而为之”,最好的办法就是做一个铁石心肠的家伙,拒绝一切超越工作范围的事,否则,你还是去做一个“新手指南”的玩家好了。

脾气

  巫师理论上不应该有任何的脾气,这也许有点不尽人情,但是我们对每一个巫师都这样建议,上线前深呼吸几次。

一上线先hihi,遇到事情先hehe,实在脾气上来压也压不住时,你干脆就quit再拍桌子跺脚大叫几声:

“老子再也不做巫师了!

”然后心平气和地再login进去,巫师当然还得做、程序也还得写、丑话还得听。

人们不是常说:

“我们都有情绪因为我们不是神仙”,哈哈!

现在你一在线,你就已经是神仙了。

所以........

动力:

  一个纯义务的、没有报酬的工作,初期的那份新鲜劲会随着没完没了的程序、函数而消磨怠尽。

因此你得不时地给自己寻找动力。

善始善终,巫师应该是程序员届最能考验人的工作之一。

水平

  怎么你也得了解一下MUDOS吧?

实在不行,大致有个概念也成。

对于LPC你总弄懂吧?

你所工作的MUDLIB不看完也说不过去吧?

也许你目前还不行,但你若真的想当一名好巫师,你就得朝这个目标去做。

——巫师权限简介:

  大总管(gods):

这个级别的比较特殊,一般是由你服务器所在单位的工作人员或管理人员担当。

严格意义上,只有他们是神。

神可以什么事都不做,却可以决定任何事情。

不要去向神要求什么?

你所要做的事除了沟通就只有祈祷。

当然,对于神来说,除了到处goto和参预巫师频道的讨论外,他们也不必要过多的档案处理权。

因为服务器就在他们的身边,任何制约对于他们来说都是可笑的,“神打了个呵欠,地上就刮了三个月的风暴”.........

  天神(admin):

游戏的实际管理人,在游戏中所有事情的最后决定者。

事实上他们只是神的使者的意义。

天神唯一的限制就是不能(确切说应该是不准)修改LOG下的文件,那里只有真正的神(大总管)才能通过服务器的操作进行删除。

  大巫师(arch):

天神的助手,一般都是由熟悉系统架构的人来担任的。

大巫师也是执行多数区域的QC的人选。

只有一些涉及系统更动的问题,才必须通过天神进行更新操作,大巫师与天神没有职责上的区别,只有处理权限的不同。

  巫师(wizard):

写区域的人,请乖乖的遵守所有的巫师规则.

  巫师学徒(apprentice):

练习生。

在这个阶段,你的工作是先熟悉环境和相关规定。

调适一下你的心态,并确实的知道当巫师所负有的责任.

--一些见议:

  当巫师好像是在当创造者,任何你想得到的东西都可以通过程序做到。

因为这样,请你动手前务必多想想,先把后果想清楚了再做。

如果不幸出了些差错,也请完完全全地负起责任并承担后果。

永远记住,你的一举一动,不论大小,对这个游戏都将造成一些影响,请尽量让这些成为正面的影响。

善待你的同事并尊重你的上级,巫师级别的划分并不一定是完全反应着能力的高低。

而实际上略通编程技巧的人也都知道,一个wizard可以很轻易地把自己改为admin,而事实上你也别去动这个脑筋。

巫师守则的遵守只是靠相互信任与自觉。

原理上,用程序我们是可以完成任何事情。

系统中的各种防御及记录体系也都是防君子不防小人的,但是我们不希望在程序中看到巫师物品,即使必须要有,一定要加上对使用的人的权限判断,我认为有写巫师物品的时间还不如多设计几个谜题算了。

认识工作

--在开始制作之前

  让我们大略看一下在LPMUD,即所谓战斗MUD中,世界的构成方式。

这个世界是由一个个的对象(object)所组成,每个对象有一个对应的程序来描述它的特性。

在游戏中所见到的每个房间,每个npc,每个物品,甚至你自己,都是一个object,都是一段程序。

  我们首先写出一段程序来创造出一个全新的对象,然后利用update来更新对象所属的程序,再用clone来实际造出一个可用的对象。

在这里所谓更新,就是将硬盘里这个文件编译后形成一段代码,这段代码是存在于内存中的。

在MUD中,程序只有进了内存方可执行。

因此当你修改了或新写了一个文件,那只表明你在硬盘上改动或创造了这个文件,你必须做一下update,将它编译放入内存,你的修改和创造才正式生效。

而clone命令其实就是update+move,因为它update的是一个物品或npc,这个物品或npc还需要有地方放。

(看起来吃力吗?

没关系,当你对updata和clone的操作十分熟悉后,再想想这段话,你就会chatoh)在系统里,我们可以制作各式各样的对象,但是都可以将之划分在三大类里面房间、物品与生物。

在制作区域时,我们习惯将区域放置在根目录下的d目录。

房间的档案就直接摆在区域的目录下,生物与物品则摆在这个区域中名为npc及obj的子目录中。

--制作的基本品质要求

  所有的MUD都有自己的风格、发展方向、跟程序品质的要求。

由于这些东东与程序是否能通常执行关系不大。

有时仅仅只是一些个人习惯而已。

作为MUD这么一个集体创作的作品,这种习惯就有必要有一个集体性的统一,这种统一大约是随著主持这个MUD的admin而异。

事实上又由于每个admin对mudlib的了解程度不一,所以对品质要求的深度也不同。

以下是我们“无锡MUD巫师组”对各位新

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1