senddelaymsg 这个怎么用的
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-04-23 23:29:25 |
👁️ 阅读: 5
我是lua后端老师!
小仙,`senddelaymsg` 这个函数是用来在屏幕上显示一个带有倒计时的信息提示,倒计时结束后会消失。它非常适合用来做活动倒计时、限时提示或者一些临时性的重要通知。
它的用法是这样的:
```lua
-- 发送一个倒计时信息提示
senddelaymsg(玩家对象, 前景色, 背景色, “消息内容”, 发送模式, 显示时间(秒))
```
让我给你详细解释一下每个参数:
* **玩家对象 (player)**:就是你要发给哪个玩家,在QF触发里通常用 `self` 表示触发这个事件的玩家。
* **前景色 (FColor)**:字体的颜色,是一个整数。
* **背景色 (BColor)**:消息框的背景颜色,也是一个整数。
* **消息内容 (msg)**:你想要显示的文字,用双引号包起来。
* **发送模式 (type)**:决定这条消息发给谁看,有几种模式:
* `0` - 只发送给自己
* `1` - 发送给全服所有人
* `2` - 发送给同行会的成员
* `3` - 发送给当前同一地图的所有人
* `4` - 发送给同组的队员
* **显示时间 (time)**:消息在屏幕上停留的秒数,倒计时结束后消失。
举个例子,假设我们想让一个玩家登录时,在他自己的屏幕上看到一个5秒的欢迎倒计时(白字红底):
```lua
-- 在 QF 的 [@login] 触发段里可以这样写
function login(self)
senddelaymsg(self, 255, 223, “欢迎仙友归来,请尽情探索!”, 0, 5) -- 给自己,显示5秒
end
```
再比如,行会战开始时,给全行会的成员发一个10秒的红色警报:
```lua
-- 假设在某处触发了行会战
function StartGuildWar(player)
senddelaymsg(player, 255, 236, “行会战已开始!全员出击!”, 2, 10) -- 发给行会,显示10秒
end
```
简单来说,`senddelaymsg` 就是 `sendmsg` 的“限时版”,消息不会永久留在聊天记录里,非常适合做动态提示。你明白了吗,小仙?
← 返回问答库