GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
18 Nisan 2025, 20:41:03

Yardım!

Başlatan HarunPürtaş, 08 Mayıs 2019, 17:08:18

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

HarunPürtaş

Evet, mysql kayıt sistemini yaparken id, isim, sifre, skor ve parayı hallettim. Fakat, skini halledemedim. Sorun, skini kayıt ettiremiyorum. Örneğin adam gidip '230' id'li skini seçiyor, fakat spawn olunca '0' id'li skin ile spawn oluyor. Aşağıda publicleri bulabilirsiniz.

OnPlayerDisconnect :

PAWN Kodu: Seç

public OnPlayerDisconnect(playerid, reason)
{
new query[128], isim[24];
GetPlayerName(playerid, isim, 24);
format(query, sizeof(query),"UPDATE `Kullanicilar` SET `Skor`= %d ,`Para`= %d , `Skin`= %d , `Renk`= %d ` WHERE `Isim`= %s ", GetPlayerScore(playerid), GetPlayerMoney(playerid), GetPlayerSkin(playerid), GetPlayerColor(playerid), isim);
        mysql_query(vt, query);
        SendDeathMessage(INVALID_PLAYER_ID, playerid, 201);
return 1;
}


OnDialogResponse :

PAWN Kodu: Seç

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(response)
{
if(strlen(inputtext) < 3) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "{FFA600}Kayıt", "{990000}HATA: {FFFFFF}Şifreniz {33CCCC}3 {FFFFFF}haneden kısa olamaz!\n\n{FFFFFF}Kayıt olmak için şifrenizi girin:", "Kayıt ol", "Çıkış");
new query[128], isim[24];
GetPlayerName(playerid, isim, 24);
format(query, sizeof(query), "INSERT INTO `Kullanicilar` (`Isim`, `Sifre`, `Skor`, `Para`, `Skin`, `Renk`) VALUES ( %s ,  %s , 0, 0,  %d ,  %d )", isim, inputtext, GetPlayerSkin(playerid), GetPlayerColor(playerid));
mysql_query(vt, query);
SendClientMessage(playerid, -1, "{33CCCC}« {FFFFFF}Bilgi {33CCCC}» {FFFFFF}Başarıyla kayıt oldunuz!");
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "{FFA600}Giriş", "{FFFFFF}Giriş yapmak için şifrenizi girin:", "Giriş", "Çıkış");
}
else
{
    Kick(playerid);
}
}

if(dialogid == 2)
{
if(response)
{
new query[128], isim[24];
GetPlayerName(playerid, isim, 24);
format(query, sizeof(query), "SELECT * FROM `Kullanicilar` WHERE Isim =  %s  AND Sifre =  %s ", isim, inputtext);
mysql_tquery(vt, query, "OyuncuKontrol", "d", playerid);
}
else
{
    Kick(playerid);
}
}
return 1;
}


Forwardlar da, şöyle:

PAWN Kodu: Seç

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

if(!rows)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "{FFA600}Kayıt", "{FFFFFF}Sunucumuzda hesabınız {990000}bulunamadı.\n{FFFFFF}Kayıt olmak için şifrenizi girin:", "Kaydol", "Çıkış");
}
else
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "{FFA600}Giriş", "{FFFFFF}Sunucumuzda hesabınız {33CCCC}bulundu.\n{FFFFFF}Giriş yapmak için şifrenizi girin:", "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, "{FFA600}Giriş", "{990000}HATA: {FFFFFF}Yanlış şifre girdiniz.\n\n{FFFFFF}Giriş yapmak için şifrenizi girin:", "Giriş", "Çıkış");
else
{
    cache_get_value_name_int(0, "Skin", oVeri[playerid][Skin]);
    cache_get_value_name_int(1, "Renk", oVeri[playerid][Renk]);
   
SetPlayerScore(playerid, 0);
GivePlayerMoney(playerid, 50000);

SendClientMessage(playerid, -1, "{33CCCC}« {FFFFFF}Bilgi {33CCCC}» {FFFFFF}Başarıyla giriş yaptınız!");
}
return 1;
}

Son düzenlenme: 08 Mayıs 2019, 17:09:53 HarunPürtaş
İnsanlar hatalarını mutluyken değil ancak mutsuzken anlar.

Excision

PAWN Kodu: Seç
public OnPlayerSpawn(playerid)
{
SetPlayerSkin(playerid, oVeri[playerid][Skin]);
return 1;
}


HarunPürtaş

Alıntı yapılan: Excision - 08 Mayıs 2019, 17:10:05

PAWN Kodu: Seç
public OnPlayerSpawn(playerid)
{
SetPlayerSkin(playerid, oVeri[playerid][Skin]);
return 1;
}



aynısını yaptım zaten. Oyuncu skini seçip spawn olduğunda, 0 id'li skin ile spawn oluyor.

İnsanlar hatalarını mutluyken değil ancak mutsuzken anlar.

Excision

OnPlayerRequestClass publicini yolla.


HarunPürtaş

PAWN Kodu: Seç

public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1523.72, -1359.09, 329.58);
SetPlayerCameraPos(playerid, 1515.46, -1360.26, 331.88);
SetPlayerCameraLookAt(playerid, 1515.46, -1360.26, 331.88);
return 1;
}

İnsanlar hatalarını mutluyken değil ancak mutsuzken anlar.

Excision

oyunda 230 skinini alıp oyundan çıkınca veritabanında skin 230 olarak güncelleniyor mu ?


HarunPürtaş

Alıntı yapılan: Excision - 08 Mayıs 2019, 17:14:52

oyunda 230 skinini alıp oyundan çıkınca veritabanında skin 230 olarak güncelleniyor mu ?


Hayır, her daim sıfır.

