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

Paylaşım [QB/ESX] snr-motelv2 | Basit Config, Açık Kaynak, qb-target destekli ve Optimize

SonerCNGY

Üye
FT Kullanıcı
Katılım
4 yıl 4 gün
Mesajlar
580
Discord
sonerbutdevelompie
Arkadaşlar v1 basit kaçtığı için v2 olarak qb-target destekli hem esx hem qbye tek hareketle ayarlayabildiğiniz, nefes alan her varlığın kurabildiği basit bir motel scripti!
Piyasaya tekrardan yavaş yavaş dönüş sağlıyorum bunun gibi basit scleri yazıp yazıp paylaşıcam, Hem destek için discorduma katılabilir hemi de aklınıza takılanları ticket ile sorabilirsiniz. İmzamdan discorda katılabilirsiniz!

-Oyuna girdiğiniz de rastgele motel odası verir.
- Target'i sadece qbcore altyapı kullanabilir!
- shared/config.lua üzerinden framework ayarı yapabilirsiniz.
- Scriptteki kodları kopyalayıp kullanabilirsiniz, Ne de olsa paylaşım yapıyorum isteyen adını da değiştirebilir.
- shared/config.lua üzerinden blip ayarı yapabilirsiniz.
- Fotoğraftaki maplerin de paylaşımını yaptım, yapımcısını hatırlamıyorum ama onu da yanında paylaştım.





motelgoruntu.png
kapımarker.png

sandık.png
gardrop.png

notify.png target.png garpdtoptarget.png
motelll.png
 
DF
Eline sağlık
Citizen. Kullanmana gerek yok artık boşa resmon artar
 
DF
Eline sağlık
Citizen. Kullanmana gerek yok artık boşa resmon artar
Toplam da 2 adet kullanan Döngü var zaten, İlk döngü framework döngüsü onu yapmadan malesef aynı sc'ye 2 framework sığdıramam. İkinci döngü de dikkat ettiyseniz döngünün süresi distance ile bağlantılı yani sen motelden uzaktayken 2500 milisaniye de bir kontrol eder eğer yakınlaşırsan motele 1 milisaniye onun sebebi de oda markerinin gözükmesi v.b kısacası optimize sıkıntı yok. Resmona aşırı etki yaptı ise ilk döngüdeki milisaniyeyi 5000 yapabilirsin. bende düzeltiyorum şimdi.
 
DF
Toplam da 2 adet kullanan Döngü var zaten, İlk döngü framework döngüsü onu yapmadan malesef aynı sc'ye 2 framework sığdıramam. İkinci döngü de dikkat ettiyseniz döngünün süresi distance ile bağlantılı yani sen motelden uzaktayken 2500 milisaniye de bir kontrol eder eğer yakınlaşırsan motele 1 milisaniye onun sebebi de oda markerinin gözükmesi v.b kısacası optimize sıkıntı yok. Resmona aşırı etki yaptı ise ilk döngüdeki milisaniyeyi 5000 yapabilirsin. bende düzeltiyorum şimdi.
Denemedim scripti sadece artık Citizen. kullanmadan da çalışıyor onu demeye çalışıyorum direkt CreateThread olarak veya wait olarak kullanabilirsin başına Citizen. Eklemene gerek yok yani
 
DF
Denemedim scripti sadece artık Citizen. kullanmadan da çalışıyor onu demeye çalışıyorum direkt CreateThread olarak veya wait olarak kullanabilirsin başına Citizen. Eklemene gerek yok yani
heeeeeeeeeee .d ben eski kafalıyım bişi olmaz :D
 
DF
Denemedim scripti sadece artık Citizen. kullanmadan da çalışıyor onu demeye çalışıyorum direkt CreateThread olarak veya wait olarak kullanabilirsin başına Citizen. Eklemene gerek yok yani
Citizen. artık kullanmaya gerek yok ama FiveM'in kendi eventleri için gerekli örneğin Citizen.Await(var)
 
