全局变量定义和绑定:
文件内容示例:
INT=X0-X200,Y0, 全服金币获取,全服金币消费,全服爆率
STR=Q0-Q7
USERBIND=TBL_USERVARTEST1| FLD_KILLMON:杀怪, FLD_KILLTEXT:'内容' | FLD_CHARNAME:'USERNAME' ;玩家类型,绑定2个自定义变量,条件使用UESRNAME
USERBIND=TBL_USERVARTEST2|FLD_INCASH:账号充值,FLD_OUTCASH:账号消费|FLD_USERID:'USERID' ;玩家类型,绑定2个自定义变量,条件使用USERID
GLOBALBIND=TBL_GLOBALVARTEST1|FLD_GOLDGAIN:全服金币获取,FLD_GOLDTAKE:全服金币消费|FLD_BRADNAME:'新开分区' ;全局类型,绑定2个全局变量,条件使用常量
GLOBALBIND=TBL_GLOBALVARTEST2|FLD_ALLDROP:全服爆率,FLD_ALLEXP:X5,FLD_Q2:'Q2'|FLD_IDX:1 ;全局类型,绑定2个全局变量,全局条件使用常量
全局变量说明:
INT为整数类型的变量名称,STR字符类型
整数类型最大数量300,字符最大数量128,字符长度不能超过64
若与他内置变量名称相同,则以内置变量为准.
定义全局变量名称应避免与正在使用的自定义变量相同
示例中定义了X0-X200范围变量(含X200)201个+Y0+杀怪数量 共203个整数变量,Q0-Q7共8个字符类型变量
当使用ReadSql读取字符类型全局变量时务必不要超过64个字符
尽量避免多个玩家同时修改字符类型的全局变量
其他操作与普通变量相同
变量绑定说明:
格式: 格式为:绑定类型=数据库表名|字段:变量名,..|条件, 当变量名称在''内时表示此字段为字符类型,否则为int类型
说明:
1.绑定类型: 两种, USERBIND为玩家类型,GLOBALBIND为全局类型
2.表名: 不同行可以使用相同的表,但是依然建议在同一个表的变量写到同一行
3.变量绑定: 字段名:变量名, 玩家类型必须使用自定义变量, 全局类型必须使用全局变量,每个变量只允许被绑定一次.
4:条件: 条件约束字段名:变量名, 变量可以使用内置变量和常量, 应使用不会变动的内置变量如USERNAME等
5.示例1登录时获取绑定变量相当于执行脚本命令: READSQL "TBL_USERVARTEST1" "FLD_KILLMON,FLD_KILLTEXT" "杀怪,内容" "WHREE FLD_CHARNAME = 'XXXX'" ,自行设计表和字段,或者在已有表(如TBL_QUEST)添加字段
注意:
1.全局变量在服务器启动时将会自动读取,玩家变量在玩家登录时将会自动读取,无需操作数据库
2.变量根据玩家的存档时间保存/服务器关闭/离线时自动保存,当GS崩溃时由GSM保存
3.应尽量减少字符串类型的变量绑定,以提高性能
4.当变量与数据库绑定后,不应再ReadSql否则可能读取到的是还未更新的数据
5.当使用脚本命令插入新行(如WRITEVALUESQL)包含绑定变量的字段时,注意应手动给绑定变量赋初始值
6.绑定的字段名不应以数字开头,也不应有特殊符号,会产生一些复杂的问题