GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: sasukec5 - 09 Kasım 2021, 16:37:27

Başlık: skor ve para kayboluyor
Gönderen: sasukec5 - 09 Kasım 2021, 16:37:27
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;
}
Başlık: Ynt: skor ve para kayboluyor
Gönderen: sasukec5 - 09 Kasım 2021, 18:20:04
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.
Başlık: Ynt: skor ve para kayboluyor
Gönderen: sasukec5 - 10 Kasım 2021, 04:10:33
sorun cozuldu k/a
Başlık: Ynt: skor ve para kayboluyor
Gönderen: TAKTAK26 - 12 Kasım 2021, 15:50:58
@Anestezi @Coiner