ShadowFon 1
ShadowFon
bikral 1
bikral
-TuRKuaZ- 1
-TuRKuaZ-
SLyFeLLowTR 1
SLyFeLLowTR
TGamesZeus 1
TGamesZeus
Best Studio 1
Best Studio
berkmenoo 1
berkmenoo
InfernoShade 1
InfernoShade
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
Hikaye Ekle

Eşya Kullanım Kontrolü[LUA]

  • Konuyu başlatan Konuyu başlatan thenemne0032
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 11
  • Görüntüleme Görüntüleme 2K

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Gerçekten çok başarılı paylaşımlar yapıyorsun. Tebrik ederim seni. Böyle devam et. Kolay gelsin. Başarılar. :)
 
Tebrik ederim
 
Merhabalar,

Bu kez diğer sistemlerden biraz farklı bir sistem paylaşacağım. Bir eşyanın sürekli kullanılmasını istemiyor olabilirsiniz. Yani 200 adet bir sandık var ve bu sandığı açmaya sınır koymak istiyorsunuz. Yani oyuncu belirlediğim süre boyunca 100 tane sandık açabilsin. Şöyle ki: bir sandık düşünün tıklayıp açıyorsunuz eşya kazanıyorsunuz 100 tıklamadan sonra sistem aktif olacak ve 5 dakika boyunca o sandığı açamayacaksınız. Yani bir nevi sürekli kullanılacak bir eşyaya belirli bir süre sınır koymaya yarıyor bu sistem. Aşağıdaki tanıtım videosundan da az-çok anlayacaksınız olayı zaten.




Tanıtım videosu





KURULUM:

1-) usr/game/share/locale/turkey/quest bölümüne "esya_kullanim_kontrol.lua" adında bir lua dosyası açalım. Daha sonra dosyasının içine aşağıdaki kodları yazalım:

PHP:
quest esya_kullanim_kontrol begin
    state start begin
        when login with pc.getqf("uyariyiAldim") == 1 begin
            pc.setqf("sureYenidenKontrol",1)
            kalanSure = pc.getqf("kalanSure")
            syschat("Sistem: Çok fazla kullanılmış eşyanız var. Aktif olmasına kalan süre: "..kalanSure.." saniye.")
            timer("islemleriSifirla",kalanSure)
            loop_timer("sureyiSay",1)
        end
        when login with pc.getqf("ilkKullanim") == 1 begin
            ilkKalanSure = pc.getqf("ilkKalanSure")
            timer("kullanimSifirla",ilkKalanSure)
        end
        when logout with pc.getqf("uyariyiAldim") == 1 begin
            if pc.getqf("sureYenidenKontrol") == 1 then
                kapanmaSuresi = pc.getqf("kalanSure")
                pc.setqf("kalanSure",(kapanmaSuresi-pc.getqf("tplSure")))
                return
            end
            ---- BURASI AYARLANACAK
            
                kapanmaSuresi = 300 -- BU KISIM
            
            ---- BURASI AYARLANACAK
            
            pc.setqf("kalanSure",(kapanmaSuresi-pc.getqf("tplSure")))
            
        end
        when logout with pc.getqf("ilkKullanim") == 1 begin
            ---- BURASI AYARLANACAK
            
                sifirlanmaSuresi = 120 -- BU KISIM -- 120 saniye = 2 dakika
            
            ---- BURASI AYARLANACAK
            
            pc.setqf("ilkKalanSure",(sifirlanmaSuresi-pc.getqf("ilkTplSure")))
        end
        when 40004.use begin
        
            ---- BURASI AYARLANACAK
            
                tiklanmaSayisiSinir = 11
                kapanmaSuresi = 300
                
            ---- BURASI AYARLANACAK
            
            pc.setqf("kullanimSayisi",pc.getqf("kullanimSayisi")+1)
            if pc.getqf("kullanimSayisi") >= tiklanmaSayisiSinir and pc.getqf("uyariyiAldim") == 0 then
                syschat("Sistem: Bu eşya çok fazla kullanıldı. 1 dakika sonra tekrar deneyin.")
                pc.setqf("uyariyiAldim",1)
                timer("esyayiKullanimaAc",kapanmaSuresi)
                loop_timer("sureyiSay",1)
                cleartimer("kullanimSifirla")
            elseif pc.getqf("kullanimSayisi") >= tiklanmaSayisiSinir then
                syschat("Sistem: Bu eşya çok fazla kullanıldığı için kapatılmış. 1 dakikanız henüz dolmadı.")
            else
                        if pc.getqf("ilkKullanim") == 0 then
                            timer("kullanimSifirla",25)
                            loop_timer("ilkSureyiSay",1)
                            pc.setqf("ilkKullanim",1)
                        end
                    --- YÜZÜĞE TIKLAYINCA AKTİFKEN GERÇEKLEŞECEK OLANLAR BU KISMA YAZILACAK
                    esyaListesi = {
                        30319,
                        50300,
                        25040,
                        25041,
                        27992,
                        27993,
                        27994,
                        30019,
                        76022,
                        70102,
                    }
                    esyaListesiSay = tonumber(table.getn(esyaListesi))
                    rndEsya = math.random(1,esyaListesiSay)
                    rndVerilenEsya = esyaListesi[rndEsya]
                    pc.give_item2(rndVerilenEsya)
            end
        end
        when sureyiSay.timer with pc.getqf("uyariyiAldim") == 1 begin
            pc.setqf("tplSure",pc.getqf("tplSure")+1)
        end
        when ilkSureyiSay.timer with pc.getqf("ilkKullanim") == 1 begin
            pc.setqf("ilkTplSure",pc.getqf("ilkTplSure")+1)
        end
        when esyayiKullanimaAc.timer with pc.getqf("uyariyiAldim") == 1 begin
            pc.setqf("kullanimSayisi",0)
            pc.setqf("uyariyiAldim",0)
            pc.setqf("tplSure",0)
        end
        when islemleriSifirla.timer with pc.getqf("uyariyiAldim") == 1 begin
            pc.setqf("kullanimSayisi",0)
            pc.setqf("tplSure",0)
            pc.setqf("kalanSure",0)
            pc.setqf("sureYenidenKontrol",0)
            pc.setqf("ilkKullanim",0)
            pc.setqf("uyariyiAldim",0)
        end
        when kullanimSifirla.timer with pc.getqf("ilkKullanim") == 1 begin
            pc.setqf("kullanimSayisi",0)
            pc.setqf("ilkTplSure",0)
            pc.setqf("ilkKullanim",0)
        end
    end
