传奇脚本知识库
  • 多级脚本M. 为当前攻击对象 L.当前攻击自己对象

    自定义变量前可使用变量或者多级脚本调用,说明:M. 为当前攻击对象 L.当前攻击自己对象 【示例脚本】
    ==================================杀人触发==========================================================
    [@KillPlay]
    #if
    <$CURRRTARGETNAME>.CHECKLEVELEX > 10 ;检测被杀者等级
    CHECKVAR HUMAN GJZY = 1 ;检测自己
    <$CURRRTARGETNAME>.CHECKVAR HUMAN GJZY = 1 ;检测被杀
    #ACT
    CHANGEPKPOINT + 500
    SENDMSG 7 玩家【<$USERNAME>】杀死了【<$CURRRTARGETNAME>】
    break [@KillPlay]
    #if
    M.CHECKLEVELEX > 10 ;检测被杀者等级
    CHECKVAR HUMAN GJZY = 1 ;检测自己
    M.CHECKVAR HUMAN GJZY = 1 ;检测被杀
    #ACT
    CHANGEPKPOINT + 500
    SENDMSG 7 玩家【<$USERNAME>】杀死了【<$CURRRTARGETNAME>】
    break ==================================死亡触发==========================================================
    [@PlayDie]
    #if
    L.CHECKVAR HUMAN GJZY = 1 ;检测杀人者的阵营
    CHECKVAR HUMAN GJZY = 1 ;检测自己的阵营
    #act
    L.CHANGEPKPOINT + 100 ;给杀人者加PK值
    L.GAMEGLORY + 2 ;给杀人者加荣誉
    SENDMSG 6 你被[<$KILLER>]杀死了![<$KILLER>]荣誉值增加2点!
    break [@PlayDie]
    #if
    <$KILLER>.CHECKVAR HUMAN GJZY = 1 ;检测杀人者的阵营
    CHECKVAR HUMAN GJZY = 1 ;检测自己的阵营
    #act
    <$KILLER>.CHANGEPKPOINT + 100 ;给杀人者加PK值
    <$KILLER>.GAMEGLORY + 2 ;给杀人者加荣誉
    SENDMSG 6 你被[<$KILLER>]杀死了![<$KILLER>]荣誉值增加2点!
    break
  • 检查人物的职业CheckJob/Warrior/Taoist/Wizard

    功能:
        检查人物的职业

    格式:

    #IF
    CheckJob Warrior
    #SAY
    你是武士.

    #IF
    CheckJob Taoist
    #SAY
    你是道士.

    #IF
    CheckJob Wizard
    #SAY
    你是魔法师.

  • 检测血量百分比H.CheckHpPer/H.AddHpPer/H.CheckMpPer/H.AddmpPer

    --------------------------------------------------------------------
    检测自身血量百分比
    格式:CheckHpPer 操作符(>/=/<) 百分比
    例子:
    #IF
    CheckHpPer > 30
    #ACT
    #SAY
    你的血量在总血量的30%以上
    -------------------------------------------------------------------- 按最大HP值的百分比来加减HP 格式:AddHpPer 操作符(+/-/=) 百分比 例:
    #IF
    #ACT
    AddhpPer + 30
    GuildNoticeMsg 250 0 你的血增加了30% self
    ===================================================================
    检测自身MP百分比
    格式:CheckMpPer 操作符(>/=/<) 百分比
    例子:
    #IF
    CheckMpPer > 30
    #ACT
    #SAY
    你当前的MP在总mp量的30%以上
    -------------------------------------------------------------------- 按最大MP值的百分比来加减MP 格式:AddmpPer 操作符(+/-/=) 百分比 例:
    #IF
    #ACT
    AddMpPer + 30
    GuildNoticeMsg 250 0 你的MP增加了30% self ======================================================================
    检测或给英雄增加命令同上,只需将命令前加h. 即可
    例:
    #IF
    #ACT
    h.AddMpPer + 30 1
    GuildNoticeMsg 250 0 你的英雄MP增加了30% self #IF
    h.CheckHpPer > 30 1
    #ACT
    #SAY
    你的英雄血量在总血量的30%以上
  • 检测是否加入国家CheckNation

    检测是否加入国家:

    CheckNation 国家编号


    [@检查是否国王]
    #IF
    IsNationKing 1
    #SAY
    你是编号1国家的国王
    #ELSESAY
    你不是编号1国家的国王

  • 字符串比较处理CheckContainsText

    功能:
    字符串比较处理。

    格式:
    CheckContainsText 字符 字符串检查 //检查字符串是否包涵在另外一个字符串中.
    CompareText 字符 字符 // 比较两个字符串是否一样

    ;==========================================
    检查字符串是否包涵在另外一个字符串中
    [@Test]
    #IF
    CheckContainsText www.Geem2.com Geem2.com
    #Say
    包涵
    #elsesay
    不包涵
    ;==========================================

    ;==========================================
    比较两个字符串是否一样
    [@Test]
    #IF
    CompareText www.Geem2.com www.Geem2.com
    #Say
    一样
    #elsesay
    不一样
    ;==========================================

  • IF脚本语句检测命令取反NOT

    脚本检测命令取反NOT
    格式:NOT 命令 > 50 //检测人物物品算不大于50
    例子:

    [@main]
    #IF
    NOT CHECKGAMEGOLD > 50 //检测人物元宝算不大于50
    #ACT
    SENDMSG 5 你身上没有50元宝

    [@main_1]
    #IF
    NOT CHECKLEVELEX > 80 //检测人物等级不大于80级
    #ACT
    SENDMSG 5 你的等级不足80级

    [@main_2]
    #IF
    NOT EQUAL P0 5 //检测变量P0是否不等于5
    #ACT
    SENDMSG 5 <$STR(P0)>变量不等于5

    [@main_3]
    #IF
    NOT H.CHECKLEVELEX > 80 //检测英雄等级不大于80级
    #ACT
    SENDMSG 5 你的英雄等级不足80级

  • 检查字符串是否在指定文本中CHECKTEXTLIST

    检查字符串是否在指定文件中

    [@旧格式_不区分大小写]
    #IF
    CHECKTEXTLIST ..\QuestDiary\充值系统\10元卡号.txt <$STR(S2)>
    #SAY
    <$STR(S2)>在列表中
    #ELSESAY
    <$STR(S2)>不在列表中

    [@新格式_区分大小写]
    #IF
    CHECKTEXTLIST ..\QuestDiary\充值系统\10元卡号.txt <$STR(S2)> <$STR(S3)>
    #SAY
    卡号密码正确
    #ELSESAY
    卡号密码错误

    S2和S3的值在“10元卡号.txt”文本中以空格分开

    ================================================================= 示范脚本:
    [@main]
    1217引擎\
    <检测D001是否在列表中/@检测D001是在列表中1>\
    <检测A001是否在列表中/@检测A001是在列表中1>\
    <检测T001是否在列表中/@检测T001是在列表中1>\
    <检测字符变量值D001是否在列表中/@检测字符变量值D001是否在列表1>\
    <检测字符变量值T001是否在列表中/@检测字符变量值T001是否在列表1>\
    <检测字符变量值Da11是否在列表中/@检测字符变量值Da11是否在列表1>\
    <检测人物名字变量是否在列表中/@检测人物名字是否在列表1> <$USERNAME> 请把你的人物名字放进列表中再测试 \
    <检测服务器名字变量是否在列表中/@检测服务器名字是否在列表1> <$SERVERNAME> 请把你的服务器名字放进列表中再测试 \
    [@检测服务器名字是否在列表1]
    #IF
    CHECKTEXTLIST ..\QuestDiary\列表.txt <$SERVERNAME>
    ;此处CHECKTEXTLIST无法识别 <$USERNAME> <$BOXITEM[X].NAME> <$STR(S$人物名称)>这些类型变量 现在只支持读取<$STR(XX)>这类变量
    #ACT
    #SAY
    <$SERVERNAME>在列表中
    #ELSESAY
    <$SERVERNAME>不在列表中
    [@检测人物名字是否在列表1]
    #IF
    CHECKTEXTLIST ..\QuestDiary\列表.txt <$USERNAME>
    ;此处CHECKTEXTLIST无法识别 <$USERNAME> <$BOXITEM[X].NAME> <$STR(S$人物名称)>的这些类型变量
    #ACT
    #SAY
    <$USERNAME>在列表中
    #ELSESAY
    <$USERNAME>不在列表中
    [@检测字符变量值Da11是否在列表1]
    #IF
    #ACT
    MOV S1 Da11
    #IF
    CHECKTEXTLIST ..\QuestDiary\列表.txt <$STR(S1)>
    #ACT
    #SAY
    <$STR(S1)>在列表中
    #ELSESAY
    <$STR(S1)>不在列表中
    [@检测字符变量值T001是否在列表1]
    #IF
    #ACT
    MOV S1 T001
    #IF
    CHECKTEXTLIST ..\QuestDiary\列表.txt <$STR(S1)>
    ;此处CHECKTEXTLIST无法识别 S1的变量值
    #ACT
    #SAY
    <$STR(S1)>在列表中
    #ELSESAY
    <$STR(S1)>不在列表中 此处有问题

    [@检测字符变量值D001是否在列表1]
    #IF
    #ACT
    MOV S1 D001
    #IF
    CHECKTEXTLIST ..\QuestDiary\列表.txt <$STR(S1)>
    ;此处CHECKTEXTLIST无法识别出 S1的变量值 估计是把S1的变量值当成了变量
    #ACT
    #SAY
    <$STR(S1)>在列表中
    #ELSESAY
    <$STR(S1)>不在列表中 此处有问题
    [@检测T001是在列表中1]
    #IF
    CHECKTEXTLIST ..\QuestDiary\列表.txt T001
    #ACT
    #SAY
    T001在列表中
    #ELSESAY
    T001不在列表中
    [@检测A001是在列表中1]
    #IF
    CHECKTEXTLIST ..\QuestDiary\列表.txt A001
    #ACT
    #SAY
    A001在列表中
    #ELSESAY
    A001不在列表中
    [@检测D001是在列表中1]
    #IF
    CHECKTEXTLIST ..\QuestDiary\列表.txt D001
    #ACT
    #SAY
    D001在列表中
    #ELSESAY
    D001不在列表中
    ------------------------------------------------
    ..\QuestDiary\列表.txt
    列表.TXT里面的内容
    D001
    TAa1
    Da11
    D002
    C001
    A001
    G001
    GG001
    T001
    11111
    暗杀来袭1区
  • 检查一个坐标范围内怪物数量CheckRangeMonCount

    功能:
        可以检查一个坐标范围内怪物数量。

    格式:
    CheckRangeMonCount 地图号 X坐标 Y坐标 范围 控制符(=,>,<) 数量
    ;==========================================
    [@Main]
    #IF
      CheckRangeMonCount 3 330 330 10 < 100
    #SAY
    地图3的X330Y330十的范围内怪物少于100只
    #ELSESAY
    地图3的X330Y330十的范围内怪物多于100只
    ;==========================================

  • 检查一个地图内的人物数量CheckMapHumenCount

    功能:
        可以检查一个地图内的人物数量。

    格式:
    CheckMapHumenCount地图号  ('<' '>' '=')数量
    ;==========================================
    [@Main]
    #if
    CheckMapHumanCount  3  < 100
    #say
    地图3内人数小于100人
    #elsesay
    地图3内人数多于100人
    ;==========================================

  • 检查是否在某地图ISONMAP

    功能:检查是否在某地图

    格式:ISONMAP 地图名称


    #IF

    ISONMAP 3

    #SAY

    你当前所在地图编号3,地图名称盟重土城。

 
 
在线客服
QQ613945605
工作时间:
10:00-24:00
客服热线:
15639769199
官方微信扫一扫
返回顶部