Foruma hoş geldin, Ziyaretçi

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.

  • img acıklama
  • img acıklama
  • img acıklama
  • img acıklama
  • img acıklama
  • img acıklama

FiveM WEBHOOK ARACILIĞI İLE LOG TUTMA

FivemTurkey Çevrim dışı

FivemTurkey 

moderatör
23 Tem 2021
429
392
Diyarbakır
Merhabalar

Sizlere herhangi bir eklentinin, istediğiniz verisinin logunu tutmayı öğreteceğim.

Bilginizin yeteceğini düşünmüyorsanız eklentinin yedeğini almanızı tavsiye ederim.
Paylaşacağım fonksiyon bir eklenti değil, kopyala yapıştır mantığı ile çalışmaz.
Logunu tutmak istediğiniz veriye göre uyarlamanız gerekmekte.


Bu kodu logunu tutmak istediğiniz eklentinin sunucu tarafındaki herhangi bir dosyanın alt kısmına yapıştırmanız yeterli.

Kod:
Kod:
function dclog(xPlayer, text)
local playerName = Sanitize(xPlayer.getName())

local discord_webhook = "WEBHOOK"
if discord_webhook == '' then
return
end
local headers = {
['Content-Type'] = 'application/json'
}
local data = {
["username"] = "USERNAME",
["avatar_url"] = "AVATAR_URL",
["embeds"] = {{
["author"] = {
["name"] = playerName.. ' - ' ..xPlayer.identifier
},
["color"] = 1942002,
["timestamp"] = os.date("!%Y-%m-%dT%H:%M:%SZ")
}}
}
data['embeds'][1]['description'] = text
PerformHttpRequest(discord_webhook, function(err, text, headers) end, 'POST', json.encode(data), headers)
end

function Sanitize(str)
local replacements = {
['&'] = '&',
['<'] = '&lt;',
['>'] = '&gt;',
['\n'] = '<br/>'
}

return str
:gsub('[&<>\n]', replacements)
:gsub(' +', function(s)
return ' '..('&nbsp;'):rep(#s-1)
end)
end
Mantığı kavramanız açısından logunu tuttuğum bir eklentinin örnek bir eventi.

Kod:
Kod:
RegisterServerEvent("esx_newDrugs:reward")
AddEventHandler("esx_newDrugs:reward",function(amount,typed)
local xPlayer = ESX.GetPlayerFromId(source)

if xPlayer.canCarryItem(typed.."brick", math.ceil(amount)) then
xPlayer.addInventoryItem(typed.."brick",math.ceil(amount))
dclog(xPlayer, '**'..math.ceil(amount)..'x '..typed..'brick** elde etti.' )
else
TriggerClientEvent('mythic_notify:client:SendAlert', xPlayer.source, { type = 'error', text = 'Daha fazla taşıyamazsın!'})
end
end)
Fonksiyonun ihtiyaç duyduğu iki tür veri bulunmakta.
Eylemi gerçekleştiren oyuncu ve loga düşecek metin.
Metni istediğiniz şekilde düzenleyebilirsiniz.
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap

Bu Konuyu Görüntüleyen Kullanıcılar (Toplam: 1, üye: 0, Ziyaretçi: 1)

Benzer konular