DF
Toplam da 2 adet kullanan Döngü var zaten, İlk döngü framework döngüsü onu yapmadan malesef aynı sc'ye 2 framework sığdıramam. İkinci döngü de dikkat ettiyseniz döngünün süresi distance ile bağlantılı yani sen motelden uzaktayken 2500 milisaniye de bir kontrol eder eğer yakınlaşırsan motele 1 milisaniye onun sebebi de oda markerinin gözükmesi v.b kısacası optimize sıkıntı yok. Resmona aşırı etki yaptı ise ilk döngüdeki milisaniyeyi 5000 yapabilirsin. bende düzeltiyorum şimdi.
Script yazarken döngülerden mümkün oldugu kadar uzak durun. Tabiki kaçinamiyacaginiz yerler olur (distance check, natives) ama mümkün oldugunca kaçinin.
Ilk döngü framework döngüsü demissin ama döngü içerisinde config de yazdigin seyi her milisaniyede kontrol ettiriyorsun, mantiksiz olmus. Bunun yerine config deki degeri while döngüsü içerisinde kontrol etmektense daha basit birsey kullanabilirsin:
Kod:
if GetResourceState('es_extended') ~= missing then
    CreateThread(function()
        while ESX == nil do
            TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
        Wait(0)
        end
        ESX.PlayerData = ESX.GetPlayerData()
    end)
elseif GetResourceState('qb-core') ~= missing then
    QBCore = exports['qb-core']:GetCoreObject()
else
    CreateThread(function()
        while true do Wait(500) TriggerServerEvent("snr:motel:print", locale.uyari)
        end
    end)
end

bu sayede script çalisiyormu diye kontrol ettirip ona göre otomatik olarak hangi framework kullandigini belirleyebilir ve ona göre bir yol izleyebilirsin.

Ikinci olarak devamli motelin yanina yaklastimi diye kontrol ettirmektense bakis açisini degistirip motelin etrafinda bir polyzone olusturup sadece o polyzone içerisine girdiginde herhangi bir function veya event triggerletmek daha optimize olur.
Bize göre 5000 ms atmak optimize görükebilir ama arkaplanda script memory den yer (bknz: script 0.0 resmon gösterirken cpu degeri acaba neden %1.30 veya daha fazla gösterir? )

Script yaziminda kontroller önemlidir, ama dogru kontrolü yapmak daha da önemlidir.
Yazdigin kontrollerdeki gördügüm hata :

Kod:
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function()
    if Config.ESXorQBorNewQB == "qb" or Config.ESXorQBorNewQB == "newqb" then
    else
        suankimoteli = math.random(1, #pinkcage)
        TriggerEvent('notification', locale.Newmotel ..suankimoteli, 1)
    end
end)

Burada kontrol ettirip hiçbirsey yaptirmiyorsun mesela.
Bunun yerine söyle birsey kullansan daha optimize olur (return kullanimi önemli) :

Kod:
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function()
    if not Config.ESXorQBorNewQB == "qb" or not Config.ESXorQBorNewQB == "newqb" then return end
    suankimoteli = math.random(1, #pinkcage)
    TriggerEvent('notification', locale.Newmotel ..suankimoteli, 1)
end)

Citizen. artık kullanmaya gerek yok ama FiveM'in kendi eventleri için gerekli örneğin Citizen.Await(var)
Dogru, ama promise leri fazla kisi kullanmadigindan Await de pek kullanilmiyor ama haklisin, await için Citizen den çektirmen gerekiyor.
 
DF
Script yazarken döngülerden mümkün oldugu kadar uzak durun. Tabiki kaçinamiyacaginiz yerler olur (distance check, natives) ama mümkün oldugunca kaçinin.
Ilk döngü framework döngüsü demissin ama döngü içerisinde config de yazdigin seyi her milisaniyede kontrol ettiriyorsun, mantiksiz olmus. Bunun yerine config deki degeri while döngüsü içerisinde kontrol etmektense daha basit birsey kullanabilirsin:
Kod:
if GetResourceState('es_extended') ~= missing then
    CreateThread(function()
        while ESX == nil do
            TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)
        Wait(0)
        end
        ESX.PlayerData = ESX.GetPlayerData()
    end)
elseif GetResourceState('qb-core') ~= missing then
    QBCore = exports['qb-core']:GetCoreObject()
else
    CreateThread(function()
        while true do Wait(500) TriggerServerEvent("snr:motel:print", locale.uyari)
        end
    end)
