main-new.sql 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560
  1. #-------------------------
  2. #
  3. # LOGIN SERVER DATABASE
  4. #
  5. #-------------------------
  6. # Database: Ragnarok
  7. # Table: 'login'
  8. #
  9. CREATE TABLE `login` (
  10. `account_id` mediumint(7) UNSIGNED NOT NULL AUTO_INCREMENT,
  11. `userid` varchar(32) NOT NULL default '',
  12. `user_pass` varchar(32) NOT NULL default '',
  13. `lastlogin` datetime NOT NULL default '0000-00-00 00:00:00',
  14. `logincount` smallint(4) UNSIGNED NOT NULL default '0',
  15. `sex` CHAR NOT NULL default 'M',
  16. `email` varchar(60) NOT NULL default '',
  17. `level` tinyint(2) UNSIGNED NOT NULL default '0',
  18. `connect_until` int(11) UNSIGNED NOT NULL default '0',
  19. `last_ip` varchar(15) NOT NULL default '',
  20. `ban_until` int(11) UNSIGNED NOT NULL default '0',
  21. `state` tinyint(2) UNSIGNED NOT NULL default '0',
  22. PRIMARY KEY (`account_id`),
  23. INDEX (`account_id`,`userid`),
  24. ) TYPE=INNODB AUTO_INCREMENT=2000000;
  25. # added standard accounts for servers, VERY INSECURE!!!
  26. # inserted into the table called login which is above
  27. INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('1', 's1', 'p1', 'S','athena@athena.com');
  28. INSERT INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`) VALUES ('2', 's2', 'p2', 'S','athena@athena.com');
  29. # Database: Ragnarok
  30. # Table: 'login_error'
  31. #
  32. CREATE TABLE `login_error` (
  33. `err_id` tinyint(2) UNSIGNED NOT NULL default '0',
  34. `reason` varchar(100) NOT NULL default 'Unknown',
  35. PRIMARY KEY (`err_id`),
  36. INDEX (`err_id`)
  37. ) TYPE=MyISAM;
  38. # Database: Ragnarok
  39. # Table: 'loginlog'
  40. #
  41. CREATE TABLE `loginlog` (
  42. `time` datetime NOT NULL default '0000-00-00 00:00:00',
  43. `ip` varchar(15) NOT NULL default '',
  44. `user` varchar(32) NOT NULL default '',
  45. `rcode` tinyint(4) NOT NULL default '0',
  46. `log` varchar(255) NOT NULL default ''
  47. ) TYPE=MyISAM;
  48. # Database: Ragnarok
  49. # Table: 'ragsrvinfo'
  50. #
  51. CREATE TABLE `ragsrvinfo` (
  52. `index` tinyint(2) UNSIGNED NOT NULL default '0',
  53. `name` varchar(16) NOT NULL default '',
  54. `exp` smallint(4) UNSIGNED NOT NULL default '0',
  55. `jexp` smallint(4) UNSIGNED NOT NULL default '0',
  56. `drop` tinyint(2) UNSIGNED NOT NULL default '0',
  57. `motd` varchar(255) NOT NULL default ''
  58. ) TYPE=MyISAM;
  59. # Database: Ragnarok
  60. # Table: 'sstatus'
  61. #
  62. CREATE TABLE `sstatus` (
  63. `index` tinyint(4) NOT NULL default '0',
  64. `name` varchar(255) NOT NULL default '',
  65. `user` smallint(3) UNSIGNED NOT NULL default '0'
  66. ) TYPE=MyISAM;
  67. # Database: Ragnarok
  68. # Table: 'interlog'
  69. #
  70. CREATE TABLE `interlog` (
  71. `time` datetime NOT NULL default '0000-00-00 00:00:00',
  72. `log` varchar(255) NOT NULL default ''
  73. ) TYPE=MyISAM;
  74. # Database: Ragnarok
  75. # Table: 'ipbanlist'
  76. #
  77. CREATE TABLE `ipbanlist` (
  78. `list` varchar(255) NOT NULL default '',
  79. `btime` datetime NOT NULL default '0000-00-00 00:00:00',
  80. `rtime` datetime NOT NULL default '0000-00-00 00:00:00',
  81. `reason` varchar(255) NOT NULL default ''
  82. ) TYPE=MyISAM;
  83. # Database: Rangarok
  84. # Table: 'errors'
  85. #
  86. CREATE TABLE `errors` (
  87. `result` tinyint(3) UNSIGNED NOT NULL,
  88. `error` varchar(20) NOT NULL,
  89. INDEX (`result`)
  90. ) TYPE=MyISAM;
  91. INSERT INTO `errors` (`result`,`error`) VALUES
  92. ('1','Unregistered ID'),
  93. ('2','Incorrect Password'),
  94. ('3','Account Expired'),
  95. ('4','Rejected from Server'),
  96. ('5','Blocked by GM'),
  97. ('6','Not latest game EXE'),
  98. ('7','Banned'),
  99. ('8','Server OverPopulated'),
  100. ('9',''),
  101. ('100','Account Gone');
  102. ##########################
  103. #
  104. # Inter server / Char server databases
  105. # By CLOWNISIUS aka Anthony
  106. #
  107. ##########################
  108. # Database: Ragnarok
  109. # Table: 'party'
  110. #
  111. CREATE TABLE `party` (
  112. `party_id` smallint(3) UNSIGNED NOT NULL default '100',
  113. `name` varchar(100) NOT NULL default '',
  114. `exp` int(11) UNSIGNED NOT NULL default '0',
  115. `item` int(11) UNSIGNED NOT NULL default '0',
  116. `leader_id` smallint(4) UNSIGNED NOT NULL default '0',
  117. PRIMARY KEY (`party_id`),
  118. INDEX (`party_id`,`leader_id`)
  119. ) TYPE=INNODB;
  120. # Database: Ragnarok
  121. # Table: 'char'
  122. #
  123. CREATE TABLE `char` (
  124. `char_id` mediumint(6) UNSIGNED NOT NULL auto_increment,
  125. `account_id` mediumint(7) UNSIGNED NOT NULL default '0',
  126. `char_num` tinyint(1) UNSIGNED NOT NULL default '0',
  127. `name` varchar(32) NOT NULL default '',
  128. `class` smallint(4) UNSIGNED NOT NULL default '0',
  129. `base_level` tinyint(3) UNSIGNED NOT NULL default '1',
  130. `job_level` tinyint(3) UNSIGNED NOT NULL default '1',
  131. `base_exp` int(9) UNSIGNED NOT NULL default '0',
  132. `job_exp` int(9) UNSIGNED NOT NULL default '0',
  133. `zeny` int(11) UNSIGNED NOT NULL default '500',
  134. `str` tinyint(3) UNSIGNED NOT NULL default '0',
  135. `agi` tinyint(3) UNSIGNED NOT NULL default '0',
  136. `vit` tinyint(3) UNSIGNED NOT NULL default '0',
  137. `int` tinyint(3) UNSIGNED NOT NULL default '0',
  138. `dex` tinyint(3) UNSIGNED NOT NULL default '0',
  139. `luk` tinyint(3) UNSIGNED NOT NULL default '0',
  140. `max_hp` smallint(5) UNSIGNED NOT NULL default '0',
  141. `hp` smallint(5) UNSIGNED NOT NULL default '0',
  142. `max_sp` smallint(5) UNSIGNED NOT NULL default '0',
  143. `sp` smallint(5) UNSIGNED NOT NULL default '0',
  144. `status_point` smallint(4) UNSIGNED NOT NULL default '0',
  145. `skill_point` smallint(4) UNSIGNED NOT NULL default '0',
  146. `option` smallint(5) UNSIGNED NOT NULL default '0',
  147. `karma` tinyint(3) UNSIGNED NOT NULL default '0',
  148. `manner` tinyint(3) UNSIGNED NOT NULL default '0',
  149. `party_id` smallint(3) UNSIGNED NULL,
  150. `guild_id` smallint(5) UNSIGNED NULL,
  151. `pet_id` smallint(4) UNSIGNED NOT NULL default '0',
  152. `hair` tinyint(3) UNSIGNED NOT NULL default '0',
  153. `hair_color` tinyint(3) UNSIGNED NOT NULL default '0',
  154. `clothes_color` tinyint(3) UNSIGNED NOT NULL default '0',
  155. `weapon` tinyint(3) UNSIGNED NOT NULL default '1',
  156. `shield` tinyint(3) UNSIGNED NOT NULL default '0',
  157. `head_top` tinyint(3) UNSIGNED NOT NULL default '0',
  158. `head_mid` tinyint(3) UNSIGNED NOT NULL default '0',
  159. `head_bottom` tinyint(3) UNSIGNED NOT NULL default '0',
  160. `last_map` varchar(20) NOT NULL default 'new_5-1.gat',
  161. `last_x` smallint(3) UNSIGNED NOT NULL default '53',
  162. `last_y` smallint(3) UNSIGNED NOT NULL default '111',
  163. `save_map` varchar(20) NOT NULL default 'new_5-1.gat',
  164. `save_x` smallint(3) UNSIGNED NOT NULL default '53',
  165. `save_y` smallint(3) UNSIGNED NOT NULL default '111',
  166. `partner_id` mediumint(6) UNSIGNED NULL,
  167. `online` tinyint(1) NOT NULL default '0',
  168. PRIMARY KEY (`char_id`,`account_id`),
  169. INDEX (`account_id`,`char_id`,`name`),
  170. KEY (`partner_id`),
  171. KEY (`party_id`),
  172. KEY (`guild_id`),
  173. UNIQUE (`name`),
  174. FOREIGN KEY (`account_id`) REFERENCES `login` (`account_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  175. FOREIGN KEY (`partner_id`) REFERENCES `char` (`char_id`) ON DELETE SET NULL
  176. ) TYPE=INNODB AUTO_INCREMENT=150000;
  177. CREATE TABLE `friend` (
  178. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  179. `position` tinyint(1) UNSIGNED NOT NULL default '0',
  180. `friend_id` mediumint(6) UNSIGNED NOT NULL default '0',
  181. `friend_name` varchar(32) NOT NULL default '',
  182. PRIMARY KEY (`char_id`,`friend_id`),
  183. INDEX (`char_id`),
  184. INDEX (`friend_id`),
  185. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE,
  186. FOREIGN KEY (`friend_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  187. ) TYPE=InnoDB;
  188. # Database: Ragnarok
  189. # Table: 'global_reg_value'
  190. #
  191. CREATE TABLE `global_reg_value` (
  192. `char_id` mediumint(6) UNSIGNED,
  193. `str` varchar(255) NOT NULL default '',
  194. `value` varchar(255) NOT NULL default '0',
  195. `type` tinyint(3) UNSIGNED NOT NULL default '3',
  196. `account_id` mediumint(7) UNSIGNED,
  197. PRIMARY KEY (`char_id`,`str`,`account_id`),
  198. INDEX (`account_id`),
  199. INDEX (`char_id`),
  200. FOREIGN KEY (`account_id`) REFERENCES `login`(`account_id`) ON DELETE CASCADE,
  201. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  202. ) TYPE=INNODB;
  203. ## Cannot use due to char and account load from same database, saving will be done to diferent DBs soon.
  204. ## so that dependencies can be placed in.
  205. # Login register value.
  206. #
  207. CREATE TABLE `account_reg_value` (
  208. `account_id` mediumint(7) UNSIGNED,
  209. `str` varchar(255) NOT NULL default '',
  210. `value` varchar(255) NOT NULL default '0',
  211. KEY (`account_id`, `str`),
  212. FOREIGN KEY (`account_id`) REFERENCES `login`(`account_id`) ON DELETE CASCADE
  213. ) TYPE=INNODB;
  214. # Character register value.
  215. #
  216. CREATE TABLE `char_reg_value` (
  217. `char_id` mediumint(6) UNSIGNED,
  218. `str` varchar(255) NOT NULL default '',
  219. `value` varchar(255) NOT NULL default '0',
  220. PRIMARY KEY (`char_id`, `str`),
  221. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  222. ) TYPE=INNODB;
  223. # Database: Ragnarok
  224. # Table: 'inventory'
  225. #
  226. CREATE TABLE `inventory` (
  227. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  228. `id` smallint(4) UNSIGNED NOT NULL auto_increment,
  229. `nameid` smallint(4) UNSIGNED NOT NULL default '0',
  230. `amount` tinyint(3) UNSIGNED NOT NULL default '0',
  231. `equip` smallint(5) UNSIGNED NOT NULL default '0',
  232. `identify` tinyint(1) UNSIGNED NOT NULL default '0',
  233. `refine` tinyint(1) UNSIGNED NOT NULL default '0',
  234. `attribute` tinyint(3) UNSIGNED NOT NULL default '0',
  235. `card0` smallint(4) UNSIGNED NOT NULL default '0',
  236. `card1` smallint(4) UNSIGNED NOT NULL default '0',
  237. `card2` smallint(4) UNSIGNED NOT NULL default '0',
  238. `card3` smallint(4) UNSIGNED NOT NULL default '0',
  239. PRIMARY KEY (`id`,`char_id`),
  240. INDEX(`char_id`,`id`),
  241. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  242. ) TYPE=INNODB;
  243. # Database: Ragnarok
  244. # Table: 'memo'
  245. #
  246. CREATE TABLE `memo` (
  247. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  248. `memo_id` smallint(4) UNSIGNED NOT NULL default '0',
  249. `map` varchar(20) NOT NULL default '',
  250. `x` smallint(3) UNSIGNED NOT NULL default '0',
  251. `y` smallint(3) UNSIGNED NOT NULL default '0',
  252. PRIMARY KEY (`char_id`,`memo_id`),
  253. INDEX (`char_id`,`memo_id`),
  254. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  255. ) TYPE=INNODB;
  256. # Database: Ragnarok
  257. # Table: 'pet'
  258. #
  259. CREATE TABLE `pet` (
  260. `pet_id` smallint(4) UNSIGNED NOT NULL default '0',
  261. `class` smallint(4) UNSIGNED NOT NULL default '0',
  262. `name` varchar(24) NOT NULL default '',
  263. `account_id` mediumint(7) UNSIGNED NOT NULL default '0',
  264. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  265. `level` tinyint(3) UNSIGNED NOT NULL default '0',
  266. `egg_id` smallint(4) UNSIGNED NOT NULL default '0',
  267. `equip` smallint(5) UNSIGNED NOT NULL default '0',
  268. `intimate` smallint(4) UNSIGNED NOT NULL default '0',
  269. `hungry` tinyint(3) UNSIGNED NOT NULL default '0',
  270. `rename_flag` tinyint(1) UNSIGNED NOT NULL default '0',
  271. `incuvate` tinyint(1) UNSIGNED NOT NULL default '0',
  272. PRIMARY KEY (`char_id`,`pet_id`),
  273. INDEX (`char_id`,`pet_id`),
  274. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  275. ) TYPE=INNODB;
  276. # Database: Ragnarok
  277. # Table: 'skill'
  278. #
  279. CREATE TABLE `skill` (
  280. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  281. `id` smallint(3) UNSIGNED NOT NULL default '0',
  282. `lv` tinyint(3) UNSIGNED NOT NULL default '0',
  283. PRIMARY KEY (`char_id`,`id`),
  284. INDEX (`char_id`,`id`),
  285. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  286. ) TYPE=INNODB;
  287. # Database: Ragnarok
  288. # Table: 'cart_inventory'
  289. #
  290. CREATE TABLE `cart_inventory` (
  291. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  292. `id` smallint(4) UNSIGNED NOT NULL auto_increment,
  293. `nameid` smallint(4) UNSIGNED NOT NULL default '0',
  294. `amount` tinyint(3) UNSIGNED NOT NULL default '0',
  295. `equip` smallint(5) UNSIGNED NOT NULL default '0',
  296. `identify` tinyint(1) UNSIGNED NOT NULL default '0',
  297. `refine` tinyint(1) UNSIGNED NOT NULL default '0',
  298. `attribute` tinyint(4) UNSIGNED NOT NULL default '0',
  299. `card0` smallint(4) UNSIGNED NOT NULL default '0',
  300. `card1` smallint(4) UNSIGNED NOT NULL default '0',
  301. `card2` smallint(4) UNSIGNED NOT NULL default '0',
  302. `card3` smallint(4) UNSIGNED NOT NULL default '0',
  303. PRIMARY KEY (`id`,`char_id`),
  304. INDEX (`char_id`,`id`),
  305. FOREIGN KEY (`char_id`) REFERENCES `char`(`char_id`) ON DELETE CASCADE
  306. ) TYPE=INNODB;
  307. # Database: Ragnarok
  308. # Table: 'storage'
  309. #
  310. CREATE TABLE `storage` (
  311. `account_id` mediumint(7) UNSIGNED NOT NULL default '0',
  312. `id` smallint(4) UNSIGNED NOT NULL default '0',
  313. `nameid` smallint(4) UNSIGNED NOT NULL default '0',
  314. `amount` tinyint(3) UNSIGNED NOT NULL default '0',
  315. `equip` smallint(5) UNSIGNED NOT NULL default '0',
  316. `identify` tinyint(1) UNSIGNED NOT NULL default '0',
  317. `refine` tinyint(1) UNSIGNED NOT NULL default '0',
  318. `attribute` tinyint(4) UNSIGNED NOT NULL default '0',
  319. `card0` smallint(4) UNSIGNED NOT NULL default '0',
  320. `card1` smallint(4) UNSIGNED NOT NULL default '0',
  321. `card2` smallint(4) UNSIGNED NOT NULL default '0',
  322. `card3` smallint(4) UNSIGNED NOT NULL default '0',
  323. PRIMARY KEY (`account_id`,`id`),
  324. INDEX (`account_id`,`id`),
  325. FOREIGN KEY (`account_id`) REFERENCES `login` (`account_id`) ON DELETE CASCADE
  326. ) TYPE=INNODB;
  327. ##########################
  328. #
  329. # Inter server / Guild server databases
  330. # By CLOWNISIUS aka Anthony
  331. #
  332. ##########################
  333. # Database: Ragnarok
  334. # Table: 'guild'
  335. #
  336. CREATE TABLE `guild` (
  337. `guild_id` smallint(5) UNSIGNED NOT NULL default '10000',
  338. `name` varchar(24) NOT NULL default '',
  339. `char_id` mediumint(6) UNSIGNED NOT NULL default '10000',
  340. `master` varchar(24) NOT NULL default '',
  341. `guild_lv` tinyint(3) UNSIGNED NOT NULL default '0',
  342. `connect_member` tinyint(3) UNSIGNED NOT NULL default '0',
  343. `max_member` tinyint(3) UNSIGNED NOT NULL default '0',
  344. `average_lv` tinyint(3) UNSIGNED NOT NULL default '0',
  345. `exp` int(9) UNSIGNED NOT NULL default '0',
  346. `next_exp` int(9) UNSIGNED NOT NULL default '0',
  347. `skill_point` smallint(4) UNSIGNED NOT NULL default '0',
  348. `castle_id` smallint(5) UNSIGNED NOT NULL default '-1',
  349. `mes1` varchar(60) NOT NULL default '',
  350. `mes2` varchar(120) NOT NULL default '',
  351. `emblem_len` int(11) UNSIGNED NOT NULL default '0',
  352. `emblem_id` int(11) UNSIGNED NOT NULL default '0',
  353. `emblem_data` blob NOT NULL,
  354. PRIMARY KEY (`guild_id`,`char_id`),
  355. INDEX (`char_id`,`guild_id`),
  356. FOREIGN KEY (`char_id`) REFERENCES `char`(`char_id`) ON DELETE CASCADE
  357. ) TYPE=INNODB;
  358. CREATE TABLE `guild_alliance` (
  359. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  360. `opposition` smallint(5) UNSIGNED NOT NULL default '0',
  361. `alliance_id` smallint(5) UNSIGNED NOT NULL default '0',
  362. `name` varchar(24) NOT NULL default '',
  363. PRIMARY KEY (`guild_id`,`alliance_id`),
  364. INDEX (`guild_id`),
  365. INDEX (`alliance_id`),
  366. FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE,
  367. FOREIGN KEY (`alliance_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
  368. ) TYPE=INNODB;
  369. # Database: Ragnarok
  370. # Table: 'guild_castle'
  371. #
  372. CREATE TABLE `guild_castle` (
  373. `castle_id` smallint(5) UNSIGNED NOT NULL default '0',
  374. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  375. `economy` int(11) NOT NULL default '0',
  376. `defense` int(11) NOT NULL default '0',
  377. `triggerE` int(11) NOT NULL default '0',
  378. `triggerD` int(11) NOT NULL default '0',
  379. `nextTime` int(11) NOT NULL default '0',
  380. `payTime` int(11) NOT NULL default '0',
  381. `createTime` int(11) NOT NULL default '0',
  382. `visibleC` int(11) NOT NULL default '0',
  383. `visibleG0` int(11) NOT NULL default '0',
  384. `visibleG1` int(11) NOT NULL default '0',
  385. `visibleG2` int(11) NOT NULL default '0',
  386. `visibleG3` int(11) NOT NULL default '0',
  387. `visibleG4` int(11) NOT NULL default '0',
  388. `visibleG5` int(11) NOT NULL default '0',
  389. `visibleG6` int(11) NOT NULL default '0',
  390. `visibleG7` int(11) NOT NULL default '0',
  391. `gHP0` smallint(5) UNSIGNED NOT NULL default '0',
  392. `ghP1` smallint(5) UNSIGNED NOT NULL default '0',
  393. `gHP2` smallint(5) UNSIGNED NOT NULL default '0',
  394. `gHP3` smallint(5) UNSIGNED NOT NULL default '0',
  395. `gHP4` smallint(5) UNSIGNED NOT NULL default '0',
  396. `gHP5` smallint(5) UNSIGNED NOT NULL default '0',
  397. `gHP6` smallint(5) UNSIGNED NOT NULL default '0',
  398. `gHP7` smallint(5) UNSIGNED NOT NULL default '0',
  399. PRIMARY KEY (`castle_id`),
  400. INDEX (`guild_id`,`castle_id`),
  401. FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
  402. ) TYPE=INNODB;
  403. # Database: Ragnarok
  404. # Table: 'guild_expulsion'
  405. #
  406. CREATE TABLE `guild_expulsion` (
  407. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  408. `name` varchar(24) NOT NULL default '',
  409. `mes` varchar(40) NOT NULL default '',
  410. `acc` varchar(40) NOT NULL default '',
  411. `account_id` mediumint(7) UNSIGNED NOT NULL default '0',
  412. `rsv1` int(11) NOT NULL default '0',
  413. `rsv2` int(11) NOT NULL default '0',
  414. `rsv3` int(11) NOT NULL default '0',
  415. PRIMARY KEY (`guild_id`,`name`),
  416. INDEX (`guild_id`,`name`),
  417. FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
  418. ) TYPE=INNODB;
  419. ##########################
  420. #
  421. # Linked Database to the CHAR section and LOGIN
  422. #
  423. ##########################
  424. # Database: Ragnarok
  425. # Table: 'guild_member'
  426. #
  427. CREATE TABLE `guild_member` (
  428. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  429. `account_id` mediumint(7) UNSIGNED NOT NULL default '0',
  430. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  431. `hair` tinyint(3) UNSIGNED NOT NULL default '0',
  432. `hair_color` tinyint(3) UNSIGNED NOT NULL default '0',
  433. `gender` tinyint(3) UNSIGNED NOT NULL default '0',
  434. `class` smallint(4) UNSIGNED NOT NULL default '0',
  435. `lv` tinyint(3) UNSIGNED NOT NULL default '0',
  436. `exp` int(9) UNSIGNED NOT NULL default '0',
  437. `exp_payper` int(9) UNSIGNED NOT NULL default '0',
  438. `online` tinyint(1) UNSIGNED NOT NULL default '0',
  439. `position` smallint(6) UNSIGNED NOT NULL default '0',
  440. `rsv1` int(11) UNSIGNED NOT NULL default '0',
  441. `rsv2` int(11) UNSIGNED NOT NULL default '0',
  442. `name` varchar(24) NOT NULL default '',
  443. PRIMARY KEY (`guild_id`,`char_id`),
  444. INDEX (`guild_id`),
  445. INDEX (`char_id`),
  446. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE,
  447. FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
  448. ) TYPE=INNODB;
  449. # Database: Ragnarok
  450. # Table: 'guild_position'
  451. #
  452. CREATE TABLE `guild_position` (
  453. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  454. `position` smallint(5) UNSIGNED NOT NULL default '0',
  455. `name` varchar(24) NOT NULL default '',
  456. `mode` int(11) UNSIGNED NOT NULL default '0',
  457. `exp_mode` int(11) UNSIGNED NOT NULL default '0',
  458. PRIMARY KEY (`guild_id`),
  459. INDEX (`guild_id`),
  460. FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
  461. ) TYPE=INNODB;
  462. # Database: Ragnarok
  463. # Table: 'guild_skill'
  464. #
  465. CREATE TABLE `guild_skill` (
  466. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  467. `id` smallint(4) UNSIGNED NOT NULL default '0',
  468. `lv` tinyint(3) UNSIGNED NOT NULL default '0',
  469. PRIMARY KEY (`guild_id`,`id`),
  470. INDEX (`guild_id`,`id`),
  471. FOREIGN KEY (`guild_id`) REFERENCES `guild`(`guild_id`) ON DELETE CASCADE
  472. ) TYPE=INNODB;
  473. # Database: Ragnarok
  474. # Table: 'guild_storage'
  475. #
  476. CREATE TABLE `guild_storage` (
  477. `id` mediumint(5) UNSIGNED NOT NULL auto_increment,
  478. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  479. `nameid` smallint(4) UNSIGNED NOT NULL default '0',
  480. `amount` tinyint(3) UNSIGNED NOT NULL default '0',
  481. `equip` smallint(5) UNSIGNED NOT NULL default '0',
  482. `identify` tinyint(1) UNSIGNED NOT NULL default '0',
  483. `refine` tinyint(1) UNSIGNED NOT NULL default '0',
  484. `attribute` tinyint(4) UNSIGNED NOT NULL default '0',
  485. `card0` smallint(4) UNSIGNED NOT NULL default '0',
  486. `card1` smallint(4) UNSIGNED NOT NULL default '0',
  487. `card2` smallint(4) UNSIGNED NOT NULL default '0',
  488. `card3` smallint(4) UNSIGNED NOT NULL default '0',
  489. PRIMARY KEY (`guild_id`,`id`),
  490. INDEX (`id`,`guild_id`),
  491. FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
  492. ) TYPE=INNODB;
  493. # Database: Ragnarok
  494. # Table: 'charlog'
  495. #
  496. CREATE TABLE `charlog` (
  497. `time` datetime NOT NULL default '0000-00-00 00:00:00',
  498. `char_msg` varchar(255) NOT NULL default 'char select',
  499. `account_id` mediumint(7) UNSIGNED NOT NULL default '0',
  500. `char_num` tinyint(1) UNSIGNED NOT NULL default '0',
  501. `name` varchar(255) NOT NULL default '',
  502. `str` tinyint(3) UNSIGNED NOT NULL default '0',
  503. `agi` tinyint(3) UNSIGNED NOT NULL default '0',
  504. `vit` tinyint(3) UNSIGNED NOT NULL default '0',
  505. `int` tinyint(3) UNSIGNED NOT NULL default '0',
  506. `dex` tinyint(3) UNSIGNED NOT NULL default '0',
  507. `luk` tinyint(3) UNSIGNED NOT NULL default '0',
  508. `hair` tinyint(3) UNSIGNED NOT NULL default '0',
  509. `hair_color` tinyint(3) UNSIGNED NOT NULL default '0'
  510. ) TYPE=MyISAM;
  511. ALTER TABLE `char` ADD FOREIGN KEY (`party_id`) REFERENCES `party` (`party_id`) ON DELETE SET NULL ON UPDATE SET NULL;
  512. ALTER TABLE `char` ADD FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE SET NULL ON UPDATE SET NULL;