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