![]() |
【转帖】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 |
回复: 【转帖】zmud 4.62 hash 解决方法 + 文件访问
不知道什么机器人游泳!
|
回复: 【转帖】zmud 4.62 hash 解决方法 + 文件访问
有什么用,做quests?我觉得不如db好,速度没db快吧.
|
回复: 【转帖】zmud 4.62 hash 解决方法 + 文件访问
努力 灌水 赚钱 买robot:em14:
|
所有时间均为格林尼治时间 +9, 现在的时间是 10:24. |
Powered by SPLS
版权所有 2001-2023 水泊梁山
皖ICP备05012024号
站长 fengyue