精彩课程推荐

传奇服务端制作修改教程-4.3变量

[复制链接]
查看: 4403|回复: 2
发表于 2019-2-24 22:43:43 | 显示全部楼层 |阅读模式
传奇服务端制作修改教程-4.3变量

      
变量有效的扩大了脚本的灵活性.
      
4.3.1已定义变量
      
P0-P9 私人变量(数字型) 不可保存
      
G0-G499 全局变量(数字型) 可保存
      
M0-M99 私人变量(数字型) 不可保存
      
I0-I99 全局变量(数字型) 不可保存
      
D0-D9 私人变量(数字型) 不可保存
      
N0-N99 私人变量(数字型) 不可保存
      
S0-S99 私人变量(字符型) 不可保存
      
A0-A499 全局变量(字符型) 可保存
      
      
注意:自定义变量不要以P、G、M、I、D、N、S、A开头
      
      
变量赋值
      
      
      
MOV命令使用说明:
      
      
增加MOV命令可以 直接在2个变量之间操作 。
      
假设已经定义自定义字符变量Name和数字型自定义变量TEST
      
以下是MOV的几种使用方法
      
      
MOV HUMAN Name S0 这句的意思就是把S0值 传给自定义变量Name
      
MOV S0 HUMAN Name 把自定义变量Name值 传给变量S0
      
MOV S0 你好 把“你好”传给变量S0
      
MOV HUMAN Name 你好 把“你好”传给自定义变量Name
      
MOV S0 S1 把S1值传给S0
      
MOV D1 1 把1传给变量D1 (这个是最常见的使用方法)
      
MOV HUMAN TEST D1 把变量D1值传给自定义变量TEST
      
MOV D1 HUMAN TEST 把自定义变量TEST传给变量D1
      
MOV HUMAN TEST 1 把1传给自定义变量TEST
      
      
      
      
变量运算
      
   除法    格式: DIV N1 N2 N3 即N1=N2/N3
      
   乘法    格式: MUL N1 N2 N3 即N1=N2*N3
      
   百分比  格式: PERCENT N1 N2 N3 即N1=(N2/N3)*100< /STRONG>
      
   [@MAIN]
      
   #IF
      
   #ACT   
      
   Mov M2 10         
      
   MUL N1 M2 <$LEVEL>
      
   SENDMSG 1 恭喜∶<$STR(N1)>,获得金刚<$STR(M2)>石锻造附赠品∶<$LEVEL>
      
      
      
      
DEC和INC命令使用说明:
      
      
增加DEC和INC命令可以直接在2个变量之间操作 。
      
假设已经定义自定义数字型自定义变量TEST
      
以DEC为例,以下是DEC的几种使用方法
      
      
DEC D0 1 意思是 D0 = D0 - 1 (这个是最常见的使用方法)
      
DEC D0 D1 意思是 D0 = D0 - D1
      
DEC HUMAN TEST D0 意思是 TEST = TEST - D0
      
DEC D0 HUMAN TEST 意思是 D1 = TEST - D0
      
      
INC命令使用和DEC一样
      
      
      
变量的比较
            
SMALL和LARGE命令使用说明
      
      
增加SMALL和LARGE命令可以 直接在2个变量之间操作 。
      
假设已经定义数字型自定义变量TEST
      
以SMALL为例以下是SMALL的几种使用方法
      
      
SMALL D0 1 检测D0值是否小于1值 (这个是最常见的使用方法)
      
SMALL HUMAN TEST D0 检测自定义变量TEST值是否小于D0值
      
SMALL D0 HUMAN TEST 检测D0值是否小于自定义变量TEST值
      
SMALL HUMAN TEST 1 检测自定义变量TEST值是否小于1值
      
LARGE和SMALL用法完全一样
      
      
equal (变量) (字符串) ;测试变量是不是等于指定字符串(不区分大小写)
      
      
      
      
4.3.2 自定义变量
      
自定义变量功能,不再受固定几个变量限制
      
      
使用方法:
      
三个步骤:
      
    1、首先要声明变量
      
    2、读取变量
      
    3、保存变量
      
