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

Dialog Format Hakkında

Başlatan ace, 23 Mart 2020, 22:26:18

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

ace

Sunucuma kayıt sistemi ekledim mySQL fakat mesela şifre kutusuna hiç bir şey yazmadan kayıt ol butonuna bastığımda MySQL'e verileri kaydetmeden direk spawn menüsüne geçiriyor ve hiç bir mesaj da vermiyor normalde en az 3 haneli bir şifre girmelisiniz diye hata vermesi gerek yardım edebilirmisiniz?

Kodlar;
OnDialogResponse

PAWN Kodu: Seç
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 1)
{
    if(!response) return Kick(playerid);
    if(response)
    {
        new kayithata[550], isim[24];
GetPlayerName(playerid, isim, 24);
format(kayithata, sizeof(kayithata), "{78FF1F}» Uyarı: {FFFFFF}Şifreni en düşük {78FF1F}3 {FFFFFF}haneli olarak girebilirsin.\n\n{FFFFFF}Hoşgeldin {78FF1F}%s {FFFFFF}sunucumuzda mevcut bir hesabın {78FF1F}bulunmuyor.\n{FFFFFF}Lütfen aşağıdaki kutucuğa {78FF1F}şifreni {FFFFFF}girerek kayıt ol.", isim);
        if(strlen(inputtext) < 3) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Ryzen HP v1.0 - Kayıt", kayithata, "Kaydol", "Çıkış");//
        SetPVarString(playerid, "KayitSifresi", inputtext);//
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Ryzen HP v1.0 - E-Posta", "{FFFFFF}Hesabınızın {78FF1F}çalınma gibi {FFFFFF}durum söz konusu olduğunda hesabınızın {78FF1F}size ait {FFFFFF}olduğunu anlamak için lütfen {78FF1F}E-Posta {FFFFFF}adresinizi giriniz.", "Kaydol", "Çıkış");
    }
    }
    if(dialogid == 2)
    {
        if(response)
        {
            new query[128], isim[24];
            GetPlayerName(playerid, isim, 24);
            format(query, sizeof(query), "SELECT * FROM `hesaplar` WHERE Isim = '%s' AND Sifre = '%s'", isim, inputtext);
            mysql_tquery(mysqlC, query, "OyuncuKontrol", "d", playerid);
        }
    }
if(dialogid == 3)
{
    if(!response) return Kick(playerid);
    if(response)
    {
        if(!IsValidEmailAddress(inputtext)) return ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "Ryzen HP v1.0 - Hatalı E-Posta", "{78FF1F}» Uyarı: {FFFFFF}Geçersiz {78FF1F}E-posta {FFFFFF}adresi girdiniz!\n\nHesabınızın {78FF1F}çalınma gibi {FFFFFF}durum söz konusu olduğunda hesabınızın {78FF1F}size ait {FFFFFF}olduğunu anlamak için lütfen {78FF1F}E-Posta {FFFFFF}adresinizi giriniz.", "Kaydol", "Çıkış");
        new query[128], isim[24], sifre[50];
GetPVarString(playerid, "KayitSifresi", sifre, sizeof(sifre));
        GetPlayerName(playerid, isim, 24);
        format(query, sizeof(query), "INSERT INTO `hesaplar` (`Isim`, `Sifre`, `Skor`, `Para`, `Eposta`) VALUES ('%s', '%s', 0, 25000, '%s')", isim, sifre, inputtext);
        mysql_query(mysqlC, query);
        SendClientMessage(playerid, -1, "{ff9600}» {ffffff}Hesap verileriniz veritabanına kaydedildi, iyi oyunlar.");
        new giriss[500], isim2[24];// giriş 2 dialog
GetPlayerName(playerid, isim2, 24);
format(giriss, sizeof(giriss), "{FFFFFF}Hoşgeldin {78FF1F}%s {FFFFFF}sunucumuzda mevcut bir hesabın {78FF1F}bulunuyor.\n{FFFFFF}Lütfen aşağıdaki kutucuğa {78FF1F}şifreni {FFFFFF}girerek giriş yap.", isim2);
        ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "Ryzen HP v1.0 - Giriş", giriss, "Giriş", "Çıkış");
        DeletePVar(playerid, "KayitSifresi");
    }
}
    return 1;
}

OyuncuYukle;

