传奇在线论坛

搜索
查看: 2306|回复: 4

[技术文章] 传奇引擎的一些变量说明

[复制链接]
  • TA的每日心情
    无聊
    16 小时前
  • 516

    帖子

    16万

    金币

    0

    GM币

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    1862
    发表于 2023-11-13 09:47:36 | 显示全部楼层 |阅读模式


    〖EQUAL〗(变量)(数值)测试指定变量的值是否等于该命令指定值,可惜的是此处无法用PDG等变量,只能用数字常量!

    〖LARGE〗(变量)(数值)测试指定变量的值是否大于该命令指定值,同样非常可惜该数值只能为常量。

    〖SMALL〗(变量)(数值)测试指定变量的值是否小于该命令指定值,同样非常可惜该数值只能为常量。

    〖GENDER 〗(man/woman)检测是否为男/女

    〖hour/min〗(时间1)(时间1)检测当前时间(小时/分钟)是否为时间1与时间2之间。

    〖CHECKLEVEL〗(数值)测试等级数量是否大于该命令指定值,同样非常可惜该数值只能为常量。

    〖CHECKJOB〗(职业)测试对话职业是否为指定职业,其后缀的根据M2不同而不同基础M2为:Warr, Wizard, Taos。

    〖CHECKITEM〗(物品名称)(数量)查看人物背包中是否指定物品名称的数量是否大于该命令指定值,该数量不写默认为1既检测有没有该物品。同样非常可惜该数值只能为常量。

    〖CHECKITEMW〗(物品名称)(数量)查看人物所佩带装备中是否指定物品名称的数量是否大于该命令指定值,该数量不写默认为1既检测有没有该物品。同样非常可惜该数值只能为常量。

    〖CHECKGOLD〗(数值)测试金币数量是否大于该命令指定值,同样该数值只能为常量。

    〖ISTAKEITEM〗(物品名称)检测刚刚取下的物品是否指定物品名称。



    〖CHECKDURAEVA〗(物品名)(数值)查看人物背包中是否指定的物品名称的持久是否大于该命令指定值,该数量不写默认为1既检测有没有该物品。同样非常可惜该数值只能为常量。

    〖DAYOFWEEK〗(星期数)查看当天是否为指定的星期数量。

    〖CHECKPKPOINT〗(数值)测试PK值是否大于该命令指定值。

    〖CHECKLUCKYPOINT〗(数值)测试幸运值是否大于该命令指定值。

    〖CHECKMONMAP〗(地图名)(数值)测试指定的地图名中的怪物数量是否大于该命令指定值。同样非常可惜该数值只能为常量。

    〖CHECKHUM〗(地图名)(数值)测试指定的地图名中的人物数量是否大于该命令指定值。同样非常可惜该数值只能为常量。

    〖CHECKBAGGAGE〗测试背包是否满了

    〖CHECKNAMELIST〗[路径](文件名)检测指定路径下文件名的文件内是否有该玩家当前人物名称。

    〖CHECKIPLIST〗[路径](文件名)检测指定路径下文件名的文件内是否有该玩家当前IP地址。

    #〖CHECKMARRYED〗检测当前对话人物是否结过婚。

    #〖CHECKGUILDMASTER〗检测当前对话人物是否属于行会掌门。

    #〖CHECKOFGUILD〗(行会名)检测当前对话人物是否属于指定行会。

    #〖CHECKGUILDOFSBK〗检测当前对话人物所属于行会是否为沙。

    #〖CHECKATTACKSBKGM〗检测当前对话人物所属于行会是否为当前攻沙行会。

    #〖CHECKACCOUNTLIST〗[路径](文件名)检测指定路径下文件名的文件内是否有该玩家当前帐号。

    #〖CHECKPAYMENT〗检测当前对话人物是否充值。

    #〖CHECKBBCOUNT〗(数值)检查人物所带宝宝数量。

    #〖CHECKCREDITPOINT〗(数值)检查当前人物的声望是否大于命令指定数值。

    #〖EXECHECK NAMEIPLIST〗[路径](文件名)检测指定路径下文件名的文件内该玩家人物名称后的IP是否与当前登陆IP相同。

    #〖EXECHECK DIR〗检查当前人物对面方向站的人物方向是否正确,多用于结婚。

    #〖EXECHECK DIR 1〗检查当前人物对面方向站正确方向的人物是否与当前人物性别一致。多用于结婚。

    #〖EXECHECK DIR 2〗检查当前人物对面方向站正确方向的人物是否与当前人物性别不同。多用于结婚。

    #〖EXECHECK POSTLEVEL〗(数值)检查当前人物对面方向站正确方向的人物的等级是否大于命令指定数值。

    #@〖CHECKGUILDLIST〗[路径](文件名)检测指定路径下文件名的文件内该玩家所属行会名称是否存在。

    #@〖ISADMIN〗检查当前人物是否为游戏管理员。

    #@〖HAVEGUILD〗检查当前人物是否加入了行会。

    #@〖ISCASTLEGUILD〗检测当前对话人物是否属于沙。

    #@〖ISCASTLEMASTER〗检测当前对话人物是否为沙掌门。

    #@〖ISGUILDMASTER〗检测当前对话人物是否为行会的掌门。

    #@〖ISNEWHUMAN〗检测当前对话人物是否为刚注册第一次进入游戏。

    #@〖CHECKSLAVECOUNT〗[控制符](数值)检查当前人物所带宝宝数量

    =====================================================

    ====================================================



    变量名称 说明

    <$USERNAME> 人物名称

    <$GUILDNAME> 行会名称

    <$RANKNAME> 行会职位名称

    <$LEVEL> 等级

    <$HP> 生命值

    <$AC> 防御力

    <$MAXAC> 最高防御力

    <$MAC> 魔法防御力

    <$MAXMAC> 最高魔法防御力

    <$DC> 物理攻击力

    <$MAXDC> 最高物理攻击力

    <$MC> 魔法力

    <$MAXMC> 最高魔法力

    <$SC> 道术

    <$MAXSC> 最高道术

    <$EXP> 当前经验值

    <$MAXEXP> 升级经验值

    <$PKPOINT> PK点数

    <$CREDITPOINT> 声望点数

    <$GOLDCOUNT> 金币数量

    <$GAMEGOLD> 元宝数

    <$GAMEPOINT> 游戏点数

    <$HW> 腕力

    <$MAXHW> 最高腕力

    <$BW> 背包重量

    <$MAXBW> 最高背包重量

    <$WW> 负重力

    <$MAXWW> 最高负重

    <$HUNGER> 饥饿程度

    <$LOGINTIME> 登录时间

    <$LOGINLONG> 登录时长

    <$DRESS> 衣服

    <$WEAPON> 武器

    <$RIGHTHAND> 蜡烛

    <$HELMET> 头盔

    <$NECKLACE> 项链

    <$RING_R> 右戒指

    <$RING_L> 左戒指

    <$ARMRING_R> 右手镯

    <$ARMRING_L> 左手镯

    <$BUJUK> 护身符

    <$BELT> 腰带

    <$BOOTS> 鞋子

    <$CHARM> 宝石

    <$CASTLENAME> 沙城名称



    变量名称

    说 明



    <$SERVERNAME> 服务器名字

    <$SERVERIP> 服务器IP地址

    <$WEBSITE> 游戏网址

    <$BBSSITE> 论坛网址

    <$CLIENTDOWNLOAD> 客户端程序下载地址

    <$QQ> 联系QQ号

    <$PHONE> 联系电话号码

    <$BANKACCOUNT0> 银行帐号信息

    <$BANKACCOUNT1> 银行帐号信息

    <$BANKACCOUNT2> 银行帐号信息

    <$BANKACCOUNT3> 银行帐号信息

    <$BANKACCOUNT4> 银行帐号信息

    <$BANKACCOUNT5> 银行帐号信息

    <$BANKACCOUNT6> 银行帐号信息

    <$BANKACCOUNT7> 银行帐号信息

    <$BANKACCOUNT8> 银行帐号信息

    <$BANKACCOUNT9> 银行帐号信息

    <$GAMEGOLDNAME> 游戏币名称

    <$USERCOUNT> 在线人数

    <$DATETIME> 当前日期时间

    <$GAMEGOLDNAME> 游戏币名称

    <$HIGHLEVELINFO> 最高等人物信息

    <$HIGHPKINFO> 最高PK点数人物信息

    <$HIGHDCINFO> 最高攻击力人物信息

    <$HIGHMCINFO> 最高魔法力人物信息

    <$HIGHSCINFO> 最高道术力人物信息



    自定义变量



    变量名称 说明

    [000-599] 该变量有下线、重新启动服务器均不消失的强记录性。保存在hum.db(还是在mir.db记不太清楚。望高手指正)该变量只有2种状态。1和0

    P(0-9) 该变量只对当前对话NPC内有效果。如果中途点其他NPC或者对话产生close、关闭时所有P变量均归0。该变量取值范围:(0-?)根据M2最大值不同

    D(0-9) 该变量在人物不下线时对全局NPC通用传递。该变量取值范围:同P变量

    G(0-9) 该变量不属于人物属性范围,对于全服务器内该变量唯一并且全局NPC通用传递。该变量取值范围:同P变量

    S(0-9) 该变量支持中文,重启服务器后消失

    Namelist.tt 他为什么也属于一个变量,因为他的工作方式与变量一样,而且由于是直接对硬盘的读写反更牢*一些。而且他的实现也很特殊,没有取值范围的限制,只有自己的名字记录在任意的文本内,具体操作起来还很容易。作为变量的扩展起了不可替代的作用。而且有些M2的功能还需要这些的变量进行扩展。所以该变量的应用和功能实在需要加强。

    使用命令 P\D\G变量使用说明:

    检测相等:EQUAL 变量名 数值

    检测大于ARGE 变量名 数值

    检测小于:SMALL 变量名 数值

    赋予数值:MOV 变量名 数值

    加上指定数值:INC 变量名 数值

    减去指定数值EC 变量名 数值

    变量相加:SUM 变量名A 变量名B

    变量赋予小于指定数值的随机非负数:MOVR 数值

    把变量转为字符串:<$STR(变量)>

    S变量使用说明:

    该变量现在还无法由脚本直接赋予数值,只能够由queryvalue赋予数值

    [000-599]变量使用说明:

    定义变量:SET [变量名] 数值

    连续变量清零:RESET [变量名] 连续数字

    检测相等:CHECK [变量数值] 数值

    弹出个输入框由玩家自己赋变量数值:

    Getstring 变量名 ;分配给queryvalue的变量

    queryvalue 弹出框上面给玩家的信息 是否输入中文(1为数字2为中文) 可以输入字符长度 跳转到@getstring几执行(比如1就跳转到@getstring1)







    新增变量



    s0-s99 人物字符串变量,

    t0-t99 全局字符串变量

    支持以下操作

    EQUAL

    LARGE

    SMALL

    INC

    DEC

    MOV

    Getstring

    同时修改了脚本参数。目前可以使用

    $STR()用于任何脚本参数中



    MOV s0 屠龙刀

    MOV G0 1

    GIVE $STR(s0) $STR(G0)



    MOV t0 $USERNAME

    INC t0 拥有元宝数:

    INC t0 $GAMEGOLD

    INC t0 个



    则执行完后,t0变量的值就是“XXX拥有元宝数:YYY个”

    DEC操作,格式:DEC t0 X Y

    其中X表示开始位置 ,Y表示数量,该操作的结果是:删除t0字符串中从X开始的Y个字符。

    MOV命令,支持把变量(包括全局变量、自定义变量和内部定义变量如$GAMEGOLD等)

    $STR() $GAMEGOLD 等可以用于任何脚本参数中



    进一步完善 T全局字符串变量100个S 人物字符串变量100个G 变量100个(0-65536)

    目前支持以下字符串操作

    EQUAL

    LARGE

    SMALL

    INC

    DEC

    MOV

    Getstring



    同时使用$STR() (全局变量、自定义变量和其他系统变量) 都可以用于[ 任何脚本 ]参数中。

    例如:无所不能

    checkgold $STR(s1)

    CHECKITEM $STR(t1) $STR(s2)

    changeep = $str(G0)

    changelevel = $str(s1)

    CheckOnline $str(s1)

    EQUAL D0 $str(s0)

    LARGE D1 $baoshi(1)

    SMALL D2 $Level

    CHECKMAPNAME $Str(S9)

    TAKE $STR(S8)

    TAKEW $STR(S8) $STR(s3)

    GIVE $STR(S2) $STR(D8)

    MOV S0 天下第一男战士\

    INC S0 $USERNAME

    INC S0 \

    DEC S0 13 2



    楼主热帖
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2024-10-14 07:41
  • 137

    帖子

    171

    金币

    0

    GM币

    不屈白银

    Rank: 2

    积分
    138
    发表于 2023-12-31 05:50:46 | 显示全部楼层
    谢谢分享,来赚点金币
    回复

    使用道具 举报

  • TA的每日心情
    大哭
    3 小时前
  • 279

    帖子

    297

    金币

    0

    GM币

    不屈白银

    Rank: 2

    积分
    281
    发表于 2024-6-26 08:39:38 | 显示全部楼层
    学习了,感谢!

    点评

    不通用的  发表于 2024-8-20 01:51
    谢谢版主 有个交流的地方  发表于 2024-7-2 08:40
    回复

    使用道具 举报

    *滑块验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Copyright © 2001-2013 Comsenz Inc.Powered by Discuz!X3.4
    Archiver手机版小黑屋传奇在线论坛 QQ
    快速回复 返回顶部 返回列表