分享一些传奇喊话屏幕滚屏脚本的代码示例

来源: 作者: 点击:
以下为你提供不同需求场景下的传奇喊话屏幕滚屏脚本代码示例,传奇脚本一般基于类似 BASIC 的语言,不同版本可能在语法和函数使用上有细微差异。

### 简单的定时滚屏喊话脚本
这个脚本会每隔一段时间在屏幕上滚动显示预设的消息。
```plaintext
; 主脚本入口
[@Main]
#act
GOTO @StartRolling

; 开始滚屏喊话
[@StartRolling]
#act
SET ..$MsgIndex 0 ; 初始化消息索引
WHILE TRUE
{
SETSTRING ..$CurrentMsg <$ShoutMsgs:[$MsgIndex]> ; 获取当前要显示的消息
IF CHECKSTR <$CurrentMsg> == ""
{
SET ..$MsgIndex 0 ; 如果消息列表遍历完,重置索引
SETSTRING ..$CurrentMsg <$ShoutMsgs:[$MsgIndex]>
}
GOTO @RollSingleMsg <$CurrentMsg> ; 调用滚屏显示单条消息的标签
ADD ..$MsgIndex 1 ; 索引加 1
DELAY 10000 ; 每条消息显示间隔 10 秒
}

; 滚屏显示单条消息
[@RollSingleMsg]
#param <STRING> Msg
#act
SET ..$Index 0 ; 初始化字符索引
SET ..$Step 20 ; 每次显示的字符数
WHILE TRUE
{
SETSTRING ..$SubMsg <$Msg:[$Index]:[$Step]> ; 截取当前要显示的部分内容
IF CHECKSTR <$SubMsg> == "" BREAK ; 如果截取的内容为空,跳出循环
SENDMSG 0 <$SubMsg> ; 发送消息到玩家屏幕
DELAY 500 ; 延迟 500 毫秒,控制滚屏速度
ADD ..$Index $Step ; 更新索引
}
```
在脚本开头,你需要定义消息列表 `$ShoutMsgs`,示例如下:
```plaintext
[$ShoutMsgs]
消息 1
消息 2
消息 3
```

### 根据玩家命令触发的滚屏喊话脚本
当玩家输入特定命令时,触发屏幕滚屏喊话功能。
```plaintext
; 主脚本入口
[@Main]
#if
CHECKTEXTCOLOR #滚屏喊话
#act
GOTO @RollingScreenShout

; 处理滚屏喊话
[@RollingScreenShout]
#act
TAKESTRING 4 ; 获取玩家输入的喊话内容
SETSTRING ..$ShoutMsg <STRING> ; 将喊话内容保存到变量 $ShoutMsg 中
GOTO @RollSingleMsg <$ShoutMsg>

; 滚屏显示单条消息
[@RollSingleMsg]
#param <STRING> Msg
#act
SET ..$Index 0 ; 初始化字符索引
SET ..$Step 20 ; 每次显示的字符数
WHILE TRUE
{
SETSTRING ..$SubMsg <$Msg:[$Index]:[$Step]> ; 截取当前要显示的部分内容
IF CHECKSTR <$SubMsg> == "" BREAK ; 如果截取的内容为空,跳出循环
SENDMSG 0 <$SubMsg> ; 发送消息到玩家屏幕
DELAY 500 ; 延迟 500 毫秒,控制滚屏速度
ADD ..$Index $Step ; 更新索引
}
```
使用方法:玩家在游戏中输入 `#滚屏喊话 具体内容`,即可触发滚屏显示该内容。

### 带颜色设置的滚屏喊话脚本
这个脚本可以让滚屏消息带有指定的颜色。
```plaintext
; 主脚本入口
[@Main]
#if
CHECKTEXTCOLOR #彩屏喊话
#act
GOTO @ColorRollingScreenShout

; 处理彩色滚屏喊话
[@ColorRollingScreenShout]
#act
TAKESTRING 4 ; 获取玩家输入的喊话内容
TAKESTRING 5 ; 获取颜色代码(假设颜色代码在输入的第 5 个位置)
SETSTRING ..$ShoutMsg <STRING> ; 将喊话内容保存到变量 $ShoutMsg 中
SETSTRING ..$ColorCode <STRING> ; 将颜色代码保存到变量 $ColorCode 中
GOTO @RollSingleMsg <$ShoutMsg> <$ColorCode>

; 滚屏显示单条消息
[@RollSingleMsg]
#param <STRING> Msg <STRING> Color
#act
SET ..$Index 0 ; 初始化字符索引
SET ..$Step 20 ; 每次显示的字符数
WHILE TRUE
{
SETSTRING ..$SubMsg <$Msg:[$Index]:[$Step]> ; 截取当前要显示的部分内容
IF CHECKSTR <$SubMsg> == "" BREAK ; 如果截取的内容为空,跳出循环
SENDMSGCOLOR 0 <$SubMsg> <$Color> ; 发送带颜色的消息到玩家屏幕
DELAY 500 ; 延迟 500 毫秒,控制滚屏速度
ADD ..$Index $Step ; 更新索引
}
```
使用方法:玩家在游戏中输入 `#彩屏喊话 具体内容 颜色代码`,例如 `#彩屏喊话 欢迎来到传奇世界 FF0000`(`FF0000` 代表红色),即可触发带颜色的滚屏显示。

请根据你所使用的传奇游戏版本对上述代码进行适当调整和测试,确保脚本能够正常运行。