GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi

Dini - Kayit Sistemi Yapimi

Başlatan Rain, 09 Haziran 2021, 12:44:06

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Rain

Merhaba!

Dini MySQL'in yaninda zayif kalsada yinede benim gibi kullananlar var.

Bende hem zaman gecirmek, arayanlara yardim etmek icin bunu yazmaya karar verdim.

PAWN Kodu: Seç
#include <dini>
Dini'yi includelamadan baslayamayiz :)

PAWN Kodu: Seç
#define Kayit 0
#define Giris 1

Diyaloglarinizi kaydettiginiz yere koyabilirsiniz. //Kayit ve Giris diyalogu icin kullanilicak.

PAWN Kodu: Seç
new GirisYapti[MAX_PLAYERS];
New fonksiyonunu kaydettiginiz yere koyabilirsiniz //Bunu kullanarak kisinin giris yapip yapmadigini belirleyecegiz.

PAWN Kodu: Seç
GirisDurum[playerid] = 0;

new Isim[MAX_PLAYERS], Dosya[126]

GetPlayerName(playerid, Isim, sizeof(Isim));

format(Dosya, sizeof(Dosya), "/Hesaplar/%s.ini", Isim);

if(!dini_Exists(Dosya))
{
  ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "SA-MP", "Sunucuya hos geldin! sifreni yazarak kaydolabilirsin:", "Kayit", ""); 
}
else
{
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "SA-MP", "Sunucuya hos geldin! sifreni yazarak giris yapabilirsin:", "Giris", "");
}

public OnPlayerConnect'e ekliyoruz. //Basta oyuncunun ismini "Isim"'e kaydettik ardindan hesaplarin kaydedilicegi dosyayi belirledik ve her hesaba baska bir dodya acmasi icin "Isim"e bagladik ardindan egerki dosya, hesap bulunamadiysa kayit bulunduysa girisi gosteesini ayarladik. Ben cikis butonu eklemedim isteyen ekleyebilir.

PAWN Kodu: Seç
if(dialogid == 0)
{
    new Isim[MAX_PLAYER_NAME], new Dosya[126];

    if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "SA-MP", "Sifrenizi yazmazsaniz hesabinizi kaydedemem:", "Kayit", "");

    GetPlayerName(playerid, Isim, sizeof(Isim));

    format(Dosya, sizeof(Dosya), "/Hesaplar/%s.ini", Isim);

    dini_Create(Dosya);

    dini_Set(Dosya, "pIsim", Isim);

    dini_Set(Dosya, "pSifre", inputtext);

    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "SA-MP", "Harika! Sifreni tekrar yazarak giris yapabilirsin:", "Giris", "");
}

public OnDialogResponse'ye ekleyeceksiniz. //Herzamanki gibi dosyayi ismi vb, tanittik egerki hicbirsey yazmazsa hata vermesini ayarladik ve hesabin kurulup kurulduktan sonra giris ekraninin gelmesini ayarladik.

PAWN Kodu: Seç
if(dialogid == 1)
{
    new Isim[MAX_PLAYER_NAME], Dosya[126], Sifre[24];

    GetPlayerName(playerid, Isim, sizeof(Isim));

    format(Dosya, sizeof(Dosya), "/Hesaplar/%s.ini", Isim);

    format(Sifre, sizeof(Sifre), "%s", dini_Get(Dosya, "pSifre"));

    if(!strcmp(inputtext, Sifre) return GirisYapti[playerid] = 1;

else
{
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT "SA-MP", "Girdiginiz sifre yanlis!", "Giris", "");
}
}

Bunuda oncekinin altina ekleyebiliriz. //Diger bolumlerde yaptiklarimizi yaptik inputtextle sifre uyusuyormu diye baktik uyusuyorsa girisdurumunu degistirdik uyusmuyorsa geri gonderdik.

Scriptfilesa Hesaplar diye bir dosya eklerseniz kodlar calisicaktir, yazim yanlisi ve ya [] kapatmayi unuttugum olabilir yazarsaniz duzeltirim :) sifreyi yazmadan kisi spawnlanabilir siz onu yaparsiniz cokda kapsamli bir kod degil  :pc:

still alive

Rylox

Eline sağlık çok güzel olmuş,başarılar

giderken bıraktığın bütün renkler siyah oldu

sharax


winsual

Ellerine sağlık, kaliteli anlatım/konu olmuş. :helal:


Kaanki0

Kaanki0#9224

Selam, arkadaş ekleyebilir misin?