Это разъяснение для остальной части вопроса ОП о возможности сделать это в макросе.
Вот что-то, что было в одном из моих макросов, отформатированное, чтобы вы могли прочитать это здесь:
/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 == "The rank you're iterested in" then
GuildDemote(name)
end
end
Здесь он отформатирован для вставки в макрос:
/run for i=1,GetNumGuildMembers() do local name, rank = GetGuildRosterInfo(i); if rank == "The rank you're iterested in" then GuildDemote(name) end end
Обратите внимание на симиколон ';' между двумя операторами в одном блоке на одной строке. Это хорошая практика для того, чтобы сделать код однозначным и немного более легким для чтения.
person
Celess
schedule
26.08.2013