Blue引擎M2全部变量说明: P0-P9 私人变量(数字型) 不可保存 转换NPC或关闭对话框变量为0 D0-D99 私人变量(数字型) 不可保存 M0-M99 私人变量(数字型) 不可保存 I0-I99 全局变量(数字型) 不可保存 重起服务器后自动为0 S0-S99 私人变量(字符型) 不可保存 A0-A99 全局变量(字符型) 可保存 H0-H99 全局变量(数字型) 可保存 G0-G99 全局变量(数字型) 可保存 INTS 0~29 私人变量(整数型) 可保存 (可以使用<$INTS0~29>获取和显示,英雄以<$H.INTS0~29>获取和显示) INTS 0~29 在记录日志在元宝类型中,搜索日志以关键字“整数”进行过滤, 一:变量扩展:使用个人M、S变量在超出常规范围(0~99)时会自动扩展,M、S后面可以是任意字符,字符的长度最好保持在20字节以内,注:SUM命令对于自由扩展的M变量,结果放在:M99999999。 例如: MOV M测试整数1 12345 MOV S测试字符1 字符串1,显示:<$STR(M测试整数1)>,<$STR(S测试字符1)> 二:变量扩展: 使用全局G、A变量在超出常规范围(0~99)时会自动扩展,服务器关闭可保存,注:SUM命令对于自由扩展的G变量,结果放在:G99999999,用法同上。 三:变量扩展: 增加:属于地图的整数变量E、字符串变量F,地图指向执行命令玩家所在的地图,服务器关闭不保存,注:SUM命令对于E变量,结果放在:E99999999,用法同上。 全局变量不再保存在!SETUP.TXT,改为保存到QUESTPARAMS.INI 数值支持到21E 支持范围写法:MOVR M1 3 5,SETRANDOMNO 5 11 举例: MOV G11 2147483647 四:变量类型 EQUAL、LARGE、SMALL、ISBITSET支持解释嵌套变量,例如: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #ACT MOV M80 12345 MOV S14 M80 #IF EQUAL <$STR(S14)> 12345 #ACT SENDMSG 7 正确结果 #ELSEACT SENDMSG 7 错误结果 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 举例: #IF SMALL D1 1 #SAY 检测D1值是否小于1值 ;SMALL 代表:小于 举例: #IF LARGE D1 1 #SAY 检测D1值是否大于1值 ;LARGE 代表:大于 举例: #IF EQUAL D1 1 #SAY 检测D1值是否等于1值 ;EQUAL 代表:等于 举例: #IF #ACT MOV D1 1 #SAY 将D1值的变量设置为1值 ;MOV 代表:给予 举例: #IF #ACT MOVR D1 1000 #SAY 将D1值的变量设置为0-1000之间的随机值 //MOVR 代表:给予指定范围内的随机值 举例: #IF #ACT MOVR M1 1000 5000 #SAY 将D1值的变量设置为1000-5000之间的随机值 //MOVR 代表:给予指定范围内的随机值 举例: #IF #ACT INC D1 1 #SAY 将D1值的变量增加了1点 ;INC 代表:加法 例如: #IF #ACT DEC D1 1 #SAY 将D1值的变量减少了1点 ;DEC 代表:减法 举例: #IF #ACT MUL D1 1 #SAY 将D1值的变量乘以1数字 ;MUL 代表:乘法 举例: #IF #ACT DIV D1 1 #SAY 将D1值的变量除以1数字 ;DIV 代表:除法 举例: #IF #ACT PERCENT M1 $STR(M2) #SAY M1的边量= M1除M2*100%的值 ;PERCENT 代表:变量1除以变量乘100%的值 四.变量与变量之间的常用格式: SMALL M88 <$STR(G88)> ;检测私人变量M88,是否小于全局变量G88 LARGE M88 <$STR(G88)> ;检测私人变量M88,是否大于全局变量G88 EQUAL M88 <$STR(G88)> ;检测私人变量M88,是否等于全局变量G88 MOV G88 <$STR(M88)>;设置全局变量G88= M88 INC G88 <$STR(M88)>;设置全局变量G88= G88+M88 DEC G88 <$STR(M88)>;设置全局变量G88= G88-M88 MUL M88 $STR(M89);设置私人变量M88= M88*M89 DIV M88 $STR(M89);设置私人变量M88= M88/M89 PERCENT M88 $STR(M89);设置私人变量M88= M88/M89*100% 五.其他变量命令: 1.关于SUM命令的详解: 首先有MOV (变量X) 0 ;(变量X)清0 SUM (变量A) (变量B);X= A+B SUM (变量C);X= X+C 例如:设置M11=M12+M13+M14 MOV M11 0 SUM M12 M13 SUM M14 2.关于MOVR命令的详解: MOVR (变量) (数值) ;随机把指定数值以下的数(正数)给变量 MOVR M8 5 意思就是 随机设置M8 为 0 1 2 3 4 3.DEC特殊用法 支持A,S变量的DEC操作,格式:DEC A0 X Y 其中X,Y表示位置,操作的结果:删除A0字符串中从X开始到Y结束之间的字符- 以下操作去掉"ABCDEFGHIJK" MOV S0 屠龙ABCDEFGHIJK刀 DEC S0 5 15 六.自定义变量 注意: 自定义变量不要以P、G、M、I、D、N、S、A开头 1.申明变量: VAR INTEGER HUMAN 剩余领取 LOADVAR HUMAN 剩余领取 ..\QUESTDIARY\数据文件\剩余领取SAVE.TXT 2.自定义变量常用格式: CHECKVAR HUMAN 自定义变量 (?、>、= 、<) 10000 CHECKVAR HUMAN 自定义变量 (?、>、= 、<) <$STR(D3)> ------------------------------------------- CALCVAR HUMAN 自定义变量 (=、+、-) 10000 SAVEVAR HUMAN 自定义变量 ..\QUESTDIARY\数据文件\自定义变量SAVE.TXT CALCVAR HUMAN 自定义变量 (=、+、-) <$STR(D3)> SAVEVAR HUMAN 自定义变量 ..\QUESTDIARY\数据文件\自定义变量SAVE.TXT ------------------------------------------- MOV M88 <$HUMAN(自定义变量)>;设置变量M88= [自定义变量] 七.标识 [001]-[808](各引擎不同标识的上限值不能。正常的是808个,这不是变量,这是标识 标识的初始值是关闭的,它不会因为人物下线或服务器重启而重置 相关命令格式: CHECK [001] 0 的意思是检测你的标识[001]是否关闭 SET [001] 1 的意思是设置你的标识[001]为开的状态 1.关于RESET命令的详解: RESET [XXX] 7 意思是将从XXX开始的7个变量回复到原始值0 比如:RESET [100] 7 就是把100 101 102 103 104 105 106 这7个变量赋值为0。 它等同与:SET [100] 0 SET [101] 0 SET [102] 0 SET [103] 0 SET [104] 0 SET [105] 0 SET [106] 0 |