PDA

View Full Version : [MSQL] It doesn't give me any money when i login.


Type-R
11/10/2011, 01:24 AM
Hello, im still new to MSQL, and when i login it should give me money, because in Database it says that i have 1000$, but it doesn't give me the money in game, and i don't get what the problem is... Here's the Script:

if(dialogid == 200)
{
if(response)
{
new vardas[MAX_PLAYER_NAME];
GetPlayerName(playerid, vardas, sizeof(vardas));
new query[ 128 ], EscapedPass[ 128 ];
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,200,DIALOG_STYLE_INPUT,"{A3E4FF}Prisijungimas","{FFFFFF}Jus neivedete slaptazodzio.\n{FFFFFF}Prasome ivesti slaptazodi, kad galetumete prisijungti.","Prisijungti","Atsaukti");
if(strlen(inputtext) < 3 || strlen(inputtext) >= 32)
return ShowPlayerDialog(playerid,200,DIALOG_STYLE_INPUT,"{A3E4FF}Prisijungimas","{FFFFFF}Slaptazodis yra per trumpas arba per ilgas.\n{FFFFFF}Prasome ivesti teisinga slaptazodi, kad galetumete prisijungti!","Prisijungti","Atsaukti");
mysql_real_escape_string( inputtext, EscapedPass );
format(query,sizeof(query), "SELECT * FROM `Saskaitos` WHERE `Vardas` = '%s' AND `Slaptazodis` = '%s'", vardas, EscapedPass );
mysql_query( query );
mysql_store_result();

if( mysql_num_rows() >= 1 )
{
prisijunges[playerid] = 1;
SendClientMessage(playerid, geltona, "[FunZoneLT]>> Jus prisijungete! Sekmes zaidime jums linki Administracijos komanda!");
GivePlayerMoney(playerid, -50000);
if(ALygis[playerid] >= 1)
{
Alabel[playerid] = Create3DTextLabel("Administratorius", raudona,30.0,40.0,50.0,40.0,0);
Attach3DTextLabelToPlayer(Alabel[playerid], playerid, 0.0, 0.0, 0.7);
}
}
else
{
ShowPlayerDialog(playerid,200,DIALOG_STYLE_INPUT,"{A3E4FF}Prisijungimas","{FFFFFF}Jus ivedete neteisinga slaptazodi.\n{FFFFFF}Prasome ivesti teisinga slaptazodi, kad galetumete prisijungti!","Prisijungti","Atsaukti");
}
mysql_free_result();
new row[128];
new field[7][32];
mysql_fetch_row_format(row, "|");
explode(row, field, "|");
mysql_free_result();
format(ZStats[playerid][Slaptazodis], 32, "%s", field[1]);
ZStats[playerid][Adminas] = strval(field[3]);
ZStats[playerid][Pinigai] = strval(field[4]);
GivePlayerMoney(playerid, ZStats[playerid][Pinigai]); // this is where it should give me, the money...
CheckMySQL();
}
else
{
SendClientMessage(playerid, raudona, "[FunZoneLT]>> Jus turite prisijungti prie serverio, pries zaidziant!");
Kick(playerid);
}
}

Please help me.

[HiC]TheKiller
11/10/2011, 05:24 AM
Use print to check the values in each field. You must remember that field[4] is a string, not a integer so use strval to turn it into a integer.

Type-R
11/10/2011, 10:01 PM
Could you give me a example? Because now im lost..

Vince
11/10/2011, 10:05 PM
For your sake, just use sscanf instead of explode.

Buzzbomb
12/10/2011, 01:22 AM
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);