北大侠客行MUD论坛

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

【求助】【MUSH】关于AddAlias函数的用法【已解决】

[复制链接]
发表于 2013-1-25 16:57:14 | 显示全部楼层 |阅读模式
本帖最后由 lifesoul 于 2013-1-25 11:58 AM 编辑

记得在某个帖子里边看到过一部分代码,可是实现在lua中通过AddAlias添加别名,调用此别名时,可为某个变量赋值。
我的代码是写成这样子的:

  1. AddAlias("alias_go", "gogo", SetVariable("IsGo", "0"), alias_flag.Enabled + alias_flag.Replace + alias_flag.Temporary, "")
  2. SetAliasOption("alias_go", "send_to", 12)
复制代码
IsGo 是一变量,这样写不执行不过去

当然,有一种办法是创建一个function aaa(),在aaa内对变量进行赋值操作,然后AddAlias直接调用aaa(),但是这样代码质量不高啊。

另外,例如这样的:

  1. SetVariable("IsGo", false)
复制代码
这个,如果需要赋值的数据时boolen型,咋整?总是提示我SetVariable第二个参数必须是string。

请各位仙人给点提示吧

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2013-1-25 17:05:59 | 显示全部楼层
马上下班了,回家试试这样写行不~~~直接发送表达式:

  1. AddAlias("alias_go", "gogo", IsGo=false, alias_flag.Enabled + alias_flag.Replace + alias_flag.Temporary, "")
复制代码
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2013-1-25 18:29:39 | 显示全部楼层
本帖最后由 lifesoul 于 2013-1-25 10:32 AM 编辑

测试通过了,脚本如下:

  1. AddAlias("alias_go", "gogo", "IsGo = false", alias_flag.Enabled + alias_flag.Replace + alias_flag.Temporary, "")
  2. SetAliasOption("alias_go", "send_to", 12)
复制代码
其中需要注意的有2点:
1.SetAliasOption("alias_go", "send_to", 12)中,应该选12,发送到脚本。
2.变量IsGo定义时不可加local限定符,看样是动态添加的Alias与lua内部代码不属同一个作用域?

看样子还是半瓶醋逛荡,咱还得再仔细看看lua手册。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 12:45 PM , Processed in 0.011132 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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