end

bu sayede script çalisiyormu diye kontrol ettirip ona göre otomatik olarak hangi framework kullandigini belirleyebilir ve ona göre bir yol izleyebilirsin.

Ikinci olarak devamli motelin yanina yaklastimi diye kontrol ettirmektense bakis açisini degistirip motelin etrafinda bir polyzone olusturup sadece o polyzone içerisine girdiginde herhangi bir function veya event triggerletmek daha optimize olur.
Bize göre 5000 ms atmak optimize görükebilir ama arkaplanda script memory den yer (bknz: script 0.0 resmon gösterirken cpu degeri acaba neden %1.30 veya daha fazla gösterir? )

Script yaziminda kontroller önemlidir, ama dogru kontrolü yapmak daha da önemlidir.
Yazdigin kontrollerdeki gördügüm hata :

Kod:
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function()
    if Config.ESXorQBorNewQB == "qb" or Config.ESXorQBorNewQB == "newqb" then
    else
        suankimoteli = math.random(1, #pinkcage)
        TriggerEvent('notification', locale.Newmotel ..suankimoteli, 1)
    end
end)

Burada kontrol ettirip hiçbirsey yaptirmiyorsun mesela.
Bunun yerine söyle birsey kullansan daha optimize olur (return kullanimi önemli) :

Kod:
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function()
    if not Config.ESXorQBorNewQB == "qb" or not Config.ESXorQBorNewQB == "newqb" then return end
    suankimoteli = math.random(1, #pinkcage)
    TriggerEvent('notification', locale.Newmotel ..suankimoteli, 1)
end)


Dogru, ama promise leri fazla kisi kullanmadigindan Await de pek kullanilmiyor ama haklisin, await için Citizen den çektirmen gerekiyor.
ESX'de polyzone kullanan çok fazla kişi yok o yüzden kullanmadım açıkcası bide gereklilikleri arttırmadan yardırdım, framework kontrolünü de basit bir mantıkta gösterdim ama dediğiniz mantıkta da olabilir daha güzel olur. Ne de olsa dakka başı framework çekmeye gerek yok benim amacım configden çektirmekti öyle yaptım dediğiniz yöntem daha otomatik :D, playerloadedde dediğiniz gibi return atabilirmişim atlamışımdır kodu yarım saate yazdım, bugün de araç kiralama scsi yazıp paylaşıcam. Teşekkürler geri dönüşleriniz için hemen uyguluyacağım.
 
DF
Arkadaşlar v1 basit kaçtığı için v2 olarak qb-target destekli hem esx hem qbye tek hareketle ayarlayabildiğiniz, nefes alan her varlığın kurabildiği basit bir motel scripti!
Piyasaya tekrardan yavaş yavaş dönüş sağlıyorum bunun gibi basit scleri yazıp yazıp paylaşıcam, Hem destek için discorduma katılabilir hemi de aklınıza takılanları ticket ile sorabilirsiniz. İmzamdan discorda katılabilirsiniz!

-Oyuna girdiğiniz de rastgele motel odası verir.
- Target'i sadece qbcore altyapı kullanabilir!
- shared/config.lua üzerinden framework ayarı yapabilirsiniz.
- Scriptteki kodları kopyalayıp kullanabilirsiniz, Ne de olsa paylaşım yapıyorum isteyen adını da değiştirebilir.
- shared/config.lua üzerinden blip ayarı yapabilirsiniz.
- Fotoğraftaki maplerin de paylaşımını yaptım, yapımcısını hatırlamıyorum ama onu da yanında paylaştım.





Ekli dosyayı görüntüle 87145
Ekli dosyayı görüntüle 87146

Ekli dosyayı görüntüle 87147
Ekli dosyayı görüntüle 87148

Ekli dosyayı görüntüle 87149Ekli dosyayı görüntüle 87150Ekli dosyayı görüntüle 87151
Ekli dosyayı görüntüle 87152
targeti nerden açcaz
 
DF
oda vermiş fakat sandığı aç dediğimde her hangi bişey açılmıyor bunu nasıl halledebilirim
 
DF
merhaba motel kapılarımın kilidini açamıyorum nasıl yapabilirim
 
DF

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!