|
发表于 2010-11-20 22:28:12
|
显示全部楼层
原帖由 lzkd 于 2010-11-20 10:13 PM 发表 
啧啧,那应该是好东西的说.如果可能,一定要放出来哈,大家也学习一下.
helllua的缺陷还是很明显的……当年,mapper.dll的缺陷更明显。
我大学的时候的专业和计算机没有任何关系,所以完全是赤脚医生的级别的,helllua的代码是我第一次做这么大的工程,lua的特性也不熟悉,本身就是一个编程的经验鸡肋的过程,所以helllua到后期已经让我自己都有改写的念头了。
当时设计的改动包括:
1.规范化,标准化,已经把基准目录放在mushclient目录里。
2.实现强大的宏功能。实现用类似zmud的语法,跑出mush功能的bot。
3.用lua本身的方式来实现类和命名空间。没有命名空间,我自己看代码都头痛。特别是walking,serch这些写的比较早的模块。
4.更对2次开发友善的模式。比如我现在是 dowalk(0,20,false),以后应该是 dowalk({from=0,to=20,fly=false})
5.通过xmpp(当时设想p2p形式的dht)方式在不同的电脑间共享信息。有一个独立的文件管理协调不同的world(比如出现随机npc的故事时,分配所有的id在不同的城市search)
6.所有的触发都是在一个指定的文件里动态临时设置。需要用到的模块里动态加载。这样让分离的模块成为可能
7.添加env环境变量,指定和装载触发时自动变更。比如有个$master$环境变量。变更的话,比如setenv("master","张三丰"),那么所有已有的和未装载的触发里的4master$都替换为张三丰。
主要是规范自己的代码,更好的跨mud可能,以及对2次开发的更友好。
当时有做一个中文mud里搞流行度的框架的想法。 |
|