【发布时间】:2015-05-18 12:29:00
【问题描述】:
总是觉得我做的事情比它必须要做的要复杂得多。我目前正在玩 WoW 插件,Tongues,希望制作一个自定义的方言过滤器 - 这当然很容易,非常适合新手。在这一点上,我想要完成一件事——感觉其影响远不止于此——这只是新奇事物,但在我完全放弃之前(很多小时尝试不同的事情而没有进展)我希望有人能过来,得到一个廉价的笑声,如果他们理解我的观点,也许可以帮助我解决这个问题。谁知道呢,发布这个新的无助问题可能会让我最终能够投票!
Tongues.Affect["Drunk"] = {
["substitute"] = {
[1] = merge({
{ ["([%a]+)(%A*)$"] = "%1 ...hic!"},
Tongues.Affect["Slur"]["substitute"][1]
});
};
["frequency"] = 100;
};
这只是简单地添加“...hic!”发送聊天消息();我相信是的。频率部分似乎完全被破坏了,只有游戏中的 GUI 滑块对此很重要。我希望完成的是重新调整它的用途并制作“......hic!”一个实际的随机词。由于 mod 本身处理了它发生的机会,我认为剩下的就是用 function=X 替换字符串。当然,这完全超出了我的想象,但尽管检查了几个模块的 Lua,但没有什么感觉像“它会适合”。
我能想到的最好的,
Tongues.Affect["TESTAFFECT"] = {
["substitute"] = {
[1] = merge({
{ ["([%a]+)(%A*)$"] = function(b)
local rand = Math.Random(1,2)
if (rand == 1) then
b = "test1"
return b
elseif (rand == 2) then
b = "test2"
return b
end
end
在错误模式 BugSack 中留下一个光荣无用的消息 - 当然我的尝试是错误的,但没有办法知道如何!
我假设这是足够的信息 - 正如我所说,非常用户友好的 mod,无需了解它的实际工作原理(尽管我很乐意在这个“项目”之后准备好研究它)
有人吗?无论如何,感谢您抽出宝贵时间阅读本文。
更新:投反对票,好吧!这也很酷。有点不可预测,但可以肯定。错误如下
15x Tongues\Core\dialects.lua:172: attempt to index field 'Affect' (a nil value)
Tongues\Core\dialects.lua:172: in main chunk
Locals:
dialects.lua 中的 175 是
Tongues.Affect["Wordcut"]["substitute"][1],
这与我想要完成的事情无关,并且工作正常。
【问题讨论】:
-
“在错误模块 BugSack 中留下一个光荣无用的消息” 介意告诉我们错误是什么吗?此外,除非 WoW 与内置函数混淆,否则它应该是
math.random(Lua 区分大小写) -
更新主帖出错。
-
一般来说,我对寻求帮助还很陌生,因为在此之前我从来没有,所以我不完全确定我的问题是如何不清楚、无用或懒惰的——我整晚都在尝试不同的事物,寻找例子,阅读事物。我是 Lua 的新手,我开始学习它的地方太理论化了,以至于我无法应用我所看到的 - 我在这个阶段从示例中学习。在什么时候问是正确的? / 抛开一切,感谢您的更正,上校 - 我看到以前使用的大写版本,所以我认为它做了同样的事情。
-
推荐阅读:How to create a Minimal, Complete, and Verifiable example。错误消息表示
Tounges没有名为Affect的字段。 -
谢谢你的链接,我不介意再读一遍。错误消息是虚假的,是我在其他地方创建的错误的产物,但是另一个堆栈(在学习 Lua 和 WoW API 的这几周里,我很难看到它)证明我的冗余符号使用破坏了 mod,因为会期望它这样做。
标签: lua world-of-warcraft