PIN Skripti [Yardım Gerekiyor]

Ragevas

Ağaç Yumruklayıcı
En iyi cevaplar
0
Merhabalar, öncelikle merak ettiğim bir skript var, ve bu skriptin yazılımında bana yardımcı olabilirseniz çok mâkbule geçer.
Skript'ten istediklerimi yazacak olursam,


Mesela bir oyuncu sunucuya ilk kez girdiğinde (/register şifre şifre) yazdığında eğer dilerse PIN kodu oluşturmasıda gerekecek, o yüzden kullanıcıya bir soru sorulacak.
Eğer PIN kodunu aktif etmek istiyorsanız sohbete (/pinaktif) yazarak aktif edebilirsiniz, eğer PIN kodunu deaktif etmek istiyorsanız sohbete (/pindeaktif) yazılmasını istiyorum.


Komut: (/pinaktif)'i kullandığında sohbet'te kullanıcıya bir mesaj gelecek ve mesajda;
• PIN'i Aktif Ettin! Şimdi şifreni belirle, bu şifre 4 haneli olacaktır. (/pin 1234) gibi...
Komut: (/pindeaktif)'i kullandığında sohbet'te kullanıcıya bir mesaj gelecek ve mesajda;
PIN'i Deaktif Ettin! Maalesef hesabında PIN korumasını kabul etmediniz.


Yeni bir bakış açısından bakarsak, Oyuncu PIN şifresini belirlediğinde her giriş yaptığında o PIN şifresini girmek zorunda kalacak, eğer girmezse (yere eşya atamayacak, hiçbir komut girilmeyecek, yürüyemeyecek, sohbete yazı yazamayacak) , ama PIN'i girdiğinde bunların hepsini yapabilecek.

Yani anlatmak istediğim AuthMe dışında bir giriş koruması, bu skriptin kendine özgün bir database'si olacaktır.


Şimdiden yardımlarınız için teşekkürler...
 
Son düzenleme:

şapşik35

Marangoz
En iyi cevaplar
0
Atamın sözünü yazdığın gibi birde uygulama olarak yapsaydın bitmişti çoktan güzel kardeşim.
 

Umut Savas

Ne demek yanlış? Ben mi?
En iyi cevaplar
0
bunun tarzında bir skripte uğraşmıştım. gui , veritabanı , ve yml destekli bir şey yapmaya çalıştım bir çoğunu yapmıştım fakat veritabanı işleri zorladığı için bıraktım. eğer yapılırsa benden +1
 

cigax09

Marangoz
En iyi cevaplar
0
Şöyle kendi yapmış olduğum authme skripti var. Bunu pin kısmına uyarlarsak bahsettiğin şey yapılabilinir. Ama AuthMe varken ne yaptığım skripti nede senin yapmaya çalıştığın pin skriptini kullanmak bence biraz saçma.

Kod:
#Lütfen konsoldayken bu komutları kullanmayınız. Skript bozulabilir.



#Ayarlar
on any move:
    set {giris} to "Giriş yapmak için lütfen ''/giris <şifre>'' komutunu kullanın."
   
    set {kayit} to "Sunucumuzda kayıtınız bulunmamaktadır. Kayıt olmak için lütfen ''/kayitol <şifre> <şifre>'' komutunu kullanın."
   
    set {kayitolundu} to "Başarıyla kayıt oldunuz iyi oyunlar."
   
    set {girisyapildi} to "Başarıyla giriş yapıldı iyi oyunlar."
   
    set {kayitolunamadı} to "Şifreler birbirine uyuşmamaktadır lütfen tekrar deneyin."
   
    set {kayitolunmus} to "Zaten sunucuya kayıtlısınız."
   
    set {yanlissifre} to "Yanlış şifre girdiniz lütfen tekrar deneyin."
   
    set {kaydinizsilindi} to "Hesabınız herhangi bir yönetici tarafından silinmiştir. Lütfen tekrar kayıt olunuz."
   

options:
    yetkimesaji: Gerekli yetkiye sahip değilsiniz.
   
#Kodlar
on first join:
    send {kayit} to player
    set {authme.%player%} to 1
   
on join:
    if {kayitolundu1} is false:
        send {kayit} to player
    set {authme.%player%} to 1
   
on any move:
    if {authme.%player%} is 1:
        cancel event
        if {kayitbasarili.%player%} is true:
            send {giris} to player
        else:
            send {kayit} to player
           

           
on chat:
    cancel event
    if {authme.%player%} is 1:
        if {kayitbasarili.%player%} is true:
            send {giris} to player
        else:
            send {kayit} to player
           
command /giris <text>:
    trigger:
        if arg 1 is {authme.%player%.sifre}:
            set {authme.%player%} to 0
            send {girisyapildi} to player
        else:
            send {yanlissifre} to player
command /kayitol <text> <text>:

    trigger:
        set {_a.%player%} to arg 1
        set {_b.%player%} to arg 2
        if {kayitbasarili.%player%} is true:
            send {kayitolunmus} to player
        else:
            if {_a.%player%} is {_b.%player%}:
                send {kayitolundu} to player
                set {authme.%player%.sifre} to arg 1
                set {authme.%player%} to 0
                set {kayitbasarili.%player%} to true
            else:
                send {kayitolunamadı} to player
               
command /kayitsil <text>:
    permission: giris.admin
    permission message: {@yetkimesaji}
    trigger:
        clear {authme.%arg 1%}
        clear {authme.%arg 1%.sifre}
        delete {kayitolundu1.%arg 1%}
        clear {kayitbasarili.%player%}
        set {authme.%arg 1%} to 1
        send "%arg 1% adlı oyuncunun kaydi başarıyla silindi." to player

