Ignore/Unignore options in right click menus

Added both Ignore and Unignore options in the right click menu for the
Game Window (which also added it for the Battle list), and in the right
click menu for the console (chat window).
This commit is contained in:
Jeffrey 2013-01-09 21:20:26 -06:00
parent 8de7873635
commit c6ab6bc484
2 changed files with 26 additions and 5 deletions

View File

@ -446,7 +446,11 @@ function processMessageMenu(mousePos, mouseButton, creatureName, text)
if not g_game.getLocalPlayer():hasVip(creatureName) then if not g_game.getLocalPlayer():hasVip(creatureName) then
menu:addOption(tr('Add to VIP list'), function () g_game.addVip(creatureName) end) menu:addOption(tr('Add to VIP list'), function () g_game.addVip(creatureName) end)
end end
-- TODO ignore creatureName if isIgnored(creatureName) then
menu:addOption(tr('Unignore') .. ' ' .. creatureName, function() removeIgnoredPlayer(creatureName) end)
else
menu:addOption(tr('Ignore') .. ' ' .. creatureName, function() addIgnoredPlayer(creatureName) end)
end
menu:addSeparator() menu:addSeparator()
end end
--TODO select all --TODO select all
@ -765,15 +769,25 @@ function saveIgnoreSettings()
end end
function isIgnored(name) function isIgnored(name)
return table.find(ignoreSettings.players, name) return table.find(ignoreSettings.players, name)
end
function addIgnoredPlayer(name)
if not isIgnored(name) then
table.insert(ignoreSettings.players, name)
end
end
function removeIgnoredPlayer(name)
table.removevalue(ignoreSettings.players, name)
end end
function isIgnoringPrivate() function isIgnoringPrivate()
return ignoreSettings.privateMessages return ignoreSettings.privateMessages
end end
function isIgnoringYelling() function isIgnoringYelling()
return ignoreSettings.yelling return ignoreSettings.yelling
end end
function onClickIgnoreButton() function onClickIgnoreButton()
@ -821,7 +835,8 @@ function onClickIgnoreButton()
saveButton.onClick = function() saveButton.onClick = function()
ignoreSettings.players = {} ignoreSettings.players = {}
for i = 1, ignoreListPanel:getChildCount() do for i = 1, ignoreListPanel:getChildCount() do
table.insert(ignoreSettings.players, ignoreListPanel:getChildByIndex(i):getText()) addIgnorePlayer(ignoreListPanel:getChildByIndex(i):getText())
--table.insert(ignoreSettings.players, ignoreListPanel:getChildByIndex(i):getText())
end end
ignoreSettings.yelling = ignoreYellingBox:isChecked() ignoreSettings.yelling = ignoreYellingBox:isChecked()

View File

@ -411,6 +411,12 @@ function createThingMenu(menuPosition, lookThing, useThing, creatureThing)
if (not Player:hasVip(creatureName)) then if (not Player:hasVip(creatureName)) then
menu:addOption(tr('Add to VIP list'), function() g_game.addVip(creatureName) end) menu:addOption(tr('Add to VIP list'), function() g_game.addVip(creatureName) end)
end end
if modules.game_console.isIgnored(creatureName) then
menu:addOption(tr('Unignore') .. ' ' .. creatureName, function() modules.game_console.removeIgnoredPlayer(creatureName) end)
else
menu:addOption(tr('Ignore') .. ' ' .. creatureName, function() modules.game_console.addIgnoredPlayer(creatureName) end)
end
local localPlayerShield = localPlayer:getShield() local localPlayerShield = localPlayer:getShield()
local creatureShield = creatureThing:getShield() local creatureShield = creatureThing:getShield()