end



Bunu kaydedip çıkıyoruz.

2-)Putty'e geliyoruz.

cd /usr/game/share/locale/turkey/quest yazıp enterliyoruz. Daha sonra şu komutu yazıyoruz.

./qc esya_kullanim_kontrol.lua

Putty ile de işimiz bitti.

3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Daha sonra 40004 kodlu yüzükten sistemi deneyebilirsiniz.



BİLGİLENDİRME:


Kod:
---- BURASI AYARLANACAK
        
tiklanmaSayisiSinir = 11
kapanmaSuresi = 300
                
---- BURASI AYARLANACAK


Bu kısım genel ayar. Buraya kaç tıklamadan sonra sistemin devreye gireceğini ve ne kadar süre sonra tekrardan aktif olacağını yazacaksınız.



Aynı zamanda buraya yazdığınız "kapanmaSuresi" nin aynısını burayada yazacaksınız:



Kod:
---- BURASI AYARLANACAK
            
kapanmaSuresi = 300 -- BU KISIM
            
---- BURASI AYARLANACAK


Daha sonra oyuncu eşyaya 1 kere tıkladıktan kaç saniye sonra o tıklama sayısı sıfırlansın istiyorsanız onu buraya yazacaksınız:

Kod:
---- BURASI AYARLANACAK
                            
sifirlanmaSuresi = 120
                            
---- BURASI AYARLANACAK


Aynı şekilde "logout" kısmındaki yere de bu değeri yazacaksınız.


Kod:
---- BURASI AYARLANACAK
            
sifirlanmaSuresi = 120 -- BU KISIM -- 120 saniye = 2 dakika
            
---- BURASI AYARLANACAK


Ve son olarak tıklanılan eşyadan kazanılacak eşyalar da bu kısımdan değiştirilecek. Yada artık kendiniz bu kısmı nasıl değiştirirseniz:


PHP:
--- YÜZÜĞE TIKLAYINCA AKTİFKEN GERÇEKLEŞECEK OLANLAR BU KISMA YAZILACAK
                    esyaListesi = {
                        30319,
                        50300,
                        25040,
                        25041,
                        27992,
                        27993,
                        27994,
                        30019,
                        76022,
                        70102,
                    }
                    esyaListesiSay = tonumber(table.getn(esyaListesi))
                    rndEsya = math.random(1,esyaListesiSay)
                    rndVerilenEsya = esyaListesi[rndEsya]
                    pc.give_item2(rndVerilenEsya)
