- 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.
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.
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.
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.