![]() |
![]() |
#1 |
天平座童虎
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 注册: 02年05月24日
来自: 莲花宝座
帖子: 5,966
声望力: 98
声望:
1639
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 积分:18
精华:29
现金:4213200两梁山币
资产:4223200两梁山币
致谢数: 2
获感谢文章数:10
获会员感谢数:10 |
【转帖】zmud 4.62 hash 解决方法 + 文件访问
zmud 4.62 hash 解决方法 + 文件访问 原理: zmud 4.62 提供很稳定的mud 解析。而且没有注册的麻烦。 他提供了文件访问和一些基本函数,但是缺少数组和hash 类型变量, 对于quest 来说,有一个中英文对照表,将会大大减少键盘输入,提高 游戏乐趣,减少失误。在此抛砖引玉了。 这里提供了一个示范的解决方法,适用于一般变量作为hash变量使用: 因为4.62的字符串变量没有限制长度,现在我用_隔开hash 单元,|隔开hash key and value: 比如 id_list: _阿菜哥|waiter|_阿草|a cao|cao|_阿大|a da|_阿二|a er|_阿发|afa|_阿发日记|afrji|_ 这个是一部分 中英文对照表。 hash主要有以下函数(alias) hash_find:用于用key 寻找hash value, 返回到hash_value 变量,失败的话,hash_value=0. 使用方法: hash_find varname keyname 使用举例:hash_find id_list 阿发日记 输出:_阿发日记| : afrji hash_value 值= afrji hash_add:用于添加hash 键值,如果有完全重复的键值,将不予增加。 使用方法: hash_add varname keyname hashvalue 使用举例:hash_add id_list 嘟嘟嘴 ddz 输出: newvalue: 嘟嘟嘴|ddz|_ added. 或者:嘟嘟嘴|ddz|_ exists... no add! 其他还有文件读入写入函数: save_var:存入变量值 使用方法: save_var varname 使用举例:save_var id_list 输出: id_list.txt Opened id_list.txt as file 3 id_list.txt erased. Opened id_list.txt as file 3 Closed id_list.txt on file 3 VAR id_list saved to id_list.txt load_var:读入变量值,同时把内容写入varname.bak文件 使用方法: load_var varname 使用举例:load_var id_list 输出: Opened id_list.txt as file 3 Closed id_list.txt on file 3 _阿菜哥|waiter|_阿草|a cao|cao|_阿大|a da|_阿二|a er|_阿发|afa|_阿发日记|afrji|_ _阿菜哥|waiter|_阿草|a cao|cao|_阿大|a da|_阿二|a er|_阿发|afa|_阿发日记|afrji|_ Opened id_list.bak as file 4 id_list.bak erased. Opened id_list.bak as file 4 Closed id_list.bak on file 4 以上函数实现方法: //usage:hash_find %hash_list %hash_id,(_hash_id|hash_value|_), //return to @hash_value; //e.g. 阿发日记 hash_find: varlist=@<%1>; hash_id=_%2|; #if %pos(@hash_id,<@varlist>) {temp=%pos(@hash_id,<@varlist>); temp=%right(<@varlist>,@temp+%len(@hash_id)-1); temp=%left(@temp,%pos("|",@temp)-1); hash_value=@temp; #echo @hash_id : @hash_value; } {#echo not found!; hash_value=0; } //usage:hash_add %hash_list %hash_id %hash_value//(_hash_id|hash_value|_), //e.g. hash_add id_list 嘟嘟嘴 ddz hash_add: varlist=@<%1>; hash_key=%2|%3|_; #if %pos(@hash_key,<@varlist>) {#echo @hash_key exists... no add!;} { temp=<@varlist>@hash_key; #var <%1> @temp; #echo newvalue: @hash_key added. } //usage:set varname (e.g. id_list, no @); save_var: varname=%1; filename=@varname.txt; #echo @filename; #file 3 @filename; #erase 3; #file 3 @filename; var2=@<@varname>; #write 3 <@var2>; #close 3; #echo VAR @varname saved to @filename; //usage:set varname (e.g. id_list, no @); load_var: varname=%1; filename=@varname.txt; var2=@<@varname>; #file 3 @filename; temp=%read(3); #close 3; #var <@varname> @temp; #echo @temp; #echo @var2; fileback=@varname.bak; #file 4 @fileback; #erase 4; #file 4 @fileback; #write 4 <@var2>; #close 4 |
![]()
|
|
![]() ![]() |
![]() |
![]() |
#2 |
初级会员
![]() ![]() ![]() ![]() ![]() 注册: 05年11月03日
帖子: 42
声望力: 0
声望:
10
![]() 现金:-25两梁山币
资产:-5两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 【转帖】zmud 4.62 hash 解决方法 + 文件访问
不知道什么机器人游泳!
|
![]() |
![]() |
![]() |
#3 |
中级会员
![]() ![]() ![]() ![]() ![]() 注册: 04年10月16日
来自: 中国
帖子: 60
声望力: 21
声望:
26
![]() 现金:522两梁山币
资产:2220两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 【转帖】zmud 4.62 hash 解决方法 + 文件访问
有什么用,做quests?我觉得不如db好,速度没db快吧.
|
![]() ![]() |
![]() |
![]() |
#4 |
初级会员
![]() ![]() ![]() 注册: 06年01月04日
帖子: 29
声望力: 0
声望:
10
![]() 现金:25两梁山币
资产:25两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 【转帖】zmud 4.62 hash 解决方法 + 文件访问
努力 灌水 赚钱 买robot ![]() |
![]() |
![]() |
![]() ![]() |
添加到书签 |
|
|
![]() |
||||
主题 | 主题作者 | 论坛 | 回复 | 最后发表 |
zmud 4.62版xyj2000的半自动杀怪和quests机器人【机器】【总站】 | lvin | 『 机器人制作及下载 』 | 560 | 4 周前 22:23 |
zmud 4.62版xyj2000的半自动杀怪和quests机器人 | 神采飞扬 | 『 机器人制作及下载 』 | 105 | 2010-12-11 11:46 |
4.62西游记总站总站。请进! | aimoer | 『 梁山论剑 』 | 1 | 2010-03-05 10:06 |
适用zmud4.62屏蔽骂人的trigger | xyuer | 『 机器人制作及下载 』 | 2 | 2009-12-03 17:03 |
我的Zmud 4.62有问题么? | medu | 『 机器人制作及下载 』 | 20 | 2008-05-11 19:47 |