function CreateStats()
local createStats = {
loadedVersionItems = 0;
ownParser = false;
_loadClientVersionItems = nil;
_checkLootTextMessage = nil;
init = function(self)
self._loadClientVersionItems = function() self:loadClientVersionItems() end
self._checkLootTextMessage = function(messageMode, message) self:checkLootTextMessage(messageMode, message) end
connect(g_game, { onClientVersionChange = self._loadClientVersionItems })
connect(g_game, { onTextMessage = self._checkLootTextMessage })
if (self.loadedVersionItems == 0 and g_game.getClientVersion() ~= 0) or (g_game.getClientVersion() ~= 0 and self.loadedVersionItems ~= g_game.getClientVersion()) then
self:loadClientVersionItems()
end
end;
terminate = function(self)
disconnect(g_game, { onClientVersionChange = self._loadClientVersionItems })
disconnect(g_game, { onTextMessage = self._checkLootTextMessage })
end;
-- Load items
loadClientVersionItems = function(self)
local version = g_game.getClientVersion()
if version ~= self.loadedVersionItems then
if not directoryExists('items_versions/' .. version) then
pwarning("Directory: items_versions/" .. version .. "/ doesn't exist!")
pwarning("Add " .. version .. " directory to items_versions/ with correct version items.otb and items.xml!")
self.loadedVersionItems = 0
g_modules.getModule('loot_stats'):unload()
modules.client_modulemanager.refreshLoadedModules()
return
end
if not fileExists('items_versions/' .. version .. '/items.otb') then
pwarning("File: items_versions/" .. version .. "/ doesn't exist!")
pwarning("Add correct version items.otb to items_versions/" .. version .. "/!")
self.loadedVersionItems = 0
g_modules.getModule('loot_stats'):unload()
modules.client_modulemanager.refreshLoadedModules()
return
end
if not fileExists('items_versions/' .. version .. '/items.xml') then
pwarning("File: items_versions/" .. version .. " doesn't exist!")
pwarning("Add correct version items.xml to items_versions/" .. version .. "/!")
self.loadedVersionItems = 0
g_modules.getModule('loot_stats'):unload()
modules.client_modulemanager.refreshLoadedModules()
return
end
loadOtb('items_versions/' .. version .. '/items.otb')
loadXml('items_versions/' .. version .. '/items.xml')
self:checkParserType()
self.loadedVersionItems = version
end
end;