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

Cevaplandı Bu Konu Çok Değişik (YADIM)

byreis

Üye
FT Kullanıcı
Katılım
3 yıl 10 ay 16 gün
Mesajlar
169
Aşşağıdaki kodu nasıl yapabilirim mesela param 10.000 tl olduğu zaman otamatik olarak bir meslek versin atıyorum polis mesleği versin bunu nasıl yapabilirim.

Ben böyle birşey düşündüm ama bir türlü yapamadım

mesela localde tanımladığım x yerine xPlayer yazıyorum y yerine ne yazmam gerekir bana kısaca nasıl yapabileceğimi anlatabilecek var mı ? ve bunu client kısmına mı server kısmına mı yazmam gerekir.

Kod:
local x = y

if kişinin parası >=  10.000 then
        kişinin mesleğini = police
end
 
Client Kısmı :
Kod:
ESX                           = nil

Citizen.CreateThread(function()

    while ESX == nil do
        TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
        Citizen.Wait(0)
    end

end)


Citizen.CreateThread(function()
    while true do
        ESX.TriggerServerCallback('gener4l:parakontrol', function(paravarmi)
            if paravarmi then
                TriggerServerEvent('gener4l:meslekver')
            end
            Citizen.Wait(1000) -- Kaç saniyede bir kontrol etsin (ms)
    end
end)

Server Kısmı :
Kod:
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)


ESX.RegisterServerCallback('gener4l:parakontrol', function(source, cb)

    local xPlayer = ESX.GetPlayerFromId(source)

    if xPlayer.getMoney() >= 10000 then
        cb(true)
    else
        cb(false)
    end

end)



RegisterServerEvent('gener4l:meslekver')
AddEventHandler('gener4l:meslekver', function()
    local _source = source
    local xPlayer = ESX.GetPlayerFromId(_source)
    xPlayer.setJob("police", 0)-- 0 olan job grade'dir
end)


Test etme vaktim olmadı bir hata varsa yazarsın.
 
Ön ek tarafımca değiştirilmiştir.
 
Sorununuz çözüme kavuştu mu ?
 
Client Kısmı :
Kod:
ESX                           = nil

Citizen.CreateThread(function()

    while ESX == nil do
        TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
        Citizen.Wait(0)
    end

end)


Citizen.CreateThread(function()
    while true do
        ESX.TriggerServerCallback('gener4l:parakontrol', function(paravarmi)
            if paravarmi then
                TriggerServerEvent('gener4l:meslekver')
            end
            Citizen.Wait(1000) -- Kaç saniyede bir kontrol etsin (ms)
    end
end)

Server Kısmı :
Kod:
TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)


ESX.RegisterServerCallback('gener4l:parakontrol', function(source, cb)

    local xPlayer = ESX.GetPlayerFromId(source)

    if xPlayer.getMoney() >= 10000 then
        cb(true)
    else
        cb(false)
    end

end)



RegisterServerEvent('gener4l:meslekver')
AddEventHandler('gener4l:meslekver', function()
    local _source = source
    local xPlayer = ESX.GetPlayerFromId(_source)
    xPlayer.setJob("police", 0)-- 0 olan job grade'dir
end)


Test etme vaktim olmadı bir hata varsa yazarsın.
knk çalışmadı maalesef
 
benim konuyu açmamdaki amaç databasemde rp_rank diye bir level sistemi var bu mesela 25 olduğu zaman ya da oyundayken 25 olduğunda police mesleği verdirtmek istiyorum disc inventoryde de police mesleği için bir market var yani dolaylı yoldan level sistemli market olmuş olcak bunu yapmak istiyorum ben
 
+Güncel
 
+Up
 
local x = y yazdığın yer aslında şu x kullanacağın isim aslında x veya herhangi bir şey tanımlaman önemli değil sadece y yerine yazacağın şey önemli oluyor örneğin


local _source = source
local abc = ESX.GetPlayerFromId(_source)


burada abc yazdığın yeri kullanığın zaman artık abc kodun ESX.GetPlayerFromId(_source) çekecektir


bu bir kod değil sadece örnek vermek amacıyla gösterdim araştırman gerekiyor birazcık
 
benim konuyu açmamdaki amaç databasemde rp_rank diye bir level sistemi var bu mesela 25 olduğu zaman ya da oyundayken 25 olduğunda police mesleği verdirtmek istiyorum disc inventoryde de police mesleği için bir market var yani dolaylı yoldan level sistemli market olmuş olcak bunu yapmak istiyorum ben
Meslek verdirtmek yerine meslek aldirtmayi denemelisin bana sorarsan.
esx_jobcenter kullanarak iskur sistemini getirebilirsin, burada da meslek alirken rp_rank sisteminden bir check yaparak rank egerki yetiyorsa o zaman meslegi verebilirsin.
Polis marketi dedigin de normal market sistemi ama inventoryhud de job da police yaziyordur, yani bunun yerine baska meslek de yapip ona göre bir market de açabilirsin.
Tam olarak ne yapmak istedigini anlamadim ama yukarida belirttigim gibi yaparsan bence daha mantikli olur.
Eger dedigin gibi yaparsan, yani meslegi kendin verdirirsen, bu sefer meslegi olanlarin da belirli miktarin altina düstügünde meslegi polislik ile degisecektir.
 

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!