Kyle@3
|
1 --[[
|
Kyle@3
|
2 Title: Suicide Kings
|
Kyle@3
|
3 Author: Brom
|
Kyle@3
|
4 Version: 0.1
|
Kyle@3
|
5 ]]
|
Kyle@3
|
6
|
Kyle@3
|
7 function SuicideKings:GetUIDFromName( name )
|
Kyle@3
|
8
|
Kyle@3
|
9 for uid,v in pairs( self.db.profile.roster ) do
|
Kyle@3
|
10 if ( v["main"] == name ) then
|
Kyle@3
|
11 return uid
|
Kyle@3
|
12 end
|
Kyle@3
|
13 end
|
Kyle@3
|
14
|
Kyle@3
|
15 SuicideKings:Print( "Warning: could not find UID for " .. name )
|
Kyle@3
|
16 return 0
|
Kyle@3
|
17
|
Kyle@3
|
18 end
|
Kyle@3
|
19
|
Kyle@3
|
20 function SuicideKings:ImportFromKSK()
|
Kyle@3
|
21
|
Kyle@3
|
22 SuicideKings:Print( "-- Importing KonferSK Data --" )
|
Kyle@3
|
23
|
Kyle@3
|
24 --[[
|
Kyle@3
|
25 import rosters
|
Kyle@3
|
26 ]]--
|
Kyle@3
|
27
|
Kyle@3
|
28 SuicideKings:Print( "Importing KonferSK roster..." )
|
Kyle@3
|
29 self.db.profile.roster = {}
|
Kyle@3
|
30
|
Kyle@3
|
31 -- search for unique mains
|
Kyle@3
|
32 for _,v in pairs( ksk.sortedusers ) do
|
Kyle@3
|
33 if ( ksk:UserIsAlt(v.id) == false ) then
|
Kyle@3
|
34
|
Kyle@3
|
35 -- generate unique key
|
Kyle@3
|
36 local uid = SuicideKings:UID( self.db.profile.roster )
|
Kyle@3
|
37
|
Kyle@3
|
38 -- associate with main character key
|
Kyle@3
|
39 self.db.profile.roster[uid] = {};
|
Kyle@3
|
40 self.db.profile.roster[uid]["main"] = ksk.users[v.id].name;
|
Kyle@3
|
41
|
Kyle@3
|
42 -- debug
|
Kyle@3
|
43 -- SuicideKings:Print( "Imported main: " .. ksk.users[v.id].name .. " (key = " .. uid .. ")" )
|
Kyle@3
|
44
|
Kyle@3
|
45 end
|
Kyle@3
|
46 end
|
Kyle@3
|
47
|
Kyle@3
|
48 -- search for alts
|
Kyle@3
|
49 for _,v in pairs( ksk.sortedusers ) do
|
Kyle@3
|
50 if ( ksk:UserIsAlt(v.id) == true ) then
|
Kyle@3
|
51
|
Kyle@3
|
52 -- ksk data
|
Kyle@3
|
53 local altName = ksk.users[v.id].name;
|
Kyle@3
|
54 local mainIdx = ksk.users[v.id].main;
|
Kyle@3
|
55 local mainName = ksk.users[mainIdx].name;
|
Kyle@3
|
56
|
Kyle@3
|
57 -- find a main in our data with that name
|
Kyle@3
|
58 local found = false
|
Kyle@3
|
59 for uid,vv in pairs( self.db.profile.roster ) do
|
Kyle@3
|
60 if ( vv["main"] == mainName ) then
|
Kyle@3
|
61 found = true
|
Kyle@3
|
62
|
Kyle@3
|
63 -- check for alts table
|
Kyle@3
|
64 if ( not self.db.profile.roster[uid]["alts"] ) then
|
Kyle@3
|
65 self.db.profile.roster[uid]["alts"] = {}
|
Kyle@3
|
66 end
|
Kyle@3
|
67
|
Kyle@3
|
68 -- associate alt name with character key
|
Kyle@3
|
69 table.insert( self.db.profile.roster[uid]["alts"], altName )
|
Kyle@3
|
70
|
Kyle@3
|
71 -- debug
|
Kyle@3
|
72 -- SuicideKings:Print( "Imported alt: " .. altName .. " (main = " .. vv["main"] .. " | key = " .. uid .. ")" )
|
Kyle@3
|
73 end
|
Kyle@3
|
74 end
|
Kyle@3
|
75
|
Kyle@3
|
76 -- debugging
|
Kyle@3
|
77 if ( found == false ) then
|
Kyle@3
|
78 SuicideKings:Print( "Warning: could not find main for " .. altName )
|
Kyle@3
|
79 end
|
Kyle@3
|
80
|
Kyle@3
|
81 end
|
Kyle@3
|
82 end
|
Kyle@3
|
83
|
Kyle@3
|
84 --[[
|
Kyle@3
|
85 import lists
|
Kyle@3
|
86 ]]--
|
Kyle@3
|
87
|
Kyle@3
|
88 SuicideKings:Print( "Importing KonferSK lists..." )
|
Kyle@3
|
89 self.db.profile.lists = {}
|
Kyle@3
|
90
|
Kyle@3
|
91 -- get lists
|
Kyle@3
|
92 for _,v in pairs( ksk.sortedlists ) do
|
Kyle@3
|
93
|
Kyle@3
|
94 -- generate unique key
|
Kyle@3
|
95 local uid = SuicideKings:UID( self.db.profile.lists )
|
Kyle@3
|
96
|
Kyle@3
|
97 -- ksk data
|
Kyle@3
|
98 local listName = ksk.lists[v.id].name
|
Kyle@3
|
99 local listUsers = ksk.lists[v.id].users
|
Kyle@3
|
100
|
Kyle@3
|
101 -- associate with main character key
|
Kyle@3
|
102 self.db.profile.lists[uid] = {};
|
Kyle@3
|
103 self.db.profile.lists[uid]["name"] = listName;
|
Kyle@3
|
104
|
Kyle@3
|
105 -- get user ids
|
Kyle@3
|
106 self.db.profile.lists[uid]["users"] = {}
|
Kyle@3
|
107 for _,vv in pairs( listUsers ) do
|
Kyle@3
|
108 local userName = ksk.users[vv].name;
|
Kyle@3
|
109 local userId = SuicideKings:GetUIDFromName( userName )
|
Kyle@3
|
110 table.insert( self.db.profile.lists[uid]["users"], userId )
|
Kyle@3
|
111 end
|
Kyle@3
|
112
|
Kyle@3
|
113 SuicideKings:Print( "Imported list: " .. listName )
|
Kyle@3
|
114
|
Kyle@3
|
115 end
|
Kyle@3
|
116
|
Kyle@3
|
117 end
|