summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hercules/code/server/db/charregnumdb.py32
-rw-r--r--hercules/code/server/evol/main.py6
-rw-r--r--hercules/templates/char_reg_num_db.sql9
3 files changed, 45 insertions, 2 deletions
diff --git a/hercules/code/server/db/charregnumdb.py b/hercules/code/server/db/charregnumdb.py
new file mode 100644
index 0000000..b1446e3
--- /dev/null
+++ b/hercules/code/server/db/charregnumdb.py
@@ -0,0 +1,32 @@
+# -*- coding: utf8 -*-
+#
+# Copyright (C) 2015 Evol Online
+# Author: Andrei Karas (4144)
+
+from code.fileutils import *
+from code.stringutils import *
+
+def saveCharRegNumDbTable(users):
+ dstFile = "newdb/char_reg_num_db.sql"
+ firstLine = True
+ tpl = readFile("templates/char_reg_num_db.sql")
+ with open(dstFile, "w") as w:
+ w.write(tpl)
+ w.write("INSERT INTO `char_reg_num_db` VALUES ")
+ for userId in users:
+ user = users[userId]
+ for varKey in user.variables:
+ varValue = user.variables[varKey]
+
+ if firstLine == False:
+ w.write(",\n")
+ else:
+ firstLine = False
+
+ w.write(("({char_id},'{key}',{index},{value})").format(
+ char_id = user.char_id,
+ key = varKey,
+ index = "0",
+ value = varValue
+ ))
+ w.write("\n")
diff --git a/hercules/code/server/evol/main.py b/hercules/code/server/evol/main.py
index 6014e05..577c868 100644
--- a/hercules/code/server/evol/main.py
+++ b/hercules/code/server/evol/main.py
@@ -6,6 +6,7 @@
from code.server.account import *
from code.server.db.char import *
+from code.server.db.charregnumdb import *
from code.server.evol.athena import *
from code.server.evol.consts import *
from code.server.evol.itemdb import *
@@ -28,5 +29,6 @@ def serverEvolMain():
def dbEvolMain():
convertAccount()
- users = readAthena();
- saveCharTable(users);
+ users = readAthena()
+ saveCharTable(users)
+ saveCharRegNumDbTable(users)
diff --git a/hercules/templates/char_reg_num_db.sql b/hercules/templates/char_reg_num_db.sql
new file mode 100644
index 0000000..dd96ae9
--- /dev/null
+++ b/hercules/templates/char_reg_num_db.sql
@@ -0,0 +1,9 @@
+CREATE TABLE IF NOT EXISTS `char_reg_num_db` (
+ `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
+ `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `value` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`char_id`,`key`,`index`),
+ KEY `char_id` (`char_id`)
+) ENGINE=InnoDB;
+