Neler yeni

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.

Türkiye'nin İlk ve tek FiveM forum adresi

Forum adresimize hoş geldin FiveMTürk olarak amacımız siz değerli kullanıcılarımıza en aktif fikir ve paylaşım platformu sunmak bir yana en güvenilir şekilde alışveriş yapabileceğiniz bir platform sunmaktır.
DF DF
DF DF
DF DF

Soru client side fonksiyonu server side'a çevirme

Hiryuin

Üye
FT Kullanıcı
Katılım
4 yıl
Mesajlar
197
Discord
Hiryuin ム#2483
Arkadaşlar aşağıdaki fonksiyonu server sidea nasıl çevirebilirim anlatabilecek yada yapabilecek var mı ?
Kod:
Citizen.CreateThread(function()
    while true do
      Citizen.Wait(1000)
      TriggerEvent('skinchanger:getSkin', function(skin)
        borsa = skin['bags_1']
      end)
      Citizen.Wait(1000)
    end
end)
 
Arkadaşlar aşağıdaki fonksiyonu server sidea nasıl çevirebilirim anlatabilecek yada yapabilecek var mı ?
Kod:
Citizen.CreateThread(function()
    while true do
      Citizen.Wait(1000)
      TriggerEvent('skinchanger:getSkin', function(skin)
        borsa = skin['bags_1']
      end)
      Citizen.Wait(1000)
    end
end)
Server için, TriggerEvent kısmına TriggerClientEvent yazarak client çağırılır fakat skin kısmı boş olacağından hata verir veya boş döndürür ve server sideden skin almak için sourceyi ve skinini çekmelisiniz.
 
Server için, TriggerEvent kısmına TriggerClientEvent yazarak client çağırılır fakat skin kısmı boş olacağından hata verir veya boş döndürür ve server sideden skin almak için sourceyi ve skinini çekmelisiniz.
Kod:
Citizen.CreateThread(function(source)
    while true do
      Citizen.Wait(1000)
      TriggerClientEvent('skinchanger:getSkin', source, function(skin)
        canta = skin['bags_1']
      end)
      Citizen.Wait(1000)
    end
end)

bu şekilde olur mu peki ?
 
Dostum yapmak istediğin şeyi anlayamadım birazcık aydınlatırsan yardımcı olayım
 
Kod:
RegisterServerEvent('esx_skin:save')
AddEventHandler('esx_skin:save', function(skin)
    local xPlayer = ESX.GetPlayerFromId(source)
    local defaultMaxWeight = ESX.GetConfig().MaxWeight
    local backpackModifier = Config.BackpackWeight[skin.bags_1]

    if backpackModifier then
        xPlayer.setMaxWeight(defaultMaxWeight + backpackModifier)
    else
        xPlayer.setMaxWeight(defaultMaxWeight)
    end

    MySQL.Async.execute('UPDATE users SET skin = @skin WHERE identifier = @identifier', {
        ['@skin'] = json.encode(skin),
        ['@identifier'] = xPlayer.identifier
    })
end)

Bu kod zaten esx'in verdiği altyapıya göre sırt çantasını algılayıp

yine esx 'in verdiği setmaxweight functionu ile ağırlığı set ediyor

xPlayer.setMaxWeight(defaultMaxWeight + backpackModifier)

Yani yapmaya çalıştığın şeyin bu olduğunu sanıyorum zaten esx_skin > server > main.lua da bu görev var neden tekrar yapmaya çalıştığını anlamıyorum ?
 
Eğer bunu ayrı bir scriptte kullanacaksan
Kod:
RegisterServerEvent('esx_skin:save')
AddEventHandler('esx_skin:save', function(skin)
    local xPlayer = ESX.GetPlayerFromId(source)
    local defaultMaxWeight = ESX.GetConfig().MaxWeight
    local backpackModifier = Config.BackpackWeight[skin.bags_1]

    if backpackModifier then
        xPlayer.setMaxWeight(defaultMaxWeight + backpackModifier)
        Triggerevent('Fivemturk:setCurrentWeight',defaultMaxWeight + backpackModifier)
    else
        xPlayer.setMaxWeight(defaultMaxWeight)
    end

    MySQL.Async.execute('UPDATE users SET skin = @skin WHERE identifier = @identifier', {
        ['@skin'] = json.encode(skin),
        ['@identifier'] = xPlayer.identifier
    })
end)

Kod:
RegisterServerEvent('Fivemturk:setCurrentWeight')
AddEventHandler('Fivemturk:setCurrentWeight', function(parameter)

local currentWeight = parameter

end)


Triggerevent('Fivemturk:setCurrentWeight',defaultMaxWeight + backpackModifier)
 
Eğer bunu ayrı bir scriptte kullanacaksan
Kod:
RegisterServerEvent('esx_skin:save')
AddEventHandler('esx_skin:save', function(skin)
    local xPlayer = ESX.GetPlayerFromId(source)
    local defaultMaxWeight = ESX.GetConfig().MaxWeight
    local backpackModifier = Config.BackpackWeight[skin.bags_1]

    if backpackModifier then
        xPlayer.setMaxWeight(defaultMaxWeight + backpackModifier)
        Triggerevent('Fivemturk:setCurrentWeight',defaultMaxWeight + backpackModifier)
    else
        xPlayer.setMaxWeight(defaultMaxWeight)
    end

    MySQL.Async.execute('UPDATE users SET skin = @skin WHERE identifier = @identifier', {
        ['@skin'] = json.encode(skin),
        ['@identifier'] = xPlayer.identifier
    })
end)

Kod:
RegisterServerEvent('Fivemturk:setCurrentWeight')
AddEventHandler('Fivemturk:setCurrentWeight', function(parameter)

local currentWeight = parameter

end)


Triggerevent('Fivemturk:setCurrentWeight',defaultMaxWeight + backpackModifier)
disc-inventoryhud kullandığım için envanter ağırlığını oradan çekmiyor o yüzden disce eklemem gerekiyor o yüzden istemiştim teşekkürler yinede
 
disc-inventoryhud kullandığım için envanter ağırlığını oradan çekmiyor o yüzden disce eklemem gerekiyor o yüzden istemiştim teşekkürler yinede
yukarıda attığım kodlarla çekebilirsin
 

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

Tema düzenleyici

Tema özelletirmeleri

Granit arka planlar

Lütfen Javascript'i etkinleştirin!Javascript'i etkinleştirin!