P0-P999 (私人变量,数字型) 关闭对话框重置为0。 D0-D999 (私人变量,数字型) 下线不保存.摇筛子变量. M0-M999 (私人变量,数字型) 下线不保存.切换地图清空. N0-N999 (私人变量,数字型) 下线不保存.小退归0. S0-S999 (私人变量,字符型) 下线不保存.小退归0. I0-I999 (全局变量,数字型) 不可保存,服务器重启自动重置为0。 G0-G999 (全局变量,数字型) 可保存。(存放在Mir200/GlobalVal.ini文件里面) A0-A999 (全局变量,字符型) 可保存。(存放在Mir200/GlobalVal.ini文件里面) U0-U499 (私人变量,数字型) 可保存。(存放在人物数据库Mir.db里面、值最大范围正负21亿) T0-T499 (私人变量,字符型) 可保存。(存放在人物数据库Mir.db里面、字符长度100<1个字母为1字符、1汉字为2字符>) J0-J499 (私人变量,数字型) 可保存,每晚自动12点重置,合区或关停服务器请错开00:00点即可。(存放在人物数据库Mir.db里面、值最大范围正负21亿) Z0-J499 (私人变量,字符型) 可保存,每晚自动12点重置,合区或关停服务器请错开00:00点即可。(存放在人物数据库Mir.db里面、自定义清理时间位于参数设置 - 时间控制,和J变量共清理时间) 注意: 自定义变量不要以P、D、M、N、S、I、G、A开头 (扩展说明见本页下方) 【变量属性】 P(0-999) 『属性说明』:该变量只对当前对话NPC内有效果。如果中途点其他NPC或者对话产生close、关闭时所有P变量均归0。该变量取值范围:(0-?)根据M2最大值不同 『用法』:该变量没有NPC间传递性作为临时变量多重复使用效果十分好。而且因为脚本命令有对该变量进行加/减/赋值/随机取值等运算,他和goto的配合可以使脚本中出现仿for循环的效果。并且因为他不传递的性质其 随机取值也能与RANDOM媲美。 D(0-999) 『属性说明』:该变量在人物不下线时对全局NPC通用传递。该变量取值范围:同P变量 『用法』:既有像[0-?]变量一样的人物属性私有变量的效果又有像P变量一样的运算功能!唯一不足就是下线 后该变量会被清空。可是如果配合上[000]变量或者namelist变量的记录性。实在是功能强大的个人隐私属性! G(0-999) 『属性说明』:该变量不属于人物属性范围,对于全服务器内该变量唯一并且全局NPC通用传递。该变量取值范围:同P变量 『用法』:这个变量是唯一的一个不属于任何人物而属于服务器的变量,该变量通过任何人的运算均产生效果。而且不保存在任何人的属性中。(存放在Mir200/GlobalVal.ini文件里面) A(0-999) 『属性说明』:该变量不属于人物属性范围,对于全服务器内该变量唯一并且全局NPC通用传递。该变量取值范围:同D变量 『用法』:这个变量是唯一的一个不属于任何人物而属于服务器的变量,该变量通过任何人的运算均产生效果。而且不保存在任何人的属性中。(存放在Mir200/GlobalVal.ini文件里面) @@InPutString 用法 @InPutInteger 类似, 如果需要在一个脚本中使用该命令,则需要在脚本的第一行输入(@@InPutInteger @@InPutString)这段内容。以下脚本用于测试输入功能,大家可从脚本中仔细研究一下脚本的实现原理。 举例说明: 22要和后面的变量一样<$STR(S22)> [@InPutString22] #IF CHECKTEXTLIST ..\QuestDiary\元宝充值\50000.txt <$STR(S22)> ;这个命令是检测你输入的卡号和50000.txt这里面的某行卡号是否相同 #ACT DELTEXTLIST ..\QuestDiary\元宝充值\50000.txt <$STR(S22)> ;这个命令是将你输入的那行卡号在50000.txt这个文档里删除掉 GAMEGOLD + 50000 SENDMSG 7 充值成功:增加[50000元宝],你当前帐户里元宝数为:<$GAMEGOLD> SENDMOVEMSG 0 251 249 350 1 [『<$USERNAME>』使用在线充值卡--充值成功:增加[50000元宝],感谢您的支持希望您玩的开心:-)] GOTO @充值元宝 #ELSEACT SENDMSG 7 您输入的卡号不正确或已被他人使用,请重新输入! GOTO @充值元宝 @InPutInteger ★★★★★★★有禁止符号时执行当前npc的脚本@InputStringFilter, @InputIntegerFilter 禁止符号在M2-列表信息一设置 --------------------------------------------------------------------------------------------------------------------------------------------- 扩展字符变量S和数字变量N 功能:扩展字符变量S和数字变量N 格式:无 说明:扩展字符变量S和数字变量N,除了支持0~499以外,可以在S$变量或N$变量后面增加任意字符 例: [@test] #ACT MOV S$我的人物名称 <$USERNAME> SENDMSG 0 <$STR(S$我的人物名称)> 255 253 [@test1] #ACT MOV N$我的杀怪总数 100 INC <$STR(N$我的当前杀怪数)> 1 SENDMSG 6 【杀怪总数=<$STR(N$我的杀怪总数)>】【当前杀怪数=<$STR(N$我的当前杀怪数)>】 255 253
---------------------------------------@@InPutString 与 @InPutInteger区别------------------------------------------------------------------------------------------------------ ;区别就是@@InPutString为字符,@InPutInteger为数字,数字对应私人变量为N,字符则为S ;示范:
[@Main] 请输入数字1 <输入/@@InPutInteger1>\ 请输入数字2 <输入/@@InPutInteger2>\ 请输入数字3 <输入/@333>\ ...............................\ 请输入字符1 <输入/@@InPutString1>\ 请输入字符2 <输入/@@InPutString2>\ ...............................\
[@InPutInteger1] #SAY 你输入的数字1是 <$STR(N1)>\
[@InPutInteger2] #IF LARGE N2 0 SMALL N2 1000001 #ACT MessageBox 你输入的数字2是 <$STR(N2)>\ #ELSEACT MessageBox 请正确输入数量(1-100W)。 break
[@333] #ACT MessageBox 请输入数量(1-100W)。 @@InPutInteger3(请输入元宝数量(1-1000000)。)
[@InPutInteger3] #IF LARGE N3 0 SMALL N3 1000001 #ELSEACT MessageBox 请正确输入元宝数量(1-100W)。 break
#IF CHECKGAMEGOLD < <$STR(N3)> #ACT MessageBox 你身上没有足够的元宝。 #ELSEACT GAMEGOLD - <$STR(N3)> MessageBox 成功将 <$STR(N3)>元宝扣除。 break
;===============================
[@InPutString1] #SAY 你输入的字符1是<$STR(S1)>\
[@InPutString2] #IF EQUAL S2 aaa #ACT MessageBox 正确 #ELSEACT MessageBox 错误 break
有禁止符号时执行当前npc的脚本@InputStringFilter, @InputIntegerFilter 禁止符号在M2-列表信息一设置
[@InputStringFilter] ; 如果用户输入的字符在消息过滤列表中就会调转到这个字段 #SAY 输入的字符非法
[@InputIntegerFilter] ; 如果用户输入的数字在消息过滤列表中就会调转到这个字段 #SAY 输入的字符非法 |