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

Script [QBCore] Kibra-Motels Full Metadata Ve MLO Uyumlu

kibra

?????????
FT Kullanıcı
Katılım
3 yıl 4 ay 13 gün
Mesajlar
1,915
Discord
Kibra#9999
KIBRA MOTELS

70862


Metadata destekli MLO ile uyarlayanabilir Motel sistemidir.

Özellikler:

- Her odanın kendine özel anahtarı vardır. Odalara erişebilmek için, o odanın anahtarına sahip olmanız gerekir.
- Çoklu dil desteği mevcuttur.
- oxmysql ve mysql-async ile tam uyumludur.
- Çoğu özelliği config.lua üzerinden kapatıp açabilirsiniz.
- Motel ve oda sayısını istediğiniz kadar arttırabilirsiniz.

Satın almak için; veya Discord: Kibra#9999

Kod:
-- Author Kibra#9999
-- My Discord **dc.kibra.online**

Config = {}

Config.Locale = "en"

Config.SaveInventoryStashName = "MotelStash" -- Buraya yazdığınız isim otel depolarının başlığıdır.

Config.MultiMotel = true -- Oyuncuların birden fazla otel odası kiralamasına izin verir.


Config.MotelBillAmount = 100 -- Motel Oda Kiralama Ücreti

Config.QBPhone = true -- QB Phone eklentisini kullanıyorsanız, doğru olarak işaretleyin. Faturalandırma için.


Config.MotelsBlipAlwaysOpen = true -- Motel bliplerini daim açık tutar.

Config.MetaData = true -- (Yalnızca qbcore için geçerlidir.) Bir motel odası kiralandığında, o motel odasına özel bir anahtar verilir. Ve bu anahtarı kullanan kişiler kiraladıkları odaya girip depoya giriş yapabilirler. Yanlış olarak işaretlerseniz, her oyuncu yalnızca kiraladığı odaya girebilir.

Config.UIDrawText = true
-- Doğru olarak işaretlerseniz DrawText işlevi kullanılır. Yanlış olarak işaretlerseniz, Kullanıcı Arayüzü DrawText kullanılacak ve optimize edilecektir.


Config.MotelKeyItemName = "motelkey" --  Metadata özelliği açıksa, kullanabilirsiniz.

Config.RoomNoDrawTextCommand = "showroomno"
-- When this command is used, the number of hotel rooms becomes visible to all players from the specified distance level.

Config.NewRoomAddCommand = "newaddmotelroom"
-- Command that allows you to add a new motel room to the database.

Config.StashAccessEveryone = false
-- This property will work if the metadata property is set to false. In this case, if marked as true, anyone can do the Storage Check of the Room. However, if false, only the room owner can do this.

Config.MotelRoomRentBuyType = "cash" -- "cash" or "bank"

Config.CopyRoomKeyPrice = 50
-- A fee to issue a new key if you lose your motel room key.

Config.Wardrobe = {
    EventType = "client", -- client or server
    EventName = "qb-clothing:client:openOutfitMenu", -- Clothing Menu Event Name
}

-- UI Controls
Config.UIControls = {
    StashLockControl = "[E]",
    DoorLockOpenControl = "[E]",
    StashOpenControl = "[G]",
    OpenReceptionControl = "[E]",
    WardrobeOpenControl = "[E]"
}
-- Controls
Config.StashLockControl = 38 -- Motel Stash Lock Control
Config.DoorLockControl = 38 -- Motel Door Lock Kontrol
Config.StashOpenControl = 47 -- Motel Stash Open Control
Config.OpenReceptionControl = 38 -- Reception Menu Open Control
Config.WardrobeOpenControl = 38

