· 6 years ago · Sep 06, 2019, 11:52 PM
1DROP TRIGGER IF EXISTS `oncreate_players`;
2DROP TRIGGER IF EXISTS `oncreate_guilds`;
3DROP TRIGGER IF EXISTS `ondelete_players`;
4DROP TRIGGER IF EXISTS `ondelete_guilds`;
5DROP TRIGGER IF EXISTS `ondelete_accounts`;
6
7DROP TABLE IF EXISTS `player_depotitems`;
8DROP TABLE IF EXISTS `tile_items`;
9DROP TABLE IF EXISTS `tile_store`;
10DROP TABLE IF EXISTS `tiles`;
11DROP TABLE IF EXISTS `bans`;
12DROP TABLE IF EXISTS `house_lists`;
13DROP TABLE IF EXISTS `houses`;
14DROP TABLE IF EXISTS `player_items`;
15DROP TABLE IF EXISTS `player_namelocks`;
16DROP TABLE IF EXISTS `player_statements`;
17DROP TABLE IF EXISTS `player_skills`;
18DROP TABLE IF EXISTS `player_storage`;
19DROP TABLE IF EXISTS `player_viplist`;
20DROP TABLE IF EXISTS `player_spells`;
21DROP TABLE IF EXISTS `player_deaths`;
22DROP TABLE IF EXISTS `killers`;
23DROP TABLE IF EXISTS `environment_killers`;
24DROP TABLE IF EXISTS `player_killers`;
25DROP TABLE IF EXISTS `guild_ranks`;
26DROP TABLE IF EXISTS `guilds`;
27DROP TABLE IF EXISTS `guild_invites`;
28DROP TABLE IF EXISTS `global_storage`;
29DROP TABLE IF EXISTS `players`;
30DROP TABLE IF EXISTS `accounts`;
31DROP TABLE IF EXISTS `server_record`;
32DROP TABLE IF EXISTS `server_motd`;
33DROP TABLE IF EXISTS `server_reports`;
34DROP TABLE IF EXISTS `server_config`;
35DROP TABLE IF EXISTS `account_viplist`;
36
37CREATE TABLE `accounts`
38(
39 `id` INT NOT NULL AUTO_INCREMENT,
40 `name` VARCHAR(32) NOT NULL DEFAULT '',
41 `password` VARCHAR(255) NOT NULL/* VARCHAR(32) NOT NULL COMMENT 'MD5'*//* VARCHAR(40) NOT NULL COMMENT 'SHA1'*/,
42 `salt` VARCHAR(40) NOT NULL DEFAULT '',
43 `premdays` INT NOT NULL DEFAULT 0,
44 `lastday` INT UNSIGNED NOT NULL DEFAULT 0,
45 `email` VARCHAR(255) NOT NULL DEFAULT '',
46 `key` VARCHAR(32) NOT NULL DEFAULT '0',
47 `blocked` TINYINT(1) NOT NULL DEFAULT FALSE COMMENT 'internal usage',
48 `warnings` INT NOT NULL DEFAULT 0,
49 `group_id` INT NOT NULL DEFAULT 1,
50 PRIMARY KEY (`id`), UNIQUE (`name`)
51) ENGINE = InnoDB;
52
53INSERT INTO `accounts` VALUES (1, '1', '356a192b7913b04c54574d18c28d46e6395428ab', '', 65535, 0, '', '0', 0, 0, 1);
54
55CREATE TABLE `players`
56(
57 `id` INT NOT NULL AUTO_INCREMENT,
58 `name` VARCHAR(255) NOT NULL,
59 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
60 `group_id` INT NOT NULL DEFAULT 1,
61 `account_id` INT NOT NULL DEFAULT 0,
62 `level` INT NOT NULL DEFAULT 1,
63 `vocation` INT NOT NULL DEFAULT 0,
64 `health` INT NOT NULL DEFAULT 150,
65 `healthmax` INT NOT NULL DEFAULT 150,
66 `experience` BIGINT UNSIGNED NOT NULL DEFAULT 0,
67 `lookbody` INT NOT NULL DEFAULT 0,
68 `lookfeet` INT NOT NULL DEFAULT 0,
69 `lookhead` INT NOT NULL DEFAULT 0,
70 `looklegs` INT NOT NULL DEFAULT 0,
71 `looktype` INT NOT NULL DEFAULT 136,
72 `lookaddons` INT NOT NULL DEFAULT 0,
73 `lookmount` INT NOT NULL DEFAULT 0,
74 `maglevel` INT NOT NULL DEFAULT 0,
75 `mana` INT NOT NULL DEFAULT 0,
76 `manamax` INT NOT NULL DEFAULT 0,
77 `manaspent` BIGINT UNSIGNED NOT NULL DEFAULT 0,
78 `soul` INT UNSIGNED NOT NULL DEFAULT 0,
79 `town_id` INT NOT NULL DEFAULT 0,
80 `posx` INT NOT NULL DEFAULT 0,
81 `posy` INT NOT NULL DEFAULT 0,
82 `posz` INT NOT NULL DEFAULT 0,
83 `conditions` BLOB NOT NULL,
84 `cap` INT NOT NULL DEFAULT 0,
85 `sex` INT NOT NULL DEFAULT 0,
86 `lastlogin` BIGINT UNSIGNED NOT NULL DEFAULT 0,
87 `lastip` INT UNSIGNED NOT NULL DEFAULT 0,
88 `save` TINYINT(1) NOT NULL DEFAULT 1,
89 `skull` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
90 `skulltime` INT NOT NULL DEFAULT 0,
91 `rank_id` INT NOT NULL DEFAULT 0,
92 `guildnick` VARCHAR(255) NOT NULL DEFAULT '',
93 `lastlogout` BIGINT UNSIGNED NOT NULL DEFAULT 0,
94 `blessings` TINYINT(2) NOT NULL DEFAULT 0,
95 `pvp_blessing` TINYINT(1) NOT NULL DEFAULT 0,
96 `balance` BIGINT UNSIGNED NOT NULL DEFAULT 0,
97 `stamina` BIGINT UNSIGNED NOT NULL DEFAULT 151200000 COMMENT 'stored in miliseconds',
98 `direction` INT NOT NULL DEFAULT 2,
99 `loss_experience` INT NOT NULL DEFAULT 100,
100 `loss_mana` INT NOT NULL DEFAULT 100,
101 `loss_skills` INT NOT NULL DEFAULT 100,
102 `loss_containers` INT NOT NULL DEFAULT 100,
103 `loss_items` INT NOT NULL DEFAULT 100,
104 `premend` INT NOT NULL DEFAULT 0 COMMENT 'NOT IN USE BY THE SERVER',
105 `online` TINYINT(1) NOT NULL DEFAULT 0,
106 `marriage` INT UNSIGNED NOT NULL DEFAULT 0,
107 `promotion` INT NOT NULL DEFAULT 0,
108 `deleted` INT NOT NULL DEFAULT 0,
109 `description` VARCHAR(255) NOT NULL DEFAULT '',
110 PRIMARY KEY (`id`), UNIQUE (`name`, `deleted`),
111 KEY (`account_id`), KEY (`group_id`),
112 KEY (`online`), KEY (`deleted`),
113 FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE CASCADE
114) ENGINE = InnoDB;
115
116INSERT INTO `players` VALUES (1, 'Account Manager', 0, 1, 1, 1, 0, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '');
117
118CREATE TABLE `account_viplist`
119(
120 `account_id` INT NOT NULL,
121 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
122 `player_id` INT NOT NULL,
123 KEY (`account_id`), KEY (`player_id`), KEY (`world_id`), UNIQUE (`account_id`, `player_id`),
124 FOREIGN KEY (`account_id`) REFERENCES `accounts`(`id`) ON DELETE CASCADE,
125 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
126) ENGINE = InnoDB;
127
128CREATE TABLE `player_deaths`
129(
130 `id` INT NOT NULL AUTO_INCREMENT,
131 `player_id` INT NOT NULL,
132 `date` BIGINT UNSIGNED NOT NULL,
133 `level` INT UNSIGNED NOT NULL,
134 PRIMARY KEY (`id`), INDEX (`date`),
135 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
136) ENGINE = InnoDB;
137
138CREATE TABLE `player_depotitems`
139(
140 `player_id` INT NOT NULL,
141 `sid` INT NOT NULL COMMENT 'any given range, eg. 0-100 is reserved for depot lockers and all above 100 will be normal items inside depots',
142 `pid` INT NOT NULL DEFAULT 0,
143 `itemtype` INT NOT NULL,
144 `count` INT NOT NULL DEFAULT 0,
145 `attributes` BLOB NOT NULL,
146 KEY (`player_id`), UNIQUE (`player_id`, `sid`),
147 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
148) ENGINE = InnoDB;
149
150CREATE TABLE `player_items`
151(
152 `player_id` INT NOT NULL,
153 `pid` INT NOT NULL DEFAULT 0,
154 `sid` INT NOT NULL DEFAULT 0,
155 `itemtype` INT NOT NULL DEFAULT 0,
156 `count` INT NOT NULL DEFAULT 0,
157 `attributes` BLOB NOT NULL,
158 KEY (`player_id`), UNIQUE (`player_id`, `sid`),
159 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
160) ENGINE = InnoDB;
161
162CREATE TABLE `player_namelocks`
163(
164 `player_id` INT NOT NULL,
165 `name` VARCHAR(255) NOT NULL,
166 `new_name` VARCHAR(255) NOT NULL,
167 `date` BIGINT NOT NULL DEFAULT 0,
168 KEY (`player_id`),
169 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
170) ENGINE = InnoDB;
171
172CREATE TABLE `player_statements`
173(
174 `id` INT NOT NULL AUTO_INCREMENT,
175 `player_id` INT NOT NULL,
176 `channel_id` INT NOT NULL DEFAULT 0,
177 `text` VARCHAR (255) NOT NULL,
178 `date` BIGINT NOT NULL DEFAULT 0,
179 PRIMARY KEY (`id`), KEY (`player_id`), KEY (`channel_id`),
180 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
181) ENGINE = InnoDB;
182
183CREATE TABLE `player_skills`
184(
185 `player_id` INT NOT NULL,
186 `skillid` TINYINT(2) NOT NULL DEFAULT 0,
187 `value` INT UNSIGNED NOT NULL DEFAULT 0,
188 `count` INT UNSIGNED NOT NULL DEFAULT 0,
189 KEY (`player_id`), UNIQUE (`player_id`, `skillid`),
190 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
191) ENGINE = InnoDB;
192
193CREATE TABLE `player_spells`
194(
195 `player_id` INT NOT NULL,
196 `name` VARCHAR(255) NOT NULL,
197 KEY (`player_id`), UNIQUE (`player_id`, `name`),
198 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
199) ENGINE = InnoDB;
200
201CREATE TABLE `player_storage`
202(
203 `player_id` INT NOT NULL,
204 `key` VARCHAR(32) NOT NULL DEFAULT '0',
205 `value` TEXT NOT NULL,
206 KEY (`player_id`), UNIQUE (`player_id`, `key`),
207 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
208) ENGINE = InnoDB;
209
210CREATE TABLE `player_viplist`
211(
212 `player_id` INT NOT NULL,
213 `vip_id` INT NOT NULL,
214 KEY (`player_id`), KEY (`vip_id`), UNIQUE (`player_id`, `vip_id`),
215 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE,
216 FOREIGN KEY (`vip_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
217) ENGINE = InnoDB;
218
219CREATE TABLE `killers`
220(
221 `id` INT NOT NULL AUTO_INCREMENT,
222 `death_id` INT NOT NULL,
223 `final_hit` TINYINT(1) UNSIGNED NOT NULL DEFAULT FALSE,
224 `unjustified` TINYINT(1) UNSIGNED NOT NULL DEFAULT FALSE,
225 PRIMARY KEY (`id`),
226 FOREIGN KEY (`death_id`) REFERENCES `player_deaths`(`id`) ON DELETE CASCADE
227) ENGINE = InnoDB;
228
229CREATE TABLE `player_killers`
230(
231 `kill_id` INT NOT NULL,
232 `player_id` INT NOT NULL,
233 FOREIGN KEY (`kill_id`) REFERENCES `killers`(`id`) ON DELETE CASCADE,
234 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
235) ENGINE = InnoDB;
236
237CREATE TABLE `environment_killers`
238(
239 `kill_id` INT NOT NULL,
240 `name` VARCHAR(255) NOT NULL,
241 FOREIGN KEY (`kill_id`) REFERENCES `killers`(`id`) ON DELETE CASCADE
242) ENGINE = InnoDB;
243
244CREATE TABLE `houses`
245(
246 `id` INT UNSIGNED NOT NULL,
247 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
248 `owner` INT NOT NULL,
249 `paid` INT UNSIGNED NOT NULL DEFAULT 0,
250 `warnings` INT NOT NULL DEFAULT 0,
251 `lastwarning` INT UNSIGNED NOT NULL DEFAULT 0,
252 `name` VARCHAR(255) NOT NULL,
253 `town` INT UNSIGNED NOT NULL DEFAULT 0,
254 `size` INT UNSIGNED NOT NULL DEFAULT 0,
255 `price` INT UNSIGNED NOT NULL DEFAULT 0,
256 `rent` INT UNSIGNED NOT NULL DEFAULT 0,
257 `doors` INT UNSIGNED NOT NULL DEFAULT 0,
258 `beds` INT UNSIGNED NOT NULL DEFAULT 0,
259 `tiles` INT UNSIGNED NOT NULL DEFAULT 0,
260 `guild` TINYINT(1) UNSIGNED NOT NULL DEFAULT FALSE,
261 `clear` TINYINT(1) UNSIGNED NOT NULL DEFAULT FALSE,
262 UNIQUE (`id`, `world_id`)
263) ENGINE = InnoDB;
264
265CREATE TABLE `tile_store`
266(
267 `house_id` INT UNSIGNED NOT NULL,
268 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
269 `data` LONGBLOB NOT NULL,
270 FOREIGN KEY (`house_id`) REFERENCES `houses` (`id`) ON DELETE CASCADE
271) ENGINE = InnoDB;
272
273CREATE TABLE `house_auctions`
274(
275 `house_id` INT UNSIGNED NOT NULL,
276 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
277 `player_id` INT NOT NULL,
278 `bid` INT UNSIGNED NOT NULL DEFAULT 0,
279 `limit` INT UNSIGNED NOT NULL DEFAULT 0,
280 `endtime` BIGINT UNSIGNED NOT NULL DEFAULT 0,
281 UNIQUE (`house_id`, `world_id`),
282 FOREIGN KEY (`house_id`, `world_id`) REFERENCES `houses`(`id`, `world_id`) ON DELETE CASCADE,
283 FOREIGN KEY (`player_id`) REFERENCES `players` (`id`) ON DELETE CASCADE
284) ENGINE = InnoDB;
285
286CREATE TABLE `house_lists`
287(
288 `house_id` INT UNSIGNED NOT NULL,
289 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
290 `listid` INT NOT NULL,
291 `list` TEXT NOT NULL,
292 UNIQUE (`house_id`, `world_id`, `listid`),
293 FOREIGN KEY (`house_id`, `world_id`) REFERENCES `houses`(`id`, `world_id`) ON DELETE CASCADE
294) ENGINE = InnoDB;
295
296CREATE TABLE `house_data`
297(
298 `house_id` INT UNSIGNED NOT NULL,
299 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
300 `data` LONGBLOB NOT NULL,
301 UNIQUE (`house_id`, `world_id`),
302 FOREIGN KEY (`house_id`, `world_id`) REFERENCES `houses`(`id`, `world_id`) ON DELETE CASCADE
303) ENGINE = InnoDB;
304
305CREATE TABLE `tiles`
306(
307 `id` INT UNSIGNED NOT NULL,
308 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
309 `house_id` INT UNSIGNED NOT NULL,
310 `x` INT(5) UNSIGNED NOT NULL,
311 `y` INT(5) UNSIGNED NOT NULL,
312 `z` TINYINT(2) UNSIGNED NOT NULL,
313 UNIQUE (`id`, `world_id`),
314 KEY (`x`, `y`, `z`),
315 FOREIGN KEY (`house_id`, `world_id`) REFERENCES `houses`(`id`, `world_id`) ON DELETE CASCADE
316) ENGINE = InnoDB;
317
318CREATE TABLE `tile_items`
319(
320 `tile_id` INT UNSIGNED NOT NULL,
321 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
322 `sid` INT NOT NULL,
323 `pid` INT NOT NULL DEFAULT 0,
324 `itemtype` INT NOT NULL,
325 `count` INT NOT NULL DEFAULT 0,
326 `attributes` BLOB NOT NULL,
327 UNIQUE (`tile_id`, `world_id`, `sid`), KEY (`sid`),
328 FOREIGN KEY (`tile_id`) REFERENCES `tiles`(`id`) ON DELETE CASCADE
329) ENGINE = InnoDB;
330
331CREATE TABLE `guilds`
332(
333 `id` INT NOT NULL AUTO_INCREMENT,
334 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
335 `name` VARCHAR(255) NOT NULL,
336 `ownerid` INT NOT NULL,
337 `creationdata` INT NOT NULL,
338 `checkdata` INT NOT NULL,
339 `motd` VARCHAR(255) NOT NULL,
340 PRIMARY KEY (`id`),
341 UNIQUE (`name`, `world_id`)
342) ENGINE = InnoDB;
343
344CREATE TABLE `guild_invites`
345(
346 `player_id` INT NOT NULL DEFAULT 0,
347 `guild_id` INT NOT NULL DEFAULT 0,
348 UNIQUE (`player_id`, `guild_id`),
349 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE,
350 FOREIGN KEY (`guild_id`) REFERENCES `guilds`(`id`) ON DELETE CASCADE
351) ENGINE = InnoDB;
352
353CREATE TABLE `guild_ranks`
354(
355 `id` INT NOT NULL AUTO_INCREMENT,
356 `guild_id` INT NOT NULL,
357 `name` VARCHAR(255) NOT NULL,
358 `level` INT NOT NULL COMMENT '1 - leader, 2 - vice leader, 3 - member',
359 PRIMARY KEY (`id`),
360 FOREIGN KEY (`guild_id`) REFERENCES `guilds`(`id`) ON DELETE CASCADE
361) ENGINE = InnoDB;
362
363CREATE TABLE `bans`
364(
365 `id` INT UNSIGNED NOT NULL auto_increment,
366 `type` TINYINT(1) NOT NULL COMMENT '1 - ip, 2 - player, 3 - account, 4 - notation',
367 `value` INT UNSIGNED NOT NULL COMMENT 'ip - ip address, player - player_id, account - account_id, notation - account_id',
368 `param` INT UNSIGNED NOT NULL COMMENT 'ip - mask, player - type (1 - report, 2 - lock, 3 - ban), account - player, notation - player',
369 `active` TINYINT(1) NOT NULL DEFAULT TRUE,
370 `expires` INT NOT NULL DEFAULT -1,
371 `added` INT UNSIGNED NOT NULL,
372 `admin_id` INT UNSIGNED NOT NULL DEFAULT 0,
373 `comment` TEXT NOT NULL,
374 `reason` INT UNSIGNED NOT NULL DEFAULT 0,
375 `action` INT UNSIGNED NOT NULL DEFAULT 0,
376 `statement` VARCHAR(255) NOT NULL DEFAULT '',
377 PRIMARY KEY (`id`),
378 KEY `type` (`type`, `value`),
379 KEY `active` (`active`)
380) ENGINE = InnoDB;
381
382CREATE TABLE `global_storage`
383(
384 `key` VARCHAR(32) NOT NULL,
385 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
386 `value` TEXT NOT NULL,
387 UNIQUE (`key`, `world_id`)
388) ENGINE = InnoDB;
389
390CREATE TABLE `server_config`
391(
392 `config` VARCHAR(35) NOT NULL DEFAULT '',
393 `value` VARCHAR(255) NOT NULL DEFAULT '',
394 UNIQUE (`config`)
395) ENGINE = InnoDB;
396
397INSERT INTO `server_config` VALUES ('db_version', 31);
398
399CREATE TABLE `server_motd`
400(
401 `id` INT UNSIGNED NOT NULL,
402 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
403 `text` TEXT NOT NULL,
404 UNIQUE (`id`, `world_id`)
405) ENGINE = InnoDB;
406
407INSERT INTO `server_motd` VALUES (1, 0, 'Welcome to The OTX Server!');
408
409CREATE TABLE `server_record`
410(
411 `record` INT NOT NULL,
412 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
413 `timestamp` BIGINT NOT NULL,
414 UNIQUE (`record`, `world_id`, `timestamp`)
415) ENGINE = InnoDB;
416
417INSERT INTO `server_record` VALUES (0, 0, 0);
418
419CREATE TABLE `server_reports`
420(
421 `id` INT NOT NULL AUTO_INCREMENT,
422 `world_id` TINYINT(4) UNSIGNED NOT NULL DEFAULT 0,
423 `player_id` INT NOT NULL DEFAULT 1,
424 `posx` INT NOT NULL DEFAULT 0,
425 `posy` INT NOT NULL DEFAULT 0,
426 `posz` INT NOT NULL DEFAULT 0,
427 `timestamp` BIGINT NOT NULL DEFAULT 0,
428 `report` TEXT NOT NULL,
429 `reads` INT NOT NULL DEFAULT 0,
430 PRIMARY KEY (`id`),
431 KEY (`world_id`), KEY (`reads`),
432 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
433) ENGINE = InnoDB;
434
435DELIMITER |
436
437CREATE TRIGGER `ondelete_accounts`
438BEFORE DELETE
439ON `accounts`
440FOR EACH ROW
441BEGIN
442 DELETE FROM `bans` WHERE `type` IN (3, 4) AND `value` = OLD.`id`;
443END|
444
445CREATE TRIGGER `oncreate_guilds`
446AFTER INSERT
447ON `guilds`
448FOR EACH ROW
449BEGIN
450 INSERT INTO `guild_ranks` (`name`, `level`, `guild_id`) VALUES ('Leader', 3, NEW.`id`);
451 INSERT INTO `guild_ranks` (`name`, `level`, `guild_id`) VALUES ('Vice-Leader', 2, NEW.`id`);
452 INSERT INTO `guild_ranks` (`name`, `level`, `guild_id`) VALUES ('Member', 1, NEW.`id`);
453END|
454
455CREATE TRIGGER `ondelete_guilds`
456BEFORE DELETE
457ON `guilds`
458FOR EACH ROW
459BEGIN
460 UPDATE `players` SET `guildnick` = '', `rank_id` = 0 WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = OLD.`id`);
461END|
462
463CREATE TRIGGER `oncreate_players`
464AFTER INSERT
465ON `players`
466FOR EACH ROW
467BEGIN
468 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 0, 10);
469 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 1, 10);
470 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 2, 10);
471 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 3, 10);
472 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 4, 10);
473 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 5, 10);
474 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 6, 10);
475END|
476
477CREATE TRIGGER `ondelete_players`
478BEFORE DELETE
479ON `players`
480FOR EACH ROW
481BEGIN
482 DELETE FROM `bans` WHERE `type` IN (2, 5) AND `value` = OLD.`id`;
483 UPDATE `houses` SET `owner` = 0 WHERE `owner` = OLD.`id`;
484END|
485
486DELIMITER ;