|
传奇3SQL处理脚本教程
基础知识: A0-A9 为字符型变量,可保存数字但不能直接用于inc dec运算
%A0-%A9 为变量的值
D0-D9 为数字型变量,可直接用于inc dec运算
%D0-%D9 为变量的值
字符型变量还有 B0-B9
数字型变量还有 P0-P9 N0-N9 S0-S9
%USERID为当前执行脚本的角色ID
%USERNAME为当前执行脚本的角色名
FormatStr "FLD_USERID='%s'" %USERID
;这里相当于把%USERID送进字符串,结果是字符串,保存在A9
ReadValueSql "TBL_RELATPOINT" %A9 "FLD_USERID,FLD_POINT,FLD_OK" [@段]
;%A9 指的是上面的Formatstr语句执行结果 这里 %A9 为SQL执行语句的条件
;上面用MSSQL解释为:SELECT FLD_USERID,FLD_POINT,FLD_OK WHERE FLD_USERID='%USERID'
FormatStr "FLD_USERID='%s'" %USERID
;这里相当于把%USERID送进字符串,结果是字符串,保存在A9
mov A0 %A9
;把上面赋值的字符串%A9赋值进A0
UpdateValueSql "TBL_RELATPOINT" %A0 "FLD_OK=0"
;表名 条件 改变语句
;上面用MSSQL解释为: UPDATE TBL_RELATPOINT SET FLD_OK=0 WHERE FLD_USERID='%USERID'
FormatStr "FLD_USERID='%s'" %USERID
;这里相当于把%USERID送进字符串,结果是字符串,保存在A9
mov A6 %A9
;把上面赋值的字符串%A9赋值进A6
mov D8 0
:D8赋值为0
FormatStr "FLD_POINT='%s'" %D8 ---------------------------(程序A)
;这里相当于把%D8送进字符串,结果是字符串,保存在A9
UpdateValueSql "TBL_RELATPOINT" %A6 %A9
;表名 条件 改变语句
;这里的%A9为 "FLD_POINT=0" 即(程序A)运行所保存的结果A9 --改变语句
;这里的%A6为 "FLD_USERID='%USERID'" --条件
mov A1 %USERNAME
;取当前执行脚本的角色名,保存在A1 ,假设A1='张三'
mov D0 1
;相当D0=1
FormatStr "FLD_CHARACTER='%s' AND FLD_TYPE='%s'" %A1 %D0
;运行后字符串为 FLD_CHARACTER='张三' AND FLD_TYPE='1'
;不用说他的功能了吧,当然可以把条件改成两个AND,三个AND,的多重条件
|
上一篇:传奇3客户端Wil补丁文件说明下一篇:传奇3服务端常见报错数据分析
|