Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.11 KB | None | 0 0
  1. local function initDB()
  2. GAMEMODE.Database = assert(mysql.New{
  3. Host = "198.27.74.181",
  4. User = "santosrp",
  5. Pass = "A$fj1x6E3Tm#",
  6. Name = "santosrp"
  7. }, "Couldn't connect to database! Retrying in 5..")
  8. if not GAMEMODE.Database then timer.Simple(5, initDB) return end
  9.  
  10. hook.Add("Tick", "MySQLPoll", mysql.Poll)
  11.  
  12. hook.Call("postDatabaseConnected") --godlike
  13. hook.Call("postDatbaseBaseTablesCreated")
  14. hook.Call("postDatabaseTablesCreated")
  15.  
  16. santosRP.Items.LoadItems()
  17. santosRP.Vehicles.LoadVehicles( CarList )
  18.  
  19. end
  20. hook.Add("Initialize", "InitMySQL", initDB)
  21.  
  22. hook.Add("postDatabaseConnected","CreateBaseTables", function()
  23. GAMEMODE.Database:RawQuery[[
  24. CREATE TABLE IF NOT EXISTS `santosrp`.`player` (
  25. `id` INT NOT NULL AUTO_INCREMENT,
  26. `steamid` BIGINT UNSIGNED NOT NULL COMMENT 'this hold all players that ever joined and assigns them an id',
  27. PRIMARY KEY (`id`),
  28. UNIQUE INDEX `id_UNIQUE` (`id` ASC),
  29. UNIQUE INDEX `steamid_UNIQUE` (`steamid` ASC))
  30. ENGINE = InnoDB;
  31. ]]
  32.  
  33. GAMEMODE.Database:RawQuery[[
  34. CREATE TABLE IF NOT EXISTS `santosrp`.`item` (
  35. `id` INT NOT NULL AUTO_INCREMENT,
  36. `name` VARCHAR(100) NOT NULL,
  37. UNIQUE INDEX `name_UNIQUE` (`name` ASC),
  38. PRIMARY KEY (`id`),
  39. UNIQUE INDEX `id_UNIQUE` (`id` ASC))
  40. ENGINE = InnoDB;
  41. ]]
  42.  
  43. GAMEMODE.Database:RawQuery[[
  44. CREATE TABLE IF NOT EXISTS `santosrp`.`vehicle` (
  45. `id` INT NOT NULL AUTO_INCREMENT,
  46. `name` VARCHAR(100) NOT NULL,
  47. UNIQUE INDEX `name_UNIQUE` (`name` ASC),
  48. PRIMARY KEY (`id`),
  49. UNIQUE INDEX `id_UNIQUE` (`id` ASC))
  50. ENGINE = InnoDB;
  51. ]]
  52.  
  53. GAMEMODE.Database:RawQuery[[
  54. CREATE TABLE IF NOT EXISTS `santosrp`.`player_info` (
  55. `player_id` INT NOT NULL,
  56. `rpname` VARCHAR(25) NULL,
  57. `money` BIGINT UNSIGNED NOT NULL,
  58. `bank_money` BIGINT NOT NULL,
  59. `model` VARCHAR(100) NULL,
  60. `color` VARCHAR(15) NULL,
  61. PRIMARY KEY (`player_id`),
  62. UNIQUE INDEX `player_id_UNIQUE` (`player_id` ASC),
  63. CONSTRAINT `fk_player_info_player1`
  64. FOREIGN KEY (`player_id`)
  65. REFERENCES `santosrp`.`player` (`id`)
  66. ON DELETE NO ACTION
  67. ON UPDATE NO ACTION)
  68. ENGINE = InnoDB;
  69. ]]
  70.  
  71. GAMEMODE.Database:RawQuery[[
  72. CREATE TABLE IF NOT EXISTS `santosrp`.`player_inventory` (
  73. `id` INT NOT NULL AUTO_INCREMENT,
  74. `player_id` INT NOT NULL,
  75. `item_id` INT NOT NULL,
  76. `slot` INT NOT NULL,
  77. `amount` INT NOT NULL,
  78. PRIMARY KEY (`id`, `item_id`, `player_id`),
  79. UNIQUE INDEX `id_UNIQUE` (`id` ASC),
  80. INDEX `fk_player_inventory_items1_idx` (`item_id` ASC),
  81. INDEX `fk_player_inventory_players1_idx` (`player_id` ASC),
  82. CONSTRAINT `fk_player_inventory_items1`
  83. FOREIGN KEY (`item_id`)
  84. REFERENCES `santosrp`.`item` (`id`)
  85. ON DELETE NO ACTION
  86. ON UPDATE NO ACTION,
  87. CONSTRAINT `fk_player_inventory_players1`
  88. FOREIGN KEY (`player_id`)
  89. REFERENCES `santosrp`.`player` (`id`)
  90. ON DELETE NO ACTION
  91. ON UPDATE NO ACTION)
  92. ENGINE = InnoDB
  93. ]]
  94.  
  95. GAMEMODE.Database:RawQuery[[
  96. CREATE TABLE IF NOT EXISTS `santosrp`.`player_vehicles` (
  97. `id` INT NOT NULL AUTO_INCREMENT,
  98. `player_id` INT NOT NULL,
  99. `vehicle_id` INT NOT NULL,
  100. PRIMARY KEY (`id`, `vehicle_id`, `player_id`),
  101. UNIQUE INDEX `id_UNIQUE` (`id` ASC),
  102. INDEX `fk_player_vehicles_vehicle1_idx` (`vehicle_id` ASC),
  103. INDEX `fk_player_vehicles_players1_idx` (`player_id` ASC),
  104. CONSTRAINT `fk_player_vehicles_vehicles1`
  105. FOREIGN KEY (`vehicle_id`)
  106. REFERENCES `santosrp`.`vehicle` (`id`)
  107. ON DELETE NO ACTION
  108. ON UPDATE NO ACTION,
  109. CONSTRAINT `fk_player_vehicles_players1`
  110. FOREIGN KEY (`player_id`)
  111. REFERENCES `santosrp`.`player` (`id`)
  112. ON DELETE NO ACTION
  113. ON UPDATE NO ACTION)
  114. ENGINE = InnoDB
  115. ]]
  116.  
  117. GAMEMODE.Database:RawQuery[[
  118. CREATE TABLE IF NOT EXISTS `santosrp`.`player_clothing` (
  119. `id` INT NOT NULL AUTO_INCREMENT,
  120. `player_id` INT NOT NULL,
  121. `item_id` INT NOT NULL,
  122. PRIMARY KEY (`id`, `item_id`, `player_id`),
  123. UNIQUE INDEX `id_UNIQUE` (`id` ASC),
  124. INDEX `fk_player_clothing_items1_idx` (`item_id` ASC),
  125. INDEX `fk_player_clothing_players1_idx` (`player_id` ASC),
  126. CONSTRAINT `fk_player_clothing_items1`
  127. FOREIGN KEY (`item_id`)
  128. REFERENCES `santosrp`.`item` (`id`)
  129. ON DELETE NO ACTION
  130. ON UPDATE NO ACTION,
  131. CONSTRAINT `fk_player_clothing_players1`
  132. FOREIGN KEY (`player_id`)
  133. REFERENCES `santosrp`.`player` (`id`)
  134. ON DELETE NO ACTION
  135. ON UPDATE NO ACTION)
  136. ENGINE = InnoDB
  137. ]]
  138.  
  139. GAMEMODE.Database:RawQuery[[
  140. CREATE TABLE IF NOT EXISTS `santosrp`.`player_skills` (
  141. `id` INT NOT NULL AUTO_INCREMENT,
  142. `player_id` INT NOT NULL,
  143. `skills` INT NOT NULL,
  144. PRIMARY KEY (`id`, `player_id`),
  145. UNIQUE INDEX `id_UNIQUE` (`id` ASC),
  146. INDEX `fk_player_skills_players1_idx` (`player_id` ASC),
  147. CONSTRAINT `fk_player_skills_players1`
  148. FOREIGN KEY (`player_id`)
  149. REFERENCES `santosrp`.`player` (`id`)
  150. ON DELETE NO ACTION
  151. ON UPDATE NO ACTION)
  152. ENGINE = InnoDB
  153. ]]
  154.  
  155. GAMEMODE.Database:RawQuery[[
  156. CREATE TABLE IF NOT EXISTS `SantosRP_Organizations` (
  157. `idx` varchar(255) NOT NULL,
  158. `pass` text,
  159. `players` text,
  160. PRIMARY KEY (`idx`)
  161. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  162. ]]
  163. end)
  164.  
  165. concommand.Add( 'santosrp_mysql_createall', function()
  166.  
  167. GAMEMODE.Database:RawQuery[[
  168. CREATE TABLE IF NOT EXISTS `santosrp`.`player` (
  169. `id` INT NOT NULL AUTO_INCREMENT,
  170. `steamid` BIGINT UNSIGNED NOT NULL COMMENT 'this hold all players that ever joined and assigns them an id',
  171. PRIMARY KEY (`id`),
  172. UNIQUE INDEX `id_UNIQUE` (`id` ASC),
  173. UNIQUE INDEX `steamid_UNIQUE` (`steamid` ASC))
  174. ENGINE = InnoDB;
  175. ]]
  176.  
  177. GAMEMODE.Database:RawQuery[[
  178. CREATE TABLE IF NOT EXISTS `santosrp`.`item` (
  179. `id` INT NOT NULL AUTO_INCREMENT,
  180. `name` VARCHAR(100) NOT NULL,
  181. UNIQUE INDEX `name_UNIQUE` (`name` ASC),
  182. PRIMARY KEY (`id`),
  183. UNIQUE INDEX `id_UNIQUE` (`id` ASC))
  184. ENGINE = InnoDB;
  185. ]]
  186.  
  187. GAMEMODE.Database:RawQuery[[
  188. CREATE TABLE IF NOT EXISTS `santosrp`.`vehicle` (
  189. `id` INT NOT NULL AUTO_INCREMENT,
  190. `name` VARCHAR(100) NOT NULL,
  191. UNIQUE INDEX `name_UNIQUE` (`name` ASC),
  192. PRIMARY KEY (`id`),
  193. UNIQUE INDEX `id_UNIQUE` (`id` ASC))
  194. ENGINE = InnoDB;
  195. ]]
  196.  
  197. GAMEMODE.Database:RawQuery[[
  198. CREATE TABLE IF NOT EXISTS `santosrp`.`player_info` (
  199. `player_id` INT NOT NULL,
  200. `rpname` VARCHAR(25) NULL,
  201. `money` BIGINT UNSIGNED NOT NULL,
  202. `bank_money` BIGINT NOT NULL,
  203. `model` VARCHAR(100) NULL,
  204. `color` VARCHAR(15) NULL,
  205. PRIMARY KEY (`player_id`),
  206. UNIQUE INDEX `player_id_UNIQUE` (`player_id` ASC),
  207. CONSTRAINT `fk_player_info_player1`
  208. FOREIGN KEY (`player_id`)
  209. REFERENCES `santosrp`.`player` (`id`)
  210. ON DELETE NO ACTION
  211. ON UPDATE NO ACTION)
  212. ENGINE = InnoDB;
  213. ]]
  214.  
  215. GAMEMODE.Database:RawQuery[[
  216. CREATE TABLE IF NOT EXISTS `santosrp`.`player_inventory` (
  217. `id` INT NOT NULL,
  218. `player_id` INT NOT NULL,
  219. `item_id` INT NOT NULL,
  220. `amount` INT NOT NULL,
  221. PRIMARY KEY (`id`, `item_id`, `player_id`),
  222. UNIQUE INDEX `id_UNIQUE` (`id` ASC),
  223. INDEX `fk_player_inventory_items1_idx` (`item_id` ASC),
  224. INDEX `fk_player_inventory_players1_idx` (`player_id` ASC),
  225. CONSTRAINT `fk_player_inventory_items1`
  226. FOREIGN KEY (`item_id`)
  227. REFERENCES `santosrp`.`item` (`id`)
  228. ON DELETE NO ACTION
  229. ON UPDATE NO ACTION,
  230. CONSTRAINT `fk_player_inventory_players1`
  231. FOREIGN KEY (`player_id`)
  232. REFERENCES `santosrp`.`player` (`id`)
  233. ON DELETE NO ACTION
  234. ON UPDATE NO ACTION)
  235. ENGINE = InnoDB
  236. ]]
  237.  
  238. GAMEMODE.Database:RawQuery[[
  239. CREATE TABLE IF NOT EXISTS `santosrp`.`player_vehicles` (
  240. `id` INT NOT NULL AUTO_INCREMENT,
  241. `player_id` INT NOT NULL,
  242. `vehicle_id` INT NOT NULL,
  243. PRIMARY KEY (`id`, `vehicle_id`, `player_id`),
  244. UNIQUE INDEX `id_UNIQUE` (`id` ASC),
  245. INDEX `fk_player_vehicles_vehicle1_idx` (`vehicle_id` ASC),
  246. INDEX `fk_player_vehicles_players1_idx` (`player_id` ASC),
  247. CONSTRAINT `fk_player_vehicles_vehicles1`
  248. FOREIGN KEY (`vehicle_id`)
  249. REFERENCES `santosrp`.`vehicle` (`id`)
  250. ON DELETE NO ACTION
  251. ON UPDATE NO ACTION,
  252. CONSTRAINT `fk_player_vehicles_players1`
  253. FOREIGN KEY (`player_id`)
  254. REFERENCES `santosrp`.`player` (`id`)
  255. ON DELETE NO ACTION
  256. ON UPDATE NO ACTION)
  257. ENGINE = InnoDB
  258. ]]
  259.  
  260. GAMEMODE.Database:RawQuery[[
  261. CREATE TABLE IF NOT EXISTS `santosrp`.`player_clothing` (
  262. `id` INT NOT NULL AUTO_INCREMENT,
  263. `player_id` INT NOT NULL,
  264. `item_id` INT NOT NULL,
  265. PRIMARY KEY (`id`, `item_id`, `player_id`),
  266. UNIQUE INDEX `id_UNIQUE` (`id` ASC),
  267. INDEX `fk_player_vehicles_item1_idx` (`item_id` ASC),
  268. INDEX `fk_player_vehicles_players1_idx` (`player_id` ASC),
  269. CONSTRAINT `fk_player_vehicles_item1`
  270. FOREIGN KEY (`item_id`)
  271. REFERENCES `santosrp`.`item` (`id`)
  272. ON DELETE NO ACTION
  273. ON UPDATE NO ACTION,
  274. CONSTRAINT `fk_player_vehicles_players1`
  275. FOREIGN KEY (`player_id`)
  276. REFERENCES `santosrp`.`player` (`id`)
  277. ON DELETE NO ACTION
  278. ON UPDATE NO ACTION)
  279. ENGINE = InnoDB
  280. ]]
  281.  
  282. GAMEMODE.Database:RawQuery[[
  283. CREATE TABLE IF NOT EXISTS `santosrp`.`player_skills` (
  284. `id` INT NOT NULL AUTO_INCREMENT,
  285. `player_id` INT NOT NULL,
  286. `skills` INT NOT NULL,
  287. PRIMARY KEY (`id`, `player_id`),
  288. UNIQUE INDEX `id_UNIQUE` (`id` ASC),
  289. INDEX `fk_player_skills_players1_idx` (`player_id` ASC),
  290. CONSTRAINT `fk_player_skills_players1`
  291. FOREIGN KEY (`player_id`)
  292. REFERENCES `santosrp`.`player` (`id`)
  293. ON DELETE NO ACTION
  294. ON UPDATE NO ACTION)
  295. ENGINE = InnoDB
  296. ]]
  297.  
  298. GAMEMODE.Database:RawQuery[[
  299. CREATE TABLE IF NOT EXISTS `SantosRP_Organizations` (
  300. `idx` varchar(255) NOT NULL,
  301. `pass` text,
  302. `players` text,
  303. PRIMARY KEY (`idx`)
  304. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  305. ]]
  306.  
  307. end)
  308.  
  309. concommand.Add( 'santosrp_mysql_dropall' , function( )
  310. if not santosRP.isBeta then return end
  311. GAMEMODE.Database:RawQuery [[ DROP TABLE `santosrp`.`SantosRP_Organizations`, `santosrp`.`player_inventory`, `santosrp`.`player_vehicles`, `santosrp`.`player_info`;]]
  312. GAMEMODE.Database:RawQuery [[ DROP TABLE `santosrp`.`item`, `santosrp`.`vehicle`, `santosrp`.`player`;]]
  313. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement