当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇脚本求教:国王名字保存显示方法及变量保存特性详解

热度:
一、保存符合条件玩家名字到文本的脚本实现

核心用WriteFile命令完成文本写入,结合条件判断筛选合格玩家,脚本需明确文本路径与写入格式,确保后续读取正常。

以你提供的[@国王]触发场景为例,完整脚本如下:

[@main]
<申请国王/@国王><国王信息/@信息>

[@国王]
#if
;判定是否为帮主(需结合游戏内帮主标识命令,此处以IS_GUILD_LEADER为例)
IS_GUILD_LEADER
等级达到五十级
#act
;用WriteFile命令写入玩家名字到文本,\r\n表示换行,避免内容重叠
WriteFile.\QuestDiary\国王信息.txt<$USERNAME>\r\n
;可选:给玩家反馈提示
SENDMSG6申请成功,你的名字已记录为国王候选
#elsesay
不符合国王申请条件,需为帮主且等级满五十级

[@信息]
#act
;读取文本第一行内容到S1变量,GetListString后参数依次为路径、行号、目标变量
GetListString.\QuestDiary\国王信息.txt1S1
#say
现任国王【<$S1>】


说明:WriteFile命令直接将<$USERNAME>(当前玩家名字变量)写入指定文本,\r\n是换行符,确保新写入的名字不会覆盖原有内容。若需仅保留现任国王信息(覆盖旧内容),可去掉\r\n,直接写为“WriteFile.\QuestDiary\国王信息.txt<$USERNAME>”。

二、对话框显示文本内名字的关键步骤

核心是“读取文本→变量承接→对话框调用”三步,你提到的GetListString命令用法正确,但需注意变量调用格式和文本路径准确性。

1.读取文本:GetListString.\QuestDiary\国王信息.txt1S1中,“1”代表读取文本第一行,若文本内有多行内容,可通过修改行号读仍应名字,S1为承接内容的字符型变量。

2.对话框显示:在#say区域用<$S1>调用变量即可,如“现任国王【<$S1>】”,系统会自动将S1变量存储的名字替换显示。若提示“变量未定义”,检查文本路径是否正确(需与WriteFile路径完全一致)、行号是否超出文本实际行数。

三、传奇脚本变量保存特性分类及适用场景

结合你列出的变量类型,按“是否保存”“作用范围”分类,明确不同场景的变量选择,避免出现“关闭对话框/小退重置”问题。

1.私人变量(仅当前角色使用)

变量类型

保存特性

重置条件

适用场景

P0-P9(数字型)

不可保存

关闭对话框、小退、下线均重置为0

临时计数,如对话框内的选项点击次数

M0-M99(数字型)

不可保存

同P系列,关闭交互界面即重置

临时任务进度判定,如收集物品的临时数量

D0-D9(数字型)

不可保存

小退或关闭角色界面重置

当前登录会话内的临时操作标记

N0-N99(数字型)

不可保存

关闭对话框即重置,小退也重置

对话框内的临时计算,如奖励预览数值

S0-S99(字符型)

不可保存

关闭对话框后内容清空

临时存储对话输入内容,如自定义昵称输入

2.全局变量(全服角色共享或跨场景使用)

变量类型

保存特性

重置条件

适用场景

G0-G499(数字型)

可保存

仅脚本手动重置或服务器重启重置

全服活动进度、国王任期计数等

I0-I99(数字型)

不可保存

服务器重启或脚本重置,小退不影响

临时全服公告计数、临时活动标记

A0-A499(字符型)

可保存

仅手动重置,长期有效

存储全服唯一信息,如现任国王名字(替代文本)

3.特殊说明:变量选择技巧

若需“关闭对话框重置”,优先选S系列(字符型)、P系列(数字型);若需“小退重置但对话内保留”,可选D系列;长期存储全服信息,用A系列(字符型)或G系列(数字型)更稳妥,无需依赖文本文件,调用更高效。
[顶部]