Advertisement
Guest User

Apartment SQL Fix MYSQL

a guest
Jul 3rd, 2017
658
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.47 KB | None | 0 0
  1. ---------------------------
  2. ------CHOSE SQL MODE-------
  3. ---------------------------
  4. --Async -----------------
  5. --MySQL -----------------
  6. --Couchdb ----------------- (soon)
  7. ---------------------------
  8. local mode = "MySQL"
  9.  
  10. if (mode == "Async") then
  11. require "resources/mysql-async/lib/MySQL"
  12. elseif mode == "MySQL" then
  13. --require "resources/[essential]/essentialmode/lib/MySQL" IF YOU'RE USING LALIFE SCRIPT !
  14. require "resources/essentialmode/lib/MySQL"
  15.  
  16. --DO NOT FORGET TO CHANGE THE LINE BELLOW !!!
  17. MySQL:open("localhost", "gta5_gamemode_essential", "root", "Lander11")
  18. end
  19.  
  20.  
  21. local lang = 'en'
  22. local txt = {
  23. ['fr'] = {
  24. ['welcome'] = 'Bienvenue dans votre appartement!\n',
  25. ['nocash'] = 'Vous n\'avez pas assez d\'argent!\n',
  26. ['estVendu'] = 'Appartement vendus!\n'
  27. },
  28.  
  29. ['en'] = {
  30. ['welcome'] = 'Welcome to home!\n',
  31. ['nocash'] = 'You d\'ont have enough cash!\n',
  32. ['estVendu'] = 'Apartment sold!\n'
  33. }
  34. }
  35.  
  36.  
  37. local isBuy = 0
  38.  
  39. RegisterServerEvent("apart:getAppart")
  40. AddEventHandler('apart:getAppart', function(name)
  41. TriggerEvent('es:getPlayerFromId', source, function(user)
  42. local player = user.identifier
  43. local name = name
  44. if (mode == "Async") then
  45. MySQL.Async.fetchAll("SELECT * FROM user_appartement WHERE name = @nom", {['@nom'] = tostring(name)}, function (result)
  46. if (result) then
  47. count = 0
  48. for _ in pairs(result) do
  49. count = count + 1
  50. end
  51. if count > 0 then
  52. if (result[1].identifier == player) then
  53. TriggerClientEvent('apart:isMine', source)
  54. else
  55. TriggerClientEvent('apart:isBuy', source)
  56. end
  57. else
  58. TriggerClientEvent('apart:isNotBuy', source)
  59. end
  60. end
  61. end)
  62. elseif mode == "MySQL" then
  63. local executed_query = MySQL:executeQuery("SELECT * FROM user_appartement WHERE name = '@nom'", {['@nom'] = tostring(name)})
  64. local result = MySQL:getResults(executed_query, {'identifier'})
  65. if (result) then
  66. count = 0
  67. for _ in pairs(result) do
  68. count = count +1
  69. end
  70. if count > 0 then
  71. if (result[1].identifier == player) then
  72. TriggerClientEvent('apart:isMine', source)
  73. else
  74. TriggerClientEvent('apart:isBuy', source)
  75. end
  76. else
  77. TriggerClientEvent('apart:isNotBuy', source)
  78. end
  79. end
  80. end
  81. end)
  82. end)
  83.  
  84. RegisterServerEvent("apart:buyAppart")
  85. AddEventHandler('apart:buyAppart', function(name, price)
  86. TriggerEvent('es:getPlayerFromId', source, function(user)
  87. local player = user.identifier
  88. local name = name
  89. local price = price
  90. if (tonumber(user.money) >= tonumber(price)) then
  91. user:removeMoney((price))
  92. if (mode == "Async") then
  93. MySQL.Async.execute("INSERT INTO user_appartement (`identifier`, `name`, `price`) VALUES (@username, @name, @price)", {['@username'] = player, ['@name'] = name, ['@price'] = price})
  94. elseif mode == "MySQL" then
  95. local executed_query2 = MySQL:executeQuery("INSERT INTO user_appartement (`identifier`, `name`, `price`) VALUES ('@username', '@name', '@price')", {['@username'] = player, ['@name'] = name, ['@price'] = price})
  96. end
  97. TriggerClientEvent("es_freeroam:notify", source, "CHAR_SIMEON", 1, "Stephane", false, txt[lang]['welcome'])
  98. TriggerClientEvent('apart:isMine', source)
  99. else
  100. TriggerClientEvent("es_freeroam:notify", source, "CHAR_SIMEON", 1, "Stephane", false, txt[lang]['nocash'])
  101. end
  102. end)
  103. end)
  104.  
  105. RegisterServerEvent("apart:sellAppart")
  106. AddEventHandler('apart:sellAppart', function(name, price)
  107. TriggerEvent('es:getPlayerFromId', source, function(user)
  108. local player = user.identifier
  109. local name = name
  110. local price = price/2
  111. user:addMoney((price))
  112. if (mode == "Async") then
  113. MySQL.Async.execute("DELETE from user_appartement WHERE identifier = @username AND name = @name",
  114. {['@username'] = player, ['@name'] = name})
  115. elseif mode == "MySQL" then
  116. local executed_query3 = MySQL:executeQuery("DELETE from user_appartement WHERE identifier = '@username' AND name = '@name'",
  117. {['@username'] = player, ['@name'] = name})
  118. end
  119. TriggerClientEvent("es_freeroam:notify", source, "CHAR_SIMEON", 1, "Stephane", false, txt[lang]['estVendu'])
  120. TriggerClientEvent('apart:isNotBuy', source)
  121. end)
  122. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement