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

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Ekmekq

Lan sanki biri üstüme üstüme geliyor
FT Kullanıcı
Katılım
4 yıl 4 ay 9 gün
Mesajlar
279
Konuyu yanlış yere açmış olabilirim, düzeltirseniz sevinirim.

Anlatışım kötü olabilir kusura bakmayın,
anlamayanlar bana Discord üzerinden yazabilir. Ekmekq#0025

Merhabalar bugün basit ve etkili optimizasyon nasıl yapılır onu öğreteceğim. Çoğu kişi Wait ile ms azaltmayı denemiş, bende bu yolla anlatayım istedim.

Bu anlatacağım optimizasyon yolu, en iyi yollardan biri olup çok az derecede bilgi gerektirmektedir.


Öncelikle değerlere local atayınız bu büyük kodlarda ms i büyük ölçüde düşürecektir, ve kodlamanızı kolaylaştırır.


1 - )
Citizen.Wait(0) kodunu PlayerPedId() kullandığınız yerde kullanmayınız, makine sürekli PlayerPedId() okursa bu BÜYÜK derecede ms oluşturur. Malesef bunun hakkında örnek kodum yoktur, yazmaya üşendim.

2 - )

Local değerleri doğru yere atadığınızdan emin olun bu yol kolay olup önemli bir ms değeri düşürür.

Ruby:
Localları yanlış yerde olan kod: 200ms


Citizen.CreateThread(
    function()
        while true do
        local 31 = PlayerPedId()
        local e = GetVehiclePedIsIn(31, false)
            if DoesVehicleHaveWeapons(e) then
                DisableVehicleWeapon(true, e, 31)
            end
            Citizen.Wait(100)
        end
    end
)


Localları doğru yerde olan kod: 107ms


Citizen.CreateThread(
    function()

        local 31 = PlayerPedId()
        local e = GetVehiclePedIsIn(31, false)

        while true do
            if DoesVehicleHaveWeapons(e) then
                DisableVehicleWeapon(true, e, 31)
            end
            Citizen.Wait(100)
        end
    end
)

Not: PlayerPedId() ye local atamayı sakın unutmayın buda büyük derecede ms düşürüyor.

3 - )
Kodları tekrarlamayın ve uzatmayın sade yazmaya çalışın bu ms düşürmek için iyi bir yol diyebilirim + olarak kodları okumanızda baya yararlı.
Giriş seviyesinde olan kişilere anlatmak gerekirse:
true değeri dışında bir şey olmayacaksa boşu boşuna kodu false için yazıp içine kod sıkışırmayın. Ve kodunuzu olabildiğince sade tutun.

Ruby:
Sade olmayan kod:

local pedindex = {}

function SetWeaponDrops()
    local handle, ped = FindFirstPed()
    local finished = false
    repeat
        if not IsEntityDead(ped) then
                pedindex[ped] = {}
        end
        finished, ped = FindNextPed(handle)
    until not finished
    EndFindPed(handle)

    for peds,_ in pairs(pedindex) do
        if peds ~= nil then
            SetPedDropsWeaponsWhenDead(peds, false)
        end
    end
end

Citizen.CreateThread(function()
    while true do
        Citizen.Wait(0)
        SetWeaponDrops()
    end
end)


Sadeleştirilmiş kod:

function SetWeaponDrops()
    local handle, ped = FindFirstPed()
    local finished = false

    repeat
        if not IsEntityDead(ped) then
            SetPedDropsWeaponsWhenDead(ped, false)
        end
        finished, ped = FindNextPed(handle)
    until not finished

    EndFindPed(handle)
end

Citizen.CreateThread(function()
    while true do
        SetWeaponDrops()
        Citizen.Wait(500)
    end
end)

Not: Bu kodu başka bir siteden aldım.

Önerilerim:

Kodunuzun en başına bir PlayerPedId() localı atayın ve her defasında PlayerPedId() yazmak yerine o localı yazın (her CreateThread içine aynı değerleri local atamayın 1 adet genel localınız olsun hepsine onu kullanın), diğer localları doğru yerlere girerseniz ms değeri gayet iyi bir şekilde düşecektir.


Sadece bu teknik başlangıç seviyesi olan biri için gayet fazla ms düşürecektir, tüm sunucu scriptlerinize bunları yaparsanız BÜYÜK derecede ms düşürür.

KAC adlı anticheatim 1-2ms alırken 0.04ms e düşürdüm (tabiki sadece bu teknikleri kullanmadım) o projemde kullandığım zor teknikleri örneklerle başka bir konuda bahsedeceğim.

Hatam varsa belirtin hemen düzenleyeyim.
 
DF
Modlar Rehber tagı verirseniz iyi olur bulamadımda
 
DF
0.3 - 0.13 arasında ms değerleri oynayıp duran scripti bu konu sayesinde 0.3 0.6 arasında oynayan ms değerlerine sabitledim. teşekkür ederim
 