Teşekkürler item kilitlemeyide kodlarsan süper olur
 
Merhabalar,

Bu kez diğer sistemlerden biraz farklı bir sistem paylaşacağım. Bir eşyanın sürekli kullanılmasını istemiyor olabilirsiniz. Yani 200 adet bir sandık var ve bu sandığı açmaya sınır koymak istiyorsunuz. Yani oyuncu belirlediğim süre boyunca 100 tane sandık açabilsin. Şöyle ki: bir sandık düşünün tıklayıp açıyorsunuz eşya kazanıyorsunuz 100 tıklamadan sonra sistem aktif olacak ve 5 dakika boyunca o sandığı açamayacaksınız. Yani bir nevi sürekli kullanılacak bir eşyaya belirli bir süre sınır koymaya yarıyor bu sistem. Aşağıdaki tanıtım videosundan da az-çok anlayacaksınız olayı zaten.




Tanıtım videosu





KURULUM:

1-) usr/game/share/locale/turkey/quest bölümüne "esya_kullanim_kontrol.lua" adında bir lua dosyası açalım. Daha sonra dosyasının içine aşağıdaki kodları yazalım:

PHP:
quest esya_kullanim_kontrol begin
    state start begin
        when login with pc.getqf("uyariyiAldim") == 1 begin
            pc.setqf("sureYenidenKontrol",1)
            kalanSure = pc.getqf("kalanSure")
            syschat("Sistem: Çok fazla kullanılmış eşyanız var. Aktif olmasına kalan süre: "..kalanSure.." saniye.")
            timer("islemleriSifirla",kalanSure)
            loop_timer("sureyiSay",1)
        end
        when login with pc.getqf("ilkKullanim") == 1 begin
            ilkKalanSure = pc.getqf("ilkKalanSure")
            timer("kullanimSifirla",ilkKalanSure)
        end
        when logout with pc.getqf("uyariyiAldim") == 1 begin
            if pc.getqf("sureYenidenKontrol") == 1 then
                kapanmaSuresi = pc.getqf("kalanSure")
                pc.setqf("kalanSure",(kapanmaSuresi-pc.getqf("tplSure")))
                return
            end
            ---- BURASI AYARLANACAK
            
                kapanmaSuresi = 300 -- BU KISIM
            
            ---- BURASI AYARLANACAK
            
            pc.setqf("kalanSure",(kapanmaSuresi-pc.getqf("tplSure")))
            
        end
        when logout with pc.getqf("ilkKullanim") == 1 begin
            ---- BURASI AYARLANACAK
            
                sifirlanmaSuresi = 120 -- BU KISIM -- 120 saniye = 2 dakika
            
            ---- BURASI AYARLANACAK
            
            pc.setqf("ilkKalanSure",(sifirlanmaSuresi-pc.getqf("ilkTplSure")))
        end
        when 40004.use begin
        
            ---- BURASI AYARLANACAK
            
                tiklanmaSayisiSinir = 11
                kapanmaSuresi = 300
                
            ---- BURASI AYARLANACAK
            
            pc.setqf("kullanimSayisi",pc.getqf("kullanimSayisi")+1)
            if pc.getqf("kullanimSayisi") >= tiklanmaSayisiSinir and pc.getqf("uyariyiAldim") == 0 then
                syschat("Sistem: Bu eşya çok fazla kullanıldı. 1 dakika sonra tekrar deneyin.")
                pc.setqf("uyariyiAldim",1)
                timer("esyayiKullanimaAc",kapanmaSuresi)
                loop_timer("sureyiSay",1)
                cleartimer("kullanimSifirla")
            elseif pc.getqf("kullanimSayisi") >= tiklanmaSayisiSinir then
                syschat("Sistem: Bu eşya çok fazla kullanıldığı için kapatılmış. 1 dakikanız henüz dolmadı.")
            else
                        if pc.getqf("ilkKullanim") == 0 then
                            timer("kullanimSifirla",25)
                            loop_timer("ilkSureyiSay",1)
                            pc.setqf("ilkKullanim",1)
                        end
                    --- YÜZÜĞE TIKLAYINCA AKTİFKEN GERÇEKLEŞECEK OLANLAR BU KISMA YAZILACAK
                    esyaListesi = {
                        30319,
                        50300,
                        25040,
                        25041,
                        27992,
                        27993,
                        27994,
                        30019,
                        76022,
                        70102,
                    }
                    esyaListesiSay = tonumber(table.getn(esyaListesi))
                    rndEsya = math.random(1,esyaListesiSay)
                    rndVerilenEsya = esyaListesi[rndEsya]
                    pc.give_item2(rndVerilenEsya)
            end
        end
        when sureyiSay.timer with pc.getqf("uyariyiAldim") == 1 begin
            pc.setqf("tplSure",pc.getqf("tplSure")+1)
        end
        when ilkSureyiSay.timer with pc.getqf("ilkKullanim") == 1 begin
            pc.setqf("ilkTplSure",pc.getqf("ilkTplSure")+1)
        end
        when esyayiKullanimaAc.timer with pc.getqf("uyariyiAldim") == 1 begin
            pc.setqf("kullanimSayisi",0)
            pc.setqf("uyariyiAldim",0)
            pc.setqf("tplSure",0)
        end
        when islemleriSifirla.timer with pc.getqf("uyariyiAldim") == 1 begin
            pc.setqf("kullanimSayisi",0)
            pc.setqf("tplSure",0)
            pc.setqf("kalanSure",0)
            pc.setqf("sureYenidenKontrol",0)
            pc.setqf("ilkKullanim",0)
            pc.setqf("uyariyiAldim",0)
        end
        when kullanimSifirla.timer with pc.getqf("ilkKullanim") == 1 begin
            pc.setqf("kullanimSayisi",0)
            pc.setqf("ilkTplSure",0)
            pc.setqf("ilkKullanim",0)
        end
    end
