传奇服务端制作修改教程-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]为开的状态
声明:此资源来自网络,仅供学习研究之用!请大家在下载后24小时内删除!下载后请自行杀毒,本站不保证所有资源的安全性及完整性!如若使用本站资源用于商业或非法用途,导致的后果,本站不承担任何法律责任。如果该程序涉及或侵害到您的版权请立即通知我们删除。由本站提供的程序对您的网站或计算机造成严重后果的本站概不负责。