GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
29 Kasım 2024, 00:43:45

Kayıt Sistemi

Başlatan Zeus, 09 Ağustos 2017, 06:06:52

« önceki - sonraki »

0 Üye ve 3 Ziyaretçi konuyu incelemekte.

Zeus

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:

PAWN Kodu: Seç
new dosya[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;

GivePlayerMoney(playerid, dini_Int(dosya, "Para"));

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.

PAWN Kodu: Seç
new dosya[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.
Son düzenlenme: 24 Ağustos 2017, 15:07:12 Zeus

Kronos

Konuya biraz daha özen gösterseydiniz daha özel olabilirdi, bu şekilde hiç bir şey anlaşılmıyor.  :maalesef:


Dyternal

Alıntı yapılan: Krono$ - 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:

Katılıyorum ayrıca herşey dini değil gibi var MySQL de


Spoiler içindeki daha düzenli eklemeni öneririm kendin derledim


Zeus

Alıntı yapılan: Krono$ - 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:


Güncelledim, şimdi anlıyabiliyor musunuz?


Lé Spîke

         

Zeus


Backup


Zeus


Jawié

format(dosya,sizeof(dosya),"/%s.kyt",isim);


fahrenheit

.
Son düzenlenme: 30 Haziran 2020, 10:22:25 bhenzax

Dyternal

Alıntı yapılan: sixbullet - 16 Eylül 2017, 13:56:19

Pawndan anlamıyorum, özel ders veren kullanıcılar varmıdır?

2 tane konuya da bu mesaj yollanmis spam yapmayiniz.
Biraz uğraşırsanız kendinizde ogrenizsiniz.


Jizzy


FelleR