北大侠客行MUD论坛

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

Paotin++ 关于文件加载的个人理解

[复制链接]
发表于 昨天 03:28 PM | 显示全部楼层 |阅读模式
本帖最后由 fengzhong 于 2025-11-15 03:42 PM 编辑

paotin中有两个可以加载文件的命令,一个是 load-module(LM) 加载模块,一个是 load-file 加载文件。一、加载模块(LM)
本质上也是load-file 加载文件,是把被加载的文件封装在一个Class中进行加载。
例如:LM foo/bar 实际执行的代码如下:
class foo/bar open;
    load-file plugins/foo/bar.tin;
    load-file plugins/foo/bar/__init__.tin;   #nop 如果前面的文件不存在; (对于初级玩家,像我这样的小白白这行可以忽略)
    load-file plugins/foo/bar/__main__.tin;   #nop 如果前面的文件不存在;(对于初级玩家,像我这样的小白白这行可以忽略)
    class foo/bar close;

具体加载的时候,会按先后顺序寻找以下路径,进行加载。(主目录是paotin的安装目录,比如:d:/paotin)
      - 1. 玩家为某个MUD自定义的特别定制版位置:   var/mud/$MUD/plugins/foo/bar.tin    ($MUD 对应的就是pkuxkx)
      - 2. 一般玩家的自定义位置:                  var/plugins/foo/bar.tin
      - 3. MUD定制版位置:                         mud/$MUD/plugins/foo/bar.tin
      - 4. 默认脚本位置:                          plugins/foo/bar.tin
      - 5. 玩家为某个MUD自定义的特别定制版位置:   var/mud/$MUD/plugins/foo/bar/__init__.tin(对于初级玩家,像我这样的小白白这行可以忽略)
      - 6. 一般玩家的自定义位置:                  var/plugins/foo/bar/__init__.tin(对于初级玩家,像我这样的小白白这行可以忽略)
      - 7. MUD定制版位置:                         mud/$MUD/plugins/foo/bar/__init__.tin(对于初级玩家,像我这样的小白白这行可以忽略)
      - 8. 默认脚本位置:                          plugins/foo/bar/__init__.tin(对于初级玩家,像我这样的小白白这行可以忽略)
      - 9. 玩家为某个MUD自定义的特别定制版位置:   var/mud/$MUD/plugins/foo/bar/__main__.tin(对于初级玩家,像我这样的小白白这行可以忽略)
      - 10. 一般玩家的自定义位置:                 var/plugins/foo/bar/__main__.tin(对于初级玩家,像我这样的小白白这行可以忽略)
      - 11. MUD定制版位置:                        mud/$MUD/plugins/foo/bar/__main__.tin(对于初级玩家,像我这样的小白白这行可以忽略)
      - 12. 默认脚本位置:                         plugins/foo/bar/__main__.tin(对于初级玩家,像我这样的小白白这行可以忽略)

二、加载文件
具体来说,假设文件名是 foo/bar.tin,则本命令会从以下位置按照从上到下的顺序进行查找:
      - 1. 玩家为某个MUD自定义的特别定制版位置:   var/mud/$MUD/foo/bar.tin  ($MUD 对应的就是pkuxkx)
      - 2. 一般玩家的自定义位置:                  var/foo/bar.tin
      - 3. MUD定制版位置:                         mud/$MUD/foo/bar.tin  ($MUD 对应的就是pkuxkx)
      - 4. 默认脚本位置:                          foo/bar.tin

三、总结一下
load-module(LM) 加载的时候判断的目录如下:(假如Paotin安装在d:/paotin)(d:/paotin/var  == d:/my-paotin
var/mud/pkuxkx/plugins/foo/bar.tin (对应 d:/my-paotin/mud/pkuxkx/plugins/)
var/plugins/foo/bar.tin   (对应 d:/my-paotin/mud/plugins/)
mud/pkuxkx/plugins/foo/bar.tin  (对应 d:/paotin/mud/pkuxkx/plugins/)
plugins/foo/bar.tin (对应 d:/paotin/plugins/)


load-file(LM) 加载的时候判断的目录如下:(假如Paotin安装在d:/paotin)(d:/paotin/var  == d:/my-paotin
var/mud/$MUD/foo/bar.tin (对应 d:/my-paotin/mud/pkuxkx/)
var/foo/bar.tin   (对应 d:/my-paotin/)
mud/$MUD/foo/bar.tin  (对应 d:/paotin/mud/pkuxkx/)
foo/bar.tin (对应 d:/paotin/)


北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-16 02:24 AM , Processed in 0.014077 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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