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
menu:addOption(tr('Add to VIP list'), function () g_game.addVip(creatureName) 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()
end
--TODO select all
@ -765,15 +769,25 @@ function saveIgnoreSettings()
end
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
function isIgnoringPrivate()
return ignoreSettings.privateMessages
return ignoreSettings.privateMessages
end
function isIgnoringYelling()
return ignoreSettings.yelling
return ignoreSettings.yelling
end
function onClickIgnoreButton()
@ -821,7 +835,8 @@ function onClickIgnoreButton()
saveButton.onClick = function()
ignoreSettings.players = {}
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
ignoreSettings.yelling = ignoreYellingBox:isChecked()

View File

@ -411,6 +411,12 @@ function createThingMenu(menuPosition, lookThing, useThing, creatureThing)
if (not Player:hasVip(creatureName)) then
menu:addOption(tr('Add to VIP list'), function() g_game.addVip(creatureName) 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 creatureShield = creatureThing:getShield()