GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: smalark - 15 Aralık 2019, 19:04:57

Başlık: MySQL kayıt sistemi
Gönderen: smalark - 15 Aralık 2019, 19:04:57
Öncelikle merhaba değerli forum üyeleri mysql kayıt sistemi videosu izleyip yapmıştım fakat servere giriş yaptığımda register ekranı gelmiyor yardımcı olursanız sevinirim nerede hata yapmışım.

Başlık: Ynt: MySQL kayıt sistemi
Gönderen: smalark - 15 Aralık 2019, 19:06:37
#include <a_samp>
#include <a_mysql>
#include <foreach>


#define SQL_HOST "localhost"
#define SQL_USER "root"
#define SQL_PASS ""
#define SQL_DB      "smalark_db"

new MySQL:mysqlC;

main (  )  {  }

public OnGameModeInit()
{
print("MySQL bağlantısı kuruluyor...");
mysqlC = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS, SQL_DB);
if(mysql_errno(mysqlC) == 0)
{
print("MySQL bağlantısı kuruldu!");
}
else
{
print ("MySQL bağlantısı başarısız!");
}
return 1;
}

public OnPlayerConnect(playerid)
{
new query[128], isim[24];
GetPlayerName(playerid, isim, 24);
format(query, sizeof(query), "SELECT * FROM 'kullanicilar' WHERE Isim = '%s'", isim);
mysql_tquery(mysqlC, query, "OyuncuYukle", "d", playerid);
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(response)
{
if(strlen(inputtext) < 3) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Kayit", "HATA: Şifreniz 3 haneden kısa olamaz!\n\nKayıt olmak için şifrenizi giriniz:", "Kaydol", "Çıkış");

new query[128], isim[24];
GetPlayerName(playerid, isim, 24);
format(query, sizeof(query), "INSERT INTO 'kullanicilar' ('Isim', 'Sifre', 'Skor', 'Para') VALUES ('%s', '%s', 0, 0)", isim, inputtext);
mysql_query(mysqlC, query);
}
}

if(dialogid == 2)
{
if(response)
{
new query[258], isim[24];
GetPlayerName(playerid, isim, 24);
format(query, sizeof(query), "SELECT * FROM 'kullanicilar' WHERE Isim = '%s' AND Sifre = '%s'", isim, inputtext);
mysql_tquery(mysqlC, query, "OyuncuKontrol", "d", playerid);
SendClientMessage(playerid, -1, "Başarıyla kaydoldunuz!");
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Giriş", "Giriş yapmak için şifrenizi giriniz:", "Giriş", "Çıkış");
}
}
  return 1;
}

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

if(!rows)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Kayit", "Sunucumuzda hesabınız bulunamadı.\nKayıt olmak için şifrenizi giriniz:", "Kaydol", "Çıkış");
}
else
{
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Giriş", "Sunucumuzda hesabınız bulundu.\nGiriş yapmak için şifrenizi giriniz:", "Giriş", "Çıkış");
}
return 1;
}

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

if(!rows) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Giriş", "Yanlış şifre girdiniz. \n\nGiriş yapmak için şifrenizi giriniz:", "Giriş", "Çıkış");
else
{
new para, skor;
cache_get_value_name_int(0, "Skor", skor);
cache_get_value_name_int(0, "Para", para);

SetPlayerScore(playerid, skor);
GivePlayerMoney(playerid, para);

SpawnPlayer(playerid);
SendClientMessage(playerid, -1, "[!] Başarıyla giriş yaptınız!");
}
return 1;
}
Başlık: Ynt: MySQL kayıt sistemi
Gönderen: squarepants - 15 Aralık 2019, 19:47:47
Veriler kayıt altına alınamıyor gibi , OnPlayerDisconnect callback içerisindeki bazı etkinlikler unutulmuş gibi.. Tekrar izle istersen o bölümü , İyi forumlar.
Başlık: Ynt: MySQL kayıt sistemi
Gönderen: lacosapalm - 25 Aralık 2019, 05:04:58
Zaman aşımı sebebiyle kilitlenip,Kilitli konular bölümüne taşınmıştır.