肌决 发表于 7 天前

传奇变量使用教程代码

dayofweek sun      星期天
dayofweek mon      星期一
dayofweek tue      星期二
dayofweek wed      星期三
dayofweek thu      星期四
dayofweek fri      星期五
dayofweek sat      星期六

变量解析
一.标识

-(各引擎不同标识的上限值不能。正常的是499个),这不是变量,这是标识
标识的初始值是关闭的,它不会因为人物下线或服务器重启而重置
相关命令格式:
Check 0 的意思是检测你的标识是否关闭
SET 1 的意思是设置你的标识为开的状态

1.关于reset命令的详解:
reset 7 意思是将从XXX开始的7个变量回复到原始值0
比如:reset 7 就是把100 101 102 103 104 105 106 107这7个变量赋值为0。
它等同与:set 0
set 0
set 0
set 0
set 0
set 0
set 0

二.变量

P0-P99 (私人变量,数字型) 关闭对话框重置为0。
D0-D99 (私人变量,数字型) 不可保存。
M0-M99 (私人变量,数字型) 不可保存。
N0-N99 (私人变量,数字型) 不可保存。
S0-S99 (私人变量,字符型) 不可保存。
I0-I99 (全局变量,数字型) 不可保存,服务器重启自动重置为0。
G0-G99 (全局变量,数字型) 可保存。
A0-A99 (全局变量,字符型) 可保存。

变量与数字之间的常用格式:

small G88 5 ;检测变量G88,是否小于5
large G88 5 ;检测变量G88,是否大于5
equal G88 5 ;检测变量G88,是否等于5
mov G88 5 ;设置G88=5
INC G88 5 ;设置变量G88=G88+5
DEC G88 5 ;设置变量G88=G88-5   减少值,DEC1 就是减1
MUL G88 5 ;设置变量G88=G88*5
DIV G88 5 ;设置变量G88=G88/5
PERCENT G88 5 ;设置变量G88=G88/5*100%

变量与变量之间的常用格式:

small M88;检测私人变量M88,是否小于全局变量G88
large M88;检测私人变量M88,是否大于全局变量G88
EQUAL M88;检测私人变量M88,是否等于全局变量G88
mov G88;设置全局变量G88=M88
inc G88;设置全局变量G88=G88+M88
DEC G88;设置全局变量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%

Small、Large、Equal、mov、INC、DEC、MUL、DIV、PERCENT 支持第3参数,例:
#IF
LARGE N1   //检测表达式为: N1 > ( $STR(P0) * $STR(M5) ) ,即检测N1是否大于( $STR(P0) 乘以 $STR(M5) )
用法类似:GameGold -

其他变量命令:
1.关于SUM命令的详解:
首先有MOV (变量X) 0 ;(变量X)清0
sum (变量A) (变量B) ;X=A+B
sum (变量C) ;X=X+C
2.关于movr命令的详解:
movr (变量) (数值) ;随机把指定数值以下的数(正数)给变量
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开头

说明

数据类型

Integer 整型

String 字符串

变量类型

HUMAN 个人变量

GUILD 行会变量

GLOBAL 公共变量

自定义变量与数字之间的常用格式:

CHECKVAR HUMAN 自定义变量 > 5 ;检测[自定义变量]是否大于5
CHECKVAR HUMAN 自定义变量 = 5 ;检测[自定义变量]是否等于5
CHECKVAR HUMAN 自定义变量 < 5 ;检测[自定义变量]是否大于5
CALCVAR HUMAN 自定义变量 = 5 ;设置[自定义变量]=5
CALCVAR HUMAN 自定义变量 + 5 ;设置[自定义变量]=[自定义变量]+5
CALCVAR HUMAN 自定义变量 - 5 ;设置[自定义变量]=[自定义变量]-5

自定义变量与变量之间的常用格式:

MOV M88;设置变量M88=[自定义变量]
CALCVAR HUMAN 自定义变量 =;设置[自定义变量]=变量M88
CALCVAR HUMAN 自定义变量 +;设置[自定义变量]=[自定义变量]+变量M88
CALCVAR HUMAN 自定义变量 -;设置[自定义变量]=[自定义变量]-变量M88

个人变量

公有和私有变量

自定义变量

G0-G99 全局变量(数字型) 可保存

A0-A99 全局变量(字符型) 可保存

M0-M99 私人变量(数字型) 不可保存

I0-I99 全局变量(数字型) 不可保存

D0-D9 私人变量(数字型) 不可保存

N0-N99 私人变量(数字型) 不可保存

S0-S99 私人变量(字符型) 不可保存

P0-P9 私人变量(数字型) 不可保存

reset 1   将X开始的连续1个变量状态设置为0    个人
reset G112将g11开始的连续2个变量状态设置为0   全局

check (变量) (数值) 检测变量是否等于某数值
set   (变量) (数值) 给予指定变量一个数值
inc   (变量) (数值) 加指定数值到变量
small (变量) (数值) 检测变量是不是小于指定数值
large (变量) (数值) 检测变量是不是大于指定数值
equal (变量) (数值) 检测变量是不是等于指定数值

显示当前变量的数值 X等于变量的数值

