WoW API: 降职所有拥有某个级别的人?

我想将我的公会中特定等级的每个成员降级(降低排名)(例如,将所有新手降为进门者)

---有什么在《魔兽世界 API 中如何实现此操作的想法吗?

(我猜可能需要循环遍历所有公会成员的名称,测试其级别并将其降级- 如果是这样,请提供示例)

谢谢你未来的回答:)

点赞
用户501459
用户501459

当我玩游戏时,我总是会首先查看 wowwiki。以下是 公会功能 的列表。看起来你可以从 1 到 GetNumGuildMember 多次调用 GetGuildRosterInfo(或者直到 GetGuildRosterInfo(N) 返回 nil)来获取玩家名称和等级,然后调用 GuildDemote 来降低玩家级别。

像这样(完全未经测试;我这些天甚至没有安装 WoW):

for i=1,GetNumGuildMembers() do
    local name, rank = GetGuildRosterInfo(i)
    if rank == "你感兴趣的等级" then
        GuildDemote(name)
    end
end

你可以在游戏中尝试 API 调用。你甚至可以在游戏中编写大部分插件。当我玩游戏时,我为自己编写了相当多的插件,并发布了 一些。其中一个(Hack)是一个游戏内 Lua 脚本编辑器。我想有人接手了它并继续使用。你应该寻找类似它的工具。

2013-08-26 00:39:09
用户714557
用户714557

这是对 OP 其余问题的澄清,关于在宏中是否能够实现此功能。

以下是我在其中一个宏中使用的一些内容,进行了格式化以便您在此处阅读:

/run for i=0,0 do local instanceName, instanceDesc, backgroundTexture, buttonTexture,
    titleBackground, mapID, instanceLink = EJ_GetSearchResult(i); if mapID then print
    (i,instanceName, mapID) end end

/dump GetLFGDungeonInfo(20)

以下是相同内容的格式,可以直接复制粘贴到宏中。每个命令都在同一行上。您可以运行多个命令,这些命令按顺序运行:

/run for i=0,0 do local instanceName, instanceDesc, backgroundTexture, buttonTexture, titleBackground, mapID, instanceLink = EJ_GetSearchResult(i); if mapID then print(i,instanceName, mapID) end end
/dump GetLFGDungeonInfo(20)

以下是已接受的答案:

for i=1,GetNumGuildMembers() do
    local name, rank = GetGuildRosterInfo(i)
    if rank == "您感兴趣的职位" then
        GuildDemote(name)
    end
end

以下是经过格式化以便于粘贴到宏中的内容:

/run for i=1,GetNumGuildMembers() do local name, rank = GetGuildRosterInfo(i); if rank == "您感兴趣的职位" then GuildDemote(name) end end

请注意,同一行上同一块中两个语句之间使用分号 ;。这是一种让代码清晰易懂且更易于阅读的好习惯。

2013-08-26 17:39:21