DF
Çok güzel bir rehber bence en iyi optimizasyon rehberi
 
DF
Yararlı paylaşım teşekkürler.
 
DF
Güzel bir rehber olmuş umarım herkesin işine yarar
 
DF
Yararlı Ve Güzel Bir Paylaşım Olmuş Ellerine Sağlık
 
DF
Konuyu yanlış yere açmış olabilirim, düzeltirseniz sevinirim.

Anlatışım kötü olabilir kusura bakmayın,
anlamayanlar bana Discord üzerinden yazabilir. Ekmekq#0025

Merhabalar bugün basit ve etkili optimizasyon nasıl yapılır onu öğreteceğim. Çoğu kişi Wait ile ms azaltmayı denemiş, bende bu yolla anlatayım istedim.

Bu anlatacağım optimizasyon yolu, en iyi yollardan biri olup çok az derecede bilgi gerektirmektedir.


Öncelikle değerlere local atayınız bu büyük kodlarda ms i büyük ölçüde düşürecektir, ve kodlamanızı kolaylaştırır.

1 - )
Citizen.Wait(0) kodunu PlayerPedId() kullandığınız yerde kullanmayınız, makine sürekli PlayerPedId() okursa bu BÜYÜK derecede ms oluşturur. Malesef bunun hakkında örnek kodum yoktur, yazmaya üşendim.

2 - )
Local değerleri doğru yere atadığınızdan emin olun bu yol kolay olup önemli bir ms değeri düşürür.

Ruby:
Localları yanlış yerde olan kod: 200ms


Citizen.CreateThread(
    function()
        while true do
        local 31 = PlayerPedId()
        local e = GetVehiclePedIsIn(31, false)
            if DoesVehicleHaveWeapons(e) then
                DisableVehicleWeapon(true, e, 31)
            end
            Citizen.Wait(100)
        end
    end
)


Localları doğru yerde olan kod: 107ms


Citizen.CreateThread(
    function()

        local 31 = PlayerPedId()
        local e = GetVehiclePedIsIn(31, false)

        while true do
            if DoesVehicleHaveWeapons(e) then
                DisableVehicleWeapon(true, e, 31)
            end
            Citizen.Wait(100)
        end
    end
)

Not: PlayerPedId() ye local atamayı sakın unutmayın buda büyük derecede ms düşürüyor.

3 - )
Kodları tekrarlamayın ve uzatmayın sade yazmaya çalışın bu ms düşürmek için iyi bir yol diyebilirim + olarak kodları okumanızda baya yararlı.
Giriş seviyesinde olan kişilere anlatmak gerekirse:
true değeri dışında bir şey olmayacaksa boşu boşuna kodu false için yazıp içine kod sıkışırmayın. Ve kodunuzu olabildiğince sade tutun.

Ruby:
Sade olmayan kod:

local pedindex = {}

function SetWeaponDrops()
    local handle, ped = FindFirstPed()
    local finished = false
    repeat
        if not IsEntityDead(ped) then
                pedindex[ped] = {}
        end
        finished, ped = FindNextPed(handle)
    until not finished
    EndFindPed(handle)

    for peds,_ in pairs(pedindex) do
        if peds ~= nil then
            SetPedDropsWeaponsWhenDead(peds, false)
        end
    end
end

Citizen.CreateThread(function()
    while true do
        Citizen.Wait(0)
        SetWeaponDrops()
    end
end)


Sadeleştirilmiş kod:

function SetWeaponDrops()
    local handle, ped = FindFirstPed()
    local finished = false

    repeat
        if not IsEntityDead(ped) then
            SetPedDropsWeaponsWhenDead(ped, false)
        end
        finished, ped = FindNextPed(handle)
    until not finished

    EndFindPed(handle)
end

Citizen.CreateThread(function()
    while true do
        SetWeaponDrops()
        Citizen.Wait(500)
    end
end)

Not: Bu kodu başka bir siteden aldım.

Önerilerim:
Kodunuzun en başına bir PlayerPedId() localı atayın ve her defasında PlayerPedId() yazmak yerine o localı yazın (her CreateThread içine aynı değerleri local atamayın 1 adet genel localınız olsun hepsine onu kullanın), diğer localları doğru yerlere girerseniz ms değeri gayet iyi bir şekilde düşecektir.


Sadece bu teknik başlangıç seviyesi olan biri için gayet fazla ms düşürecektir, tüm sunucu scriptlerinize bunları yaparsanız BÜYÜK derecede ms düşürür.

KAC adlı anticheatim 1-2ms alırken 0.04ms e düşürdüm (tabiki sadece bu teknikleri kullanmadım) o projemde kullandığım zor teknikleri örneklerle başka bir konuda bahsedeceğim.

Hatam varsa belirtin hemen düzenleyeyim.
güzel fakat ben bu kodları nereye gireceğim
 
DF
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

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!