Kyle@3: --[[ Kyle@3: Title: Suicide Kings Kyle@3: Author: Brom Kyle@3: Version: 0.1 Kyle@3: ]] Kyle@3: Kyle@3: function SuicideKings:GetUIDFromName( name ) Kyle@3: Kyle@3: for uid,v in pairs( self.db.profile.roster ) do Kyle@3: if ( v["main"] == name ) then Kyle@3: return uid Kyle@3: end Kyle@3: end Kyle@3: Kyle@3: SuicideKings:Print( "Warning: could not find UID for " .. name ) Kyle@3: return 0 Kyle@3: Kyle@3: end Kyle@3: Kyle@3: function SuicideKings:ImportFromKSK() Kyle@3: Kyle@3: SuicideKings:Print( "-- Importing KonferSK Data --" ) Kyle@3: Kyle@3: --[[ Kyle@3: import rosters Kyle@3: ]]-- Kyle@3: Kyle@3: SuicideKings:Print( "Importing KonferSK roster..." ) Kyle@3: self.db.profile.roster = {} Kyle@3: Kyle@3: -- search for unique mains Kyle@3: for _,v in pairs( ksk.sortedusers ) do Kyle@3: if ( ksk:UserIsAlt(v.id) == false ) then Kyle@3: Kyle@3: -- generate unique key Kyle@3: local uid = SuicideKings:UID( self.db.profile.roster ) Kyle@3: Kyle@3: -- associate with main character key Kyle@3: self.db.profile.roster[uid] = {}; Kyle@3: self.db.profile.roster[uid]["main"] = ksk.users[v.id].name; Kyle@3: Kyle@3: -- debug Kyle@3: -- SuicideKings:Print( "Imported main: " .. ksk.users[v.id].name .. " (key = " .. uid .. ")" ) Kyle@3: Kyle@3: end Kyle@3: end Kyle@3: Kyle@3: -- search for alts Kyle@3: for _,v in pairs( ksk.sortedusers ) do Kyle@3: if ( ksk:UserIsAlt(v.id) == true ) then Kyle@3: Kyle@3: -- ksk data Kyle@3: local altName = ksk.users[v.id].name; Kyle@3: local mainIdx = ksk.users[v.id].main; Kyle@3: local mainName = ksk.users[mainIdx].name; Kyle@3: Kyle@3: -- find a main in our data with that name Kyle@3: local found = false Kyle@3: for uid,vv in pairs( self.db.profile.roster ) do Kyle@3: if ( vv["main"] == mainName ) then Kyle@3: found = true Kyle@3: Kyle@3: -- check for alts table Kyle@3: if ( not self.db.profile.roster[uid]["alts"] ) then Kyle@3: self.db.profile.roster[uid]["alts"] = {} Kyle@3: end Kyle@3: Kyle@3: -- associate alt name with character key Kyle@3: table.insert( self.db.profile.roster[uid]["alts"], altName ) Kyle@3: Kyle@3: -- debug Kyle@3: -- SuicideKings:Print( "Imported alt: " .. altName .. " (main = " .. vv["main"] .. " | key = " .. uid .. ")" ) Kyle@3: end Kyle@3: end Kyle@3: Kyle@3: -- debugging Kyle@3: if ( found == false ) then Kyle@3: SuicideKings:Print( "Warning: could not find main for " .. altName ) Kyle@3: end Kyle@3: Kyle@3: end Kyle@3: end Kyle@3: Kyle@3: --[[ Kyle@3: import lists Kyle@3: ]]-- Kyle@3: Kyle@3: SuicideKings:Print( "Importing KonferSK lists..." ) Kyle@3: self.db.profile.lists = {} Kyle@3: Kyle@3: -- get lists Kyle@3: for _,v in pairs( ksk.sortedlists ) do Kyle@3: Kyle@3: -- generate unique key Kyle@3: local uid = SuicideKings:UID( self.db.profile.lists ) Kyle@3: Kyle@3: -- ksk data Kyle@3: local listName = ksk.lists[v.id].name Kyle@3: local listUsers = ksk.lists[v.id].users Kyle@3: Kyle@3: -- associate with main character key Kyle@3: self.db.profile.lists[uid] = {}; Kyle@3: self.db.profile.lists[uid]["name"] = listName; Kyle@3: Kyle@3: -- get user ids Kyle@3: self.db.profile.lists[uid]["users"] = {} Kyle@3: for _,vv in pairs( listUsers ) do Kyle@3: local userName = ksk.users[vv].name; Kyle@3: local userId = SuicideKings:GetUIDFromName( userName ) Kyle@3: table.insert( self.db.profile.lists[uid]["users"], userId ) Kyle@3: end Kyle@3: Kyle@3: SuicideKings:Print( "Imported list: " .. listName ) Kyle@3: Kyle@3: end Kyle@3: Kyle@3: end