Advertisement
Guest User

Untitled

a guest
Jul 31st, 2015
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.97 KB | None | 0 0
  1. local dataBase = dbConnect("sqlite", "vehicles.db" )
  2. local vehiclesTable = dbExec( dataBase, "CREATE TABLE IF NOT EXISTS vehicles( model, x, y, z, rx, ry, rz, r, g, b, owner, code )")
  3.  
  4. local vehicles = {}
  5.  
  6. function setVehicleData( player, command, code )
  7.     if (dataBase) then
  8.         if ( isPedInVehicle(player) or vehicles[client] ) then
  9.             local account = getAccountName(getPlayerAccount(player))
  10.             local vehicle = getPedOccupiedVehicle(player)
  11.             local model = getElementModel(vehicle)
  12.             local x, y, z = getElementPosition(vehicle)
  13.             local rx, ry, rz = getElementRotation(vehicle)
  14.             local r, g, b = getVehicleColor(vehicle)
  15.             setElementData(vehicle,"owner",account)
  16.             local query = dbQuery(dataBase, "SELECT * FROM vehicles WHERE owner=?", account)
  17.             local poll = dbPoll(query, -1)
  18.            
  19.             if (#poll == 0) then
  20.                 dbExec(dataBase, "INSERT INTO vehicles( model, x, y, z, rx, ry, rz, r, g, b, owner, code ) VALUES(?,?,?,?,?,?,?,?,?,?,?,?)", model, x, y, z, rx, ry, rz, r, g, b, account, code )
  21.                 destroyElement(vehicle)
  22.             else
  23.                 local checkCode = dbPoll(dbQuery(dataBase, "SELECT code FROM vehicles WHERE owner=? AND code=?", account,code), -1)
  24.                 if ( #checkCode == 0 ) then
  25.                     dbExec(dataBase, "INSERT INTO vehicles( model, x, y, z, rx, ry, rz, r, g, b, owner, code ) VALUES(?,?,?,?,?,?,?,?,?,?,?,?)", model, x, y, z, rx, ry, rz, r, g, b, account, code )
  26.                     destroyElement(vehicle)
  27.                 else
  28.                     outputChatBox("The code is already in use.",player,255,255,255)
  29.                 end
  30.             end
  31.         end
  32.     else
  33.         outputChatBox("Vehicle System Failure !")
  34.     end
  35. end
  36. addCommandHandler("set",setVehicleData)
  37.  
  38. function showInformationVehicle(player, command , code)
  39.     if not isGuestAccount (getPlayerAccount(player)) then
  40.         local account = getAccountName(getPlayerAccount(player))
  41.         local pollquery = dbPoll(dbQuery(dataBase, "SELECT owner, model FROM vehicles WHERE owner=? AND code=?", account,code), -1)
  42.         for i=1, #pollquery do
  43.             outputChatBox( "Owner: "..pollquery[i].owner.." | Model: "..pollquery[i].model , player)
  44.         end
  45.     end
  46. end
  47. addCommandHandler("show", showInformationVehicle)
  48.  
  49. function showInformationVehicle(player)
  50.     if not isGuestAccount (getPlayerAccount(player)) then
  51.         local account = getAccountName(getPlayerAccount(player))
  52.         local pollquery = dbPoll(dbQuery(dataBase, "SELECT owner, model, code FROM vehicles WHERE owner=?", account), -1)
  53.         for i=1, #pollquery do
  54.             outputChatBox( "Owner: "..pollquery[i].owner.." | Model: "..pollquery[i].model.." | Code: "..pollquery[i].code, player)
  55.         end
  56.     end
  57. end
  58. addCommandHandler("showall", showInformationVehicle)
  59.  
  60. function createPersonalVehicle ( code )
  61.     local account = getAccountName(getPlayerAccount(client))
  62.     local getDetails = dbPoll(dbQuery(dataBase, "SELECT model, x, y, z, rx, ry, rz, r, g, b FROM vehicles WHERE owner=? AND code=?", account,code), -1)
  63.     if isElement(vehicles[client]) then destroyElement(vehicles[client]) end
  64.     for k=1,#getDetails do
  65.         vehicles[client] = createVehicle(getDetails[k].model,getDetails[k].x,getDetails[k].y,getDetails[k].z,getDetails[k].rx,getDetails[k].ry,getDetails[k].rz)
  66.         setElementData(vehicles[client],"hasOwner","yes")
  67.         setElementData(vehicles[client],"code",code)
  68.     end
  69.     --setVehicleColor(vehicles[client],getDetails[k].r,getDetails[k].g,getDetails[k].b)
  70. end
  71. addEvent("onVehicleCreate",true)
  72. addEventHandler("onVehicleCreate",resourceRoot,createPersonalVehicle)
  73.  
  74. function hidePersonalVehicle ( code )
  75.     if isElement(vehicles[client]) then
  76.         local account = getAccountName(getPlayerAccount(client))
  77.         local x, y, z = getElementPosition(vehicles[client])
  78.         dbExec(dataBase,"UPDATE vehicles SET x=?,y=?,z=? WHERE owner=? AND code=?",x,y,z, account,code)
  79.         destroyElement(vehicles[client])
  80.     end
  81. end
  82. addEvent("onVehicleHide",true)
  83. addEventHandler("onVehicleHide",resourceRoot,hidePersonalVehicle)
  84.  
  85. function sellPersonalVehicle ( code )
  86.     if isElement(vehicles[client]) then destroyElement(vehicles[client]) end
  87.     local account = getAccountName(getPlayerAccount(client))
  88.     dbExec(dataBase,"DELETE FROM vehicles WHERE owner=? AND code=?", account,code)
  89. end
  90. addEvent("onVehicleSell",true)
  91. addEventHandler("onVehicleSell",resourceRoot,sellPersonalVehicle)
  92.  
  93. addEvent("onGUIOpenS",true)
  94. addEventHandler("onGUIOpenS",resourceRoot,
  95. function ()
  96.     local account = getAccountName(getPlayerAccount(client))
  97.     local sendDetails = dbPoll(dbQuery(dataBase, "SELECT model,code FROM vehicles WHERE owner=?", account), -1)
  98.     for j=1,#sendDetails do
  99.         triggerClientEvent(client,"onGUIOpenC",resourceRoot,sendDetails[j].model,sendDetails[j].code)
  100.     end
  101. end
  102. )
  103.  
  104. addEventHandler("onPlayerQuit", resourceRoot,
  105. function( )
  106.     if isElement(vehicles[source]) then
  107.         local account = getAccountName(getPlayerAccount(source))
  108.         local codeCheck = getElementData(vehicles[source],"code")
  109.         local x, y, z = getElementPosition(vehicles[source])
  110.         dbExec(dataBase,"UPDATE vehicles SET x=?,y=?,z=? WHERE owner=? AND code=?",x,y,z, account,codeCheck)
  111.         destroyElement(vehicles[source])
  112.         vehicles[source] = nil
  113.     end
  114. end
  115. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement