Initial commit
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
|
||||
|
||||
RegisterServerEvent('mapbuilder:syncObject')
|
||||
AddEventHandler('mapbuilder:syncObject', function(hash, loc, heading, freeze)
|
||||
print('sync ' .. hash .. loc .. heading)
|
||||
TriggerClientEvent('mapbuilder:spawnObject', -1, hash, loc, heading, freeze)
|
||||
end)
|
||||
|
||||
RegisterServerEvent('mapbuilder:syncObjectRemove')
|
||||
AddEventHandler('mapbuilder:syncObjectRemove', function(objectID, hash)
|
||||
TriggerClientEvent('mapbuilder:deleteObject', -1, objectID, hash)
|
||||
end)
|
||||
|
||||
RegisterServerEvent('mapbuilder:saveToDatabase')
|
||||
AddEventHandler('mapbuilder:saveToDatabase', function(hash, loc, heading, freeze, comment)
|
||||
|
||||
local identifier = GetPlayerIdentifiers(source)[1]
|
||||
|
||||
MySQL.Async.execute(
|
||||
'INSERT INTO mapbuilder (objectHash, locX, locY, locZ, heading, freeze, createdBy, comment) VALUES (@objectHash, @locX, @locY, @locZ, @heading, @freeze, @createdBy, @comment)', {
|
||||
['@objectHash'] = hash,
|
||||
['@locX'] = loc.x,
|
||||
['@locY'] = loc.y,
|
||||
['@locZ'] = loc.z,
|
||||
['@heading'] = heading,
|
||||
['@freeze'] = freeze,
|
||||
['@createdBy'] = identifier,
|
||||
['@comment'] = comment,
|
||||
})
|
||||
|
||||
end)
|
||||
|
||||
RegisterServerEvent('mapbuilder:removeFromDatabase')
|
||||
AddEventHandler('mapbuilder:removeFromDatabase', function(objectID, hash)
|
||||
MySQL.Async.execute(
|
||||
'DELETE FROM mapbuilder WHERE id = @id and objectHash = @objectHash', {
|
||||
['@id'] = objectID,
|
||||
['@objectHash'] = hash,
|
||||
})
|
||||
end)
|
||||
|
||||
RegisterServerEvent('mapbuilder:updateObject')
|
||||
AddEventHandler('mapbuilder:updateObject', function(objectID, loc, heading, freeze)
|
||||
MySQL.Async.execute(
|
||||
'UPDATE mapbuilder SET locX = @locX, locY = @locY, locZ = @locZ, heading = @heading, freeze = @freeze WHERE id = @id', {
|
||||
['@id'] = objectID,
|
||||
['@locX'] = loc.x,
|
||||
['@locY'] = loc.y,
|
||||
['@locZ'] = loc.z,
|
||||
['@heading'] = heading,
|
||||
['@freeze'] = freeze,
|
||||
})
|
||||
|
||||
TriggerClientEvent('mapbuilder:updateObject', -1, objectID, loc, heading, freeze)
|
||||
end)
|
||||
|
||||
-- no callback to avoid using ESX
|
||||
RegisterServerEvent('mapbuilder:getObjects')
|
||||
AddEventHandler('mapbuilder:getObjects', function()
|
||||
local _source = source
|
||||
local steamID = GetPlayerIdentifiers(_source)[1]
|
||||
MySQL.Async.fetchAll('SELECT * FROM mapbuilder', {},
|
||||
function(result)
|
||||
if #result > 0 then
|
||||
TriggerClientEvent('mapbuilder:receiveObjects', _source, result)
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
local isWhitelisted = false
|
||||
for k, v in pairs(Config.SteamWhitelist) do
|
||||
if v == steamID then
|
||||
isWhitelisted = true
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
local isAdmin = false
|
||||
for k, v in pairs(Config.AdminWhitelist) do
|
||||
if v == steamID then
|
||||
isAdmin = true
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
TriggerClientEvent('mapbuilder:getPerm', _source, steamID, isWhitelisted, isAdmin)
|
||||
|
||||
|
||||
end)
|
||||
Reference in New Issue
Block a user