【热血传奇】 脚本开发之变量详解

news/2024/11/15 0:41:02/

标识

[001]-[499](各引擎不同标识的上限值不能。正常的是499个),这不是变量,这是标识
标识的初始值是关闭的,它不会因为人物下线或服务器重启而重置
标识和变量不同的是只有0和1,标识是私有的,不共享。
一般适用于游戏内的个人任务系统

相关命令格式:

Check [001] 0 的意思是检测你的标识[001]是否关闭
SET [001] 1 的意思是设置你的标识[001]为开的状态
reset [100] 7 意思是将从100开始的7个变量回复到原始值0,就是把100 101 102 103 104 105 106 107赋值为0

变量详解($STR)

  • P0-P999 (私人变量,数字型) 关闭对话框重置为0,该变量只对当前对话NPC内有效果。
  • D0-D999 (私人变量,数字型) 下线不保存.该变量在人物不下线时对全局NPC通用传递。
  • M0-M999 (私人变量,数字型) 下线不保存.切换地图清空.
  • N0-N999 (私人变量,数字型) 下线不保存.小退归0.
  • S0-S999 (私人变量,字符型) 下线不保存.小退归0.
  • I0-I999 (全局变量,数字型) 不可保存,服务器重启自动重置为0。
  • G0-G999 (全局变量,数字型) 可保存,该变量不属于人物属性范围,对于全服务器内该变量唯一并且全局NPC通用传递。(存放在Mir200/GlobalVal.ini文件里面)
  • A0-A999 (全局变量,字符型) 可保存,该变量不属于人物属性范围,对于全服务器内该变量唯一并且全局NPC通用传递。(存放在Mir200/GlobalVal.ini文件里面)
  • U0-U99 (私人变量,数字型) 可保存。(存放在人物数据库Mir.db里面、值最大范围正负21亿)
  • T0-T99 (私人变量,字符型) 可保存。(存放在人物数据库Mir.db里面、字符长度100<1个字母为1字符、1汉字为2字符>)

变量S和变量N的扩展
扩展字符变量S和数字变量N,除了支持0~499以外,可以在S$变量或N$变量后面增加任意字符

[@test]
#ACT
MOV N$我的杀怪总数 100
INC <$STR(N$我的当前杀怪数)> 1
SENDMSG 6 【杀怪总数=<$STR(N$我的杀怪总数)>】【当前杀怪数=<$STR(N$我的当前杀怪数)>255 253

操作变量

示例说明
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 减少值,DEC 1 就是减1
MUL G88 5;设置变量G88=G88*5
DIV G88 5;设置变量G88=G88/5
PERCENT G88 5;设置变量G88=G88/5*100%

使用变量

示例说明
small M88 <$STR(G88)>;检测私人变量M88,是否小于全局变量G88
large M88 <$STR(G88)>;检测私人变量M88,是否大于全局变量G88
EQUAL M88 <$STR(G88)>;检测私人变量M88,是否等于全局变量G88
mov G88 <$STR(M88)>;设置全局变量G88=M88
inc G88 <$STR(M88)>;设置全局变量G88=G88+M88
DEC G88 <$STR(M88)>;设置全局变量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参数

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

自定义变量

注意: 自定义变量不要以P、G、M、I、D、N、S、A开头

数据类型

  • 字符型
  • 数字型

变量类型

  • HUMAN 个人变量 ($HUMAN )
  • GUILD 行会变量 ($GUILD )
  • GLOBAL 公共变量 ($GLOBAL )

自定义变量的使用

  • 声明变量 (创建数字型 个人变量 变量名为QQQQ)
