[Pomoc]Mysql Problem

Započeo Dobrica
14. Jul 2014. Zaključano
1,527
pregleda
44
postova
Dobrica
4
Shot Caller
14. Jul 2014.
Skripta koju koristim: mysql
Detaljan opis problema: Radilo je sve dobro dok nisam dodao spol,tacnije sada nece da prikaze nijedan dialog,sve lepo povezano.
Dio skripte:

#include < a_samp >
#include < a_mysql >
#include < streamer >
#include < sscanf2 >
#include < foreach >
#include < YSI\y_commands >

#define SERVER_NAME "{FF0000}MYSQL {FFFFFF}- TESTING"
#define SERVER_MAP "San Andreas"
#define SERVER_SCRIPT "mysql - v1.0b"
#define SERVER_FORUM "www.beta-test.com"

#define SQL_HOST "localhost"
#define SQL_USER "root"
#define SQL_DB "samp"
#define SQL_PW ""

#define DIALOG_LOGIN 1
#define DIALOG_REGISTER 2
#define DIALOG_SPOL        3

#define SPD ShowPlayerDialog
#define SCM SendClientMessage

#define function%0(%1) \
forward%0(%1); \
public%0(%1)

#define SPFD(%0,%1,%2,%3,%4,%5,%6,%7) \
format(gDialogMsg, sizeof(gDialogMsg), %4, %7); \
SPD(%0, %1, %2, %3, gDialogMsg, %5, %6)

new BazaConnect, gDialogMsg, gQuery, QueryOutput;

enum E_PLAYER_DATA
{
E_PLAYER_PASSWORD,
E_PLAYER_CASH,
bool:E_PLAYER_LOGGED,
E_PLAYER_SPOL
}
new
gPlayerData;

main()
{
print("mysql r33 v1.0b");
}

public OnGameModeInit()
{
    SetGameModeText(SERVER_SCRIPT);SendRconCommand("mapname "SERVER_MAP""); SendRconCommand("weburl "SERVER_FORUM"");DisableInteriorEnterExits();
UsePlayerPedAnims();EnableStuntBonusForAll(0);ShowPlayerMarkers(false);SetNameTagDrawDistance(20);AllowInteriorWeapons(1);ManualVehicleEngineAndLights();
mysql_debug();
BazaConnect = mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PW);
return true;
}

public OnGameModeExit()
{
mysql_close( BazaConnect );
return true;
}

public OnPlayerConnect(playerid)
{
format(gQuery, sizeof(gQuery), "SELECT * FROM `users` WHERE `Username` = '%e' LIMIT 1", GetName(playerid));
mysql_function_query(BazaConnect, gQuery, true, "CheckUser", "i", playerid);
return true;
}

public OnPlayerRequestClass(playerid, classid)
{
format(gQuery, sizeof(gQuery), "SELECT * FROM `users` WHERE `Username` = '%e' LIMIT 1", GetName(playerid));
mysql_function_query(BazaConnect, gQuery, true, "CheckUser", "i", playerid);
return true;
}

public OnPlayerDisconnect(playerid, reason)
{
format(QueryOutput, sizeof(QueryOutput),"UPDATE `users` SET `Spol` = %d, `Cash` = %d WHERE `Username` = '%e'",gPlayerData,GetPlayerMoney(playerid), GetName(playerid));
mysql_function_query(BazaConnect, QueryOutput, false, "", "");
return true;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_LOGIN:
{
if(response)
{
format(gQuery, sizeof(gQuery), "SELECT * FROM `users` WHERE `Username` = '%e' AND `Password` = md5('%e') LIMIT 1", GetName(playerid), inputtext);
    mysql_function_query(BazaConnect, gQuery, true, "LoginUser", "i", playerid);
}
else Kick(playerid);
}
case DIALOG_REGISTER:
{
if(response)
{
strins(gPlayerData, inputtext, 0);
mysql_format(1, gQuery, "INSERT INTO `users` (`Username`, `Password`, `Cash`) VALUES ('%e', md5('%e'), 0)", GetName(playerid));
SPD(playerid, DIALOG_SPOL, DIALOG_STYLE_MSGBOX," - REGISTRACIJA","Kojeg ste pola?","Musko","Zensko");
}
else Kick(playerid);
}
case DIALOG_SPOL:
{
if(response)
{
    SetPlayerScore(playerid,1);
    gPlayerData = 1;
 
SpawnPlayer(playerid);

format(QueryOutput, sizeof(QueryOutput),"UPDATE `users` SET `Spol` = %d",gPlayerData);
mysql_function_query(BazaConnect, QueryOutput, false, "", "");
}
if(!response)
{
    SetPlayerScore(playerid,1);
    gPlayerData = 2;


                SpawnPlayer(playerid);
               
                format(QueryOutput, sizeof(QueryOutput),"UPDATE `users` SET `Spol` = %d",gPlayerData);
mysql_function_query(BazaConnect, QueryOutput, false, "", "");
}
}
}
return true;
}

