Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.
Direkt server.lua'yı göndereyim:Bende güncelledim ama yine çalışmadı
ESX = nil
local Garbages, Drops, Inventories = {}, {}, {}
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
ESX.RegisterServerCallback("m3:inventoryhud:server:getPlayerInventory",function(source, cb, target)
local targetPlayer = ESX.GetPlayerFromId(target)
if targetPlayer ~= nil then
if Config.UseLimit then
cb({inventory = targetPlayer.inventory, money = targetPlayer.getMoney(), accounts = targetPlayer.accounts, weapons = targetPlayer.loadout, weight = nil, maxWeight = nil})
end
if Config.UseWeight then
cb({inventory = targetPlayer.inventory, money = targetPlayer.getMoney(), accounts = targetPlayer.accounts, weapons = targetPlayer.loadout, weight = targetPlayer.getWeight(), maxWeight = targetPlayer.maxWeight})
end
if not Config.UseLimit and not Config.UseWeight then
cb({inventory = targetPlayer.inventory, money = targetPlayer.getMoney(), accounts = targetPlayer.accounts, weapons = targetPlayer.loadout, weight = nil, maxWeight = nil})
end
else
cb(nil)
end
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:checkOpenable', function(source, cb, name)
if Inventories[name] ~= nil then
cb(Inventories[name].openable)
Inventories[name].openable = false
else
Inventories[name] = {}
Inventories[name].openable = false
cb(true)
end
end)
--on start
MySQL.ready(function()
MySQL.Async.execute('DELETE FROM m3_inv_stashs WHERE data = @data', {['@data'] = '[]'})
MySQL.Async.execute('DELETE FROM m3_inv_gloveboxs WHERE data = @data', {['@data'] = '[]'})
MySQL.Async.execute('DELETE FROM m3_inv_trunks WHERE data = @data', {['@data'] = '[]'})
Citizen.Wait(1000)
for k, v in pairs(Config.Stashs) do
if v.job ~= 'all' then
MySQL.Async.fetchAll('SELECT * FROM m3_inv_stashs WHERE stashname = @stashname', {['@stashname'] = k}, function(stash)
if stash[1] == nil then
MySQL.Async.execute('INSERT INTO m3_inv_stashs (stashname, owner, data) VALUES (@stashname, @owner, @data)', {['@stashname'] = k, ['@owner'] = v.job, ['@data'] = '[]'})
end
end)
end
end
end)
RegisterServerEvent('m3:inventoryhud:server:freezeGarbages')
AddEventHandler('m3:inventoryhud:server:freezeGarbages', function()
for i=1, #Garbages, 1 do
if Garbages[i].entity ~= nil then
TriggerClientEvent('m3:inventoryhud:client:freezeGarbage', source, Garbages[i].entity)
end
end
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:getCharacterName', function(source, cb, target)
local xTarget = ESX.GetPlayerFromId(target)
local result = MySQL.Sync.fetchAll("SELECT firstname, lastname FROM users WHERE identifier = @identifier", {
['@identifier'] = xTarget.identifier
})
local firstname = result[1].firstname
local lastname = result[1].lastname
cb(''.. firstname .. ' ' .. lastname ..'')
end)
RegisterServerEvent('m3:inventoryhud:server:closeInv')
AddEventHandler('m3:inventoryhud:server:closeInv', function(name)
if Inventories[name] ~= nil then
Inventories[name].openable = true
else
Inventories[name] = {}
Inventories[name].openable = true
end
end)
RegisterServerEvent('m3:inventoryhud:server:disableTargetInv')
AddEventHandler('m3:inventoryhud:server:disableTargetInv', function(target)
TriggerClientEvent('m3:inventoryhud:client:disableTargetInv', target)
end)
RegisterServerEvent('m3:inventoryhud:server:enableTargetInv')
AddEventHandler('m3:inventoryhud:server:enableTargetInv', function(target)
TriggerClientEvent('m3:inventoryhud:client:enableTargetInv', target)
end)
--search
ESX.RegisterServerCallback('m3:inventoryhud:server:tradePlayerItem', function(source, cb, from, to, item, count)
local src = from
local tsrc = to
local xPlayer = ESX.GetPlayerFromId(src)
local tPlayer = ESX.GetPlayerFromId(tsrc)
local isim1 = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @identifier", { ['@identifier'] = xPlayer.identifier })
local ad_soyad = isim1[1].firstname.." "..isim1[1].lastname
if count <= 0 then
if item.type ~= 'item_weapon' then
cb(nil)
return
end
end
local id = xPlayer.getIdentifier()
local id2 = tPlayer.getIdentifier()
itemverme('' ..ad_soyad.. ' (' ..id.. ')', source..' adlı IDli kişisine '..item.name..' eşyasından '..item.count..' tane vermiştir. Veren kişinin tanımlayıcısı : '..id..', Alan kişinin tanımlayıcısı : '..id2)
if Config.UseWeight then
if item.type == 'item_standard' then
if not tPlayer.canCarryItem(item.name, count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamaz!'})
TriggerClientEvent('mythic_notify:client:SendAlert', tsrc, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
cb(nil)
return
end
end
end
if Config.UseLimit then
if item.type == 'item_standard' then
local targetitem = tPlayer.getInventoryItem(item.name)
if targetitem.count + count > targetitem.limit then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamaz!'})
TriggerClientEvent('mythic_notify:client:SendAlert', tsrc, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
cb(nil)
return
end
end
end
if item.type == 'item_standard' then
local xPlayerItem = xPlayer.getInventoryItem(item.name)
if xPlayerItem.count < count then
cb(nil)
return
end
end
if item.type == 'item_standard' then
xPlayer.removeInventoryItem(item.name, item.count)
tPlayer.addInventoryItem(item.name, count)
cb(1)
elseif item.type == 'item_money' then
xPlayer.removeMoney(count)
tPlayer.addMoney(count)
cb(1)
elseif item.type == 'item_account' then
xPlayer.removeAccountMoney(item.name, count)
tPlayer.addAccountMoney(item.name, count)
cb(1)
elseif item.type == 'item_weapon' then
if xPlayer.hasWeapon(item.name) then
if not tPlayer.hasWeapon(item.name) then
xPlayer.removeWeapon(item.name)
tPlayer.addWeapon(item.name, count)
cb(1)
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Aynı silaha zaten sahip!'})
cb(nil)
end
end
end
end)
--openinventory for admins
TriggerEvent('es:addGroupCommand', 'openinv', 'admin', function(source, args, user)
local src = source
if args[1] ~= nil then
local tsrc = tonumber(args[1])
local tPlayer = ESX.GetPlayerFromId(tsrc)
if tPlayer ~= nil then
if tsrc == tonumber(src) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Komutla kendi envanterine bakamazsın!'})
return
end
TriggerClientEvent("m3:inventoryhud:client:openPlayerInventory", src, tsrc, 'admin')
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Oyuncu bulunamadı!'})
end
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'ID yazmalısınız!'})
end
end, function(source, args, user)
TriggerClientEvent('mythic_notify:client:SendAlert', source, { type = 'error', text = 'Yetersiz yetki!'})
end)
--drops
AddEventHandler('esx:playerLoaded', function(xPlayer)
if #Drops > 0 then
for i=1, #Drops, 1 do
if #Drops[i].items > 0 then
TriggerClientEvent('m3:inventoryhud:client:registerDrop', xPlayer.source, Drops[i].name)
end
end
end
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:getDrop', function(source, cb, name)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
if Drops[name] == nil then
Drops[name] = {
name = name,
items = {}
}
cb(nil)
else
if #Drops[name].items > 0 then
cb(Drops[name].items)
else
cb(nil)
end
end
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:refreshDrop', function(source, cb, drop)
if Drops[drop] ~= nil then
if #Drops[drop].items > 0 then
cb(Drops[drop].items)
else
for i=1, #Drops, 1 do
if Drops[i] == drop then
table.remove(Drops, i)
end
end
cb(nil)
end
end
end)
RegisterNetEvent('m3:inv:loot')
AddEventHandler('m3:inv:loot', function(loot)
RegisterForAllPlayers(loot)
end)
function RegisterForAllPlayers(drop)
if Drops[drop] ~= nil then
if #Drops[drop].items > 0 then
TriggerClientEvent('m3:inventoryhud:client:registerDrop', -1, drop)
if Config.DeleteDrops.Enabled then
Citizen.Wait(Config.DeleteDrops.Time * 1000)
Drops[drop] = nil
TriggerClientEvent('m3:inventoryhud:client:removeDrop', -1, drop)
end
end
end
end
-- RegisterCommand('debugdrop', function()
-- print(ESX.DumpTable(Drops))
-- end)
function RemoveForAllPlayers(drop)
if Drops[drop] ~= nil then
if #Drops[drop].items <= 0 then
for i=1, #Drops, 1 do
if Drops[i] == drop then
table.remove(Drops, i)
end
end
TriggerClientEvent('m3:inventoryhud:client:removeDrop', -1, drop)
end
end
end
ESX.RegisterServerCallback('m3:inventoryhud:server:putIntoDrop', function(source, cb, item, count, name)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
local isim1 = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @identifier", { ['@identifier'] = xPlayer.identifier })
local ad_soyad = isim1[1].firstname.." "..isim1[1].lastname
if count < 0 then
cb(nil)
return
end
local removecount = count
local id = xPlayer.getIdentifier()
yereitemkoyma('' ..ad_soyad.. ' (' ..id.. ')', 'Yere '..item.label..' eşyasını '..item.count..' tane olarak koymuştur. Oyun İçi ID : '..source..', tanımlayıcısı : '..id)
if item.type == 'item_weapon' then
if xPlayer.hasWeapon(item.name) then
if removecount == 1 then
removecount = 0
end
xPlayer.removeWeapon(item.name)
if Config.UseWeight then
table.insert(Drops[name].items, {name = item.name, label = Config.WeaponLabels[item.name], type = 'item_weapon', count = removecount, weight = 0})
else
table.insert(Drops[name].items, {name = item.name, label = Config.WeaponLabels[item.name], type = 'item_weapon', count = removecount})
end
cb(1)
RegisterForAllPlayers(name)
else
cb(nil)
end
return
end
for i=1, #Drops[name].items, 1 do
if Drops[name].items[i].name == item.name and item.type ~= 'item_weapon' then
count = count + Drops[name].items[i].count
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
table.insert(Drops[name].items, i, {name = item.name, label = item.label, type = 'item_standard', count = count})
if Config.UseWeight then
Drops[name].items[i].weight = item.weight
end
else
table.insert(Drops[name].items, i, {name = item.name, label = item.label, type = 'item_standard', count = Drops[name].items[i].count})
if Config.UseWeight then
Drops[name].items[i].weight = Drops[name].items[i].weight
end
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
table.insert(Drops[name].items, i, {name = item.name, label = 'Nakit', type = 'item_money', count = count})
if Config.UseWeight then
Drops[name].items[i].weight = item.weight
end
else
table.insert(Drops[name].items, i, {name = item.name, label = 'Nakit', type = 'item_money', count = Drops[name].items[i].count})
if Config.UseWeight then
Drops[name].items[i].weight = Drops[name].items[i].weight
end
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
table.insert(Drops[name].items, i, {name = item.name, label = 'Nakit', type = 'item_account', count = count})
if Config.UseWeight then
Drops[name].items[i].weight = item.weight
end
else
table.insert(Drops[name].items, i, {name = item.name, label = 'Nakit', type = 'item_account', count = Drops[name].items[i].count})
if Config.UseWeight then
Drops[name].items[i].weight = Drops[name].items[i].weight
end
cb(nil)
end
end
table.remove(Drops[name].items, i + 1)
cb(1)
RegisterForAllPlayers(name)
return
end
end
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
if Config.UseWeight then
table.insert(Drops[name].items, {name = item.name, label = item.label, type = 'item_standard', count = count, weight = item.weight})
else
table.insert(Drops[name].items, {name = item.name, label = item.label, type = 'item_standard', count = count})
end
cb(1)
RegisterForAllPlayers(name)
else
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
TriggerClientEvent('item:sil', source, 'money', 'Nakit', removecount)
if Config.UseWeight then
table.insert(Drops[name].items, {name = item.name, label = 'Nakit', type = 'item_money', count = count, weight = 0})
else
table.insert(Drops[name].items, {name = item.name, label = 'Nakit', type = 'item_money', count = count})
end
cb(1)
RegisterForAllPlayers(name)
else
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
if Config.UseWeight then
table.insert(Drops[name].items, {name = item.name, label = 'Nakit', type = 'item_account', count = count, weight = 0})
else
table.insert(Drops[name].items, {name = item.name, label = 'Nakit', type = 'item_account', count = count})
end
cb(1)
RegisterForAllPlayers(name)
else
cb(nil)
end
end
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:takeFromDrop', function(source, cb, item, count, name)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
local isim1 = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @identifier", { ['@identifier'] = xPlayer.identifier })
local ad_soyad = isim1[1].firstname.." "..isim1[1].lastname
if count < 0 then
cb(nil)
return
end
local id = xPlayer.getIdentifier()
yerdenitemalma('' ..ad_soyad.. ' (' ..id.. ')', 'Yerden '..item.label..' eşyasını '..item.count..' tane olarak almıştır.Oyun İçi ID : '..source..', tanımlayıcısı : '..id)
if Config.UseWeight then
if item.type == 'item_standard' then
if not xPlayer.canCarryItem(item.name, count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
return
end
end
end
if Config.UseLimit then
if item.type == 'item_standard' then
local targetitem = xPlayer.getInventoryItem(item.name)
if targetitem.count + count > targetitem.limit then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
return
end
end
end
if item.type == 'item_weapon' then
for i=1, #Drops[name].items, 1 do
if Drops[name].items[i].name == item.name then
if not xPlayer.hasWeapon(item.name) then
xPlayer.addWeapon(item.name, Drops[name].items[i].count)
table.remove(Drops[name].items, i)
cb(1)
RemoveForAllPlayers(name)
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Bu silaha zaten sahipsin!'})
cb(nil)
end
return
end
end
else
for i=1, #Drops[name].items, 1 do
if Drops[name].items[i].name == item.name then
if count <= Drops[name].items[i].count then
if item.type == 'item_standard' then
xPlayer.addInventoryItem(item.name, count)
if Drops[name].items[i].count - count > 0 then
if Config.UseWeight then
table.insert(Drops[name].items, i, {name = item.name, label = item.label, type = 'item_standard', count = Drops[name].items[i].count - count, weight = Drops[name].items[i].weight})
else
table.insert(Drops[name].items, i, {name = item.name, label = item.label, type = 'item_standard', count = Drops[name].items[i].count - count})
end
table.remove(Drops[name].items, i + 1)
else
table.remove(Drops[name].items, i)
end
cb(1)
RemoveForAllPlayers(name)
elseif item.type == 'item_money' then
xPlayer.addMoney(count)
if Drops[name].items[i].count - count > 0 then
if Config.UseWeight then
table.insert(Drops[name].items, i, {name = item.name, label = 'Nakit', type = 'item_money', count = Drops[name].items[i].count - count, weight = 0})
else
table.insert(Drops[name].items, i, {name = item.name, label = 'Nakit', type = 'item_money', count = Drops[name].items[i].count - count})
end
table.remove(Drops[name].items, i + 1)
else
table.remove(Drops[name].items, i)
end
cb(1)
RemoveForAllPlayers(name)
elseif item.type == 'item_account' then
xPlayer.addAccountMoney(item.name, count)
if Drops[name].items[i].count - count > 0 then
if Config.UseWeight then
table.insert(Drops[name].items, i, {name = item.name, label = 'Kara Para', type = 'item_account', count = Drops[name].items[i].count - count, weight = 0})
else
table.insert(Drops[name].items, i, {name = item.name, label = 'Kara Para', type = 'item_account', count = Drops[name].items[i].count - count})
end
table.remove(Drops[name].items, i + 1)
else
table.remove(Drops[name].items, i)
end
cb(1)
RemoveForAllPlayers(name)
end
end
return
end
end
end
end)
--garbage
ESX.RegisterServerCallback('m3:inventoryhud:server:getGarbage', function(source, cb, name, entity)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
if Garbages[name] == nil then
Garbages[name] = {
items = {},
lastopened = os.time(),
entity = entity
}
for i=1, math.random(1, #Config.GarbageItems), 1 do
if Config.UseWeight then
table.insert(Garbages[name].items, {name = Config.GarbageItems[i].name, label = xPlayer.getInventoryItem(Config.GarbageItems[i].name).label, type = 'item_standard', count = Config.GarbageItems[i].count, weight = xPlayer.getInventoryItem(Config.GarbageItems[i].name).weight})
else
table.insert(Garbages[name].items, {name = Config.GarbageItems[i].name, label = xPlayer.getInventoryItem(Config.GarbageItems[i].name).label, type = 'item_standard', count = Config.GarbageItems[i].count})
end
end
cb(Garbages[name].items)
else
if (os.time() - Garbages[name].lastopened) <= Config.GarbageRefreshTime then
cb(Garbages[name].items)
else
Garbages[name] = {
items = {},
lastopened = os.time(),
entity = entity
}
for i=1, math.random(1, #Config.GarbageItems), 1 do
if Config.UseWeight then
table.insert(Garbages[name].items, {name = Config.GarbageItems[i].name, label = xPlayer.getInventoryItem(Config.GarbageItems[i].name).label, type = 'item_standard', count = Config.GarbageItems[i].count, weight = xPlayer.getInventoryItem(Config.GarbageItems[i].name).weight})
else
table.insert(Garbages[name].items, {name = Config.GarbageItems[i].name, label = xPlayer.getInventoryItem(Config.GarbageItems[i].name).label, type = 'item_standard', count = Config.GarbageItems[i].count})
end
end
cb(Garbages[name].items)
end
end
TriggerClientEvent('m3:inventoryhud:client:freezeGarbage', -1, entity)
end)
ESX.RegisterServerCallback('m3:inventoryhud:refreshGarbage', function(source, cb, garbage)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
cb(Garbages[garbage].items)
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:putIntoGarbage', function(source, cb, item, count, name)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
if count < 0 then
cb(nil)
return
end
local removecount = count
if item.type == 'item_weapon' then
if xPlayer.hasWeapon(item.name) then
if removecount == 1 then
removecount = 0
end
xPlayer.removeWeapon(item.name)
if Config.UseWeight then
table.insert(Garbages[name].items, {name = item.name, label = Config.WeaponLabels[item.name], type = 'item_weapon', count = removecount, weight = 0})
else
table.insert(Garbages[name].items, {name = item.name, label = Config.WeaponLabels[item.name], type = 'item_weapon', count = removecount})
end
cb(1)
else
cb(nil)
end
return
end
for i=1, #Garbages[name].items, 1 do
if Garbages[name].items[i].name == item.name and item.type ~= 'item_weapon' then
count = count + Garbages[name].items[i].count
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
table.insert(Garbages[name].items, i, {name = item.name, label = item.label, type = 'item_standard', count = count})
if Config.UseWeight then
Garbages[name].items[i].weight = item.weight
end
else
table.insert(Garbages[name].items, i, {name = item.name, label = item.label, type = 'item_standard', count = Garbages[name].items[i].count})
if Config.UseWeight then
Garbages[name].items[i].weight = Garbages[name].items[i].weight
end
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
table.insert(Garbages[name].items, i, {name = item.name, label = 'Nakit', type = 'item_money', count = count})
if Config.UseWeight then
Garbages[name].items[i].weight = item.weight
end
else
table.insert(Garbages[name].items, i, {name = item.name, label = 'Nakit', type = 'item_money', count = Garbages[name].items[i].count})
if Config.UseWeight then
Garbages[name].items[i].weight = Garbages[name].items[i].weight
end
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
table.insert(Garbages[name].items, i, {name = item.name, label = 'Nakit', type = 'item_account', count = count})
if Config.UseWeight then
Garbages[name].items[i].weight = item.weight
end
else
table.insert(Garbages[name].items, i, {name = item.name, label = 'Nakit', type = 'item_account', count = Garbages[name].items[i].count})
if Config.UseWeight then
Garbages[name].items[i].weight = Garbages[name].items[i].weight
end
cb(nil)
end
end
table.remove(Garbages[name].items, i + 1)
cb(1)
return
end
end
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
if Config.UseWeight then
table.insert(Garbages[name].items, {name = item.name, label = item.label, type = 'item_standard', count = count, weight = item.weight})
else
table.insert(Garbages[name].items, {name = item.name, label = item.label, type = 'item_standard', count = count})
end
cb(1)
else
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
if Config.UseWeight then
table.insert(Garbages[name].items, {name = item.name, label = 'Nakit', type = 'item_money', count = count, weight = 0})
else
table.insert(Garbages[name].items, {name = item.name, label = 'Nakit', type = 'item_money', count = count})
end
cb(1)
else
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
if Config.UseWeight then
table.insert(Garbages[name].items, {name = item.name, label = 'Nakit', type = 'item_account', count = count, weight = 0})
else
table.insert(Garbages[name].items, {name = item.name, label = 'Nakit', type = 'item_account', count = count})
end
cb(1)
else
cb(nil)
end
end
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:takeFromGarbage', function(source, cb, item, count, name)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
if count < 0 then
cb(nil)
return
end
if Config.UseWeight then
if item.type == 'item_standard' then
if not xPlayer.canCarryItem(item.name, count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
return
end
end
end
if Config.UseLimit then
if item.type == 'item_standard' then
local targetitem = xPlayer.getInventoryItem(item.name)
if targetitem.count + count > targetitem.limit then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
return
end
end
end
if item.type == 'item_weapon' then
for i=1, #Garbages[name].items, 1 do
if Garbages[name].items[i].name == item.name then
if not xPlayer.hasWeapon(item.name) then
xPlayer.addWeapon(item.name, Garbages[name].items[i].count)
table.remove(Garbages[name].items, i)
cb(1)
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Bu silaha zaten sahipsin!'})
cb(nil)
end
return
end
end
else
for i=1, #Garbages[name].items, 1 do
if Garbages[name].items[i].name == item.name then
if count <= Garbages[name].items[i].count then
if item.type == 'item_standard' then
xPlayer.addInventoryItem(item.name, count)
if Garbages[name].items[i].count - count > 0 then
if Config.UseWeight then
table.insert(Garbages[name].items, i, {name = item.name, label = item.label, type = 'item_standard', count = Garbages[name].items[i].count - count, weight = Garbages[name].items[i].weight})
else
table.insert(Garbages[name].items, i, {name = item.name, label = item.label, type = 'item_standard', count = Garbages[name].items[i].count - count})
end
table.remove(Garbages[name].items, i + 1)
else
table.remove(Garbages[name].items, i)
end
cb(1)
elseif item.type == 'item_money' then
xPlayer.addMoney(count)
if Garbages[name].items[i].count - count > 0 then
if Config.UseWeight then
table.insert(Garbages[name].items, i, {name = item.name, label = 'Nakit', type = 'item_money', count = Garbages[name].items[i].count - count, weight = 0})
else
table.insert(Garbages[name].items, i, {name = item.name, label = 'Nakit', type = 'item_money', count = Garbages[name].items[i].count - count})
end
table.remove(Garbages[name].items, i + 1)
else
table.remove(Garbages[name].items, i)
end
cb(1)
elseif item.type == 'item_account' then
xPlayer.addAccountMoney(item.name, count)
if Garbages[name].items[i].count - count > 0 then
if Config.UseWeight then
table.insert(Garbages[name].items, i, {name = item.name, label = 'Kara Para', type = 'item_account', count = Garbages[name].items[i].count - count, weight = 0})
else
table.insert(Garbages[name].items, i, {name = item.name, label = 'Kara Para', type = 'item_account', count = Garbages[name].items[i].count - count})
end
table.remove(Garbages[name].items, i + 1)
else
table.remove(Garbages[name].items, i)
end
cb(1)
end
end
return
end
end
end
end)
--stash
ESX.RegisterServerCallback('m3:inventoryhud:server:getStash', function(source, cb, name)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
if Config.Stashs[name].job ~= 'all' then
MySQL.Async.fetchAll('SELECT * FROM m3_inv_stashs WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = name, ['@owner'] = xPlayer.job.name}, function(stash)
if stash[1] ~= nil then
-- prin('load')
local invtable = json.decode(stash[1].data)
cb(invtable)
else
-- print('create')
MySQL.Async.execute('INSERT INTO m3_inv_stashs (stashname, owner, data) VALUES (@stashname, @owner, @data)', {['@stashname'] = name, ['@owner'] = Config.Stashs[name].job, ['@data'] = '[]'})
cb(nil)
end
end)
else
MySQL.Async.fetchAll('SELECT * FROM m3_inv_stashs WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = name, ['@owner'] = xPlayer.identifier}, function(stash)
if stash[1] ~= nil then
-- print('load')
local invtable = json.decode(stash[1].data)
cb(invtable)
else
-- print('create')
MySQL.Async.execute('INSERT INTO m3_inv_stashs (stashname, owner, data) VALUES (@stashname, @owner, @data)', {['@stashname'] = name, ['@owner'] = xPlayer.identifier, ['@data'] = '[]'})
cb(nil)
end
end)
end
end)
ESX.RegisterServerCallback('m3:inventoryhud:refreshStash', function(source, cb, name)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
if Config.Stashs[name].job ~= 'all' then
MySQL.Async.fetchAll('SELECT * FROM m3_inv_stashs WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = name, ['@owner'] = xPlayer.job.name}, function(stash)
if stash[1] ~= nil then
local invtable = json.decode(stash[1].data)
cb(invtable)
else
cb(nil)
end
end)
else
MySQL.Async.fetchAll('SELECT * FROM m3_inv_stashs WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = name, ['@owner'] = xPlayer.identifier}, function(stash)
if stash[1] ~= nil then
local invtable = json.decode(stash[1].data)
cb(invtable)
else
cb(nil)
end
end)
end
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:putIntoStash', function(source, cb, item, count, stashname)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
local invtable = {}
local isim1 = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @identifier", { ['@identifier'] = xPlayer.identifier })
local ad_soyad = isim1[1].firstname.." "..isim1[1].lastname
if count < 0 then
cb(nil)
return
end
local removecount = count
local id = xPlayer.getIdentifier()
depoyaesyakoyma('' ..ad_soyad.. ' (' ..id.. ')', 'Depoya '..item.label..' eşyasını '..item.count..' tane olarak koymuştur. Oyun İçi ID : '..source..', depo adı : '..stashname..', tanımlayıcısı : '..id)
if Config.Stashs[stashname].job ~= 'all' then
if xPlayer.job.name == Config.Stashs[stashname].job then
MySQL.Async.fetchAll('SELECT * FROM m3_inv_stashs WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.job.name}, function(stash)
if stash[1] ~= nil then
invtable = json.decode(stash[1].data)
local totalweight = 0
if Config.UseWeight then
for i=1, #invtable, 1 do
if invtable[i].weight ~= nil and invtable[i].type == 'item_standard' then
totalweight = totalweight + (invtable[i].weight * invtable[i].count)
end
end
end
if Config.UseWeight then
if item.type == 'item_standard' then
if Config.Stashs[stashname].maxweight < totalweight + (item.weight * count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Bagaja daha fazlasını koyamazsın!'})
cb(nil)
return
end
end
end
if item.type == 'item_weapon' then
if xPlayer.hasWeapon(item.name) then
if removecount == 1 then
removecount = 0
end
xPlayer.removeWeapon(item.name)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = Config.WeaponLabels[item.name], type = 'item_weapon', count = removecount, weight = 0})
else
table.insert(invtable, {name = item.name, label = Config.WeaponLabels[item.name], type = 'item_weapon', count = removecount})
end
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.job.name, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
cb(nil)
end
return
end
for i=1, #invtable, 1 do
if invtable[i].name == item.name and item.type ~= 'item_weapon' then
count = count + invtable[i].count
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = xPlayer.getInventoryItem(item.name).label, type = 'item_standard', count = count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = xPlayer.getInventoryItem(item.name).label, type = 'item_standard', count = count})
end
else
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = xPlayer.getInventoryItem(item.name).label, type = 'item_standard', count = invtable[i].count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = xPlayer.getInventoryItem(item.name).label, type = 'item_standard', count = invtable[i].count})
end
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = count})
end
else
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count})
end
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = count})
end
else
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = invtable[i].count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = invtable[i].count})
end
cb(nil)
end
end
table.remove(invtable, i + 1)
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.job.name, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
return
end
end
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = item.label, type = 'item_standard', count = count, weight = item.weight})
else
table.insert(invtable, {name = item.name, label = item.label, type = 'item_standard', count = count})
end
else
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_money', count = count, weight = 0})
else
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_money', count = count})
end
else
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_account', count = count, weight = 0})
else
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_account', count = count})
end
else
cb(nil)
end
end
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.job.name, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
cb(nil)
end
end)
else
cb(nil)
end
else
MySQL.Async.fetchAll('SELECT * FROM m3_inv_stashs WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.identifier}, function(stash)
if stash[1] ~= nil then
invtable = json.decode(stash[1].data)
local totalweight = 0
if Config.UseWeight then
for i=1, #invtable, 1 do
if invtable[i].weight ~= nil and invtable[i].type == 'item_standard' then
totalweight = totalweight + (invtable[i].weight * invtable[i].count)
end
end
end
if Config.UseWeight then
if item.type == 'item_standard' then
if Config.Stashs[stashname].maxweight < totalweight + (item.weight * count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Depoya daha fazlasını koyamazsın!'})
cb(nil)
return
end
end
end
if item.type == 'item_weapon' then
if xPlayer.hasWeapon(item.name) then
if removecount == 1 then
removecount = 0
end
xPlayer.removeWeapon(item.name)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = Config.WeaponLabels[item.name], type = 'item_weapon', count = removecount, weight = 0})
else
table.insert(invtable, {name = item.name, label = Config.WeaponLabels[item.name], type = 'item_weapon', count = removecount})
end
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.identifier, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
cb(nil)
end
return
end
for i=1, #invtable, 1 do
if invtable[i].name == item.name and item.type ~= 'item_weapon' then
count = count + invtable[i].count
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = count})
end
else
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count})
end
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = count})
end
else
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count})
end
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = count})
end
else
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = invtable[i].count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = invtable[i].count})
end
cb(nil)
end
end
table.remove(invtable, i + 1)
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.identifier, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
return
end
end
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = xPlayer.getInventoryItem(item.name).label, type = 'item_standard', count = count, weight = item.weight})
else
table.insert(invtable, {name = item.name, label = xPlayer.getInventoryItem(item.name).label, type = 'item_standard', count = count})
end
else
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_money', count = count, weight = 0})
else
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_money', count = count})
end
else
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_account', count = count, weight = 0})
else
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_account', count = count})
end
else
cb(nil)
end
end
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.identifier, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
cb(nil)
end
end)
end
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:takeFromStash', function(source, cb, item, count, stashname)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
local invtable = {}
local isim1 = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @identifier", { ['@identifier'] = xPlayer.identifier })
local ad_soyad = isim1[1].firstname.." "..isim1[1].lastname
if count < 0 then
cb(nil)
return
end
local id = xPlayer.getIdentifier()
depodanesyaalma('' ..ad_soyad.. ' (' ..id.. ')', 'Depodan '..item.label..' eşyasını '..item.count..' tane olarak almıştır.Oyun İçi ID : '..source..', depo adı : '..stashname..', tanımlayıcısı : '..id)
if Config.UseWeight then
if item.type == 'item_standard' then
if not xPlayer.canCarryItem(item.name, count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
return
end
end
end
if Config.UseLimit then
if item.type == 'item_standard' then
local targetitem = xPlayer.getInventoryItem(item.name)
if targetitem.count + count > targetitem.limit then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
return
end
end
end
if Config.Stashs[stashname].job ~= 'all' then
if xPlayer.job.name == Config.Stashs[stashname].job then
MySQL.Async.fetchAll('SELECT * FROM m3_inv_stashs WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.job.name}, function(stash)
if stash[1] ~= nil then
invtable = json.decode(stash[1].data)
if item.type == 'item_weapon' then
for i=1, #invtable, 1 do
if invtable[i].name == item.name then
if not xPlayer.hasWeapon(item.name) then
xPlayer.addWeapon(item.name, invtable[i].count)
table.remove(invtable, i)
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.job.name, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Bu silaha zaten sahipsin!'})
cb(nil)
end
return
end
end
else
for i=1, #invtable, 1 do
if invtable[i].name == item.name then
if count <= invtable[i].count then
if item.type == 'item_standard' then
xPlayer.addInventoryItem(item.name, count)
if invtable[i].count - count > 0 then
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count - count, weight = invtable[i].weight})
else
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count - count})
end
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.job.name, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
elseif item.type == 'item_money' then
xPlayer.addMoney(count)
if invtable[i].count - count > 0 then
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count - count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count - count})
end
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.job.name, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
elseif item.type == 'item_account' then
xPlayer.addAccountMoney(item.name, count)
if invtable[i].count - count > 0 then
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Kara Para', type = 'item_account', count = invtable[i].count - count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Kara Para', type = 'item_account', count = invtable[i].count - count})
end
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.job.name, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
end
end
return
end
end
end
else
cb(nil)
end
end)
else
cb(nil)
end
else
MySQL.Async.fetchAll('SELECT * FROM m3_inv_stashs WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.identifier}, function(stash)
if stash[1] ~= nil then
invtable = json.decode(stash[1].data)
if item.type == 'item_weapon' then
for i=1, #invtable, 1 do
if invtable[i].name == item.name then
if not xPlayer.hasWeapon(item.name) then
xPlayer.addWeapon(item.name, invtable[i].count)
table.remove(invtable, i)
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.identifier, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Bu silaha zaten sahipsin!'})
cb(nil)
end
return
end
end
else
for i=1, #invtable, 1 do
if invtable[i].name == item.name then
if count <= invtable[i].count then
if item.type == 'item_standard' then
xPlayer.addInventoryItem(item.name, count)
if invtable[i].count - count > 0 then
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count - count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count - count})
end
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.identifier, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
elseif item.type == 'item_money' then
xPlayer.addMoney(count)
if invtable[i].count - count > 0 then
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count - count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count - count})
end
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.identifier, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
elseif item.type == 'item_account' then
xPlayer.addAccountMoney(item.name, count)
if invtable[i].count - count > 0 then
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Kara Para', type = 'item_account', count = invtable[i].count - count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Kara Para', type = 'item_account', count = invtable[i].count - count})
end
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_stashs SET data = @data WHERE stashname = @stashname AND owner = @owner', {['@stashname'] = stashname, ['@owner'] = xPlayer.identifier, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
end
end
return
end
end
end
else
cb(nil)
end
end)
end
end)
--custom stash
local customstashs = {}
RegisterServerEvent('m3:inventoryhud:server:registerCustomStash')
AddEventHandler('m3:inventoryhud:server:registerCustomStash', function(table)
customstashs[table.name] = {
maxWeight = table.maxWeight,
}
MySQL.Async.fetchAll('SELECT * FROM m3_inv_customstashs WHERE stashname = @stashname', {['@stashname'] = table.name}, function(stash)
if stash[1] == nil then
MySQL.Async.execute('INSERT INTO m3_inv_customstashs (stashname, data) VALUES (@stashname, @data)', {['@stashname'] = table.name, ['@data'] = '[]'})
end
end)
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:getCustomStash', function(source, cb, name)
local src = source
MySQL.Async.fetchAll('SELECT * FROM m3_inv_customstashs WHERE stashname = @stashname', {['@stashname'] = name}, function(stash)
if stash[1] ~= nil then
-- prin('load')
local invtable = json.decode(stash[1].data)
cb(invtable, customstashs[name].maxWeight)
else
-- print('create')
MySQL.Async.execute('INSERT INTO m3_inv_customstashs (stashname, data) VALUES (@stashname, @data)', {['@stashname'] = name, ['@data'] = '[]'})
cb(nil, nil)
end
end)
end)
ESX.RegisterServerCallback('m3:inventoryhud:refreshCustomStash', function(source, cb, name)
MySQL.Async.fetchAll('SELECT * FROM m3_inv_customstashs WHERE stashname = @stashname', {['@stashname'] = name}, function(stash)
if stash[1] ~= nil then
local invtable = json.decode(stash[1].data)
cb(invtable, customstashs[name].maxWeight)
else
cb(nil, nil)
end
end)
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:putIntoCustomStash', function(source, cb, item, count, stashname)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
local invtable = {}
local isim1 = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @identifier", { ['@identifier'] = xPlayer.identifier })
local ad_soyad = isim1[1].firstname.." "..isim1[1].lastname
if count < 0 then
cb(nil)
return
end
local removecount = count
local id = xPlayer.getIdentifier()
kisiseldepoyaesyakoyma('' ..ad_soyad.. ' (' ..id.. ')', 'Depoya '..item.label..' eşyasını '..item.count..' tane olarak koymuştur. Oyun İçi ID : '..source..', depo adı : '..stashname..', tanımlayıcısı : '..id)
MySQL.Async.fetchAll('SELECT * FROM m3_inv_customstashs WHERE stashname = @stashname', {['@stashname'] = stashname}, function(stash)
if stash[1] ~= nil then
invtable = json.decode(stash[1].data)
local totalweight = 0
if Config.UseWeight then
for i=1, #invtable, 1 do
if invtable[i].weight ~= nil and invtable[i].type == 'item_standard' then
totalweight = totalweight + (invtable[i].weight * invtable[i].count)
end
end
end
if Config.UseWeight then
if item.type == 'item_standard' then
if customstashs[stashname].maxWeight < totalweight + (item.weight * count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Depoya daha fazlasını koyamazsın!'})
cb(nil)
return
end
end
end
if item.type == 'item_weapon' then
if xPlayer.hasWeapon(item.name) then
if removecount == 1 then
removecount = 0
end
xPlayer.removeWeapon(item.name)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = Config.WeaponLabels[item.name], type = 'item_weapon', count = removecount, weight = 0})
else
table.insert(invtable, {name = item.name, label = Config.WeaponLabels[item.name], type = 'item_weapon', count = removecount})
end
MySQL.Async.execute('UPDATE m3_inv_customstashs SET data = @data WHERE stashname = @stashname', {['@stashname'] = stashname, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
cb(nil)
end
return
end
for i=1, #invtable, 1 do
if invtable[i].name == item.name and item.type ~= 'item_weapon' then
count = count + invtable[i].count
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = xPlayer.getInventoryItem(item.name).label, type = 'item_standard', count = count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = xPlayer.getInventoryItem(item.name).label, type = 'item_standard', count = count})
end
else
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = xPlayer.getInventoryItem(item.name).label, type = 'item_standard', count = invtable[i].count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = xPlayer.getInventoryItem(item.name).label, type = 'item_standard', count = invtable[i].count})
end
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = count})
end
else
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count})
end
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = count})
end
else
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = invtable[i].count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = invtable[i].count})
end
cb(nil)
end
end
table.remove(invtable, i + 1)
MySQL.Async.execute('UPDATE m3_inv_customstashs SET data = @data WHERE stashname = @stashname', {['@stashname'] = stashname, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
return
end
end
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = item.label, type = 'item_standard', count = count, weight = item.weight})
else
table.insert(invtable, {name = item.name, label = item.label, type = 'item_standard', count = count})
end
else
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_money', count = count, weight = 0})
else
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_money', count = count})
end
else
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_account', count = count, weight = 0})
else
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_account', count = count})
end
else
cb(nil)
end
end
MySQL.Async.execute('UPDATE m3_inv_customstashs SET data = @data WHERE stashname = @stashname', {['@stashname'] = stashname, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
cb(nil)
end
end)
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:takeFromCustomStash', function(source, cb, item, count, stashname)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
local invtable = {}
local isim1 = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @identifier", { ['@identifier'] = xPlayer.identifier })
local ad_soyad = isim1[1].firstname.." "..isim1[1].lastname
if count < 0 then
cb(nil)
return
end
local id = xPlayer.getIdentifier()
kisiseldepodanesyaalma('' ..ad_soyad.. ' (' ..id.. ')', 'Depodan '..item.label..' eşyasını '..item.count..' tane olarak almıştır.Oyun İçi ID : '..source..', depo adı : '..stashname..', tanımlayıcısı : '..id)
if Config.UseWeight then
if item.type == 'item_standard' then
if not xPlayer.canCarryItem(item.name, count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
return
end
end
end
if Config.UseLimit then
if item.type == 'item_standard' then
local targetitem = xPlayer.getInventoryItem(item.name)
if targetitem.count + count > targetitem.limit then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
return
end
end
end
MySQL.Async.fetchAll('SELECT * FROM m3_inv_customstashs WHERE stashname = @stashname', {['@stashname'] = stashname}, function(stash)
if stash[1] ~= nil then
invtable = json.decode(stash[1].data)
if item.type == 'item_weapon' then
for i=1, #invtable, 1 do
if invtable[i].name == item.name then
if not xPlayer.hasWeapon(item.name) then
xPlayer.addWeapon(item.name, invtable[i].count)
table.remove(invtable, i)
MySQL.Async.execute('UPDATE m3_inv_customstashs SET data = @data WHERE stashname = @stashname', {['@stashname'] = stashname, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Bu silaha zaten sahipsin!'})
cb(nil)
end
return
end
end
else
for i=1, #invtable, 1 do
if invtable[i].name == item.name then
if count <= invtable[i].count then
if item.type == 'item_standard' then
xPlayer.addInventoryItem(item.name, count)
if invtable[i].count - count > 0 then
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count - count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count - count})
end
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_customstashs SET data = @data WHERE stashname = @stashname', {['@stashname'] = stashname, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
elseif item.type == 'item_money' then
xPlayer.addMoney(count)
if invtable[i].count - count > 0 then
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count - count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count - count})
end
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_customstashs SET data = @data WHERE stashname = @stashname', {['@stashname'] = stashname, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
elseif item.type == 'item_account' then
xPlayer.addAccountMoney(item.name, count)
if invtable[i].count - count > 0 then
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = 'Kara Para', type = 'item_account', count = invtable[i].count - count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Kara Para', type = 'item_account', count = invtable[i].count - count})
end
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_customstashs SET data = @data WHERE stashname = @stashname', {['@stashname'] = stashname, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
end
end
return
end
end
end
else
cb(nil)
end
end)
end)
--shop
ESX.RegisterServerCallback('m3:inventoryhud:server:getItemsInfo', function(source, cb, data)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
if data ~= nil then
local returntable = {}
for k, v in pairs(data) do
if v.name:find('WEAPON_') ~= nil and not Config.ItemWeapons.Enabled then
table.insert(returntable, {name = v.name, label = Config.WeaponLabels[v.name], price = v.price, type = 'item_weapon', count = 999999})
else
table.insert(returntable, {name = v.name, label = xPlayer.getInventoryItem(v.name).label, price = v.price, type = 'item_standard', count = 999999})
end
end
cb(returntable)
end
end)
ESX.RegisterServerCallback("m3:inventoryhud:server:takeItemFromShop", function(source, cb, item, count, price)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
local isim1 = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @identifier", { ['@identifier'] = xPlayer.identifier })
local ad_soyad = isim1[1].firstname.." "..isim1[1].lastname
if count < 0 then
cb(nil)
return
elseif count == 0 then
count = 1
end
local id = xPlayer.getIdentifier()
markettenesyaalma('' ..ad_soyad.. ' (' ..id.. ')', 'Marketten '..item.label..' eşyasını '..item.count..' tane olarak almıştır.Oyun İçi ID : '..source..', fiyat : '..price..', tanımlayıcısı')
if Config.UseWeight then
if item.type == 'item_standard' then
if not xPlayer.canCarryItem(item.name, count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
return
end
end
end
if Config.UseLimit then
if item.type == 'item_standard' then
local targetitem = xPlayer.getInventoryItem(item.name)
if targetitem.count + count > targetitem.limit then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
return
end
end
end
if item.type == "item_standard" then
local targetItem = xPlayer.getInventoryItem(item.name)
if Config.UseWeight then
if xPlayer.canCarryItem(item.name, count) then
local totalPrice = count * price
if xPlayer.getMoney() >= totalPrice then
xPlayer.removeMoney(totalPrice)
xPlayer.addInventoryItem(item.name, count)
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'inform', text = totalPrice..'$ ödeyerek '..count..'x '..targetItem.label..' aldın.'})
cb(1)
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Yeterli nakitin yok!'})
end
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
end
end
if Config.UseLimit then
if targetItem.count + count <= targetItem.limit then
local totalPrice = count * price
if xPlayer.getMoney() >= totalPrice then
xPlayer.removeMoney(totalPrice)
xPlayer.addInventoryItem(item.name, count)
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'inform', text = totalPrice..'$ ödeyerek '..count..'x '..targetItem.label..' aldın.'})
cb(1)
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Yeterli nakitin yok!'})
end
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
end
end
if not Config.UseLimit and not Config.UseWeight then
local totalPrice = count * price
if xPlayer.getMoney() >= totalPrice then
xPlayer.removeMoney(totalPrice)
xPlayer.addInventoryItem(item.name, count)
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'inform', text = totalPrice..'$ ödeyerek '..count..'x '..targetItem.label..' aldın.'})
cb(1)
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Yeterli nakitin yok!'})
end
end
elseif item.type == "item_weapon" then
local targetWeapon = xPlayer.hasWeapon(item)
if not targetWeapon then
local totalPrice = 1 * price
if xPlayer.getMoney() >= totalPrice then
xPlayer.removeMoney(totalPrice)
xPlayer.addWeapon(item.name, 0)
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'inform', text = totalPrice..'$ ödeyerek 1x '..Config.WeaponLabels[item.name]..' aldın.'})
cb(1)
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Yeterli nakitin yok!'})
end
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Bu silaha zaten sahipsin!'})
end
end
end)
--glovebox
ESX.RegisterServerCallback('m3:inventoryhud:server:getGlovebox', function(source, cb, name)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
MySQL.Async.fetchAll('SELECT * FROM m3_inv_gloveboxs WHERE plate = @plate', {['@plate'] = name}, function(glovebox)
if glovebox[1] ~= nil then
local invtable = json.decode(glovebox[1].data)
cb(invtable)
else
MySQL.Async.execute('INSERT INTO m3_inv_gloveboxs (plate, data) VALUES (@plate, @data)', {['@plate'] = name, ['@data'] = '[]'})
cb(nil)
end
end)
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:refreshGlovebox', function(source, cb, name)
MySQL.Async.fetchAll('SELECT * FROM m3_inv_gloveboxs WHERE plate = @plate', {['@plate'] = name}, function(glovebox)
if glovebox[1] ~= nil then
local invtable = json.decode(glovebox[1].data)
cb(invtable)
else
cb(nil)
end
end)
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:putIntoGlovebox', function(source, cb, item, count, plate)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
local invtable = {}
local isim1 = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @identifier", { ['@identifier'] = xPlayer.identifier })
local ad_soyad = isim1[1].firstname.." "..isim1[1].lastname
if count < 0 then
cb(nil)
return
end
local removecount = count
local id = xPlayer.getIdentifier()
torpitoyaesyakoyma('' ..ad_soyad.. ' (' ..id.. ')', 'Torpidoya '..item.label..' eşyasını '..item.count..' tane olarak koymuştur. Oyun İçi ID : '..source..', araba plakası : '..plate..', tanımlayıcısı : '..id)
MySQL.Async.fetchAll('SELECT * FROM m3_inv_gloveboxs WHERE plate = @plate', {['@plate'] = plate}, function(glovebox)
if glovebox[1] ~= nil then
invtable = json.decode(glovebox[1].data)
local totalweight = 0
for i=1, #invtable, 1 do
if invtable[i].weight ~= nil then
if invtable[i].type ~= 'item_weapon' then
totalweight = totalweight + (invtable[i].weight * invtable[i].count)
else
totalweight = totalweight + (invtable[i].weight)
end
end
end
if Config.UseWeight then
if item.type == 'item_standard' then
if Config.VehicleGloveboxs[tonumber(string.reverse(string.sub(string.reverse(plate), 1, 2)))] < totalweight + (item.weight * count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Torpidoya daha fazlasını koyamazsın!'})
cb(nil)
return
end
end
else
if item.type ~= 'item_weapon' then
if Config.VehicleGloveboxs[tonumber(string.reverse(string.sub(string.reverse(plate), 1, 2)))] < totalweight + ((Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']) * count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Torpidoya daha fazlasını koyamazsın!'})
cb(nil)
return
end
else
if Config.VehicleGloveboxs[tonumber(string.reverse(string.sub(string.reverse(plate), 1, 2)))] < totalweight + (Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Torpidoya daha fazlasını koyamazsın!'})
cb(nil)
return
end
end
end
if item.type == 'item_weapon' then
if xPlayer.hasWeapon(item.name) then
if removecount == 1 then
removecount = 0
end
xPlayer.removeWeapon(item.name)
table.insert(invtable, {name = item.name, label = Config.WeaponLabels[item.name], type = 'item_weapon', count = removecount, weight = Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']})
MySQL.Async.execute('UPDATE m3_inv_gloveboxs SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
cb(nil)
end
return
end
for i=1, #invtable, 1 do
if invtable[i].name == item.name and item.type ~= 'item_weapon' then
count = count + invtable[i].count
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = count, weight = Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']})
end
else
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count, weight = Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']})
end
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count, weight = 0})
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = invtable[i].count, weight = 0})
cb(nil)
end
end
table.remove(invtable, i + 1)
MySQL.Async.execute('UPDATE m3_inv_gloveboxs SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
return
end
end
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = item.label, type = 'item_standard', count = count, weight = item.weight})
else
table.insert(invtable, {name = item.name, label = item.label, type = 'item_standard', count = count, weight = Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']})
end
else
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_money', count = count, weight = 0})
else
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_account', count = count, weight = 0})
else
cb(nil)
end
end
MySQL.Async.execute('UPDATE m3_inv_gloveboxs SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
cb(nil)
end
end)
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:takeFromGlovebox', function(source, cb, item, count, plate)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
local invtable = {}
local isim1 = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @identifier", { ['@identifier'] = xPlayer.identifier })
local ad_soyad = isim1[1].firstname.." "..isim1[1].lastname
if count < 0 then
cb(nil)
return
end
local id = xPlayer.getIdentifier()
torpitodanesyaalma('' ..ad_soyad.. ' (' ..id.. ')', 'Torpidoya '..item.label..' eşyasını '..item.count..' tane olarak almıştır.Oyun İçi ID : '..source..', araba plakası : '..plate..', tanımlayıcısı : '..id)
if Config.UseWeight then
if item.type == 'item_standard' then
if not xPlayer.canCarryItem(item.name, count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
cb(nil)
return
end
end
end
if Config.UseLimit then
if item.type == 'item_standard' then
local targetitem = xPlayer.getInventoryItem(item.name)
if targetitem.count + count > targetitem.limit then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
cb(nil)
return
end
end
end
MySQL.Async.fetchAll('SELECT * FROM m3_inv_gloveboxs WHERE plate = @plate', {['@plate'] = plate}, function(glovebox)
if glovebox[1] ~= nil then
invtable = json.decode(glovebox[1].data)
if item.type == 'item_weapon' then
for i=1, #invtable, 1 do
if invtable[i].name == item.name then
if not xPlayer.hasWeapon(item.name) then
xPlayer.addWeapon(item.name, invtable[i].count)
table.remove(invtable, i)
MySQL.Async.execute('UPDATE m3_inv_gloveboxs SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Bu silaha zaten sahipsin!'})
cb(nil)
end
return
end
end
else
for i=1, #invtable, 1 do
if invtable[i].name == item.name then
if count <= invtable[i].count then
if item.type == 'item_standard' then
xPlayer.addInventoryItem(item.name, count)
if invtable[i].count - count > 0 then
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count - count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count - count, weight = Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']})
end
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_gloveboxs SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
elseif item.type == 'item_money' then
xPlayer.addMoney(count)
if invtable[i].count - count > 0 then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count - count, weight = 0})
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_gloveboxs SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
elseif item.type == 'item_account' then
xPlayer.addAccountMoney(item.name, count)
if invtable[i].count - count > 0 then
table.insert(invtable, i, {name = item.name, label = 'Kara Para', type = 'item_account', count = invtable[i].count - count, weight = 0})
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_gloveboxs SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
end
end
return
end
end
end
else
cb(nil)
end
end)
end)
--trunk
ESX.RegisterServerCallback('m3:inventoryhud:server:getTrunk', function(source, cb, name)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
MySQL.Async.fetchAll('SELECT * FROM m3_inv_trunks WHERE plate = @plate', {['@plate'] = name}, function(trunk)
if trunk[1] ~= nil then
local invtable = json.decode(trunk[1].data)
cb(invtable)
else
MySQL.Async.execute('INSERT INTO m3_inv_trunks (plate, data) VALUES (@plate, @data)', {['@plate'] = name, ['@data'] = '[]'})
cb(nil)
end
end)
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:refreshTrunk', function(source, cb, name)
MySQL.Async.fetchAll('SELECT * FROM m3_inv_trunks WHERE plate = @plate', {['@plate'] = name}, function(trunk)
if trunk[1] ~= nil then
local invtable = json.decode(trunk[1].data)
cb(invtable)
else
cb(nil)
end
end)
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:putIntoTrunk', function(source, cb, item, count, plate)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
local invtable = {}
local isim1 = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @identifier", { ['@identifier'] = xPlayer.identifier })
local ad_soyad = isim1[1].firstname.." "..isim1[1].lastname
if count < 0 then
cb(nil)
return
end
local id = xPlayer.getIdentifier()
bagajaesyakoyma('' ..ad_soyad.. ' (' ..id.. ')', 'Bagaja '..item.label..' eşyasını '..item.count..' tane olarak koymuştur. Oyun İçi ID : '..source..', araba plakası : '..plate..', tanımlayıcısı : '..id)
local removecount = count
MySQL.Async.fetchAll('SELECT * FROM m3_inv_trunks WHERE plate = @plate', {['@plate'] = plate}, function(trunk)
if trunk[1] ~= nil then
invtable = json.decode(trunk[1].data)
local totalweight = 0
for i=1, #invtable, 1 do
if invtable[i].weight ~= nil then
if invtable[i].type ~= 'item_weapon' then
totalweight = totalweight + (invtable[i].weight * invtable[i].count)
else
totalweight = totalweight + (invtable[i].weight)
end
end
end
if Config.UseWeight then
if item.type == 'item_standard' then
if Config.VehicleTrunks[tonumber(string.reverse(string.sub(string.reverse(plate), 1, 2)))] < totalweight + (item.weight * count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Bagaja daha fazlasını koyamazsın!'})
cb(nil)
return
end
end
else
if item.type ~= 'item_weapon' then
if Config.VehicleTrunks[tonumber(string.reverse(string.sub(string.reverse(plate), 1, 2)))] < totalweight + ((Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']) * count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Bagaja daha fazlasını koyamazsın!'})
cb(nil)
return
end
else
if Config.VehicleTrunks[tonumber(string.reverse(string.sub(string.reverse(plate), 1, 2)))] < totalweight + (Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Bagaja daha fazlasını koyamazsın!'})
cb(nil)
return
end
end
end
if item.type == 'item_weapon' then
if xPlayer.hasWeapon(item.name) then
if removecount == 1 then
removecount = 0
end
xPlayer.removeWeapon(item.name)
table.insert(invtable, {name = item.name, label = Config.WeaponLabels[item.name], type = 'item_weapon', count = removecount, weight = Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']})
MySQL.Async.execute('UPDATE m3_inv_trunks SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
cb(nil)
end
return
end
for i=1, #invtable, 1 do
if invtable[i].name == item.name and item.type ~= 'item_weapon' then
count = count + invtable[i].count
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = count, weight = Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']})
end
else
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count, weight = Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']})
end
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count, weight = 0})
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = count, weight = 0})
else
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_account', count = invtable[i].count, weight = 0})
cb(nil)
end
end
table.remove(invtable, i + 1)
MySQL.Async.execute('UPDATE m3_inv_trunks SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
return
end
end
if item.type == 'item_standard' then
local sourceItem = xPlayer.getInventoryItem(item.name)
if sourceItem.count >= removecount then
xPlayer.removeInventoryItem(item.name, removecount)
if Config.UseWeight then
table.insert(invtable, {name = item.name, label = item.label, type = 'item_standard', count = count, weight = item.weight})
else
table.insert(invtable, {name = item.name, label = item.label, type = 'item_standard', count = count, weight = Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']})
end
else
cb(nil)
end
elseif item.type == "item_money" then
if xPlayer.getMoney() >= removecount then
xPlayer.removeMoney(removecount)
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_money', count = count, weight = 0})
else
cb(nil)
end
elseif item.type == "item_account" then
if xPlayer.getAccount(item.name).money >= removecount then
xPlayer.removeAccountMoney(item.name, removecount)
table.insert(invtable, {name = item.name, label = 'Nakit', type = 'item_account', count = count, weight = 0})
else
cb(nil)
end
end
MySQL.Async.execute('UPDATE m3_inv_trunks SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
cb(nil)
end
end)
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:takeFromTrunk', function(source, cb, item, count, plate)
local src = source
local xPlayer = ESX.GetPlayerFromId(src)
local invtable = {}
local isim1 = MySQL.Sync.fetchAll("SELECT * FROM users WHERE identifier = @identifier", { ['@identifier'] = xPlayer.identifier })
local ad_soyad = isim1[1].firstname.." "..isim1[1].lastname
if count < 0 then
cb(nil)
return
end
local id = xPlayer.getIdentifier()
bagajdanesyaalma('' ..ad_soyad.. ' (' ..id.. ')', 'Bagajdan '..item.label..' eşyasını '..item.count..' tane olarak almıştır.Oyun İçi ID : '..source..', araba plakası : '..plate..', tanımlayıcısı : '..id)
if Config.UseWeight then
if item.type == 'item_standard' then
if not xPlayer.canCarryItem(item.name, count) then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
cb(nil)
return
end
end
end
if Config.UseLimit then
if item.type == 'item_standard' then
local targetitem = xPlayer.getInventoryItem(item.name)
if targetitem.count + count > targetitem.limit then
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Daha fazlasını taşıyamazsın!'})
cb(nil)
return
end
end
end
MySQL.Async.fetchAll('SELECT * FROM m3_inv_trunks WHERE plate = @plate', {['@plate'] = plate}, function(trunk)
if trunk[1] ~= nil then
invtable = json.decode(trunk[1].data)
if item.type == 'item_weapon' then
for i=1, #invtable, 1 do
if invtable[i].name == item.name then
if not xPlayer.hasWeapon(item.name) then
xPlayer.addWeapon(item.name, invtable[i].count)
table.remove(invtable, i)
MySQL.Async.execute('UPDATE m3_inv_trunks SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
else
TriggerClientEvent('mythic_notify:client:SendAlert', src, { type = 'error', text = 'Bu silaha zaten sahipsin!'})
cb(nil)
end
return
end
end
else
for i=1, #invtable, 1 do
if invtable[i].name == item.name then
if count <= invtable[i].count then
if item.type == 'item_standard' then
xPlayer.addInventoryItem(item.name, count)
if invtable[i].count - count > 0 then
if Config.UseWeight then
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count - count, weight = item.weight})
else
table.insert(invtable, i, {name = item.name, label = item.label, type = 'item_standard', count = invtable[i].count - count, weight = Config.VehicleTrunkOrGloveboxItems[item.name] or Config.VehicleTrunkOrGloveboxItems['default']})
end
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_trunks SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
elseif item.type == 'item_money' then
xPlayer.addMoney(count)
if invtable[i].count - count > 0 then
table.insert(invtable, i, {name = item.name, label = 'Nakit', type = 'item_money', count = invtable[i].count - count, weight = 0})
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_trunks SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
elseif item.type == 'item_account' then
xPlayer.addAccountMoney(item.name, count)
if invtable[i].count - count > 0 then
table.insert(invtable, i, {name = item.name, label = 'Kara Para', type = 'item_account', count = invtable[i].count - count, weight = 0})
table.remove(invtable, i + 1)
else
table.remove(invtable, i)
end
MySQL.Async.execute('UPDATE m3_inv_trunks SET data = @data WHERE plate = @plate', {['@plate'] = plate, ['@data'] = json.encode(invtable)}, function(status)
if status then
cb(1)
end
end)
end
end
return
end
end
end
else
cb(nil)
end
end)
end)
--item weapons
Citizen.CreateThread(function()
if Config.ItemWeapons.Enabled then
MySQL.Async.fetchAll('SELECT * FROM items WHERE LCASE(name) LIKE \'%weapon_%\'', {}, function(results)
for k, v in pairs(results) do
ESX.RegisterUsableItem(v.name, function(source)
TriggerClientEvent('m3:inventoryhud:client:useWeapon', source, v.name)
end)
end
end)
end
end)
RegisterServerEvent('m3:inventoryhud:server:updateAmmoCount')
AddEventHandler('m3:inventoryhud:server:updateAmmoCount', function(hash, count)
local player = ESX.GetPlayerFromId(source)
MySQL.Async.execute('UPDATE disc_ammo SET count = @count WHERE hash = @hash AND owner = @owner', {
['@owner'] = player.identifier,
['@hash'] = hash,
['@count'] = count
}, function(results)
if results == 0 then
MySQL.Async.execute('INSERT INTO disc_ammo (owner, hash, count) VALUES (@owner, @hash, @count)', {
['@owner'] = player.identifier,
['@hash'] = hash,
['@count'] = count
})
end
end)
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:getAmmoCount', function(source, cb, hash)
local player = ESX.GetPlayerFromId(source)
MySQL.Async.fetchAll('SELECT * FROM disc_ammo WHERE owner = @owner and hash = @hash', {
['@owner'] = player.identifier,
['@hash'] = hash
}, function(results)
if #results == 0 then
cb(nil)
else
cb(results[1].count)
end
end)
end)
ESX.RegisterServerCallback('m3:inventoryhud:server:takePlayerItem', function(source, cb, item, count)
local player = ESX.GetPlayerFromId(source)
local invItem = player.getInventoryItem(item)
if invItem.count - count < 0 then
cb(false)
else
player.removeInventoryItem(item, count)
cb(true)
end
end)
local webhook_adi = "WLC Roleplay Envanter İşlemleri"
local webhook_goruntu = "" -- Webhookun profil fotoğrafıdır
local yereitemkoyma_url = "WEBHOOK" -- Webhook URLsini yapıştırın
local yerdenitemalma_url = "WEBHOOK" -- Webhook URLsini yapıştırın
local depoyaesyakoyma_url = "WEBHOOK" -- Webhook URLsini yapıştırın
local depodanesyaalma_url = "WEBHOOK" -- Webhook URLsini yapıştırın
local kisiseldepoyaesyakoyma_url = "WEBHOOK" -- Webhook URLsini yapıştırın
local kisiseldepodanesyaalma_url = "WEBHOOK" -- Webhook URLsini yapıştırın
local markettenesyaalma_url = "WEBHOOK" -- Webhook URLsini yapıştırın
local torpitoyaesyakoyma_url = "WEBHOOK" -- Webhook URLsini yapıştırın
local torpitodanesyaalma_url = "WEBHOOK" -- Webhook URLsini yapıştırın
local bagajaesyakoyma_url = "WEBHOOK" -- Webhook URLsini yapıştırın
local bagajdanesyaalma_url = "WEBHOOK" -- Webhook URLsini yapıştırın
local itemverme_url = "WEBHOOK"
local color = "00000000"
itemverme = function(name, logmesaj)
local icerik = {
{
["color"] = color,
["title"] = "**".. name .."**",
["description"] = logmesaj,
["footer"] = {
["text"] = "WLC Log | WLC RolePlay",
},
}
}
PerformHttpRequest(itemverme_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' })
end
yereitemkoyma = function(name, logmesaj)
local icerik = {
{
["color"] = color,
["title"] = "**".. name .."**",
["description"] = logmesaj,
["footer"] = {
["text"] = "WLC Log | WLC RolePlay",
},
}
}
PerformHttpRequest(yereitemkoyma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' })
end
yerdenitemalma = function(name, logmesaj)
local icerik = {
{
["color"] = color,
["title"] = "**".. name .."**",
["description"] = logmesaj,
["footer"] = {
["text"] = "WLC Log | WLC RolePlay",
},
}
}
PerformHttpRequest(yerdenitemalma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' })
end
depoyaesyakoyma = function(name, logmesaj)
local icerik = {
{
["color"] = color,
["title"] = "**".. name .."**",
["description"] = logmesaj,
["footer"] = {
["text"] = "WLC Log | WLC RolePlay",
},
}
}
PerformHttpRequest(depoyaesyakoyma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' })
end
depodanesyaalma = function(name, logmesaj)
local icerik = {
{
["color"] = color,
["title"] = "**".. name .."**",
["description"] = logmesaj,
["footer"] = {
["text"] = "WLC Log | WLC RolePlay",
},
}
}
PerformHttpRequest(depodanesyaalma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' })
end
kisiseldepoyaesyakoyma = function(name, logmesaj)
local icerik = {
{
["color"] = color,
["title"] = "**".. name .."**",
["description"] = logmesaj,
["footer"] = {
["text"] = "WLC Log | WLC RolePlay",
},
}
}
PerformHttpRequest(kisiseldepoyaesyakoyma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' })
end
kisiseldepodanesyaalma = function(name, logmesaj)
local icerik = {
{
["color"] = color,
["title"] = "**".. name .."**",
["description"] = logmesaj,
["footer"] = {
["text"] = "WLC Log | WLC RolePlay",
},
}
}
PerformHttpRequest(kisiseldepodanesyaalma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' })
end
markettenesyaalma = function(name, logmesaj)
local icerik = {
{
["color"] = color,
["title"] = "**".. name .."**",
["description"] = logmesaj,
["footer"] = {
["text"] = "WLC Log | WLC RolePlay",
},
}
}
PerformHttpRequest(markettenesyaalma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' })
end
torpitoyaesyakoyma = function(name, logmesaj)
local icerik = {
{
["color"] = color,
["title"] = "**".. name .."**",
["description"] = logmesaj,
["footer"] = {
["text"] = "WLC Log | WLC RolePlay",
},
}
}
PerformHttpRequest(torpitoyaesyakoyma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' })
end
torpitodanesyaalma = function(name, logmesaj)
local icerik = {
{
["color"] = color,
["title"] = "**".. name .."**",
["description"] = logmesaj,
["footer"] = {
["text"] = "WLC Log | WLC RolePlay",
},
}
}
PerformHttpRequest(torpitodanesyaalma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' })
end
bagajaesyakoyma = function(name, logmesaj)
local icerik = {
{
["color"] = color,
["title"] = "**".. name .."**",
["description"] = logmesaj,
["footer"] = {
["text"] = "WLC Log | WLC RolePlay",
},
}
}
PerformHttpRequest(bagajaesyakoyma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' })
end
bagajdanesyaalma = function(name, logmesaj)
local icerik = {
{
["color"] = color,
["title"] = "**".. name .."**",
["description"] = logmesaj,
["footer"] = {
["text"] = "WLC Log | WLC RolePlay",
},
}
}
PerformHttpRequest(bagajdanesyaalma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' })
end
Rica ederimSıkıntı callback altındaki kodlardı attığınla çalıştı eline sağlık teşekkürler els
disc icinde calisrimi ayni sistem mantiginda calisiyorlar ya ondan dedim.Çoğu arkadaş m3 envanterde dupe engellemeyi sormuş. Paylaştığım logda bütün envanter ile ilgili olan işlemlerin logu bulunmakta.
KURULUM
Kod:local webhook_adi = "WLC Roleplay Envanter İşlemleri" local webhook_goruntu = "" -- Webhookun profil fotoğrafıdır local yereitemkoyma_url = "WEBHOOK" -- Webhook URLsini yapıştırın local yerdenitemalma_url = "WEBHOOK" -- Webhook URLsini yapıştırın local depoyaesyakoyma_url = "WEBHOOK" -- Webhook URLsini yapıştırın local depodanesyaalma_url = "WEBHOOK" -- Webhook URLsini yapıştırın local kisiseldepoyaesyakoyma_url = "WEBHOOK" -- Webhook URLsini yapıştırın local kisiseldepodanesyaalma_url = "WEBHOOK" -- Webhook URLsini yapıştırın local markettenesyaalma_url = "WEBHOOK" -- Webhook URLsini yapıştırın local torpitoyaesyakoyma_url = "WEBHOOK" -- Webhook URLsini yapıştırın local torpitodanesyaalma_url = "WEBHOOK" -- Webhook URLsini yapıştırın local bagajaesyakoyma_url = "WEBHOOK" -- Webhook URLsini yapıştırın local bagajdanesyaalma_url = "WEBHOOK" -- Webhook URLsini yapıştırın local itemverme_url = "WEBHOOK" local color = "00000000" itemverme = function(name, logmesaj) local icerik = { { ["color"] = color, ["title"] = "**".. name .."**", ["description"] = logmesaj, ["footer"] = { ["text"] = "WLC Log | WLC RolePlay", }, } } PerformHttpRequest(itemverme_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' }) end yereitemkoyma = function(name, logmesaj) local icerik = { { ["color"] = color, ["title"] = "**".. name .."**", ["description"] = logmesaj, ["footer"] = { ["text"] = "WLC Log | WLC RolePlay", }, } } PerformHttpRequest(yereitemkoyma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' }) end yerdenitemalma = function(name, logmesaj) local icerik = { { ["color"] = color, ["title"] = "**".. name .."**", ["description"] = logmesaj, ["footer"] = { ["text"] = "WLC Log | WLC RolePlay", }, } } PerformHttpRequest(yerdenitemalma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' }) end depoyaesyakoyma = function(name, logmesaj) local icerik = { { ["color"] = color, ["title"] = "**".. name .."**", ["description"] = logmesaj, ["footer"] = { ["text"] = "WLC Log | WLC RolePlay", }, } } PerformHttpRequest(depoyaesyakoyma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' }) end depodanesyaalma = function(name, logmesaj) local icerik = { { ["color"] = color, ["title"] = "**".. name .."**", ["description"] = logmesaj, ["footer"] = { ["text"] = "WLC Log | WLC RolePlay", }, } } PerformHttpRequest(depodanesyaalma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' }) end kisiseldepoyaesyakoyma = function(name, logmesaj) local icerik = { { ["color"] = color, ["title"] = "**".. name .."**", ["description"] = logmesaj, ["footer"] = { ["text"] = "WLC Log | WLC RolePlay", }, } } PerformHttpRequest(kisiseldepoyaesyakoyma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' }) end kisiseldepodanesyaalma = function(name, logmesaj) local icerik = { { ["color"] = color, ["title"] = "**".. name .."**", ["description"] = logmesaj, ["footer"] = { ["text"] = "WLC Log | WLC RolePlay", }, } } PerformHttpRequest(kisiseldepodanesyaalma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' }) end markettenesyaalma = function(name, logmesaj) local icerik = { { ["color"] = color, ["title"] = "**".. name .."**", ["description"] = logmesaj, ["footer"] = { ["text"] = "WLC Log | WLC RolePlay", }, } } PerformHttpRequest(markettenesyaalma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' }) end torpitoyaesyakoyma = function(name, logmesaj) local icerik = { { ["color"] = color, ["title"] = "**".. name .."**", ["description"] = logmesaj, ["footer"] = { ["text"] = "WLC Log | WLC RolePlay", }, } } PerformHttpRequest(torpitoyaesyakoyma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' }) end torpitodanesyaalma = function(name, logmesaj) local icerik = { { ["color"] = color, ["title"] = "**".. name .."**", ["description"] = logmesaj, ["footer"] = { ["text"] = "WLC Log | WLC RolePlay", }, } } PerformHttpRequest(torpitodanesyaalma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' }) end bagajaesyakoyma = function(name, logmesaj) local icerik = { { ["color"] = color, ["title"] = "**".. name .."**", ["description"] = logmesaj, ["footer"] = { ["text"] = "WLC Log | WLC RolePlay", }, } } PerformHttpRequest(bagajaesyakoyma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' }) end bagajdanesyaalma = function(name, logmesaj) local icerik = { { ["color"] = color, ["title"] = "**".. name .."**", ["description"] = logmesaj, ["footer"] = { ["text"] = "WLC Log | WLC RolePlay", }, } } PerformHttpRequest(bagajdanesyaalma_url, function(err, text, headers) end, 'POST', json.encode({username = webhook_adi, embeds = icerik, avatar_url = webhook_goruntu}), { ['Content-Type'] = 'application/json' }) end
Bu kod satırını m3_inventoryhud/server.lua'nın en altına yapıştırıp editlemeniz yeterli olacaktır.
LOGLARIN DISCORD GÖRÜNTÜSÜ :
Ekli dosyayı görüntüle 54866
Destek için discord adresim = els#1339
els kodları eksik paylaşmış dostum bu sebepten dolayı sadece log bağlantısı yapılıyor ama neyin logu atılacağı bilinmiyorEline sağlık, şuan denedim fakat çalışmadı başka bir yerde editi var mı?
Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!