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

Rehber Onesync - Infinity Nedir ve nasil kullanilir ?

proportions

Üye
FT Kullanıcı
Katılım
2 yıl 11 ay 8 gün
Mesajlar
587
Web sitesi
pretit.nl
Discord
Proportions#8460
Merhaba arkadaslar,

Forumda konuyu açmadan arastirdim ama bu konuyu tam anlamiyla anlatan bir içerik göremedim ve sizlerle bu bilgiyi paylasayim istedim.
Öncelikle sunu belirteyim Onesync - Infinity herhangi bir optimizasyonla veya kaldirabilecegi oyuncu sayisiyla ilgilui birsey degildir.

# Nasil aktif edilir ?

Startup argümani olarak (.bat dosyasinda) : +set onesync on
server.cfg den : set onesync on

Onesync - Infinity nin kullanimi 48 slot a kadar BEDAVA dir, daha fazla slot için kullanmak istediginizde patreon key satin alip aktif edebilirsiniz.

# Scriptleri adapte etmek

Anlatmasi pek kolay birsey degil çünki kodlamasi degiskenlik gösteriyor ve bu yüzden biraz da kendi yorumunuzu eklemeniz gerek.
Infinity açik oldugunda / etkinlestirildiginde kullanicinin (client) bir kapsam araligi vardir, yani bilgisayarinizin "görebildigi" bir alan.
Bu araligin IÇERISINDEKI herseyi makinaniz algilayip yükliyecektir ve bu araligin DISARISINDAKI birseyden haberdar degildir.
Bunun en kolay örnegi, ben sehirdeysem ve diger oyuncu üst kasabadaysa benim bilgisayarim o kisinin orada oldugunu algilayamaz.
Yani, bunu ayarlamadan kullanmaya kalksaydim ve oradaki adama teleport atmaya kalksaydim bilgisayarim (client) kendine teleportlanirdi çünki diger kisinin koordinatlarini alamiyor olacaktim.
Ama sunucumuz bunu biliyor, diger oyuncunun koordinatlarinin ne oldugunu. Yani yapmamiz gereken bu bilgiyi sunucu (server) dan alip oyuncu (client) tarafina tasimaliyiz.
Baska bir önemli nokta da (burasi çokomelli) kapsamimiz disindaki kisilerden haberdar olmadigimiz için full oyuncu listesini almak istedigimizde de ayni sekilde bu info yu sunucu tarafindan çektirmemiz gerekecek.

# Koordinatlari almak

Bu biraz basittir, sunucu tarafinda GetEntityCoords kullanip ardindan bu bilgiyi event veya callback sayesinde geri gönderebilirsiniz.
Bu native hakkinda detayli bilgi için buraya bakabilirsiniz :

# Oyunculari çektirmek

Sunucudaki oyunculari çektirmek için buna benzer native ler kullanabilirsiniz:

Kod:
for _, player in ipairs(GetActivePlayers()) do
    local ped = GetPlayerPed(player)
    -- birseyler yap
end

veya QB fonksyonu kullanarak :

Kod:
for _, player in pairs(QBCore.Functions.GetPlayers()) do
    local ped = GetPlayerPed(player)
    -- birseyler yap
end

# Alan disinda bir araç spawnlama

Eger bir script yaziyorsaniz ve bir noktada araç spawnlamaniz gerekiyorsa ve bu araç sizin infinity scope unuz yani kapsam araligi disarisindaysa o zaman bu araci server tarafli olusturabilirsiniz:

Kod:
local SpawnPoints = {
    vector4(-1327.479736328, -86.045326232910, 49.31, 52),
    vector4(-2075.888183593, -233.73908996580, 21.10, 52),
    vector4(-972.1781616210, -1530.9045410150, 4.890, 52),
    vector4(798.18426513672, -1799.8173828125, 29.33, 52),
    vector4(1247.0718994141, -344.65634155273, 69.08, 52),
}

QBCore.Functions.CreateCallback('qb-truckrobbery:server:spawntruck', function(source, cb)
    local coords = SpawnPoints[math.random(#SpawnPoints)]
    local CreateAutomobile = GetHashKey("CREATE_AUTOMOBILE")
    local truck = Citizen.InvokeNative(CreateAutomobile, GetHashKey('stockade'), coords, coords.w, true, false)
    while not DoesEntityExist(truck) do
        Wait(25)
    end
    if DoesEntityExist(truck) then
        local netId = NetworkGetNetworkIdFromEntity(truck)
        cb(netId)
    else
        cb(0)
    end
end)

Bu kod ile araci spawnlayip id sini callback ile client tarafina entity id olusturuldu mu diye kontrol ettirmek için gönderebilirsiniz.
Bu entity sistemsel olarak client (oyuncu) kapsam içerisine girene kadar var olmayacaktir. Oyuncu kapsama alani içerisine girene kadar bu entity sunucuya ait olacaktir.
Bir oyuncu infinity kapsamina girdiginde bu entity nin sahibi olacak ve kullanabilecektir. Biliyorum biraz kafa karistirici ama baska türlü anlatamadim.
 

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!