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

Yardım Aşırı resmon yeme

atiysu

Üye
FT Kullanıcı
Katılım
3 yıl 1 ay 5 gün
Mesajlar
291
Merhaba, basit bir burger shot mesleği yaptım ama meslek kontrollü olduğu için yakın değilken bile 0.04 resmon yiyor. Düşürmek için ne yapabilirim

Screenshot_1.png Screenshot_72.png
 
Gösterdiğin işlevden başlayabilirsin sürekli kontrol ettirmene gerek yok

Kod:
ESX                           = nil
local PlayerData              = {}

-- Bu kısımda da oyuna girdiğinde oyuncuya eşitleniyor bunu yapmazsan scripti reslediğinde ancak PlayerData verilerine ulaşırsın.



RegisterNetEvent('esx:playerLoaded')

AddEventHandler('esx:playerLoaded', function(xPlayer)

    PlayerData = xPlayer

end)

Kod:
 -- Client üzerinde ilk sıraya koy
Citizen.CreateThread(function ()
    while ESX == nil do -- ESX nil ise calışacak yani startlandığın da döngü calışır
        TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
        -- ESX burda nil olmaktan cıkıyor ESX = obj'a eşitleniyor ==> optimize
        Citizen.Wait(0)
        PlayerData = ESX.GetPlayerData()
    end
end)
 
Screenshot_2.png Screenshot_73.png
Teşekkür ederim ama şimdi de bu hatayı alıyorum.
 

C:
CreateThread(function ()
    while ESX == nil do
        TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
        Wait(0)
    end
    while not ESX.GetPlayerData() do Wait(100) end
    PlayerData = ESX.GetPlayerData()
end)

RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function(PlayerData)
    PlayerData = PlayerData
end)


RegisterNetEvent('esx:setJob')
AddEventHandler('esx:setJob', function(PlayerJob)
    PlayerData.job = PlayerJob
end)

Bu şekilde kullan. Gereksiz döngülerden uzak dur. Ve sanıırm sleep kullanımını tam çözememişsin sleep dynamic olarak kullanılıyor eğer dynamic olarak tanımlamıcaksan sleep tanımlamana gerek yok. Örnek olarak bundan bakabilirsin.


C++:
CreateThread(function()
    local function nearbyElevator()
        local sleep = 1250
        if not nearbyGarageType or nearbyGarageType == 'boat' then return sleep end
        local data = config.vehicleShowRooms[nearbyGarageType]
        for k,v in pairs(data) do
            local dst = #(playercoords - vec3(v.entry.x, v.entry.y, v.entry.z))
            if dst > 20.0 then goto continue end
            sleep = 0
            DrawMarker(2, v.entry.x, v.entry.y, v.entry.z, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.2, 0.15, 255, 255, 255, 255, false, false, false, true, false, false, false)
            if dst > 3.0 then goto continue end
            DrawText3D(v.entry.x, v.entry.y, v.entry.z + 0.5, '~r~[E]~s~ Back')
            if IsControlJustPressed(0, Keys['E']) then
                ExitGarage()
            end
            ::continue::
        end
        return sleep
    end
    while true do
        local sleep = nearbyElevator()
        Wait(sleep)
    end
end)
 
sorunum çözüldü teşekkür ederim
 

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!