Merge pull request #31 from yutsuku/multiple-chars

Added support for multiple characters
This commit is contained in:
shirsig
2016-06-06 10:44:43 +02:00
4 changed files with 65 additions and 3 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
## Interface: 11200
## Title: Aux
## SavedVariablesPerCharacter: aux_ignore_owner, aux_recent_searches, aux_favorite_searches, aux_price_per_unit, aux_tooltip_daily, aux_tooltip_vendor_buy, aux_tooltip_vendor_sell, aux_tooltip_disenchant_value, aux_tooltip_disenchant_distribution, aux_tooltip_disenchant_source
## SavedVariables: aux_datasets, aux_items, aux_item_ids, aux_auctionable_items, aux_merchant_buy, aux_merchant_sell
## SavedVariables: aux_datasets, aux_items, aux_item_ids, aux_auctionable_items, aux_merchant_buy, aux_merchant_sell, aux_characters
slash.lua
core.xml
+1
View File
@@ -8,6 +8,7 @@ aux_item_ids = {}
aux_auctionable_items = {}
aux_merchant_buy = {}
aux_merchant_sell = {}
aux_characters = {}
local items_schema = {'record', '#', {name='string'}, {quality='number'}, {level='number'}, {class='string'}, {subclass='string'}, {slot='string'}, {max_stack='number'}, {texture='string'}}
local merchant_buy_schema = {'record', '#', {unit_price='number'}, {limited='boolean'}}
+6 -1
View File
@@ -423,7 +423,12 @@ function Aux.show_elements(elements)
end
function Aux.is_player(name)
return UnitName('player') == name -- TODO support multiple chars
for i,v in ipairs(aux_characters) do
if aux_characters[i] == name then
return true
end
end
return UnitName('player') == name
end
function Aux.unmodified()
+57 -1
View File
@@ -1,5 +1,7 @@
SLASH_AUX1 = '/aux'
function SlashCmdList.AUX(command)
if not command then return end
local arguments = Aux.util.split(command, " ")
if command == 'clear history' then
Aux.persistence.load_dataset().history = nil
Aux.log('History cleared.')
@@ -43,5 +45,59 @@ function SlashCmdList.AUX(command)
elseif command == 'ignore owner' then
aux_ignore_owner = not aux_ignore_owner
Aux.log('Ignoring of owner '..(aux_ignore_owner and 'enabled' or 'disabled')..'.')
end
elseif arguments[1] == 'addchar' and arguments[2] then
local exists = false
for i=2, table.getn(arguments) do
exists = false
if arguments[i] ~= "" then
arguments[i] = strupper(strsub(arguments[i], 1, 1))..strsub(arguments[i], 2) -- force uppercase
for i_aux,v in ipairs(aux_characters) do
if (aux_characters[i_aux] == arguments[i]) then
exists = true
break
end
end
if not exists then
table.insert(aux_characters, arguments[i])
Aux.log('Character "'..arguments[i]..'" added.')
end
end
end
elseif arguments[1] == 'delchar' and arguments[2] then
for i=2, table.getn(arguments) do
if arguments[i] ~= "" then
arguments[i] = strupper(strsub(arguments[i], 1, 1))..strsub(arguments[i], 2)
for i_aux,v in ipairs(aux_characters) do
if (aux_characters[i_aux] == arguments[i]) then
table.remove(aux_characters, i_aux)
Aux.log('Character "'..arguments[i]..'" removed.')
break
end
end
end
end
elseif command == 'chars' then
local chars = nil
local num = table.getn(aux_characters);
for i,v in ipairs(aux_characters) do
if( i ~= num) then
if chars ~= nil then
chars = chars .. v .. ", ";
else
chars = v .. ", ";
end
else
if chars ~= nil then
chars = chars .. v;
else
chars = v;
end
end
end
if num > 0 then
Aux.log('Your characters: "'..chars..'".')
else
Aux.log('You don\'t have any additional characters. Type "/aux addchar NAME" to add one.')
end
end
end