command /kayitbak <text>:
    permission: giris.admin
    permission message: {@yetkimesaji}
    trigger:
        send "&a&l%arg 1% adlı oyuncun şifresi: &6&l%{authme.%arg 1%.sifre}%" to player

Benim kullandığım skriptte şifreler veriablelere kaydediliyor. Ama sen illaki database yapacağım, mysql bağlantısı felan yapacağım diyorsan çeşitli eklentiler var o şekildede yapabilirsin. Birde benim yaptığım skripti düzenliyebilirsin. Ancak benim skripti yaptığımdan felan bashedersen sevinirim.
 

Ragevas

Ağaç Yumruklayıcı
En iyi cevaplar
0
Şöyle kendi yapmış olduğum authme skripti var. Bunu pin kısmına uyarlarsak bahsettiğin şey yapılabilinir. Ama AuthMe varken ne yaptığım skripti nede senin yapmaya çalıştığın pin skriptini kullanmak bence biraz saçma.

Kod:
#Lütfen konsoldayken bu komutları kullanmayınız. Skript bozulabilir.



#Ayarlar
on any move:
    set {giris} to "Giriş yapmak için lütfen ''/giris <şifre>'' komutunu kullanın."
  
    set {kayit} to "Sunucumuzda kayıtınız bulunmamaktadır. Kayıt olmak için lütfen ''/kayitol <şifre> <şifre>'' komutunu kullanın."
  
    set {kayitolundu} to "Başarıyla kayıt oldunuz iyi oyunlar."
  
    set {girisyapildi} to "Başarıyla giriş yapıldı iyi oyunlar."
  
    set {kayitolunamadı} to "Şifreler birbirine uyuşmamaktadır lütfen tekrar deneyin."
  
    set {kayitolunmus} to "Zaten sunucuya kayıtlısınız."
  
    set {yanlissifre} to "Yanlış şifre girdiniz lütfen tekrar deneyin."
  
    set {kaydinizsilindi} to "Hesabınız herhangi bir yönetici tarafından silinmiştir. Lütfen tekrar kayıt olunuz."
  

options:
    yetkimesaji: Gerekli yetkiye sahip değilsiniz.
  
#Kodlar
on first join:
    send {kayit} to player
    set {authme.%player%} to 1
  
on join:
    if {kayitolundu1} is false:
        send {kayit} to player
    set {authme.%player%} to 1
  
on any move:
    if {authme.%player%} is 1:
        cancel event
        if {kayitbasarili.%player%} is true:
            send {giris} to player
        else:
            send {kayit} to player
          

          
on chat:
    cancel event
    if {authme.%player%} is 1:
        if {kayitbasarili.%player%} is true:
            send {giris} to player
        else:
            send {kayit} to player
          
command /giris <text>:
    trigger:
        if arg 1 is {authme.%player%.sifre}:
            set {authme.%player%} to 0
            send {girisyapildi} to player
        else:
            send {yanlissifre} to player
command /kayitol <text> <text>:

    trigger:
        set {_a.%player%} to arg 1
        set {_b.%player%} to arg 2
        if {kayitbasarili.%player%} is true:
            send {kayitolunmus} to player
        else:
            if {_a.%player%} is {_b.%player%}:
                send {kayitolundu} to player
                set {authme.%player%.sifre} to arg 1
                set {authme.%player%} to 0
                set {kayitbasarili.%player%} to true
            else:
                send {kayitolunamadı} to player
              
command /kayitsil <text>:
    permission: giris.admin
    permission message: {@yetkimesaji}
    trigger:
        clear {authme.%arg 1%}
        clear {authme.%arg 1%.sifre}
        delete {kayitolundu1.%arg 1%}
        clear {kayitbasarili.%player%}
        set {authme.%arg 1%} to 1
        send "%arg 1% adlı oyuncunun kaydi başarıyla silindi." to player

command /kayitbak <text>:
    permission: giris.admin
    permission message: {@yetkimesaji}
    trigger:
        send "&a&l%arg 1% adlı oyuncun şifresi: &6&l%{authme.%arg 1%.sifre}%" to player

Benim kullandığım skriptte şifreler veriablelere kaydediliyor. Ama sen illaki database yapacağım, mysql bağlantısı felan yapacağım diyorsan çeşitli eklentiler var o şekildede yapabilirsin. Birde benim yaptığım skripti düzenliyebilirsin. Ancak benim skripti yaptığımdan felan bashedersen sevinirim.
Yardımın için teşekkürler, dedigim skripte göre tasarlarım ben bunu ilerki zamanlarda fakat database klasörü ile uğraşmam gerekecek çünkü server açıp kapatırsanız üyelikler silinmiş olacaktır. Hiçbir yere kaydetmedigi için.
 

cigax09

Marangoz
En iyi cevaplar
0
Yardımın için teşekkürler, dedigim skripte göre tasarlarım ben bunu ilerki zamanlarda fakat database klasörü ile uğraşmam gerekecek çünkü server açıp kapatırsanız üyelikler silinmiş olacaktır. Hiçbir yere kaydetmedigi için.
Ben böyle bir sıkıntı yaşamadım. Yani herhangi bir klasöre kaydetmene gerek yok. Skript kendi içinde verableye kaydediyor. En azından benim testlerimde öyle oldu.

İllaki database yapcam diyorsan bazı eklentilerde klasör düzenleme sistemi var. Herhangi bir txt dosyasına kullanıcıları yazdırırsın sıkıntı olmaz.
 
Üst