该变量支持增加、减少、脚本查看、检查大小等功能,该功能的开发突破了变量使用受限制,利用该变量可制作出超强功能脚本。
      
脚本样例:
      
=========================================
      
<声明变量/@newvarInteger> \
      
<查看变量/@viewvarInteger>\
      
<读取变量/@loadvarInteger> \
      
<保存变量/@savevarInteger> \
      
<增加变量/@calcvarinc>  <检查变量是否大于5/@checklarage5>\
      
<减少变量/@calcvardec>  <检查变量是否小于5/@checksmall5>\
      
<检查变量是否等于5/@checkequal5>
      
[@calcvarinc]
      
#IF
      
#ACT
      
  CALCVAR HUMAN QQQQ + 5
      
goto @varcontrol
      
[@calcvardec]
      
#IF
      
#ACT
      
  CALCVAR HUMAN QQQQ - 5
      
goto @varcontrol
      
[@checkequal5]
      
#IF
      
  CHECKVAR HUMAN QQQQ = 5
      
#ACT
      
  sendmsg 7 等于5
      
  goto @varcontrol
      
#ELSEACT
      
  sendmsg 7 不等于5
      
  goto @varcontrol
      
[@checklarage5]
      
#IF
      
CHECKVAR HUMAN QQQQ > 5
      
#ACT
      
  sendmsg 7 大于5
      
  goto @varcontrol
      
#ELSEACT
      
  sendmsg 7 小于5
      
  goto @varcontrol
      
[@checksmall5]
      
#IF
      
CHECKVAR HUMAN QQQQ < 5
      
#ACT
      
  sendmsg 7 小于5
      
  goto @varcontrol
      
#ELSEACT
      
  sendmsg 7 大于5
      
  goto @varcontrol
      
      
[@decInteger]
      
#ACT
      
  DEC QQQQ 1
      
  sendmsg 7 <$HUMAN(QQQQ)>
      
  goto @varcontrol
      
[@addInteger]
      
#ACT
      
  INC QQQQ 1
      
  sendmsg 7 <$HUMAN(QQQQ)>
      
  goto @varcontrol
      
[@loadvarInteger]
      
#IF
      
#ACT
      
  LOADVAR HUMAN QQQQ VarSave.txt
      
  sendmsg 7 OK
      
  GOTO @varcontrol
      
      
[@savevarInteger]
      
#IF
      
#ACT
      
  SAVEVAR HUMAN QQQQ VarSave.txt
      
  sendmsg 7 OK
      
  GOTO @varcontrol
      
[@viewvarInteger]
      
#ACT
      
  sendmsg 7 <$HUMAN(QQQQ)>
      
  GOTO @varcontrol
      
      
[@newvarInteger]
      
#IF
      
#ACT
      
  VAR Integer HUMAN QQQQ
      
  sendmsg 7 OK
      
  GOTO @varcontrol
      
[@viewvarString]
      
<$HUMAN(QQQS)>
      
      
4.3.3 人物标志(标识)
      
[001]-[800](各引擎不同标识的上限值不能。IGE的是800个),这不是变量,这是标识
      
标识的初始值是关闭的,它不会因为人物下线或服务器重启而重置
      
相关命令格式:
      
Check [001] 0   的意思是检测你的标识[001]是否关闭
      
SET [001] 1     的意思是设置你的标识[001]为开的状态
   

  • TA的每日心情
    开心
    2022-11-2 23:08
  • 4001

    主题

    4011

    帖子

    26万

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    267311
    发表于 2019-5-24 21:55:23 | 显示全部楼层
    优秀优秀优秀优秀
  • TA的每日心情
    开心
    2021-1-14 20:25
  • 0

    主题

    9

    帖子

    60

    积分

    注册会员

    Rank: 2

    积分
    60
    发表于 2021-10-11 14:57:45 | 显示全部楼层
    卧槽啊 完全看不懂学不懂啊

    该用户从未签到

    0

    主题

    10

    帖子

    12

    积分

    新手上路

    Rank: 1

    积分
    12
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    商务合作

    点击这里给我发消息  3272916418
    Copyright  ©2015-2016  学传奇        ( 鲁ICP备16023438号-12 )