· 8 years ago · Feb 26, 2018, 02:02 PM
1
2CREATE TABLE IF NOT EXISTS `accounts`
3(
4 `username` VARCHAR(16) NOT NULL,
5 `password` CHAR(64) NOT NULL,
6 `fullname` VARCHAR(64) NOT NULL,
7 `location` VARCHAR(64) NOT NULL,
8 `email` VARCHAR(64) NOT NULL,
9 `computer` VARCHAR(64) NOT NULL,
10 `hdid` INTEGER NOT NULL,
11 `regip` VARCHAR(15) NOT NULL,
12 `lastip` VARCHAR(15) DEFAULT NULL,
13 `created` INTEGER NOT NULL,
14 `lastused` INTEGER DEFAULT NULL,
15
16 PRIMARY KEY (`username`)
17);
18
19CREATE TABLE IF NOT EXISTS `characters`
20(
21 `name` VARCHAR(16) NOT NULL,
22 `account` VARCHAR(16) DEFAULT NULL,
23 `title` VARCHAR(32) DEFAULT NULL,
24 `home` VARCHAR(32) DEFAULT NULL,
25 `fiance` VARCHAR(16) DEFAULT NULL,
26 `partner` VARCHAR(16) DEFAULT NULL,
27 `admin` INTEGER NOT NULL DEFAULT 0,
28 `class` INTEGER NOT NULL DEFAULT 0,
29 `gender` INTEGER NOT NULL DEFAULT 0,
30 `race` INTEGER NOT NULL DEFAULT 0,
31 `hairstyle` INTEGER NOT NULL DEFAULT 0,
32 `haircolor` INTEGER NOT NULL DEFAULT 0,
33 `map` INTEGER NOT NULL DEFAULT 192,
34 `x` INTEGER NOT NULL DEFAULT 7,
35 `y` INTEGER NOT NULL DEFAULT 6,
36 `direction` INTEGER NOT NULL DEFAULT 2,
37 `level` INTEGER NOT NULL DEFAULT 0,
38 `exp` INTEGER NOT NULL DEFAULT 0,
39 `hp` INTEGER NOT NULL DEFAULT 10,
40 `tp` INTEGER NOT NULL DEFAULT 10,
41 `str` INTEGER NOT NULL DEFAULT 0,
42 `int` INTEGER NOT NULL DEFAULT 0,
43 `wis` INTEGER NOT NULL DEFAULT 0,
44 `agi` INTEGER NOT NULL DEFAULT 0,
45 `con` INTEGER NOT NULL DEFAULT 0,
46 `cha` INTEGER NOT NULL DEFAULT 0,
47 `statpoints` INTEGER NOT NULL DEFAULT 0,
48 `skillpoints` INTEGER NOT NULL DEFAULT 0,
49 `karma` INTEGER NOT NULL DEFAULT 1000,
50 `sitting` INTEGER NOT NULL DEFAULT 0,
51 `hidden` INTEGER NOT NULL DEFAULT 0,
52 `nointeract` INTEGER NOT NULL DEFAULT 0,
53 `bankmax` INTEGER NOT NULL DEFAULT 0,
54 `goldbank` INTEGER NOT NULL DEFAULT 0,
55 `usage` INTEGER NOT NULL DEFAULT 0,
56 `inventory` TEXT,
57 `bank` TEXT,
58 `paperdoll` TEXT,
59 `spells` TEXT,
60 `guild` CHAR(3) DEFAULT NULL,
61 `guild_rank` INTEGER DEFAULT NULL,
62 `guild_rank_string` VARCHAR(16) DEFAULT NULL,
63 `quest` TEXT,
64 `vars` TEXT,
65
66 PRIMARY KEY (`name`)
67);
68
69CREATE TABLE IF NOT EXISTS `guilds`
70(
71 `tag` CHAR(3) NOT NULL,
72 `name` VARCHAR(32) NOT NULL,
73 `description` TEXT,
74 `created` INTEGER NOT NULL,
75 `ranks` TEXT,
76 `bank` INTEGER NOT NULL DEFAULT 0,
77
78 PRIMARY KEY (`tag`),
79 UNIQUE (`name`)
80);
81
82CREATE TABLE IF NOT EXISTS `bans`
83(
84 `ip` INTEGER DEFAULT NULL,
85 `hdid` INTEGER DEFAULT NULL,
86 `username` VARCHAR(16) DEFAULT NULL,
87 `setter` VARCHAR(16) DEFAULT NULL,
88 `expires` INTEGER NOT NULL DEFAULT 0,
89
90 UNIQUE (`ip`, `hdid`, `username`, `expires`)
91);
92
93CREATE TABLE IF NOT EXISTS `reports`
94(
95 `reporter` VARCHAR(16) NOT NULL,
96 `reported` VARCHAR(16) NOT NULL,
97 `reason` TEXT,
98 `time` INTEGER NOT NULL,
99 `chat_log` TEXT NOT NULL,
100
101 PRIMARY KEY (`reporter`, `reported`, `time`)
102);
103
104ALTER TABLE `characters` ADD INDEX `character_account_index` (`account`);
105ALTER TABLE `characters` ADD INDEX `character_guild_index` (`guild`);
106ALTER TABLE `bans` ADD INDEX `ban_ip_index` (`ip`);
107ALTER TABLE `bans`ADD INDEX `ban_hdid_index` (`hdid`);
108ALTER TABLE `bans` ADD INDEX `ban_username_index` (`username`);