Kullanıcı Tag Listesi

9 sonuçtan 1 ile 9 arası
Like Tree2Likes
  • 2 Post By akcaliberkk

Konu: nVault Modülü Temel Bilgiler [Orta Seviye]

  1. #1
    Nemesis* coadmin akcaliberkk - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jun 2012
    Yer
    İstanbul
    Mesajlar
    2.027
    Bahsedildi
    105 Mesaj
    Etiketlenmiş
    10 Konu
    Tecrübe Puanı
    10

    Standart nVault Modülü Temel Bilgiler [Orta Seviye]

    nVault

    nVault, harici bir dosyaya veri kaydetmenin ve dosyadan veri almanın en kolay yoludur. nVault harici dosyaları map değiştiğinde veya server çöktüğünde herhangi bir veri kaybına uğramazlar. Bu yüzden kişisel verileri depolamanın en iyi yolu nVault modülünü kullanmaktır. Örneğin bu modül ile üyelik, banka vb. sistemler yazabilirsiniz.
    nVault modülünün kullandığı harici dosyalar .vault uzantılı dosyalardır. Vault dosyalarında her bir satır iki parametreden oluşur. İlk parametre anahtar parametresidir. Anahtar parametrelerini vault dosyalarında satırları bulmak için kullanırız. İkinci parametre ise anahtar parametre için belirlediğimiz verilerdir. Her iki parametrenin de kayıt türü "string" dir. Fakat ikinci parametre çağrılırken "integer", "float" veya "string" şeklinde de çağrılabilir. Verilerin kaydedildiği .vault dosyaları "binary" formatındadır. Yani normal yollarla düzenlenemez/okunamaz. Ancak Vault file editor programlarıyla okuyup düzenleyebilirsiniz.

    nVault Fonksiyonları:

    Kod:
    nvault_open - Bir vault dosyasını açmakta kullanılır.
    nvault_close - Açılan bir vault dosyasını kapatmakta kullanılır.
    nvault_lookup - Bir vault dosyasında belirtilen satırı okuyup tam bilgi toplar.
    nvault_get - Bir vault dosyasının belirtilen satırdaki ikinci parametreyi okumak için kullanılır.
    nvault_set - Bir vault dosyasına satır yazmak için kullanılır. Geçerli zamanı damgalar.
    nvault_pset - Bir vault dosyasına satır yazmak için kullanılır. Zaman damgası kullanılmaz.
    nvault_touch - Bir vault satırının zaman damgasını yeniler.
    nvault_prune - Belirlenen zaman içerisindeki tüm vault satırlarını siler.
    nvault_remove - Belirtilen anahtar parametrenin satırını siler.

    nvault_open Fonksiyonu:

    Herhangi bir işlem yapmadan önce, işlem yapılacak vault dosyası açılmalıdır. Dosya açma işlemi de bu fonksiyon ile kullanılır. Bu fonksiyon yalnızca 1 parametre içerir. Bu parametre de açılacak dosyanın ismidir. Eğer dosya açılması sırasında herhangi bir hata meydana gelirse bu fonksiyon INVALID_HANDLE (-1) 'a dönecektir. Bu yüzden bu fonksiyon ile dosyanın düzgün açılıp açılmadığı kontrolünü yapmamız gerekir. Ayrıca bu fonksiyon plugin_cfg() publicinde kullanılmalıdır.

    Kod:
    nvault_open( const szVaultName[] )
    szVaultName = Buraya vault dosyanızın adı girilecektir. Örneğin banka.vault adlı bir dosyanız var ise buraya "banka" yazıcaksınız.
    PHP- Kodu:
    new iVault nvault_open"banka" );

    if ( 
    iVault == INVALID_HANDLE )
        
    set_fail_state"nVault Dosyasi Acilamadi !" ); 
    nvault_close Fonksiyonu:

    Bu fonksiyon açılmış olan vault dosyasını kapatmak için kullanılır. Kapatılan dosya tekrar açılana kadar üzerinde herhangi bir işlem yapılamaz. Bu fonksiyon plugin_end() publicine yazılır. Böylece server çökmeden veya map değişmeden hemen önce vault dosyaları kapatılır ve veri kaybı önlenmiş olur. Eğer bu fonksiyon ile dosyalarınızı kapatmazsanız map değiştiğinde veya server çöktüğünde verileri kaybedersiniz. Bu fonksiyon bir nevi kayıt işlemidir.

    Kod:
    nvault_close( vault )
    
    vault = Kapatmak istediğimiz vault dosyasını açarken kullandığımız global değişkendir.
    PHP- Kodu:
    new iVault nvault_open"banka" );

    nvault_closeiVault ); 

    nvault_lookup Fonksiyonu:

    Bu fonksiyon ile belirtilen anahtar parametreyi kullanarak, anahtar parametreye ait ikinci parametre olan veriyi ve zaman damgasını öğrenmek için kullanırız. Öğrendiğimiz veri string türü değişkenlerde depolanabilir. Bu fonksiyon true ve false olmak üzere iki farklı şekile dönüşebilir. Eğer anahtar parametre vault dosyasında bulunamazsa false olur. Eğer dosyada aranan parametre bulunursa true olur.

    Kod:
    nvault_lookup( vault , const szKey[] , szValue[] , iMaxLength , iTimestamp )
    
    vault = Vault dosyamızı açarken atadığımız değişken. (integer)
    szKey = Verisini öğrenmek istediğimiz anahtar parametre. (string)
    szValue = Öğrenilen verinin depolanacağı değişken. (string)
    iMaxLength = szValue değişkeninin maksimum uzunluğu. (integer)
    iTimestamp = Öğrenilen zaman damgasının depolanacağı değişken. (integer)
    PHP- Kodu:
    new szName[32];
    new 
    szData[32];
    new 
    iTimestamp;
    new 
    iVault;
    new 
    iDataExists;

    get_user_nameid szName charsmaxszName ) );

    iVault nvault_open"banka" );
    iDataExists nvault_lookupiVault szName szData charsmaxszData ) , iTimestamp );

    if ( 
    iDataExists )
    {
        
    client_printid print_chat "Ikincil Parametre - Veri =%s Zaman Damgasi = %d" szData iTimestamp );
    }
    else
    {
        
    client_printid print_chat "%s Anahtar Parametresine Ait Veri Bulunamadi." szName );


    nvault_get Fonksiyonu:

    Bu fonksiyon nvault_lookup fonksiyonuna benzer fakat bu fonksiyon daha esnektir. Bu fonksiyon belirtilen anahtar parametrenin verisini 3 farklı şekilde öğrenebilir. Integer, float ve string. Böylece herhangi bir tür dönüşümü yapmadan kolaylıkla istenen türde veri elde edilebilir. Bu fonksiyon zaman damgasını öğrenmekte kullanılamaz. Eğer zaman damgasını öğrenmek istiyorsanız nvault_lookup fonksiyonunu kullanmak zorundasınız.

    Kod:
    nvault_get( vault , const szKey[] , ... )
    
    vault = Vault dosyasını açarken kullandığımız değişken.
    szKey = Verisini öğrenmek istediğiniz anahtar parametre.
    
    Farklı türlerde veri alma;
    Integer: 
    iVeri = nvault_get( vault , szKey[] );
    
    Float:
    nvault_get( vault , szKey[] , float );
    
    String:
    nvault_get( vault , szKey[] , szValue[] , iMaxLen );
    PHP- Kodu:
    new iVault;
    new 
    szName[35];
    new 
    szData[30];

    iVault nvault_open"banka" );
    get_user_nameid szName charsmaxszName ) );

    //Integer tipinde veri alma;
    new iSayi nvault_getiVault szName );

    //Float tipinde veri alma;
    new FloatfOndalik;
    nvault_getiVault szName fOndalik );

    //String tipinde veri alma;
    new szData[10];
    nvault_getiVault szName szData charsmaxszData ) ); 

    nvault_set Fonksiyonu:

    Bu fonksiyon bir vault dosyasına satır kaydetmek için kullanılır. Aynı zamanda zaman damgası da kullanır.

    Kod:
    nvault_set( vault , const key[] , const value[] )
    vault = Vault dosyasını açarken kullandığımız değişken.
    key = Oluşturulacak satırın anahtar parametresi.
    value = Oluşturulacak satırın ikincil parametresi.
    PHP- Kodu:
    //Anahtar parametre olan kullanıcı ismine özel rutbe koyalım.
    new iVault;
    new 
    szName[35];
    new 
    szData[30];

    iVault nvault_open"ozelrutbe" );
    get_user_nameid szName charsmaxszName ) );

    nvault_setiVault szName "Profesyonel Oyuncu" ); 
    nvault_pset Fonksiyonu:

    Bu fonksiyon nvault_set fonksiyonuyla hemen hemen aynıdır. Tek fark bu fonksiyon zaman damgası bırakmaz. Örneğin bir verinin birazdan görmüş olacağınız nvault_prune fonksiyonu tarafından silinmesini istemiyorsak zaman damgası olmadan oluşturmamız gerekir. Bu da bu fonksiyonla sağlanır.

    nvault_touch Fonksiyonu:

    Bu fonksiyon bir veriye dokunarak zaman damgasını günceller.

    Kod:
    nvault_touch( vault , const szKey[] , [ iTimestamp = -1 ] ) 
    
    vault = Vault dosyasını açarken kullandığımız değişken.
    szKey = Zaman damgasını güncelleyeceğimiz verinin anahtar parametresi.
    iTimeStamp - (Istege Bagli) Eğer boş bırakılırsa zamanı, geçerli zaman olarak günceller. Eğer doldurulursa yazılan zaman olarak değiştirir.
    PHP- Kodu:
    new iVault;
    new 
    szName[35];

    iVault nvault_open"banka" );

    get_user_nameid szName charsmaxszName ) );

    //Şimdiki zamanla veriye dokun;
    nvault_touchiVault szName );

    //1 saat önceki zamanla veriye dokun. (60 * 60) = 3600
    nvault_touchiVault szName get_systime() - 3600 ); 
    nvault_prune Fonksiyonu:

    Bu fonksiyon belirlenen zaman aralığındaki tüm zaman damgalı verileri siler.

    Kod:
    nvault_prune( vault , iStart , iEnd )
    
    vault = Vault dosyasını açarken kullandığımız değişken.
    iStart = Verilerin silinmeye başlanacağı zaman damgası.
    iEnd = Verilerin silineceği son zaman damgası.
    PHP- Kodu:
    new iVault;

    iVault nvault_open"banka" );

    //En erken olası zaman = 0 dan, şu ana kadar olan tüm verileri sil : 
    nvault_pruneiVault get_systime() );

    //15 gün veya daha eski verileri sil : 
    //get_systime() = şuanki zaman.
    //1 gün = 86400 saniye = 60 sn * 60 dk * 24 saat
    nvault_pruneiVault get_systime() - ( 15 86400 ) ); 
    Zaman Damgaları:

    nVault modülünde zaman damgaları, unix-time formatını kullanır. Bu formatta sadece saniye vardır ve zamanın başlangıcı yani 0. zaman 1 Ocak gecesi 1970 tarihidir. Basitçe unix-time formatını dakika, saat, gün şeklinde çevirebilirsiniz.
    Örnek: 1 gün = 60 * 60 * 24 = 86400
    Bu durumda 15 gün = 15 * 86400 dür.



    Örnek Plugin:

    Bu tam anlamlı bir plugin değil tabiki. Fakat nerde ne nasıl kullanılır anlamanız açısından örnek gösteriyorum.

    PHP- Kodu:
    #include <amxmodx>
    #include <nvault>
    #include <cstrike>
    #include <fun>

    new gVault;              
    new 
    gszName[33][35];   
    new 
    gExpiration;        

    public 
    plugin_init()
    {
        
    register_plugin"CS Money Bankasi" "1.0" "akcaliberkk" );
        
        
    register_clcmd"say /savemoney" "cmdSaveMoney" );
        
    register_clcmd"say /getmoney" "cmdGetMoney" );
        
        
        
    gExpiration register_cvar"zaman_asimi" "10" );
    }

    public 
    plugin_cfg()
    {
        
    // Vault plugin_cfg() publicinde açılır. 
        
        
    gVault nvault_open"banka" );
        
        if ( 
    gVault == INVALID_HANDLE )
            
    set_fail_state"Vault Dosyasi Acilamadi !" );
        
        
    //Cvarda belirtilen günü aşmış verileri sil. 
        
    nvault_prunegVault get_systime() - ( 86400 get_pcvar_numgExpiration ) ) );
    }

    public 
    plugin_end()
    {
        
    //Server Çöktünde veya map değiştiğinde dosyayı kapat.
        
    nvault_closegVault );
    }

    public 
    client_authorized(id)
    {
        
        
    get_user_nameid gszName[id] , charsmaxgszName[] ) );
    }

    public 
    cmdSaveMoney(id)
    {
        
        new 
    szMoney[7];
        
        
    formatexszMoney charsmaxszMoney ) , "%d" cs_get_user_money(id) );
        
        
    cs_set_user_money(id,0)
        
        
    nvault_setgVault gszName[id] , szMoney );
        
        
    client_printid print_chat "Tum Paran Nickine Kaydedildi !" );
    }

    public 
    cmdGetMoney(id)
    {
        
        
        new 
    iMoney nvault_getgVault gszName[id] );
        
        
    //Parayi cektikten sonra bankayi sifirlamak için veriyi silmelisiniz.
        
    if ( iMoney )
        {
            
    cs_set_user_moneyid iMoney );
            
    nvault_removegVault gszName[id] );
            
            
    client_printid print_chat "Paran Nickinin Hesabindan Yuklendi: $%d" iMoney );
        }
        else
        {
            
    client_printid print_chat "Bu Nicke Ait Hic Para Verisi Bulunamadi !" );
        }


    Not:Bu modülle ilgili anlamadığınız, öğrenmek istediğiniz her şeyi sorabilirsiniz. Elimden geldiğince açıklamaya çalışırım.
    Konu akcaliberkk tarafından (16-10-12 Saat 01:52 ) değiştirilmiştir.
    peNgueN and AnqRfLow like this.

    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.



    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


    CS:GO ve CS 1.6 için ücretli eklenti yapılır.
    Plugin yazmak isteyenlere yardımcı olabilirim.
    Skype adresimden ulaşabilirsiniz:
    destek_596
    Steam: http://steamcommunity.com/id/ca-nemesis/


  2. #2
    binbaşı к4dανяα - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jun 2012
    Yer
    Hayat hattında acemi tayfalardık. Ne avunduk sevinç müsveddeleriyle; aşktan ikmale kaldık..
    Mesajlar
    618
    Bahsedildi
    0 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    12

    Standart Cevap: nVault Modülü Temel Bilgiler [Orta Seviye]

    Başarılı Anlatım Teşekkürler.

    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.



    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.



    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.






  3. #3
    Nemesis* coadmin akcaliberkk - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jun 2012
    Yer
    İstanbul
    Mesajlar
    2.027
    Bahsedildi
    105 Mesaj
    Etiketlenmiş
    10 Konu
    Tecrübe Puanı
    10

    Standart Cevap: nVault Modülü Temel Bilgiler [Orta Seviye]

    ben tesekkur ederim

    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.



    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


    CS:GO ve CS 1.6 için ücretli eklenti yapılır.
    Plugin yazmak isteyenlere yardımcı olabilirim.
    Skype adresimden ulaşabilirsiniz:
    destek_596
    Steam: http://steamcommunity.com/id/ca-nemesis/


  4. #4
    er er Proton04 - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Oct 2012
    Yer
    ağrı
    Mesajlar
    9
    Bahsedildi
    0 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    12

    Standart Cevap: nVault Modülü Temel Bilgiler [Orta Seviye]

    teşekkürler çok işime yaradı moderatör olmanız hepimiz için en iyisi

  5. #5
    binbaşı emektar kadir11 - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jul 2012
    Yer
    Mersin
    Mesajlar
    691
    Bahsedildi
    2 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    12

    Standart Cevap: nVault Modülü Temel Bilgiler [Orta Seviye]

    Eywallah Kardeşim Teşekkür Ettim İşe Yarar Konu.

    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.





    Moderatör Olduğum Bölümler:

    Wall Hack Hile Bölümü
    [MAP]Harita Bölümü

  6. #6
    er banned
    Üyelik tarihi
    Jan 2013
    Mesajlar
    6
    Bahsedildi
    0 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    0

    Standart Cevap: nVault Modülü Temel Bilgiler [Orta Seviye]

    Yeni Serverimiz Açılmıştır 95.173.174.56 HERKEZİ BEKLERİZ

    MSN ADRESİİM : [email protected]

    ADMİNİK 1 AYLIK:10 TL
    2 AYLIK:20 TL
    3 AYLIK:25
    SINIRSIZ:45

  7. #7
    binbaşı emektar kadir11 - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jul 2012
    Yer
    Mersin
    Mesajlar
    691
    Bahsedildi
    2 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    12

    Standart Cevap: nVault Modülü Temel Bilgiler [Orta Seviye]

    Konuya Reklam İçerikli Mesaj ADMİNE BİLDİRİLDİ !

    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.





    Moderatör Olduğum Bölümler:

    Wall Hack Hile Bölümü
    [MAP]Harita Bölümü

  8. #8
    er er
    Üyelik tarihi
    Jan 2015
    Mesajlar
    15
    Bahsedildi
    0 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    10

    Standart Cevap: nVault Modülü Temel Bilgiler [Orta Seviye]

    Bu Nvault ' u Banka Dosyasında Kendi İsmimimizin Üstüne Kaydediyor.
    Eğer biz bunu ortak bir satır üstüne kaydetmek istersek nasıl yapıcaz ?
    yani sadece kaydetme kimsenin üstüne değil herkes aynı satırdaki veriyi kullanacak

  9. #9
    er er
    Üyelik tarihi
    Jan 2015
    Mesajlar
    15
    Bahsedildi
    0 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    10

    Standart Cevap: nVault Modülü Temel Bilgiler [Orta Seviye]

    Mesela Ben Bir sayı kaydettim Bu sayıda 1 olsun
    Daha sonra server çöktü bu sayı 1 den farklı bir sayı oldu
    ben tekrar dosyadan bu sayıyı çağırdığımdada başkası çağırdığındada gelsin.
    Yani ismimizin üstüne kayıt olmasın

    - - - - - - - - - -

    Umarım anlatabilmişimdir

Benzer Konular

  1. [Spray] Middle Finger / Orta Parmak =)
    By NiceDreamxD in forum [CSTRİKE] Cs 1.6 Dosyaları İndir
    Cevaplar: 65
    Son Mesaj: 14-05-13, 23:27
  2. Weapon Icon Plugin v2 ( Ekranin Orta Altinda Silah Iconu )
    By NiCoMeDiA in forum [PLUGİN] Cs 1.6 Eklentiler
    Cevaplar: 59
    Son Mesaj: 24-03-13, 19:44
  3. Temel Cs Oynarsa :)))
    By DeaTReX in forum Sohbet / Geyik
    Cevaplar: 4
    Son Mesaj: 28-02-12, 17:05

Kullanıcıların arama motorlarındaki kullandığı taglar:

Bu Konudaki Etiketler

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •  

SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94