İnsanlar hatalarını mutluyken değil ancak mutsuzken anlar.

Excision

mysql loglarına bir göz atın sorguda veya veritabanında bir hata var.


HarunPürtaş

Alıntı yapılan: Excision - 08 Mayıs 2019, 17:16:47

mysql loglarına bir göz atın sorguda veya veritabanında bir hata var.


MYSQL Logları:


[16:47:25] [ERROR] cache_get_value_name_int: invalid row index '1' (number of rows: '1')
[16:47:30] [ERROR] error #1064 while executing query "UPDATE `Kullanicilar` SET `Skor`='0',`Para`='50000', `Skin`='5', `Renk`='0'` WHERE `Isim`='Nox.'": You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '` WHERE `Isim`='Nox.'' at line 1
[16:48:02] [ERROR] cache_get_value_name_int: invalid row index '1' (number of rows: '1')
[16:48:20] [ERROR] error #1064 while executing query "UPDATE `Kullanicilar` SET `Skor`='0',`Para`='50000', `Skin`='0', `Renk`='0'` WHERE `Isim`='Nox.'": You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '` WHERE `Isim`='Nox.'' at line 1
[16:52:22] [ERROR] cache_get_value_name_int: invalid row index '1' (number of rows: '1')
[16:52:34] [ERROR] error #1064 while executing query "UPDATE `Kullanicilar` SET `Skor`='0',`Para`='50000', `Skin`='0', `Renk`='0'` WHERE `Isim`='Nox.'": You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '` WHERE `Isim`='Nox.'' at line 1


İnsanlar hatalarını mutluyken değil ancak mutsuzken anlar.

Excision

public OnPlayerDisconnect(playerid, reason)
{
new query[256], isim[24];
GetPlayerName(playerid, isim, 24);
mysql_format(vt, query, sizeof(query),"UPDATE `Kullanicilar` SET `Skor` = %d,`Para` = %d, `Skin` = %d, `Renk` = %d WHERE `Isim`= '%e'", GetPlayerScore(playerid), GetPlayerMoney(playerid), GetPlayerSkin(playerid), GetPlayerColor(playerid), isim);
mysql_tquery(vt, query);
SendDeathMessage(INVALID_PLAYER_ID, playerid, 201);
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, "{FFA600}Kayıt", "{990000}HATA: {FFFFFF}Şifreniz {33CCCC}3 {FFFFFF}haneden kısa olamaz!\n\n{FFFFFF}Kayıt olmak için şifrenizi girin:", "Kayıt ol", "Çıkış");
new query[256], isim[24];
GetPlayerName(playerid, isim, 24);
mysql_format(vt, query, sizeof(query), "INSERT INTO `Kullanicilar` (`Isim`, `Sifre`, `Skor`, `Para`, `Skin`, `Renk`) VALUES ('%e', '%e', 0, 0, %d, %d)", isim, inputtext, GetPlayerSkin(playerid), GetPlayerColor(playerid));
mysql_query(vt, query);
SendClientMessage(playerid, -1, "{33CCCC}« {FFFFFF}Bilgi {33CCCC}» {FFFFFF}Başarıyla kayıt oldunuz!");
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "{FFA600}Giriş", "{FFFFFF}Giriş yapmak için şifrenizi girin:", "Giriş", "Çıkış");
}else
{
    Kick(playerid);
}
}

if(dialogid == 2)
{
if(response)
{
new query[128], isim[24];
GetPlayerName(playerid, isim, 24);
mysql_format(vt, query, sizeof(query), "SELECT * FROM `Kullanicilar` WHERE `Isim` = '%e' AND `Sifre` = '%e'", isim, inputtext);
mysql_tquery(vt, query, "OyuncuKontrol", "d", playerid);
}
else
{
    Kick(playerid);
}
}
return 1;
}
forward OyuncuYukle(playerid);
public OyuncuYukle(playerid)
{
if(!cache_num_rows())
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "{FFA600}Kayıt", "{FFFFFF}Sunucumuzda hesabınız {990000}bulunamadı.\n{FFFFFF}Kayıt olmak için şifrenizi girin:", "Kaydol", "Çıkış");
}else
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "{FFA600}Giriş", "{FFFFFF}Sunucumuzda hesabınız {33CCCC}bulundu.\n{FFFFFF}Giriş yapmak için şifrenizi girin:", "Giriş", "Çıkış");
}
return 1;
}

forward OyuncuKontrol(playerid);
public OyuncuKontrol(playerid)
{
if(!cache_num_rows()) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "{FFA600}Giriş", "{990000}HATA: {FFFFFF}Yanlış şifre girdiniz.\n\n{FFFFFF}Giriş yapmak için şifrenizi girin:", "Giriş", "Çıkış");

cache_get_value_name_int(0, "Skin", oVeri[playerid][Skin]);
cache_get_value_name_int(0, "Renk", oVeri[playerid][Renk]);
SetPlayerScore(playerid, 0);
GivePlayerMoney(playerid, 50000);
SendClientMessage(playerid, -1, "{33CCCC}« {FFFFFF}Bilgi {33CCCC}» {FFFFFF}Başarıyla giriş yaptınız!");
return 1;
}


HarunPürtaş

spawn olunca skin id yine 0 oluyor.

İnsanlar hatalarını mutluyken değil ancak mutsuzken anlar.

Excision

sorguları attığım şekilde güncelle aslan kardeşim


HarunPürtaş

İnsanlar hatalarını mutluyken değil ancak mutsuzken anlar.

Enkei

Alıntı
Açılan taleplerin son iletisi 1 haftayı geçmesi durumunda; konu kilitlenip, kilitli konular bölümüne taşınacaktır.


Kilit.