mushclient的当前目录
GetInfo(64)可以得到当前目录可是怎么设置当前目录呢?
我有一台机器,在globals里设置了default world files directory为D:\mush,可是当前目录一直是C:\program files\Mushclient,有没办法改过来。 不知道改这个有什么用?
MushClient.exe同目录下有个文件mushclient_prefs.sqlite
可以用SQLite工具去改(不过不推荐这么做)
在lua脚本中读取文件的话,一般用GetInfo()指示路径就够用了。 我想把lua文件放到一个指定的目录,以便管理。这就需要修改当前目录或脚本目录
[ 本帖最后由 myu 于 2010-4-10 06:52 AM 编辑 ] 因为mush的作者在写代码的时候,用的是绝对目录,所以mush里的目录,路径相关的是比较麻烦的.
不知道楼主的所谓----把lua文件放到一个指定的目录,以便管理---是什么意思,猜了一下,下面的方法可能可以达到楼主的要求.
假设你在lua主文件(主文件的意思是---你的mush载入的这个lua文件)下建立了一个myu目录,你想把一些lua文件放在myu目录下,以便管理.
那么,你在主文件中添加以下代码luapath=string.match(GetInfo(35),"^.*\\")
include=function(str)
dofile(luapath..str)
end
loadmod=function(str)
include("myu\\"..str)
end然后,你要引用myu目录下的文件,则可以loadmod("xxx.lua")就可以了,不知道楼主的要求是不是这样 小刀果然是高人,基本上是这个意思,我呢习惯于把某个类别的文件,放在一个单独的目录,避免各类文件混杂的情况。你这思路应该可行 原帖由 myu 于 2010-4-10 08:42 AM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
小刀果然是高人,基本上是这个意思,我呢习惯于把某个类别的文件,放在一个单独的目录,避免各类文件混杂的情况。你这思路应该可行
hehe 我可不是高人,这个习惯我也有.这个方法也是从别人那里学来的.
能用就好 我绝对不相信小刀是文科出身的,如果是,那只能说当初选错专业了 原帖由 linghuchong 于 2010-4-10 11:37 AM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
我绝对不相信小刀是文科出身的,如果是,那只能说当初选错专业了
我是财会专业的,吃这碗饭已经不少时候了.
这个怎么都算不上理科出身吧? 发现了更好的办法
dofile虽然可以基本上解决问题,但是终觉有点别扭,dofile是不如require的,require可以实现路径搜索和防止重复载入。要使用require实现指定目录的搜索,只要修改一下package.path变量,就可以达到。
比如,在主文件里加入
package.path=package.path..";"..GetInfo(57).."myu/?.lua"
然后就可以直接用require "xxx"来加载游戏目录/myu子目录下的lua文件。 原帖由 myu 于 2010-4-12 04:05 PM 发表 http://www.pkuxkx.com/forum/images/common/back.gif
发现了更好的办法
dofile虽然可以基本上解决问题,但是终觉有点别扭,dofile是不如require的,require可以实现路径搜索和防止重复载入。要使用require实现指定目录的搜索,只要修改一下package.path变量,就可 ...
呵,我也学习一个新东西,谢谢
页:
[1]