PAWN Kodu: Seç
forward OyuncuYukle(playerid);
public OyuncuYukle(playerid)
{
    new rows;
    cache_get_row_count(rows);

    if(!rows)
    {
        new kayit[500], isim[24];
GetPlayerName(playerid, isim, 24);
    for(new i = 0; i < 50; i++) SendClientMessage(playerid,-1," ");
format(kayit, sizeof(kayit), "{FFFFFF}Hoşgeldin {78FF1F}%s {FFFFFF}sunucumuzda mevcut bir hesabın {78FF1F}bulunmuyor.\n{FFFFFF}Lütfen aşağıdaki kutucuğa {78FF1F}şifreni {FFFFFF}girerek kayıt ol.", isim);
        ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT, "Ryzen HP v1.0 - Kayıt", kayit, "Kaydol", "Çıkış");
    }
    else
    {
        new giris[500], isim[24];
GetPlayerName(playerid, isim, 24);
    for(new i = 0; i < 50; i++) SendClientMessage(playerid,-1," ");
format(giris, sizeof(giris), "{FFFFFF}Hoşgeldin {78FF1F}%s {FFFFFF}sunucumuzda mevcut bir hesabın {78FF1F}bulunuyor.\n{FFFFFF}Lütfen aşağıdaki kutucuğa {78FF1F}şifreni {FFFFFF}girerek giriş yap.", isim);
        ShowPlayerDialog(playerid, 6, DIALOG_STYLE_INPUT, "Ryzen HP v1.0 - Giriş", giris, "Giriş", "Çıkış");
    }
    return 1;
}

OyuncuKontrol;

PAWN Kodu: Seç
forward OyuncuKontrol(playerid);
public OyuncuKontrol(playerid)
{
    new rows;
    cache_get_row_count(rows);

    if(!rows)
{
GirisDenemeleri[playerid]++;
if(GirisDenemeleri[playerid] == 3)
{
SendClientMessage(playerid, -1, "{ff9600}» {ffffff}Hatalı şifre, daha fazla hakkınız {ff9600}kalmadı.");
ShowPlayerDialog(playerid, 7, DIALOG_STYLE_MSGBOX, "XXX - Hatalı Şifre", "Çok fazla yanlış şifre denemesi, atıldın!", "Tamam", "");
Kickle(playerid);
}
else
{
// new string[75];
/* format(string, sizeof string, "Hatalı şifre, kalan hakkınız: %d/3", GirisDenemeleri[playerid]);
SendClientMessage(playerid, -1, string);*/

new hatasifre[500], isim[24];
GetPlayerName(playerid, isim, 24);
format(hatasifre, sizeof(hatasifre), "{78FF1F}» {ffffff}Hatalı şifre, kalan hakkınız: {78FF1F}[%d/3]\n\n{FFFFFF}Hoşgeldin {78FF1F}%s {FFFFFF}sunucumuzda mevcut bir hesabın {78FF1F}bulunuyor.\n{FFFFFF}Lütfen aşağıdaki kutucuğa {78FF1F}şifreni {FFFFFF}girerek giriş yap.", GirisDenemeleri[playerid], isim);
ShowPlayerDialog(playerid, 8, DIALOG_STYLE_INPUT, "Ryzen HP v1.0 - Hatalı Şifre", hatasifre, "Giriş", "Çıkış");
}
    }
else
    {
        new para, skor;
        cache_get_value_name_int(0, "Skor", skor);
        cache_get_value_name_int(0, "Para", para);
        cache_get_value_name_int(0, "AdminLevel", pAdmin [playerid]);
        SetPlayerScore(playerid, skor);
        GivePlayerMoney(playerid, para);
        SendClientMessage(playerid, -1, "{ff9600}» {ffffff}Hesap verileriniz yüklendi, iyi oyunlar.");
    }
    return 1;
}

Fonksiyonlar

PAWN Kodu: Seç
//
forward Kickle(playerid);
public Kickle(playerid)
{
SetTimerEx("Kickletimer", 900, false, "i", playerid);
return 1;
}

forward Kickletimer(playerid);
public Kickletimer(playerid)
{
Kick(playerid);
return 1;
}
//
/*==========[EPOSTA]===========*/
IsValidEmailAddress(const email[])
{
new at_pos = strfind(email, "@", true);
if(at_pos >= 1)
{
new offset = (at_pos + 1), dot_pos = strfind(email, ".", true, offset);
if(dot_pos > offset)
{
return 1;
}
}
return 0;
}
//


ayazcik

Butün dialogidlerini isimlendirebilirmisin bir de öyle deniyelim karışıyor olabilirler.

PAWN Kodu: Seç
#define DIALOG_KAYIT 1
#define DIALOG_GIRIS 2
benzeri, ayrıca ShowPlayerDialog bölümünde dialog id yazdığımız yeride bunlarla değiştirelim aynı şeyi
PAWN Kodu: Seç
(if (dialogid == 1, 2, 3) içinde yapalım.
Bunları yaptıktan sonra durumu bir daha söylermisin ?


ace

Sorun farklı bir yolla çözülmüştür, genede teşekkür ederim.

K&A