18.01.2012, 01:26
Bem estou querendo criar um gamemode mysql mas primeiro preciso concluir meu estudo sobre o uso do mesmo.
Estava criando um sistema de registro, e quando logo pela primeira vez, nao aparece pra eu me registrar, mas sim pra eu logar, eis o codigo abaixo
Queria saber se hб algum erro no cуdigo ou se o problema estб em outro lugar.
Estava criando um sistema de registro, e quando logo pela primeira vez, nao aparece pra eu me registrar, mas sim pra eu logar, eis o codigo abaixo
pawn Код:
#include <a_samp>
#include <a_mysql>
main(){}
public OnGameModeInit()
{
mysql_connect("localhost","root","Vortex RPG","");
mysql_query("CREATE TABLE IF NOT EXISTS pinfo (user VARCHAR(24), password VARCHAR(50), score INT(20), dinheiro INT(20) )");
return 1;
}
public OnPlayerConnect(playerid)
{
new escname[24];
new query[700];
mysql_real_escape_string(GetName(playerid),escname);
format(query,sizeof(query),"SELECT 'user' FROM 'pinfo' WHERE 'user' = '%s'",escname);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() != 0)
{
ShowPlayerDialog(playerid,2,1,"Login","Login","Login","Sair");
}
else
{
ShowPlayerDialog(playerid,1,1,"Registro","Registro","Registrar","Sair");
}
mysql_free_result();
return 1;
}
public OnPlayerDisconnect(playerid)
{
new query[700];
new escname[24];
mysql_real_escape_string(GetName(playerid),escname);
format(query,sizeof(query),"UPDATE 'pinfo' SET score = %d, dinheiro = %d WHERE user = %s",GetPlayerScore(playerid),GetPlayerMoney(playerid),escname);
mysql_query(query);
return 1;
}
public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[])
{
if(dialogid == 1)
{
if(!response)
return Kick(playerid);
if(response)
{
if(!strlen(inputtext[0]))
return Kick(playerid);
new escname[24];
new escpass[50];
new query[700];
mysql_real_escape_string(GetName(playerid),escname);
mysql_real_escape_string(inputtext,escpass);
format(query,sizeof(query),"INSERT INTO 'pinfo' (user, password, score, dinheiro) VALUES('%s','%s',5,5000)",escname,escpass);
mysql_query(query);
return 1;
}
}
if(dialogid == 2)
{
if(!response)
return Kick(playerid);
if(response)
{
if(!strlen(inputtext[0]))
return Kick(playerid);
new escname[24];
new escpass[50];
mysql_real_escape_string(GetName(playerid),escname);
mysql_real_escape_string(inputtext,escpass);
new query[700];
format(query,sizeof(query),"SELECT 'password' FROM 'pinfo' WHERE user = '%s' AND password = '%s'",escname,escpass);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() != 0)
{
format(query,sizeof(query),"SELECT * FROM 'pinfo' WHERE 'user' = '%s'",escname);
mysql_query(query);
mysql_store_result();
new string[128];
while(mysql_fetch_row_format(query,"|"))
{
mysql_fetch_field_row(string,"score");
SetPlayerScore(playerid,strval(string));
mysql_fetch_field_row(string,"dinheiro");
GivePlayerMoney(playerid,strval(string));
}
}
else
{
ShowPlayerDialog(playerid,2,1,"Login","Senha","Logar","Sair");
}
mysql_free_result();
return 1;
}
}
return 1;
}
stock GetName(playerid)
{
new n[24];
GetPlayerName(playerid,n,sizeof(n));
return n;
}