CREATE TABLE gom_turfs ( id INT PRIMARY KEY AUTO_INCREMENT, gang_id INT NOT NULL, zone_name VARCHAR(50) NOT NULL, coords_x FLOAT NOT NULL, coords_y FLOAT NOT NULL, coords_z FLOAT NOT NULL, income_rate INT DEFAULT 500, FOREIGN KEY ( gang_id ) REFERENCES gom_gangs ( id ) );
-- Stash system RegisterNetEvent('gom:storeItem') AddEventHandler('gom:storeItem', function(itemName, quantity) local src = source exports['gom']:getPlayerGang(src, function(gang) if gang then MySQL.Async.fetchAll('SELECT * FROM gom_stash WHERE gang_id = @gang_id AND item_name = @item', { ['@gang_id'] = gang.id, ['@item'] = itemName }, function(result) if result[1] then MySQL.Async.execute('UPDATE gom_stash SET quantity = quantity + @q WHERE id = @id', { ['@q'] = quantity, ['@id'] = result[1].id }) else MySQL.Async.insert('INSERT INTO gom_stash (gang_id, item_name, quantity) VALUES (@gang_id, @item, @q)', { ['@gang_id'] = gang.id, ['@item'] = itemName, ['@q'] = quantity }) end TriggerClientEvent('QBCore:Notify', src, 'Item stored in gang stash', 'success') end) end end) end) gom fivem
-- Get player gang QBCore.Functions.CreateCallback('gom:getPlayerGang', function(source, cb) local src = source local Player = QBCore.Functions.GetPlayer(src) local identifier = Player.PlayerData.citizenid CREATE TABLE gom_turfs ( id INT PRIMARY KEY
for _, turf in pairs(currentTurfZones) do local distance = #(coords - vector3(turf.x, turf.y, turf.z)) if distance < 30.0 then DrawMarker(27, turf.x, turf.y, turf.z - 1, 0, 0, 0, 0, 0, 0, 2.0, 2.0, 1.0, 255, 0, 0, 100, false, true, 2, false, nil, nil, false) if distance < 2.0 then QBCore.Functions.DrawText3D(coords, '~g~[E]~w~ Claim Turf') if IsControlJustPressed(0, 38) then -- E key TriggerServerEvent('gom:claimTurf', 'Turf_' .. math.random(1000, 9999), {x = turf.x, y = turf.y, z = turf.z}) end end end end end end) gang_id INT NOT NULL