北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 4862|回复: 9

mushclient的当前目录

[复制链接]
发表于 2010-4-9 23:07:11 | 显示全部楼层 |阅读模式
GetInfo(64)可以得到当前目录
可是怎么设置当前目录呢?
我有一台机器,在globals里设置了default world files directory为D:\mush,可是当前目录一直是C:\program files\Mushclient,有没办法改过来。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-4-10 00:45:54 | 显示全部楼层
不知道改这个有什么用?

MushClient.exe同目录下有个文件mushclient_prefs.sqlite

可以用SQLite工具去改(不过不推荐这么做)

在lua脚本中读取文件的话,一般用GetInfo()指示路径就够用了。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-4-10 06:51:31 | 显示全部楼层
我想把lua文件放到一个指定的目录,以便管理。这就需要修改当前目录或脚本目录

[ 本帖最后由 myu 于 2010-4-10 06:52 AM 编辑 ]
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-4-10 07:14:37 | 显示全部楼层
因为mush的作者在写代码的时候,用的是绝对目录,所以mush里的目录,路径相关的是比较麻烦的.

不知道楼主的所谓----把lua文件放到一个指定的目录,以便管理---是什么意思,猜了一下,下面的方法可能可以达到楼主的要求.

假设你在lua主文件(主文件的意思是---你的mush载入的这个lua文件)下建立了一个myu目录,你想把一些lua文件放在myu目录下,以便管理.

那么,你在主文件中添加以下代码
  1. luapath=string.match(GetInfo(35),"^.*\")

  2. include=function(str)
  3.         dofile(luapath..str)
  4. end
  5. loadmod=function(str)
  6.         include("myu\"..str)
  7. end
复制代码
然后,你要引用myu目录下的文件,则可以
  1. loadmod("xxx.lua")
复制代码
就可以了,不知道楼主的要求是不是这样
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-4-10 08:42:40 | 显示全部楼层
小刀果然是高人,基本上是这个意思,我呢习惯于把某个类别的文件,放在一个单独的目录,避免各类文件混杂的情况。你这思路应该可行
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-4-10 08:50:40 | 显示全部楼层
原帖由 myu 于 2010-4-10 08:42 AM 发表
小刀果然是高人,基本上是这个意思,我呢习惯于把某个类别的文件,放在一个单独的目录,避免各类文件混杂的情况。你这思路应该可行


hehe 我可不是高人,这个习惯我也有.这个方法也是从别人那里学来的.
能用就好
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-4-10 11:37:10 | 显示全部楼层
我绝对不相信小刀是文科出身的,如果是,那只能说当初选错专业了
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-4-10 12:52:34 | 显示全部楼层
原帖由 linghuchong 于 2010-4-10 11:37 AM 发表
我绝对不相信小刀是文科出身的,如果是,那只能说当初选错专业了

我是财会专业的,吃这碗饭已经不少时候了.
这个怎么都算不上理科出身吧?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-4-12 16:05:16 | 显示全部楼层
发现了更好的办法
      dofile虽然可以基本上解决问题,但是终觉有点别扭,dofile是不如require的,require可以实现路径搜索和防止重复载入。要使用require实现指定目录的搜索,只要修改一下package.path变量,就可以达到。
      比如,在主文件里加入
      package.path=package.path..";"..GetInfo(57).."myu/?.lua"
     然后就可以直接用require "xxx"来加载游戏目录/myu子目录下的lua文件。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-4-12 16:12:41 | 显示全部楼层
原帖由 myu 于 2010-4-12 04:05 PM 发表
发现了更好的办法
      dofile虽然可以基本上解决问题,但是终觉有点别扭,dofile是不如require的,require可以实现路径搜索和防止重复载入。要使用require实现指定目录的搜索,只要修改一下package.path变量,就可 ...


呵,我也学习一个新东西,谢谢
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 10:47 PM , Processed in 0.014303 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表