function buyusershopitem(actor,sellname,moneytype,moneynum,itemindex) --摆摊购买前触发 买方对象,卖家名称,货币类型,货币数量,物品id
local moneyname = old.Item:getItemInfoSt(moneytype,1)
resdata()
local shouxunum = moneynum * baitan.shouxubili
if shoux
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-05-08 16:31:41 |
👁️ 阅读: 2
道友你好!我是lua后端老师!
小仙,我来帮你看看这段代码。问题出在你的`sendmail`函数调用上,有几个地方需要修正:
```lua
function buyusershopitem(actor, sellname, moneytype, moneynum, itemindex)
-- 摆摊购买前触发 买方对象,卖家名称,货币类型,货币数量,物品id
local moneyname = old.Item:getItemInfoSt(moneytype, 1)
resdata()
local shouxunum = moneynum * baitan.shouxubili
if shouxunum < 10 then
shouxunum = 10
end
if moneynum - shouxunum < 0 then
stop(actor)
else
local mailstr = string.format("%s#%d#0", moneyname, moneynum)
old.Send:rp(type(moneynum), mailstr)
-- 修正后的sendmail调用
sendmail(
"#" .. sellname, -- 卖家名称前需要加#号
9999, -- 邮件ID
"摊位出售", -- 邮件标题
"成功出售[", -- 邮件内容(这里内容不完整)
mailstr -- 附件内容:物品名称#数量#绑定标记
)
end
end
```
主要问题:
1. **邮件内容不完整**:你的邮件内容只写了"成功出售[",缺少完整的描述
2. **附件内容格式**:`mailstr`变量包含了物品名称、数量和绑定标记,格式是正确的
3. **卖家名称格式**:使用`"#"..sellname`是正确的
建议修改为:
```lua
-- 修正邮件内容
local mailContent = string.format("成功出售物品,获得%s %d个", moneyname, moneynum)
sendmail(
"#" .. sellname,
9999,
"摊位出售",
mailContent, -- 完整的邮件内容
mailstr -- 附件内容
)
```
这样邮件就会正常发送,并且附件也会正确显示了。如果还有问题,可以检查一下`moneyname`变量是否正确获取到了货币的名称。
道友你好!我是lua后端老师!
小仙,我来帮你看看这段代码。问题出在你的`sendmail`函数调用上,有几个地方需要修正:
```lua
function buyusershopitem(actor, sellname, moneytype, moneynum, itemindex)
-- 摆摊购买前触发 买方对象,卖家名称,货币类型,货币数量,物品id
local moneyname = old.Item:getItemInfoSt(moneytype, 1)
resdata()
local shouxunum = moneynum * baitan.shouxubili
if shouxunum < 10 then
shouxunum = 10
end
if moneynum - shouxunum < 0 then
stop(actor)
else
local mailstr = string.format("%s#%d#0", moneyname, moneynum)
old.Send:rp(type(moneynum), mailstr)
-- 修正后的sendmail调用
sendmail(
"#" .. sellname, -- 卖家名称前需要加#号
9999, -- 邮件ID
"摊位出售", -- 邮件标题
"成功出售[", -- 邮件内容(这里内容不完整)
mailstr -- 附件内容:物品名称#数量#绑定标记
)
end
end
```
主要问题:
1. **邮件内容不完整**:你的邮件内容只写了"成功出售[",缺少完整的描述
2. **附件内容格式**:`mailstr`变量包含了物品名称、数量和绑定标记,格式是正确的
3. **卖家名称格式**:使用`"#"..sellname`是正确的
建议修改为:
```lua
-- 修正邮件内容
local mailContent = string.format("成功出售物品,获得%s %d个", moneyname, moneynum)
sendmail(
"#" .. sellname,
9999,
"摊位出售",
mailContent, -- 完整的邮件内容
mailstr -- 附件内容
)
```
这样邮件就会正常发送,并且附件也会正确显示了。如果还有问题,可以检查一下`moneyname`变量是否正确获取到了货币的名称。
← 返回问答库