· 8 years ago · Jul 31, 2018, 06:42 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 `tiles`;
10DROP TABLE IF EXISTS `bans`;
11DROP TABLE IF EXISTS `house_lists`;
12DROP TABLE IF EXISTS `houses`;
13DROP TABLE IF EXISTS `player_items`;
14DROP TABLE IF EXISTS `player_namelocks`;
15DROP TABLE IF EXISTS `player_skills`;
16DROP TABLE IF EXISTS `player_storage`;
17DROP TABLE IF EXISTS `player_viplist`;
18DROP TABLE IF EXISTS `player_spells`;
19DROP TABLE IF EXISTS `player_deaths`;
20DROP TABLE IF EXISTS `killers`;
21DROP TABLE IF EXISTS `environment_killers`;
22DROP TABLE IF EXISTS `player_killers`;
23DROP TABLE IF EXISTS `guild_ranks`;
24DROP TABLE IF EXISTS `guilds`;
25DROP TABLE IF EXISTS `guild_invites`;
26DROP TABLE IF EXISTS `global_storage`;
27DROP TABLE IF EXISTS `players`;
28DROP TABLE IF EXISTS `accounts`;
29DROP TABLE IF EXISTS `server_record`;
30DROP TABLE IF EXISTS `server_motd`;
31DROP TABLE IF EXISTS `server_reports`;
32DROP TABLE IF EXISTS `server_config`;
33DROP TABLE IF EXISTS `account_viplist`;
34DROP TABLE IF EXISTS `poll_votes`;
35DROP TABLE IF EXISTS `polls`;
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 `premdays` INT NOT NULL DEFAULT 0,
43 `lastday` INT UNSIGNED NOT NULL DEFAULT 0,
44 `email` VARCHAR(255) NOT NULL DEFAULT '',
45 `key` VARCHAR(20) 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 `vip_time` INT(15) NOT NULL DEFAULT 0,
50 PRIMARY KEY (`id`), UNIQUE (`name`)
51) ENGINE = InnoDB;
52
53INSERT INTO `accounts` VALUES (1, '1', '1', 65535, 0, '', '0', 0, 0, 1, 0);
54
55CREATE TABLE `players`
56(
57 `id` INT NOT NULL AUTO_INCREMENT,
58 `name` VARCHAR(255) NOT NULL,
59 `world_id` TINYINT(2) 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 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 `maglevel` INT NOT NULL DEFAULT 0,
74 `mana` INT NOT NULL DEFAULT 0,
75 `manamax` INT NOT NULL DEFAULT 0,
76 `manaspent` INT 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 `balance` BIGINT NOT NULL DEFAULT 0,
95 `stamina` BIGINT NOT NULL DEFAULT 151200000 COMMENT 'stored in miliseconds',
96 `direction` INT NOT NULL DEFAULT 2,
97 `loss_experience` INT NOT NULL DEFAULT 100,
98 `loss_mana` INT NOT NULL DEFAULT 100,
99 `loss_skills` INT NOT NULL DEFAULT 100,
100 `loss_containers` INT NOT NULL DEFAULT 100,
101 `loss_items` INT NOT NULL DEFAULT 100,
102 `premend` INT NOT NULL DEFAULT 0 COMMENT 'NOT IN USE BY THE SERVER',
103 `online` TINYINT(1) NOT NULL DEFAULT 0,
104 `marriage` INT UNSIGNED NOT NULL DEFAULT 0,
105 `marrystatus` INT UNSIGNED NOT NULL,
106 `promotion` INT NOT NULL DEFAULT 0,
107 `deleted` TINYINT(1) NOT NULL DEFAULT FALSE,
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, 32360, 31782, 7, '', 400, 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(2) 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` INT UNSIGNED 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(2) 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 `house_auctions`
254(
255 `house_id` INT UNSIGNED NOT NULL,
256 `world_id` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0,
257 `player_id` INT NOT NULL,
258 `bid` INT UNSIGNED NOT NULL DEFAULT 0,
259 `limit` INT UNSIGNED NOT NULL DEFAULT 0,
260 `endtime` BIGINT UNSIGNED NOT NULL DEFAULT 0,
261 UNIQUE (`house_id`, `world_id`),
262 FOREIGN KEY (`house_id`, `world_id`) REFERENCES `houses`(`id`, `world_id`) ON DELETE CASCADE,
263 FOREIGN KEY (`player_id`) REFERENCES `players` (`id`) ON DELETE CASCADE
264) ENGINE = InnoDB;
265
266CREATE TABLE `house_lists`
267(
268 `house_id` INT UNSIGNED NOT NULL,
269 `world_id` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0,
270 `listid` INT NOT NULL,
271 `list` TEXT NOT NULL,
272 UNIQUE (`house_id`, `world_id`, `listid`),
273 FOREIGN KEY (`house_id`, `world_id`) REFERENCES `houses`(`id`, `world_id`) ON DELETE CASCADE
274) ENGINE = InnoDB;
275
276CREATE TABLE `house_data`
277(
278 `house_id` INT UNSIGNED NOT NULL,
279 `world_id` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0,
280 `data` LONGBLOB NOT NULL,
281 UNIQUE (`house_id`, `world_id`),
282 FOREIGN KEY (`house_id`, `world_id`) REFERENCES `houses`(`id`, `world_id`) ON DELETE CASCADE
283) ENGINE = InnoDB;
284
285CREATE TABLE `tiles`
286(
287 `id` INT UNSIGNED NOT NULL,
288 `world_id` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0,
289 `house_id` INT UNSIGNED NOT NULL,
290 `x` INT(5) UNSIGNED NOT NULL,
291 `y` INT(5) UNSIGNED NOT NULL,
292 `z` TINYINT(2) UNSIGNED NOT NULL,
293 UNIQUE (`id`, `world_id`),
294 KEY (`x`, `y`, `z`),
295 FOREIGN KEY (`house_id`, `world_id`) REFERENCES `houses`(`id`, `world_id`) ON DELETE CASCADE
296) ENGINE = InnoDB;
297
298CREATE TABLE `tile_items`
299(
300 `tile_id` INT UNSIGNED NOT NULL,
301 `world_id` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0,
302 `sid` INT NOT NULL,
303 `pid` INT NOT NULL DEFAULT 0,
304 `itemtype` INT NOT NULL,
305 `count` INT NOT NULL DEFAULT 0,
306 `attributes` BLOB NOT NULL,
307 UNIQUE (`tile_id`, `world_id`, `sid`), KEY (`sid`),
308 FOREIGN KEY (`tile_id`) REFERENCES `tiles`(`id`) ON DELETE CASCADE
309) ENGINE = InnoDB;
310
311CREATE TABLE `guilds`
312(
313 `id` INT NOT NULL AUTO_INCREMENT,
314 `world_id` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0,
315 `name` VARCHAR(255) NOT NULL,
316 `ownerid` INT NOT NULL,
317 `creationdata` INT NOT NULL,
318 `motd` VARCHAR(255) NOT NULL,
319 PRIMARY KEY (`id`),
320 UNIQUE (`name`, `world_id`)
321) ENGINE = InnoDB;
322
323CREATE TABLE `guild_invites`
324(
325 `player_id` INT NOT NULL DEFAULT 0,
326 `guild_id` INT NOT NULL DEFAULT 0,
327 UNIQUE (`player_id`, `guild_id`),
328 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE,
329 FOREIGN KEY (`guild_id`) REFERENCES `guilds`(`id`) ON DELETE CASCADE
330) ENGINE = InnoDB;
331
332CREATE TABLE `guild_ranks`
333(
334 `id` INT NOT NULL AUTO_INCREMENT,
335 `guild_id` INT NOT NULL,
336 `name` VARCHAR(255) NOT NULL,
337 `level` INT NOT NULL COMMENT '1 - leader, 2 - vice leader, 3 - member',
338 PRIMARY KEY (`id`),
339 FOREIGN KEY (`guild_id`) REFERENCES `guilds`(`id`) ON DELETE CASCADE
340) ENGINE = InnoDB;
341
342CREATE TABLE `bans`
343(
344 `id` INT UNSIGNED NOT NULL auto_increment,
345 `type` TINYINT(1) NOT NULL COMMENT '1 - ip banishment, 2 - namelock, 3 - account banishment, 4 - notation, 5 - deletion',
346 `value` INT UNSIGNED NOT NULL COMMENT 'ip address (integer), player guid or account number',
347 `param` INT UNSIGNED NOT NULL DEFAULT 4294967295 COMMENT 'used only for ip banishment mask (integer)',
348 `active` TINYINT(1) NOT NULL DEFAULT TRUE,
349 `expires` INT NOT NULL,
350 `added` INT UNSIGNED NOT NULL,
351 `admin_id` INT UNSIGNED NOT NULL DEFAULT 0,
352 `comment` TEXT NOT NULL,
353 `reason` INT UNSIGNED NOT NULL DEFAULT 0,
354 `action` INT UNSIGNED NOT NULL DEFAULT 0,
355 `statement` VARCHAR(255) NOT NULL DEFAULT '',
356 PRIMARY KEY (`id`),
357 KEY `type` (`type`, `value`),
358 KEY `active` (`active`)
359) ENGINE = InnoDB;
360
361CREATE TABLE `global_storage`
362(
363 `key` INT UNSIGNED NOT NULL,
364 `world_id` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0,
365 `value` VARCHAR(255) NOT NULL DEFAULT '0',
366 UNIQUE (`key`, `world_id`)
367) ENGINE = InnoDB;
368
369CREATE TABLE `server_config`
370(
371 `config` VARCHAR(35) NOT NULL DEFAULT '',
372 `value` INT NOT NULL,
373 UNIQUE (`config`)
374) ENGINE = InnoDB;
375
376INSERT INTO `server_config` VALUES ('db_version', 23);
377
378CREATE TABLE `server_motd`
379(
380 `id` INT UNSIGNED NOT NULL,
381 `world_id` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0,
382 `text` TEXT NOT NULL,
383 UNIQUE (`id`, `world_id`)
384) ENGINE = InnoDB;
385
386INSERT INTO `server_motd` VALUES (1, 0, 'Welcome to The Forgotten Server!');
387
388CREATE TABLE `server_record`
389(
390 `record` INT NOT NULL,
391 `world_id` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0,
392 `timestamp` BIGINT NOT NULL,
393 UNIQUE (`record`, `world_id`, `timestamp`)
394) ENGINE = InnoDB;
395
396INSERT INTO `server_record` VALUES (0, 0, 0);
397
398CREATE TABLE `server_reports`
399(
400 `id` INT NOT NULL AUTO_INCREMENT,
401 `world_id` TINYINT(2) UNSIGNED NOT NULL DEFAULT 0,
402 `player_id` INT NOT NULL DEFAULT 1,
403 `posx` INT NOT NULL DEFAULT 0,
404 `posy` INT NOT NULL DEFAULT 0,
405 `posz` INT NOT NULL DEFAULT 0,
406 `timestamp` BIGINT NOT NULL DEFAULT 0,
407 `report` TEXT NOT NULL,
408 `reads` INT NOT NULL DEFAULT 0,
409 PRIMARY KEY (`id`),
410 KEY (`world_id`), KEY (`reads`),
411 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
412) ENGINE = InnoDB;
413
414CREATE TABLE `polls`
415(
416 `id` INTEGER AUTO_INCREMENT,
417 `player_id` INT(11) NOT NULL,
418 `poll` VARCHAR(255) NOT NULL,
419 `options` VARCHAR(255) NOT NULL,
420 `timestamp` INT(11) NOT NULL,
421 PRIMARY KEY (`id`),
422 FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
423) ENGINE = InnoDB;
424
425CREATE TABLE `poll_votes`
426(
427 `poll_id` INT(11) NOT NULL,
428 `votes` VARCHAR(255) NOT NULL,
429 `account_id` VARCHAR(255) NOT NULL,
430 FOREIGN KEY (`poll_id`) REFERENCES `polls` (`id`) ON DELETE CASCADE
431) ENGINE = InnoDB;
432
433
434DELIMITER |
435
436CREATE TRIGGER `ondelete_accounts`
437BEFORE DELETE
438ON `accounts`
439FOR EACH ROW
440BEGIN
441 DELETE FROM `bans` WHERE `type` IN (3, 4) AND `value` = OLD.`id`;
442END|
443
444CREATE TRIGGER `oncreate_guilds`
445AFTER INSERT
446ON `guilds`
447FOR EACH ROW
448BEGIN
449 INSERT INTO `guild_ranks` (`name`, `level`, `guild_id`) VALUES ('Leader', 3, NEW.`id`);
450 INSERT INTO `guild_ranks` (`name`, `level`, `guild_id`) VALUES ('Vice-Leader', 2, NEW.`id`);
451 INSERT INTO `guild_ranks` (`name`, `level`, `guild_id`) VALUES ('Member', 1, NEW.`id`);
452END|
453
454CREATE TRIGGER `ondelete_guilds`
455BEFORE DELETE
456ON `guilds`
457FOR EACH ROW
458BEGIN
459 UPDATE `players` SET `guildnick` = '', `rank_id` = 0 WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = OLD.`id`);
460END|
461
462CREATE TRIGGER `oncreate_players`
463AFTER INSERT
464ON `players`
465FOR EACH ROW
466BEGIN
467 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 0, 10);
468 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 1, 10);
469 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 2, 10);
470 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 3, 10);
471 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 4, 10);
472 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 5, 10);
473 INSERT INTO `player_skills` (`player_id`, `skillid`, `value`) VALUES (NEW.`id`, 6, 10);
474END|
475
476CREATE TRIGGER `ondelete_players`
477BEFORE DELETE
478ON `players`
479FOR EACH ROW
480BEGIN
481 DELETE FROM `bans` WHERE `type` IN (2, 5) AND `value` = OLD.`id`;
482 UPDATE `houses` SET `owner` = 0 WHERE `owner` = OLD.`id`;
483END|
484
485DELIMITER ;