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

skor ve para kayboluyor

Başlatan sasukec5, 09 Kasım 2021, 16:37:27

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

sasukec5

Kendimi geliştirmek adına mysql kayıt sistemi olan bir sunucu geliştiriyorum.
Şifreyi bir kere yanlış girince otomatik sunucudan atıyor fakat eğer şifreyi yanlış girersem bir sonraki girişimde bana para ve skor gibi verileri vermiyor, sıfırlıyor.
Kodlar aşağıdaki gibi, bilen varsa yardımcı olabilir mi:

forward OyuncuKontrol(playerid);
public OyuncuKontrol(playerid)
{
    new rows;
    cache_get_row_count(rows);

    if(!rows) return oyundanat(playerid, "Şifreniz yanlış");
    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", pData[playerid][AdminSeviye]);

        SetPlayerScore(playerid, skor);
        GivePlayerMoney(playerid, para);
OyuncuSpawnla(playerid);
        SendClientMessage(playerid, -1, "[!] Başarıyla giriş yaptınız!");
    }
    return 1;
}
forward OyuncuYukle(playerid);
public OyuncuYukle(playerid)
{
    new rows;
    cache_get_row_count(rows);

    if(!rows)
    {
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Kayıt", "Sunucumuzda hesabınız bulunamadı.\nKayıt olmak için şifrenizi girin:", "Kaydol", "Çıkış");
    }
    else
    {
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Giriş", "Sunucumuzda hesabınız bulundu.\nGiriş yapmak için şifrenizi girin:", "Giriş", "Çıkış");
    }
    return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 1)
    {
        if(response)
        {
            if(strlen(inputtext) < 5) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Kayıt", "HATA: Şifreniz 5 haneden kısa olamaz!\n\nKayıt olmak için şifrenizi girin:", "Kaydol", "Çıkış");

            new query[128], isim[24];
            GetPlayerName(playerid, isim, 24);
            format(query, sizeof(query), "INSERT INTO `hesaplar` (`Isim`, `Sifre`, `Skor`, `Para`, `AdminLevel`) VALUES ('%s', '%s', 0, 0, 0)", isim, inputtext);
            mysql_query(mysqlC, query);
            SendClientMessage(playerid, -1, "Başarıyla kaydoldunuz!");
            ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Giriş", "Giriş yapmak için şifrenizi girin:", "Giriş", "Çı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);
        }
    }
    return 1;
}


sasukec5

Neden kaybolduğunu anladım fakat bir çözüm bulamadım.
Şifreyi yanlış girince direkt olarak kişiyi sunucudan kickletiyorum, mantıkken veriler de yüklenmediği ve sunucudan kişiyi kicklettiğim için veriler 0'a iniyor. Bunu nasıl çözebilirim?
Şifre ekranında bir kere yanlış girip atılma olayını spawn butonunun yarattığı buglar yüzünden yaptım, bunu önlemenin farklı bir yolu varsa söylerseniz sevinirim.


sasukec5

sorun cozuldu k/a


TAKTAK26

Platformda Sevdiğim İnsanlar Bu Alttakiler Adamın Dibi!

Enkei ❤️( Senin Yerin Hep Ayrı Merak Etme :DD )

Backup ❤️( Adamın Löpçüğü )

Radless ❤️( Kral Ya )

Code ❤️( Old Friend )

AssayerHero ❤️( Dinozor Devrinden Kalma Dostum )