check    0      检测个人变量   123是不是等于零

set      1      给予个人变量    123   + 1

以下脚本展示。。。。

[@main]
每人领取一次金条\
\

[@lq]
#if
check 0    -------检测123变量值是不是0       变量值000-499可自由选择,不能跟其它脚本变量值相同。
#act
give 金条
set 1    -----------增加123变量值1
#ELSESAY      ----------条件不满足就执行以下语句。
对不起,你已经领取过了。

升级奖励展示
[@main]
升级10级赠送1个金条,10个名额,已经领取【】个名额。\
升级20级赠送1个金砖,10个名额,已经领取【】个名额。\

\

[@10级]
#if
CHECKLEVELEX > 9    -----检测等级超过9级
small G1110      ------检测G11变量值是不是小于1010代表可领取数G0-G99可自由选择,不要和其它变量值相同
check 0   -----检测个人变量122 是不是0变量值000-499可自由选择,不能跟其它脚本变量值相同。
#act
give 金条
incG11          ----增加全局G11变量值增加1 ,也可以 incG11   2 ,就是加2,没写2就是默认加1点
set 1   -----增加个人122变量值 +1(那么领取过的人就加1,如果再次领取就不能满足check 0)了
break
#elseact
messagebox 你未达到要求,或者名额已满。
close

解释如上:

[@20级]
#if
CHECKLEVELEX > 19
small G1210      
check 0
#act
give 金条
incG12
set 1
break
#elseact
messagebox 你未达到要求,或者名额已满。
close

1、首先要声明变量

2、读取变量

3对变量进行编辑 可以 加 减 等等等....

4、保存变量


公有    GLOBAL

私有    HUMAN

Integer   数字型

String    字符型

1.声明变量

VAR Integer 公有/私有 变量名称 数字型

VAR String 公有/私有 变量名称 字符型

2.读取变量

LOADVAR 公有/私有 变量名称 ..\QuestDiary\某某目录\某某.txt


3.修改变量

CALCVAR 公有/私有 变量名称 + - * / =      脚本命令CALCVAR支持对变量进行+ - * / =五种操作

4、保存变量

SAVEVAR 公有/私有 变量名称 ..\QuestDiary\某某目录\某某.txt

检测变量

CHECKVAR 公有/私有 变量名称 > < =   脚本命令CHECKVAR支持对变量进行 > < = 三种操作

查看变量



示例
[@main]
\ \
在我这里每天可以领取一根金条\
但不能重复领取,如果你连续领取一个礼拜的金条,\
礼拜天便能领取一个金砖。\
   \
   


[@星期一金条]
#if
dayofweek mon
check 0
#act
give 金条 1
set 1
break
#elseact
messagebox 没到星期一或你已经领取了星期一的奖励。
[@星期二金条]
#if
dayofweek tue
check 0
#act
give 金条 1
set 1
break
#elseact
messagebox 没到星期二或你已经领取了星期二的奖励。
[@星期三金条]
#if
dayofweek wed
check 0
#act
give 金条 1
set 1
break
#elseact
messagebox 没到星期三或你已经领取了星期三的奖励。
[@星期四金条]
#if
dayofweek thu
check 0
#act
give 金条 1
set 1
break
#elseact
messagebox 没到星期四或你已经领取了星期四的奖励。
[@星期五金条]
#if
dayofweek fri
check 0
#act
give 金条 1
set 1
break
#elseact
messagebox 没到星期五或你已经领取了星期五的奖励。
[@星期六金条]
#if
dayofweek sat
check 0
#act
give 金条 1
set 1
break
#elseact
messagebox 没到星期六或你已经领取了星期六的奖励。
[@星期天金条]
#if
dayofweek sun
check 0
#act
give 金条 1
set 1
break
#elseact
messagebox 没到星期天或你已经领取了星期天的奖励。
[@每周领金砖]
#if
dayofweek sun
check 1
check 1
check 1
check 1
check 1
check 1
check 1
#act
reset 7
give 金砖 1
break
#elseact
messagebox 你已经领取了每周金砖或者你没有连续领取每日的金条。

看到这里相信大家已经明白了,
reset 7
的功能其实就等同于
set 0
set 0
set 0
set 0
set 0
set 0
set 0

其实细心的朋友会发现,这个脚本有一个很大的漏洞。
如果你发现了,可以谈谈你的解决办法。

领取星期天的奖励,签到满7天的奖励后,清除了之前所有的变量
等于说星期天的变量也没了,那么也可以领取一次了。

马户又鸟迷失 发表于 7 天前

very good

太古封魔 发表于 7 天前

我是个凑数的。。。

老炮火龙 发表于 7 天前

啊啊啊啊啊啊啊啊啊啊啊

我是神秘人 发表于 7 天前

不知道这版本怎么样,先下载玩玩

我是神秘人 发表于 7 天前

不错 支持一个了

帝之本源 发表于 7 天前

边撸边过

情缘迷失 发表于 7 天前

向楼主学习

如意熊猫 发表于 7 天前

这么强,支持楼主,佩服

谕三刀沉默 发表于 7 天前

好,很好,非常好!
页: [1] 2 3 4
查看完整版本: 传奇变量使用教程代码