方先生 发表于 2020-8-14 08:47:18

传奇3SQL处理脚本教程

本帖最后由 方先生 于 2020-8-14 08:50 编辑

操作sql脚本需要简单的数据库基础,可以先去搜索学习一下。

基础知识: 
1、A0-A9 为字符型变量,可保存数字但不能直接用于inc dec运算
2、%A0-%A9 为变量的值
3、D0-D9 为数字型变量,可直接用于inc dec运算
4、%D0-%D9 为变量的值
5、字符型变量还有 B0-B9
6、数字型变量还有 P0-P9 N0-N9 S0-S9
7、%USERID为当前执行脚本的角色ID
8、%USERNAME为当前执行脚本的角色名

案例说明:
(1)
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'

(2)
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'

(3)
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'"  --条件

(4)
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,的多重条件







页: [1]
查看完整版本: 传奇3SQL处理脚本教程