传奇脚本里的 STR(g101)在哪里设置?找对文件夹和文件是关键

来源: 作者: 点击:
在传奇私人服务器脚本里,经常会看到 “STR(g101)” 这样的写法,很多人不知道这些字母和数字组合到底存在哪里,该怎么改。其实 “g101” 是游戏里的一种变量,就像一个贴了标签的盒子,里面装着数字或文字,而 “STR” 是把盒子里的内容转换成文字显示出来的指令。下面就说说这些变量通常在哪里设置,藏在哪个文件夹的哪个文件里。
如何理解 STR(g101)的含义?
先弄明白 “STR(g101)” 到底是什么。“g101” 是变量名,“g” 通常代表 “全局变量”,意思是这个变量在整个游戏里都能用,不是只在某个任务或地图里有效;“101” 是编号,方便区分不同的变量(比如 g102、g103 就是其他变量)。而 “STR” 是 “字符串转换” 的指令,作用是把 g101 里的内容(可能是数字或代码)变成玩家能看懂的文字。
比如脚本里写着 “当前金币:<$STR (g101)>”,如果 g101 里存的是 “10000”,玩家在游戏里就会看到 “当前金币:10000”。这里的 g101 就像个 “金币计数器”,变量里的数字变了,显示的内容也会跟着变。
这些变量里的内容可以是数字(比如血量、金币数),也可以是文字(比如公告内容、任务提示),具体存什么,全看脚本怎么设置。
STR(g101)这类变量通常在哪里设置?
这类全局变量的设置,一般藏在两个地方:专门的 “变量配置文件” 或 “脚本触发文件” 里。不同私人服务器版本的存放位置可能略有差异,但大同小异。
最常见的是在 “Envir” 文件夹下的 “Variables.txt” 文件里。这个文件就像 “变量字典”,专门记录各种全局变量的初始值。打开后可能会看到这样的内容:
g101=10000 // 初始金币数量
g102=5 // 每日任务次数上限
g103 = 沃玛寺庙 // 当前活动地图名称
这里直接写明了 g101 的值是 10000,也就是前面例子里的初始金币数。如果想改初始金币,直接把 “10000” 改成 “20000” 就行。
另一个常见位置是 “QuestDiary” 文件夹下的触发脚本里。比如在 “任务触发.txt” 或 “全局事件.txt” 中,脚本会通过指令给变量赋值。比如玩家完成任务时,脚本会写:
#if
CheckTaskDone 1 // 检查任务 1 是否完成
#act
Set g101 15000 // 把 g101 的值改成 15000(增加金币)
SENDMSG 1 任务完成,金币增加到 <$STR (g101)>
这里的 “Set g101 15000” 就是在设置变量,当玩家完成任务时,g101 里的内容会从 10000 变成 15000。
如何找到存放这些变量的文件夹和文件?
第一步,打开私人服务器服务器的安装目录(比如 “D:\MirServer”),找到 “Envir” 文件夹 —— 这是环境配置的核心目录,大部分变量和规则都在这里。
在 “Envir” 里找 “Variables.txt”(有些版本叫 “GlobalVars.txt”),用记事本打开。按 “Ctrl+F” 搜索 “g101”,如果能找到,直接在这里修改数值即可。这个文件里的变量是 “初始设置”,游戏启动时会先加载这里的值。
如果在 “Variables.txt” 里没找到,就去 “QuestDiary” 文件夹找。这个文件夹里全是脚本文件,按功能分成 “任务”“NPC”“地图” 等子文件夹。全局变量的设置,多在 “QuestDiary\ 全局” 或 “QuestDiary\ 系统” 这类子文件夹里,文件名可能是 “全局变量设置.txt”“变量初始化.txt”。
打开这些文件后,同样用搜索功能找 “g101”,重点看有没有 “Set g101 XXX” 这样的指令 —— 这就是在给变量赋值。比如在 “系统初始化.txt” 里可能有:
[@Start]
#act
Set g101 0 // 游戏启动时,把 g101 初始化为 0
Set g102 10
...
这里的 “@Start” 代表游戏启动时执行,会给一系列变量设置初始值。
不同版本的私人服务器可能会有差异,比如有的把变量存在 “Mir200\Share” 文件夹下的 “Var.ini” 里,或者 “DB” 文件夹下的 “GlobalDB.db” 里(数据库文件,需要用专用工具打开)。如果前面的方法找不到,可以在服务器目录里搜索包含 “g101” 的所有文件(用 “Everything” 这类工具很快),通常能定位到具体位置。
如何修改这些变量并验证是否生效?
找到存放 g101 的文件后,修改方法很简单:
如果是在 “Variables.txt” 里,直接改等号后面的数值,比如把 “g101=10000” 改成 “g101=50000”,保存文件后重启服务器,变量就会生效。
如果是在脚本文件里通过 “Set” 指令设置,就修改 “Set g101” 后面的数值,比如把 “Set g101 15000” 改成 “Set g101 30000”,保存后不需要重启服务器,下次触发这个脚本时(比如玩家完成任务),新的值就会生效。
验证是否修改成功也很简单:在游戏里找到显示这个变量的地方(比如任务面板、NPC 对话),看看数值是不是变成了你设置的内容。比如改了 g101 后,对话里的 “当前金币:XXX” 是否显示新的数字。如果没变化,可能是改了文件但没保存,或者找错了变量(比如把 g101 写成了 g102),再仔细检查一遍就行。
为什么有的变量找不到固定文件?
有些变量是 “临时变量”,不会存在固定文件里,而是在脚本运行过程中动态设置。比如玩家打怪时,脚本会实时计算 “已杀怪数量”,存到 g200 里,这个值会随着玩家操作变化,游戏重启后可能会重置。
这类变量通常在具体的任务脚本或触发脚本里设置,比如 “杀怪任务.txt” 里可能有:
[@KillMonster]
#act
Add g200 1 // 每杀一只怪,g200 的值加 1
SENDMSG 1 已杀怪:<$STR (g200)> 只
这里的 g200 就是临时变量,只有在玩家做这个任务时才会被赋值,任务结束后可能会被清空。
总的来说,想找到 “STR(g101)” 里的 g101 在哪里设置,先去 “Envir\Variables.txt” 里搜,找不到再去 “QuestDiary” 的全局脚本里找,用搜索功能定位变量名是最快的方法。这些变量就像游戏里的 “数字标签”,找到对应的文件,改起来并不难。改完后验证一下,确保游戏里显示的内容和你设置的一致,就大功告成了。