Config.Motels = {
    {     
        MotelName = "Pinkcage Motel", -- Motel Name

        MotelSocietyName = "PNKCGMTL", -- Motel Name

        Background = "img/motel.png", -- Reception background image.

        MotelMainCoord = vector4(324.49, -211.29, 54.09, 324.03), -- Motel Blip Coord

        MotelBlip = {Id = 475, Color = 1, Scale = 0.6},

        MotelBlipOpen = true, --  If true, Motel Blip is activated.

        MotelDistance = 10.0,

        MotelDoorDistance = 1.5, -- The distance value of the players to the door

        ReceptionCoord = vector4(324.84, -230.11, 54.22, 328.19), -- Reception Location Vector4()

        Payment = true, -- If it is true, an invoice will be issued for the room rented by the players at certain time intervals.

        MarkerColor = {r = 57, g = 125, b = 199, a = 0.9}, -- Marker color adjustment available at the reception.

        RoomPrice = 100, -- Motel Room Rent Price,

        InvoiceAmount = 50,

        Wardrobe = true, -- If true, motel rooms have wardrobes.

        MotelDoors = {
            -- Motel Rooms Available. You can add a new hotel room to this list.
            -- (Note: For a new hotel room you add here, you need to add a new column to the kibra_motels table in the database.
           {
                Owner = nil,
                KeyData = nil,
                Model = -1156992775, -- Model Number of the Door
                AutoLock = true, -- Auto Door Lock
                Coord = vector4(307.06, -212.96, 54.25, 89.29), -- Coordinate of the door in the room
                StashCoord = vector4(307.18, -208.02, 53.77, 61.15), -- Coordinate of the warehouse in the room
                StashLock = true,
                Wardrobe = vector4(302.68, -206.8, 54.23, 328.76) -- Clothe / Wardrobe
            },

 
coder
 
+rep
 
Güncel
 
Ellerine saglik çok güzel olmus NUI felan.
Diger motel sistemlerinde (s4_motel, almez motels vs) de olan ve hala çözüldügünü görmedigim (kendim çözdüm ama core da çözülse daha güzel olurdu) bir sorun vardi, bunda giderildi mi acaba ?
Sorun su : Anahtari bir kisi çaldiginda anahtari çalinan kisi gidip tekrardan anahtar çikartsa bile çalan kisideki anahtar hala çalisiyor. Yani anahtar çikarttiginda anahtar hash i degismedigi icin motelid si sisteme göre dogru olan bir anahtar hala geçerli sayiliyordu ve çalan kisi o anahtari kaybedene kadar o odayi soyabiliyordu.
 
Ellerine saglik çok güzel olmus NUI felan.
Diger motel sistemlerinde (s4_motel, almez motels vs) de olan ve hala çözüldügünü görmedigim (kendim çözdüm ama core da çözülse daha güzel olurdu) bir sorun vardi, bunda giderildi mi acaba ?
Sorun su : Anahtari bir kisi çaldiginda anahtari çalinan kisi gidip tekrardan anahtar çikartsa bile çalan kisideki anahtar hala çalisiyor. Yani anahtar çikarttiginda anahtar hash i degismedigi icin motelid si sisteme göre dogru olan bir anahtar hala geçerli sayiliyordu ve çalan kisi o anahtari kaybedene kadar o odayi soyabiliyordu.
moteli iptal et tekrar al :D
 
moteli iptal et tekrar al :D
Gene çalismaz ki eski sistemle, misal:

Kisi 92 no lu motel odasi aldiginda info= { motelid = 92 } olarak anahtar metadatasina yaziliyor. Ben bu anahtari çaldigim andan itibaren 92 no lu odaya istedigim zaman girip çikabilirim cunki registerusableitem dan triggerlanan event de sadece motelid si gönderildigi için if motelid == roomid felan gibi check yaptirdiginda her zaman true olarak geri dönecek ve kapi açilacaktir.

Senin dedigin mantikla 92 yi alip anahtari kaptirdigimda 93 ü satin aldigim zaman benim için sorun çözülür evet, ama bir sonraki 92 no lu odayi alan için sorun çoktan baslamis olur, cünki o odanin anahtari baskasinin elinde.
 
Gene çalismaz ki eski sistemle, misal:

Kisi 92 no lu motel odasi aldiginda info= { motelid = 92 } olarak anahtar metadatasina yaziliyor. Ben bu anahtari çaldigim andan itibaren 92 no lu odaya istedigim zaman girip çikabilirim cunki registerusableitem dan triggerlanan event de sadece motelid si gönderildigi için if motelid == roomid felan gibi check yaptirdiginda her zaman true olarak geri dönecek ve kapi açilacaktir.

Senin dedigin mantikla 92 yi alip anahtari kaptirdigimda 93 ü satin aldigim zaman benim için sorun çözülür evet, ama bir sonraki 92 no lu odayi alan için sorun çoktan baslamis olur, cünki o odanin anahtari baskasinin elinde.
Peki Bu sorunu nasıl çözeriz. Metalı motellerin büyük çoğunluğu bu şekilde çalışıyor. bi fikriniz varmı?
 
Peki Bu sorunu nasıl çözeriz. Metalı motellerin büyük çoğunluğu bu şekilde çalışıyor. bi fikriniz varmı?
Evet hatta her iki sistemde de çözdüm bu olayi (s4_motel ve almez motel).
Database e anahtarlarin kayit oldugu yere yeni bir tablo sütün ekleyip onu da misal keyhash olarak tanimlarsin.
Anahtar menüsüne kilit degistir diye bir seçenek eklersin (ben böyle yazmistim).
Kilit degistir yaptiginda örnegin : newhash = math.random(111111,999999) yaparak yeni bir hash atayip database e o oda numarasina eklersin, bunu anahtar çikartmaya yapmayin çünki o zaman her anahtar (yedek) çikardiginda bir önceki geçersiz olacaktir, bu yüzden kilit degistir seçenegi daha mantikli.
Hash i inventory e eklersin metadata olarak ayni motelid yi yolladigin gibi.
Sonra registerusableitem den info.motelid ve info.hashkey i yollarsin client tarafli tirgger e.
Server tarafli bir servercallback yapip yolladigin motelid ve hashkey i client den server e yollayip database de kontrol ettirirsin kullandigin anahtardaki motelid ve keyhash dogru mu diye, eger dogruysa kapiyi açitirirsin.
Bu sayede kilit (hash) degistirdigin zaman database de hash degiseceginden dolayi eski anahtar kontrolden geçmiyecek ve çalismiyacaktir.
 
Ellerine saglik çok güzel olmus NUI felan.
Diger motel sistemlerinde (s4_motel, almez motels vs) de olan ve hala çözüldügünü görmedigim (kendim çözdüm ama core da çözülse daha güzel olurdu) bir sorun vardi, bunda giderildi mi acaba ?
Sorun su : Anahtari bir kisi çaldiginda anahtari çalinan kisi gidip tekrardan anahtar çikartsa bile çalan kisideki anahtar hala çalisiyor. Yani anahtar çikarttiginda anahtar hash i degismedigi icin motelid si sisteme göre dogru olan bir anahtar hala geçerli sayiliyordu ve çalan kisi o anahtari kaybedene kadar o odayi soyabiliyordu.

Motel sisteminde böyle bir sorun yoktur. Dilerseniz, test için iletişime geçebilirsiniz.
 
Evet hatta her iki sistemde de çözdüm bu olayi (s4_motel ve almez motel).
Database e anahtarlarin kayit oldugu yere yeni bir tablo sütün ekleyip onu da misal keyhash olarak tanimlarsin.
Anahtar menüsüne kilit degistir diye bir seçenek eklersin (ben böyle yazmistim).
Kilit degistir yaptiginda örnegin : newhash = math.random(111111,999999) yaparak yeni bir hash atayip database e o oda numarasina eklersin, bunu anahtar çikartmaya yapmayin çünki o zaman her anahtar (yedek) çikardiginda bir önceki geçersiz olacaktir, bu yüzden kilit degistir seçenegi daha mantikli.
Hash i inventory e eklersin metadata olarak ayni motelid yi yolladigin gibi.
Sonra registerusableitem den info.motelid ve info.hashkey i yollarsin client tarafli tirgger e.
Server tarafli bir servercallback yapip yolladigin motelid ve hashkey i client den server e yollayip database de kontrol ettirirsin kullandigin anahtardaki motelid ve keyhash dogru mu diye, eger dogruysa kapiyi açitirirsin.
Bu sayede kilit (hash) degistirdigin zaman database de hash degiseceginden dolayi eski anahtar kontrolden geçmiyecek ve çalismiyacaktir.
Aynen, Mantıklı. Teşekkürler fikrin için. Yapmayı deneyeceğim.
 
+ Güncel
 

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!