San Andreas Multiplayer => PAWN Kodlama => Anlatımlar => Konuyu başlatan: Zeus - 09 Ağustos 2017, 06:06:52
Başlık: Kayıt Sistemi
Gönderen: Zeus - 09 Ağustos 2017, 06:06:52
Kayıt sistemi yapmak aslında çok basittir. OnPlayerConnect ve OnPlayerDisconnect publiclerine koyacağımız bazı kodlarla belirli variable'ları kaydedebiliriz. Öncelikle dini include'unuz olması lazım. Modun başına '#include <dini>' yazın. (Tırnaksız). Daha sonra OnPlayerConnect'e şu kodları koyun:
newdosya[256], isim[24]; GetPlayerName(playerid,isim,sizeof(isim)); format(dosya,sizeof(dosya),"/%s.kyt",is); if(!dini_Exists(dosya)){ // eğer oyuncu kayıtlı değilse olacaklar; dini_Create(dosya); dini_IntSet(dosya, "Para", 0); // bu kod ile oyuncunun dosyasına parasını 0 olarak kaydettim. Çünkü yeni kaydoluyor. Siz Para yerine ne isterseniz onu kaydedin. }
Bu kodlarla variable'ların kaydedileceği dosyayı belirliyoruz ve eğer dosya yoksa dosyayı yaratma işlemlerini yaptırıyoruz. Şimdi dosyadaki kayıtlı variable'ları çekmeyi göstereyim;
dini_Int(dosya, "Para") kodu, oyuncunun kayıt dosyasındaki 'Para' değerinin karşısındaki rakamı verir. Mesela oyuncunun parası 10000 olarak kayıtlıysa bu kod 10000 rakamı yerine geçer. Siz 'Para' yerine ne olarak kaydettiyseniz onu yazın. Eğer bu kodu OnPlayerSpawn'a böyle koyarsanız oyuncu her ölüp doğduğunda parası dosyada ne kayıtlıysa o olur. Mesela 10000 olarak kayıtlı. Oyuncu oynadı parayı 20000 yaptı. Ölüp doğunca tekar 10000 olur. Bunu önleyecek taktiği "Örnek pawn dosyası oluştur" butonuna tıklayıp örnek dosya çıkararak görebilirsiniz.
Şimdide 'OnPlayerDisconnect'e variable kayıt kodunu koyalım.
newdosya[256], isim[24]; GetPlayerName(playerid,isim,sizeof(isim)); format(dosya,sizeof(dosya),"/%s.kyt",is);// bu 3 kod ile dosyayi belirtiyorum. dini_IntSet(dosya, "Para", GetPlayerMoney(playerid)); // oyuncu oyundan cikinca parasi dosyasina kaydediliyor.
Ben burda gelişmiş (şifreli vs.) bir kayıt sistemi yapmayı göstermedim. Sadece temelini gösterdim. İsterseniz geliştirip kullanırsınız.
Başlık: Ynt: Kayıt Sistemi
Gönderen: Kronos - 20 Ağustos 2017, 11:09:20
Konuya biraz daha özen gösterseydiniz daha özel olabilirdi, bu şekilde hiç bir şey anlaşılmıyor. :maalesef:
Başlık: Ynt: Kayıt Sistemi
Gönderen: Dyternal - 24 Ağustos 2017, 10:23:17
Konuya biraz daha özen gösterseydiniz daha özel olabilirdi, bu şekilde hiç bir şey anlaşılmıyor. :maalesef:
Katılıyorum ayrıca herşey dini değil gibi var MySQL de
Kayıt sistemi yapmak aslında çok basittir. OnPlayerConnect ve OnPlayerDisconnect publiclerine koyacağımız bazı kodlarla belirli variable'ları kaydedebiliriz. Öncelikle dini include'unuz olması lazım. Modun başına '#include <dini>' yazın. (Tırnaksız). Daha sonra OnPlayerConnect'e şu kodları koyun:
newdosya[256], isim[24]; GetPlayerName(playerid,isim,sizeof(isim)); format(dosya,sizeof(dosya),"/%s.kyt",is); if(!dini_Exists(dosya)){ // eğer oyuncu kayıtlı değilse olacaklar; dini_Create(dosya); dini_IntSet(dosya, "Para", 0); // bu kod ile oyuncunun dosyasına parasını 0 olarak kaydettim. Çünkü yeni kaydoluyor. Siz Para yerine ne isterseniz onu kaydedin. }
Bu kodlarla variable'ların kaydedileceği dosyayı belirliyoruz ve eğer dosya yoksa dosyayı yaratma işlemlerini yaptırıyoruz. Şimdi dosyadaki kayıtlı variable'ları çekmeyi göstereyim;
dini_Int(dosya, "Para") kodu, oyuncunun kayıt dosyasındaki 'Para' değerinin karşısındaki rakamı verir. Mesela oyuncunun parası 10000 olarak kayıtlıysa bu kod 10000 rakamı yerine geçer. Siz 'Para' yerine ne olarak kaydettiyseniz onu yazın. Eğer bu kodu OnPlayerSpawn'a böyle koyarsanız oyuncu her ölüp doğduğunda parası dosyada ne kayıtlıysa o olur. Mesela 10000 olarak kayıtlı. Oyuncu oynadı parayı 20000 yaptı. Ölüp doğunca tekar 10000 olur. Bunu önleyecek taktiği "Örnek pawn dosyası oluştur" butonuna tıklayıp örnek dosya çıkararak görebilirsiniz.
Şimdide 'OnPlayerDisconnect'e variable kayıt kodunu koyalım.
newdosya[256], isim[24]; GetPlayerName(playerid,isim,sizeof(isim)); format(dosya,sizeof(dosya),"/%s.kyt",is);// bu 3 kod ile dosyayi belirtiyorum. dini_IntSet(dosya, "Para", GetPlayerMoney(playerid)); // oyuncu oyundan cikinca parasi dosyasina kaydediliyor.
Ben burda gelişmiş (şifreli vs.) bir kayıt sistemi yapmayı göstermedim. Sadece temelini gösterdim. İsterseniz geliştirip kullanırsınız.
Spoiler içindeki daha düzenli eklemeni öneririm kendin derledim
Başlık: Ynt: Kayıt Sistemi
Gönderen: Zeus - 24 Ağustos 2017, 15:07:46