VAR Integer HUMAN QQQQ
  • 读取变量 (从VarSave.txt读取个人变量QQQQ)
  LOADVAR HUMAN QQQQ VarSave.txt
  • 保存变量 (将个人变量 QQQQ 保存到VarSave.txt)
  SAVEVAR HUMAN QQQQ VarSave.txt
  • 删除变量
  DEC QQQQ 1
  • 修改变量 (将个人变量QQQQ 减5 可以使用±/*)
 CALCVAR HUMAN QQQQ - 5
  • 检测变量 (检测个人变量QQQQ是否大于3 , 可以使用> ,< ,=)
  CHECKVAR HUMAN QQQQ > 3

变量(VAR )声明以后一定要读取(LOADVAR ),否则只是声明了玩家的该变量数值不管怎么改变,服务器均视为0.


学习了变量的使用,你是不是会疑惑,除了P0-P999变量 ,其他的变量基本都可以跨npc使用,那我们该如何知道我们定义的变量,是不是已经被使用了呢? 在这里提供一个变量查重工具供大家使用。
通过这个软件就可以看到哪些变量被占用,避免发生问题

在这里插入图片描述


http://www.ppmy.cn/news/542770.html

相关文章

怎样制作传奇私服服务器,新手传奇gm必须学会如何制作传奇私服小地图

对于任何一个传奇私服服务器来说小地图都是非常重要的一个功能,当然如果我们是找传奇一条龙来做服务器他们都会给我们做好,但是大多数时候我们需要自己进行相关设置。对于这样的情况小地图的相关制作就变成了一件相对比较困难的事情,因为大多数时候我们的服务器都会增加一些…

做挂第一步:如何找基址(以热血传奇为例)

如何找热血传奇基址&#xff1f; 一&#xff0e;首先打开游戏并使用CE加载游戏进度。 二&#xff0e;在数值中输入血量值207,点击新的扫描&#xff0c;扫描类型选择精确数值&#xff0c;如图所示&#xff1a; 为什么要输入207呢&#xff1f;这是指游戏中人物的当前血量&#…

热血传奇资源文件wzl、wzx解析

盛大传奇客户端的图片资源都保存在data目录下的wzl文件中&#xff0c;wzl文件结构比较简单&#xff0c;由一个文件头结构和若干图片数据组成。 找了个最小的wzl文件作为例子 蓝色高亮部分就是文件头&#xff0c;其中只有ImageCount有意义&#xff0c;其他的字段不清楚是做什么…

【Cocos2d-x】模仿热血传奇开门动画

一、准备素材 传奇登录场景背景资源在ChrSel.wzl文件中&#xff0c;背景图索引是22号&#xff0c;开门动画是24~32号&#xff08;共9张&#xff09;。 至于图片提取&#xff0c;可以参考之前写过的一篇关于热血传奇资源文件的文章https://blog.csdn.net/aqtata/article/detai…

K8S存储值之PV和PVC

1. 概念&#xff1a; 1.1. PersistentVolume (PV)&#xff1a; 是由管理员设置的存储&#xff0c;它是群集的一部分。就像节点是集群中的资源一样&#xff0c;PV也是集群中的资源。PV是Volume之类的卷插件&#xff0c;但具有独立于使用PV的Pod的生命周期。此API对象包含存储实…

MySQL解除30天试用限制

打开系统注册表编辑器 WinR&#xff0c;输入regedit.exe&#xff0c;回车运行。 修改注册表 进入\HEYK_CURRENT_USER\Software\&#xff0c;找到以{}括起来的那项&#xff0c;右键选择权限&#xff0c;直接将里面所有的用户的所有权限全部diable&#xff0c;或直接删除以{}括起…

破解sqlyog 30天试用限制

安装sqlyog后&#xff0c;进入注册表编辑器&#xff0c;进入 \HEYK_CURRENT_USER\Software\&#xff0c;找到以{}括起来的那项&#xff0c;最新10.XX版本的是{8E919370-318F-4E5E-9EbE-9147B1DB66C9}&#xff0c;不用去关注里面的值&#xff0c;右键选择权限&#xff0c;直接将…

Beyond Compare4 30天试用到期的解决办法

非常感谢原作者&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 打开Beyond Compare 4&#xff0c;提示已经超出30天试用期限制&#xff0c;解决方法&#xff1a; 一、删除安装目录下的BCUnrar.dll文件 C:\Program Files\Beyond Compare 4\BCUnrar.dll,这个文…