end



Bunu kaydedip çıkıyoruz.

2-)Putty'e geliyoruz.

cd /usr/game/share/locale/turkey/quest yazıp enterliyoruz. Daha sonra şu komutu yazıyoruz.

./qc esya_kullanim_kontrol.lua

Putty ile de işimiz bitti.

3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Daha sonra 40004 kodlu yüzükten sistemi deneyebilirsiniz.



BİLGİLENDİRME:


Kod:
---- BURASI AYARLANACAK
        
tiklanmaSayisiSinir = 11
kapanmaSuresi = 300
                
---- BURASI AYARLANACAK


Bu kısım genel ayar. Buraya kaç tıklamadan sonra sistemin devreye gireceğini ve ne kadar süre sonra tekrardan aktif olacağını yazacaksınız.



Aynı zamanda buraya yazdığınız "kapanmaSuresi" nin aynısını burayada yazacaksınız:



Kod:
---- BURASI AYARLANACAK
            
kapanmaSuresi = 300 -- BU KISIM
            
---- BURASI AYARLANACAK


Daha sonra oyuncu eşyaya 1 kere tıkladıktan kaç saniye sonra o tıklama sayısı sıfırlansın istiyorsanız onu buraya yazacaksınız:

Kod:
---- BURASI AYARLANACAK
                            
sifirlanmaSuresi = 120
                            
---- BURASI AYARLANACAK


Aynı şekilde "logout" kısmındaki yere de bu değeri yazacaksınız.


Kod:
---- BURASI AYARLANACAK
            
sifirlanmaSuresi = 120 -- BU KISIM -- 120 saniye = 2 dakika
            
---- BURASI AYARLANACAK


Ve son olarak tıklanılan eşyadan kazanılacak eşyalar da bu kısımdan değiştirilecek. Yada artık kendiniz bu kısmı nasıl değiştirirseniz:


PHP:
--- YÜZÜĞE TIKLAYINCA AKTİFKEN GERÇEKLEŞECEK OLANLAR BU KISMA YAZILACAK
                    esyaListesi = {
                        30319,
                        50300,
                        25040,
                        25041,
                        27992,
                        27993,
                        27994,
                        30019,
                        76022,
                        70102,
                    }
                    esyaListesiSay = tonumber(table.getn(esyaListesi))
                    rndEsya = math.random(1,esyaListesiSay)
                    rndVerilenEsya = esyaListesi[rndEsya]
                    pc.give_item2(rndVerilenEsya)


Saltanat tipi bol sandık açmalı server sahiplerinin işine yarayacaktır güzel paylaşım teşekkürler.. :)
 
Teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst