main-new.sql 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559
  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. FOREIGN KEY (`account_id`) REFERENCES `login` (`account_id`) ON DELETE CASCADE ON UPDATE CASCADE,
  174. FOREIGN KEY (`partner_id`) REFERENCES `char` (`char_id`) ON DELETE SET NULL
  175. ) TYPE=INNODB AUTO_INCREMENT=150001;
  176. CREATE TABLE `friend` (
  177. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  178. `position` tinyint(1) UNSIGNED NOT NULL default '0',
  179. `friend_id` mediumint(6) UNSIGNED NOT NULL default '0',
  180. `friend_name` varchar(32) NOT NULL default '',
  181. PRIMARY KEY (`char_id`,`friend_id`),
  182. INDEX (`char_id`),
  183. INDEX (`friend_id`),
  184. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE,
  185. FOREIGN KEY (`friend_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  186. ) TYPE=InnoDB;
  187. # Database: Ragnarok
  188. # Table: 'global_reg_value'
  189. #
  190. CREATE TABLE `global_reg_value` (
  191. `char_id` mediumint(6) UNSIGNED,
  192. `str` varchar(255) NOT NULL default '',
  193. `value` varchar(255) NOT NULL default '0',
  194. `type` tinyint(3) UNSIGNED NOT NULL default '3',
  195. `account_id` mediumint(7) UNSIGNED,
  196. PRIMARY KEY (`char_id`,`str`,`account_id`),
  197. INDEX (`account_id`),
  198. INDEX (`char_id`),
  199. FOREIGN KEY (`account_id`) REFERENCES `login`(`account_id`) ON DELETE CASCADE,
  200. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  201. ) TYPE=INNODB;
  202. ## Cannot use due to char and account load from same database, saving will be done to diferent DBs soon.
  203. ## so that dependencies can be placed in.
  204. # Login register value.
  205. #
  206. CREATE TABLE `account_reg_value` (
  207. `account_id` mediumint(7) UNSIGNED,
  208. `str` varchar(255) NOT NULL default '',
  209. `value` varchar(255) NOT NULL default '0',
  210. KEY (`account_id`, `str`),
  211. FOREIGN KEY (`account_id`) REFERENCES `login`(`account_id`) ON DELETE CASCADE
  212. ) TYPE=INNODB;
  213. # Character register value.
  214. #
  215. CREATE TABLE `char_reg_value` (
  216. `char_id` mediumint(6) UNSIGNED,
  217. `str` varchar(255) NOT NULL default '',
  218. `value` varchar(255) NOT NULL default '0',
  219. PRIMARY KEY (`char_id`, `str`),
  220. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  221. ) TYPE=INNODB;
  222. # Database: Ragnarok
  223. # Table: 'inventory'
  224. #
  225. CREATE TABLE `inventory` (
  226. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  227. `id` smallint(4) UNSIGNED NOT NULL auto_increment,
  228. `nameid` smallint(4) UNSIGNED NOT NULL default '0',
  229. `amount` tinyint(3) UNSIGNED NOT NULL default '0',
  230. `equip` smallint(5) UNSIGNED NOT NULL default '0',
  231. `identify` tinyint(1) UNSIGNED NOT NULL default '0',
  232. `refine` tinyint(1) UNSIGNED NOT NULL default '0',
  233. `attribute` tinyint(3) UNSIGNED NOT NULL default '0',
  234. `card0` smallint(4) UNSIGNED NOT NULL default '0',
  235. `card1` smallint(4) UNSIGNED NOT NULL default '0',
  236. `card2` smallint(4) UNSIGNED NOT NULL default '0',
  237. `card3` smallint(4) UNSIGNED NOT NULL default '0',
  238. PRIMARY KEY (`id`,`char_id`),
  239. INDEX(`char_id`,`id`),
  240. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  241. ) TYPE=INNODB;
  242. # Database: Ragnarok
  243. # Table: 'memo'
  244. #
  245. CREATE TABLE `memo` (
  246. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  247. `memo_id` smallint(4) UNSIGNED NOT NULL default '0',
  248. `map` varchar(20) NOT NULL default '',
  249. `x` smallint(3) UNSIGNED NOT NULL default '0',
  250. `y` smallint(3) UNSIGNED NOT NULL default '0',
  251. PRIMARY KEY (`char_id`,`memo_id`),
  252. INDEX (`char_id`,`memo_id`),
  253. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  254. ) TYPE=INNODB;
  255. # Database: Ragnarok
  256. # Table: 'pet'
  257. #
  258. CREATE TABLE `pet` (
  259. `pet_id` smallint(4) UNSIGNED NOT NULL default '0',
  260. `class` smallint(4) UNSIGNED NOT NULL default '0',
  261. `name` varchar(24) NOT NULL default '',
  262. `account_id` mediumint(7) UNSIGNED NOT NULL default '0',
  263. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  264. `level` tinyint(3) UNSIGNED NOT NULL default '0',
  265. `egg_id` smallint(4) UNSIGNED NOT NULL default '0',
  266. `equip` smallint(5) UNSIGNED NOT NULL default '0',
  267. `intimate` smallint(4) UNSIGNED NOT NULL default '0',
  268. `hungry` tinyint(3) UNSIGNED NOT NULL default '0',
  269. `rename_flag` tinyint(1) UNSIGNED NOT NULL default '0',
  270. `incuvate` tinyint(1) UNSIGNED NOT NULL default '0',
  271. PRIMARY KEY (`char_id`,`pet_id`),
  272. INDEX (`char_id`,`pet_id`),
  273. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  274. ) TYPE=INNODB;
  275. # Database: Ragnarok
  276. # Table: 'skill'
  277. #
  278. CREATE TABLE `skill` (
  279. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  280. `id` smallint(3) UNSIGNED NOT NULL default '0',
  281. `lv` tinyint(3) UNSIGNED NOT NULL default '0',
  282. PRIMARY KEY (`char_id`,`id`),
  283. INDEX (`char_id`,`id`),
  284. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE
  285. ) TYPE=INNODB;
  286. # Database: Ragnarok
  287. # Table: 'cart_inventory'
  288. #
  289. CREATE TABLE `cart_inventory` (
  290. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  291. `id` smallint(4) UNSIGNED NOT NULL auto_increment,
  292. `nameid` smallint(4) UNSIGNED NOT NULL default '0',
  293. `amount` tinyint(3) UNSIGNED NOT NULL default '0',
  294. `equip` smallint(5) UNSIGNED NOT NULL default '0',
  295. `identify` tinyint(1) UNSIGNED NOT NULL default '0',
  296. `refine` tinyint(1) UNSIGNED NOT NULL default '0',
  297. `attribute` tinyint(4) UNSIGNED NOT NULL default '0',
  298. `card0` smallint(4) UNSIGNED NOT NULL default '0',
  299. `card1` smallint(4) UNSIGNED NOT NULL default '0',
  300. `card2` smallint(4) UNSIGNED NOT NULL default '0',
  301. `card3` smallint(4) UNSIGNED NOT NULL default '0',
  302. PRIMARY KEY (`id`,`char_id`),
  303. INDEX (`char_id`,`id`),
  304. FOREIGN KEY (`char_id`) REFERENCES `char`(`char_id`) ON DELETE CASCADE
  305. ) TYPE=INNODB;
  306. # Database: Ragnarok
  307. # Table: 'storage'
  308. #
  309. CREATE TABLE `storage` (
  310. `account_id` mediumint(7) UNSIGNED NOT NULL default '0',
  311. `id` smallint(4) UNSIGNED NOT NULL default '0',
  312. `nameid` smallint(4) UNSIGNED NOT NULL default '0',
  313. `amount` tinyint(3) UNSIGNED NOT NULL default '0',
  314. `equip` smallint(5) UNSIGNED NOT NULL default '0',
  315. `identify` tinyint(1) UNSIGNED NOT NULL default '0',
  316. `refine` tinyint(1) UNSIGNED NOT NULL default '0',
  317. `attribute` tinyint(4) UNSIGNED NOT NULL default '0',
  318. `card0` smallint(4) UNSIGNED NOT NULL default '0',
  319. `card1` smallint(4) UNSIGNED NOT NULL default '0',
  320. `card2` smallint(4) UNSIGNED NOT NULL default '0',
  321. `card3` smallint(4) UNSIGNED NOT NULL default '0',
  322. PRIMARY KEY (`account_id`,`id`),
  323. INDEX (`account_id`,`id`),
  324. FOREIGN KEY (`account_id`) REFERENCES `login` (`account_id`) ON DELETE CASCADE
  325. ) TYPE=INNODB;
  326. ##########################
  327. #
  328. # Inter server / Guild server databases
  329. # By CLOWNISIUS aka Anthony
  330. #
  331. ##########################
  332. # Database: Ragnarok
  333. # Table: 'guild'
  334. #
  335. CREATE TABLE `guild` (
  336. `guild_id` smallint(5) UNSIGNED NOT NULL default '10000',
  337. `name` varchar(24) NOT NULL default '',
  338. `char_id` mediumint(6) UNSIGNED NOT NULL default '10000',
  339. `master` varchar(24) NOT NULL default '',
  340. `guild_lv` tinyint(3) UNSIGNED NOT NULL default '0',
  341. `connect_member` tinyint(3) UNSIGNED NOT NULL default '0',
  342. `max_member` tinyint(3) UNSIGNED NOT NULL default '0',
  343. `average_lv` tinyint(3) UNSIGNED NOT NULL default '0',
  344. `exp` int(9) UNSIGNED NOT NULL default '0',
  345. `next_exp` int(9) UNSIGNED NOT NULL default '0',
  346. `skill_point` smallint(4) UNSIGNED NOT NULL default '0',
  347. `castle_id` smallint(5) UNSIGNED NOT NULL default '-1',
  348. `mes1` varchar(60) NOT NULL default '',
  349. `mes2` varchar(120) NOT NULL default '',
  350. `emblem_len` int(11) UNSIGNED NOT NULL default '0',
  351. `emblem_id` int(11) UNSIGNED NOT NULL default '0',
  352. `emblem_data` blob NOT NULL,
  353. PRIMARY KEY (`guild_id`,`char_id`),
  354. INDEX (`char_id`,`guild_id`),
  355. FOREIGN KEY (`char_id`) REFERENCES `char`(`char_id`) ON DELETE CASCADE
  356. ) TYPE=INNODB;
  357. CREATE TABLE `guild_alliance` (
  358. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  359. `opposition` smallint(5) UNSIGNED NOT NULL default '0',
  360. `alliance_id` smallint(5) UNSIGNED NOT NULL default '0',
  361. `name` varchar(24) NOT NULL default '',
  362. PRIMARY KEY (`guild_id`,`alliance_id`),
  363. INDEX (`guild_id`),
  364. INDEX (`alliance_id`),
  365. FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE,
  366. FOREIGN KEY (`alliance_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
  367. ) TYPE=INNODB;
  368. # Database: Ragnarok
  369. # Table: 'guild_castle'
  370. #
  371. CREATE TABLE `guild_castle` (
  372. `castle_id` smallint(5) UNSIGNED NOT NULL default '0',
  373. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  374. `economy` int(11) NOT NULL default '0',
  375. `defense` int(11) NOT NULL default '0',
  376. `triggerE` int(11) NOT NULL default '0',
  377. `triggerD` int(11) NOT NULL default '0',
  378. `nextTime` int(11) NOT NULL default '0',
  379. `payTime` int(11) NOT NULL default '0',
  380. `createTime` int(11) NOT NULL default '0',
  381. `visibleC` int(11) NOT NULL default '0',
  382. `visibleG0` int(11) NOT NULL default '0',
  383. `visibleG1` int(11) NOT NULL default '0',
  384. `visibleG2` int(11) NOT NULL default '0',
  385. `visibleG3` int(11) NOT NULL default '0',
  386. `visibleG4` int(11) NOT NULL default '0',
  387. `visibleG5` int(11) NOT NULL default '0',
  388. `visibleG6` int(11) NOT NULL default '0',
  389. `visibleG7` int(11) NOT NULL default '0',
  390. `gHP0` smallint(5) UNSIGNED NOT NULL default '0',
  391. `ghP1` smallint(5) UNSIGNED NOT NULL default '0',
  392. `gHP2` smallint(5) UNSIGNED NOT NULL default '0',
  393. `gHP3` smallint(5) UNSIGNED NOT NULL default '0',
  394. `gHP4` smallint(5) UNSIGNED NOT NULL default '0',
  395. `gHP5` smallint(5) UNSIGNED NOT NULL default '0',
  396. `gHP6` smallint(5) UNSIGNED NOT NULL default '0',
  397. `gHP7` smallint(5) UNSIGNED NOT NULL default '0',
  398. PRIMARY KEY (`castle_id`),
  399. INDEX (`guild_id`,`castle_id`),
  400. FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
  401. ) TYPE=INNODB;
  402. # Database: Ragnarok
  403. # Table: 'guild_expulsion'
  404. #
  405. CREATE TABLE `guild_expulsion` (
  406. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  407. `name` varchar(24) NOT NULL default '',
  408. `mes` varchar(40) NOT NULL default '',
  409. `acc` varchar(40) NOT NULL default '',
  410. `account_id` mediumint(7) UNSIGNED NOT NULL default '0',
  411. `rsv1` int(11) NOT NULL default '0',
  412. `rsv2` int(11) NOT NULL default '0',
  413. `rsv3` int(11) NOT NULL default '0',
  414. PRIMARY KEY (`guild_id`,`name`),
  415. INDEX (`guild_id`,`name`),
  416. FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
  417. ) TYPE=INNODB;
  418. ##########################
  419. #
  420. # Linked Database to the CHAR section and LOGIN
  421. #
  422. ##########################
  423. # Database: Ragnarok
  424. # Table: 'guild_member'
  425. #
  426. CREATE TABLE `guild_member` (
  427. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  428. `account_id` mediumint(7) UNSIGNED NOT NULL default '0',
  429. `char_id` mediumint(6) UNSIGNED NOT NULL default '0',
  430. `hair` tinyint(3) UNSIGNED NOT NULL default '0',
  431. `hair_color` tinyint(3) UNSIGNED NOT NULL default '0',
  432. `gender` tinyint(3) UNSIGNED NOT NULL default '0',
  433. `class` smallint(4) UNSIGNED NOT NULL default '0',
  434. `lv` tinyint(3) UNSIGNED NOT NULL default '0',
  435. `exp` int(9) UNSIGNED NOT NULL default '0',
  436. `exp_payper` int(9) UNSIGNED NOT NULL default '0',
  437. `online` tinyint(1) UNSIGNED NOT NULL default '0',
  438. `position` smallint(6) UNSIGNED NOT NULL default '0',
  439. `rsv1` int(11) UNSIGNED NOT NULL default '0',
  440. `rsv2` int(11) UNSIGNED NOT NULL default '0',
  441. `name` varchar(24) NOT NULL default '',
  442. PRIMARY KEY (`guild_id`,`char_id`),
  443. INDEX (`guild_id`),
  444. INDEX (`char_id`),
  445. FOREIGN KEY (`char_id`) REFERENCES `char` (`char_id`) ON DELETE CASCADE,
  446. FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
  447. ) TYPE=INNODB;
  448. # Database: Ragnarok
  449. # Table: 'guild_position'
  450. #
  451. CREATE TABLE `guild_position` (
  452. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  453. `position` smallint(5) UNSIGNED NOT NULL default '0',
  454. `name` varchar(24) NOT NULL default '',
  455. `mode` int(11) UNSIGNED NOT NULL default '0',
  456. `exp_mode` int(11) UNSIGNED NOT NULL default '0',
  457. PRIMARY KEY (`guild_id`),
  458. INDEX (`guild_id`),
  459. FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
  460. ) TYPE=INNODB;
  461. # Database: Ragnarok
  462. # Table: 'guild_skill'
  463. #
  464. CREATE TABLE `guild_skill` (
  465. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  466. `id` smallint(4) UNSIGNED NOT NULL default '0',
  467. `lv` tinyint(3) UNSIGNED NOT NULL default '0',
  468. PRIMARY KEY (`guild_id`,`id`),
  469. INDEX (`guild_id`,`id`),
  470. FOREIGN KEY (`guild_id`) REFERENCES `guild`(`guild_id`) ON DELETE CASCADE
  471. ) TYPE=INNODB;
  472. # Database: Ragnarok
  473. # Table: 'guild_storage'
  474. #
  475. CREATE TABLE `guild_storage` (
  476. `id` mediumint(5) UNSIGNED NOT NULL auto_increment,
  477. `guild_id` smallint(5) UNSIGNED NOT NULL default '0',
  478. `nameid` smallint(4) UNSIGNED NOT NULL default '0',
  479. `amount` tinyint(3) UNSIGNED NOT NULL default '0',
  480. `equip` smallint(5) UNSIGNED NOT NULL default '0',
  481. `identify` tinyint(1) UNSIGNED NOT NULL default '0',
  482. `refine` tinyint(1) UNSIGNED NOT NULL default '0',
  483. `attribute` tinyint(4) UNSIGNED NOT NULL default '0',
  484. `card0` smallint(4) UNSIGNED NOT NULL default '0',
  485. `card1` smallint(4) UNSIGNED NOT NULL default '0',
  486. `card2` smallint(4) UNSIGNED NOT NULL default '0',
  487. `card3` smallint(4) UNSIGNED NOT NULL default '0',
  488. PRIMARY KEY (`guild_id`,`id`),
  489. INDEX (`id`,`guild_id`),
  490. FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE CASCADE
  491. ) TYPE=INNODB;
  492. # Database: Ragnarok
  493. # Table: 'charlog'
  494. #
  495. CREATE TABLE `charlog` (
  496. `time` datetime NOT NULL default '0000-00-00 00:00:00',
  497. `char_msg` varchar(255) NOT NULL default 'char select',
  498. `account_id` mediumint(7) UNSIGNED NOT NULL default '0',
  499. `char_num` tinyint(1) UNSIGNED NOT NULL default '0',
  500. `name` varchar(255) NOT NULL default '',
  501. `str` tinyint(3) UNSIGNED NOT NULL default '0',
  502. `agi` tinyint(3) UNSIGNED NOT NULL default '0',
  503. `vit` tinyint(3) UNSIGNED NOT NULL default '0',
  504. `int` tinyint(3) UNSIGNED NOT NULL default '0',
  505. `dex` tinyint(3) UNSIGNED NOT NULL default '0',
  506. `luk` tinyint(3) UNSIGNED NOT NULL default '0',
  507. `hair` tinyint(3) UNSIGNED NOT NULL default '0',
  508. `hair_color` tinyint(3) UNSIGNED NOT NULL default '0'
  509. ) TYPE=MyISAM;
  510. ALTER TABLE `char` ADD FOREIGN KEY (`party_id`) REFERENCES `party` (`party_id`) ON DELETE SET NULL ON UPDATE SET NULL;
  511. ALTER TABLE `char` ADD FOREIGN KEY (`guild_id`) REFERENCES `guild` (`guild_id`) ON DELETE SET NULL ON UPDATE SET NULL;