function CheckUser(query[], index, extraid, connectionHandle)
{
mysql_store_result();

if(mysql_num_rows() == 1)
{
SPFD(index, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, SERVER_NAME" - LOGIRANJE", "{FFFFFF}Dobrodošao na "SERVER_NAME"server, %s!\n\nTi si registrirani korisnik te se trebaš logirati.\nUpiši u polje ispod svoju lozinku da se logiraš.", "Login", "Izlaz", GetName(index));
}
else
{
SPFD(index, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, SERVER_NAME" - REGISTRACIJA", "{FFFFFF}Dobrodošao na "SERVER_NAME" server, %s!\n\nTi nisi registrirani korisnik te se trebaš registrirati.\nUpiši u polje ispod svoju lozinku da se registriraš.", "Register", "Izlaz", GetName(index));
}

mysql_free_result();
return true;
}

function LoginUser(query[], index, extraid, connectionHandle)
{
mysql_store_result();

if(mysql_num_rows() == 1)
{
sscanf(query, "e{ds}sdddl>", gPlayerData);
gPlayerData = true;
GivePlayerMoney(index, gPlayerData);
SpawnPlayer(index);
}
else
{
SCM(index,-1,"{FF0000}ERROR: {FFFFFF}Pogrešna lozinka!");
SPFD(index, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, SERVER_NAME" - LOGIRANJE", "{FFFFFF}Dobrodošao na "SERVER_NAME"server, %s!\n\nTi si registrirani korisnik te se trebaš logirati.\nUpiši u polje ispod svoju lozinku da se logiraš.", "Login", "Izlaz", GetName(index));
}

mysql_free_result();
return true;
}

function RegisterUser(query[], index, extraid, connectionHandle)
{
SpawnPlayer(index);
return true;
}

function SaveUser(query[], index, extraid, connectionHandle)
{
format(gPlayerData, 32, "\0");
return true;
}

stock GetName(playerid)
{
static
pName;

GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
return pName;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno):
James_SmithXDl
6
OG Legend
14. Jul 2014.
kako mislis nece da pokaze kad se konektujes?
Dobrica
4
Shot Caller
14. Jul 2014.
Nece da pokaze dialoge niti za login niti za register.
James_SmithXDl
6
OG Legend
14. Jul 2014.
a znaci prije nego si dodao to za spol sve je radilo?
Dobrica
4
Shot Caller
14. Jul 2014.
Quote from July 14, 2014, 1:35 pm:
a znaci prije nego si dodao to za spol sve je radilo?

Da nesto sam cackao sa mysql_function_query pa sam resio i sad odjednom kad povezem i konektujem se nema nista nema dialoga.
James_SmithXDl
6
OG Legend
14. Jul 2014.
pa uradi system restore pre nego si to uradio pa onda pokusaj ponovo,
Dobrica
4
Shot Caller
14. Jul 2014.
Quote from July 14, 2014, 1:39 pm:
pa uradi system restore pre nego si to uradio pa onda pokusaj ponovo,

radio sam i opet isto,udjem ingame i kao da nije povezano sa bazom a jeste :S
Molim vas pomagajte.
James_SmithXDl
6
OG Legend
14. Jul 2014.
pogledaj mysql log sta ti pise
Dobrica
4
Shot Caller
14. Jul 2014.

[15:39:59] >> mysql_connect(localhost, root, samp, ******) on port 3306
[15:39:59] CMySQLHandler::CMySQLHandler() - constructor called.
[15:39:59] CMySQLHandler::CMySQLHandler() - Connecting to "localhost" | DB: "samp" | Username: "root"
[15:40:00] CMySQLHandler::Connect() - Can't connect to MySQL server on 'localhost' (10061) (Error ID: 2003)
[15:40:38] >> mysql_query_callback( Connection handle: 1 )
[15:40:38] >> mysql_query_callback( Connection handle: 1 )
[15:40:43] >> mysql_query_callback( Connection handle: 1 )
James_SmithXDl
6
OG Legend
14. Jul 2014.
pa eto kaze ti da se nemoze uspostavit konekcija ako radis preko xamp proveri jeli upaljen i jesu li podatci dobro uneseni.
Dobrica
4
Shot Caller
14. Jul 2014.
Ma sve sam proverio i sve je kako treba nije mi jasno zasto nece :S
James_SmithXDl
6
OG Legend
14. Jul 2014.
pa nemoze da se konektuje kazem ti ili nisu uredu podatci ili je localhost nesto u kvaru pogledaj log i sam zakljuci.
Dobrica
4
Shot Caller
14. Jul 2014.
Quote from July 14, 2014, 1:57 pm:
pa nemoze da se konektuje kazem ti ili nisu uredu podatci ili je localhost nesto u kvaru pogledaj log i sam zakljuci.

Sve sam pogledao i probao ali opet neeece!
James_SmithXDl
6
OG Legend
14. Jul 2014.
covjece ime baze nije isto kao i baza u modu sta je tebi rekoh ti preko poruke.
Dobrica
4
Shot Caller
14. Jul 2014.
Quote from July 14, 2014, 3:44 pm:
covjece ime baze nije isto kao i baza u modu sta je tebi rekoh ti preko poruke.


stavio sam isto i nece :S
sve lepo promenio.

Gde si ti video da baza nije isto ime :S

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha