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[250], gQuery[300], QueryOutput[1500];
enum E_PLAYER_DATA
{
E_PLAYER_PASSWORD[33],
E_PLAYER_CASH,
bool:E_PLAYER_LOGGED,
E_PLAYER_SPOL
}
new
gPlayerData[MAX_PLAYERS][E_PLAYER_DATA];
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[playerid][E_PLAYER_SPOL],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[playerid][E_PLAYER_PASSWORD], 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[playerid][E_PLAYER_SPOL] = 1;
SpawnPlayer(playerid);
format(QueryOutput, sizeof(QueryOutput),"UPDATE `users` SET `Spol` = %d",gPlayerData[playerid][E_PLAYER_SPOL]);
mysql_function_query(BazaConnect, QueryOutput, false, "", "");
}
if(!response)
{
SetPlayerScore(playerid,1);
gPlayerData[playerid][E_PLAYER_SPOL] = 2;
SpawnPlayer(playerid);
format(QueryOutput, sizeof(QueryOutput),"UPDATE `users` SET `Spol` = %d",gPlayerData[playerid][E_PLAYER_SPOL]);
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<p<|>{ds[24]}s[33]dddl>", gPlayerData[index]);
gPlayerData[index][E_PLAYER_LOGGED] = true;
GivePlayerMoney(index, gPlayerData[index][E_PLAYER_CASH]);
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[index][E_PLAYER_PASSWORD], 32, "\0");
return true;
}
stock GetName(playerid)
{
static
pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
return pName;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno):
kako mislis nece da pokaze kad se konektujes?
Nece da pokaze dialoge niti za login niti za register.
a znaci prije nego si dodao to za spol sve je radilo?
Citat: [SF]C++ poslato Jul 14, 2014, 15:35:14 POSLE PODNE
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.
pa uradi system restore pre nego si to uradio pa onda pokusaj ponovo,
Citat: [SF]C++ poslato Jul 14, 2014, 15:39:39 POSLE PODNE
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.
pogledaj mysql log sta ti pise
[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 )
pa eto kaze ti da se nemoze uspostavit konekcija ako radis preko xamp proveri jeli upaljen i jesu li podatci dobro uneseni.
Ma sve sam proverio i sve je kako treba nije mi jasno zasto nece :S
pa nemoze da se konektuje kazem ti ili nisu uredu podatci ili je localhost nesto u kvaru pogledaj log i sam zakljuci.
Citat: [SF]C++ poslato Jul 14, 2014, 15:57:54 POSLE PODNE
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!
covjece ime baze nije isto kao i baza u modu sta je tebi rekoh ti preko poruke.
Citat: [SF]C++ poslato Jul 14, 2014, 17:44:30 POSLE PODNE
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
ja ti kazem upisao sam ime svoje baze i konektovo se i radi ti zakljuci da sam upravu.
Citat: [SF]C++ poslato Jul 14, 2014, 17:47:34 POSLE PODNE
ja ti kazem upisao sam ime svoje baze i konektovo se i radi ti zakljuci da sam upravu.
a sto onda ne bi meni radilo :S
upisao sam lepo 'samp' taku bazu napravio ali nece :S
odi napravi ponovo bazu i kreiraj tablicu pa vidi
Kreirao bazu,napravio tablicu.
Tablica.
CREATE TABLE IF NOT EXISTS users(
ID INT NOT NULL AUTO_INCREMENT,
Username VARCHAR(24),
Password VARCHAR(32),
Cash INT,
Spol INT,
PRIMARY KEY(`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
kako ti se zove baza na local?
Citat: Dobrica poslato Jul 14, 2014, 18:00:59 POSLE PODNE
Citat: [SFC++ link=topic=93486.msg602360#msg602360 date=140mooooorrrrrrrooooonnnniiiiiiiiiiiiiii505]
kako ti se zove baza na local?
testing
pa onda upisi testing za ime baze a ne samp
Tako je.
Jesam kad nas radio novu tabelu
Postaj mySQL log, kako se spajaš na bazu i potrebne macroe (#define) za konekciju.
#define MYSQL_HOST "localhost"
#define MYSQL_USER "root"
#define MYSQL_DB "testing"
#define MYSQL_PW ""
[19:31:50] ** MySQL Debugging enabled (07/14/14)
[19:31:50]
[19:31:50] >> mysql_connect(localhost, root, testing, ******) on port 3306
[19:31:50] CMySQLHandler::CMySQLHandler() - constructor called.
[19:31:50] CMySQLHandler::CMySQLHandler() - Connecting to "localhost" | DB: "testing" | Username: "root"
[19:31:51] CMySQLHandler::Connect() - Can't connect to MySQL server on 'localhost' (10061) (Error ID: 2003)
Da li ti je upaljen XAMPP i u njemu upaljeni procesi Apache i MySQL? Otvori phpMyAdmin i screenshotaj mi cijelu stranicu.
Citat: Joey_ poslato Jul 14, 2014, 20:00:30 POSLE PODNE
Da li ti je upaljen XAMPP i u njemu upaljeni procesi Apache i MySQL? Otvori phpMyAdmin i screenshotaj mi cijelu stranicu.
Upaljeno je sve.
Izvoli.
http://i.imgur.com/zxVb9tg.png
Ugasi skype,totalno,log off,znaci ugasi ga do kraja,i odloguj se.
Screenshotaj XAMPP Control panel.
Citat: Joey_ poslato Jul 14, 2014, 20:07:35 POSLE PODNE
Screenshotaj XAMPP Control panel.
Evo i njega http://i.imgur.com/vhIG5HJ.png
Ugasi Skype, klikni na ove dvije ikonice: http://prntscr.com/42mpds i ponovno na njih kad se pojavi "Start". I onda pokreni server.
Citat: Joey_ poslato Jul 14, 2014, 20:14:11 POSLE PODNE
Ugasi Skype, klikni na ove dvije ikonice: http://prntscr.com/42mpds i ponovno na njih kad se pojavi "Start". I onda pokreni server.
Jesam,radio sam 20 puta to i opet kao da nije povezano sa bazom -.-
Da ti pojasnim ja sam uzeo svoju bazu otvorio tvoj gm upisao je i normalno se konektovala na localhost,nemoze do niceg drugog biti.
Citat: [SF]C++ poslato Jul 14, 2014, 20:16:09 POSLE PODNE
Da ti pojasnim ja sam uzeo svoju bazu otvorio tvoj gm upisao je i normalno se konektovala na localhost,nemoze do niceg drugog biti.
Ako tebi radi sto meni ne radi.
Napravio sam novu tablicu i bazu i opet nece,a ne znam zasto??
Ako u XAMPP-u imaÅ¡ sa strane "X" to znaÄi da taj service nije upaljen. I zbog toga se onda ne možeÅ¡ spojiti.
Citat: Joey_ poslato Jul 14, 2014, 20:30:57 POSLE PODNE
Ako u XAMPP-u imaÅ¡ sa strane "X" to znaÄi da taj service nije upaljen. I zbog toga se onda ne možeÅ¡ spojiti.
Jutros nije imalo te X ali sad ima ne znam zasto ima :S
Ali je oznaceno zelenom bojom preko mysql i appa.
Nema to veze. Ugasi onda XAMPP i probaj ga ponovno pokrenut i nemoj imat upaljen Skype.
Citat: Joey_ poslato Jul 14, 2014, 20:39:29 POSLE PODNE
Nema to veze. Ugasi onda XAMPP i probaj ga ponovno pokrenut i nemoj imat upaljen Skype.
Evo opet sam probao,i opet nema rezultata,a jutros radilo.
Nego sam ja dodao spol,i od tada nema sanse da se poveze.
A nije mi jasno zasto ???
Citat: Dobrica poslato Jul 14, 2014, 20:42:12 POSLE PODNE
Citat: Joey_ poslato Jul 14, 2014, 20:39:29 POSLE PODNE
Nema to veze. Ugasi onda XAMPP i probaj ga ponovno pokrenut i nemoj imat upaljen Skype.
Evo opet sam probao,i opet nema rezultata,a jutros radilo.
Nego sam ja dodao spol,i od tada nema sanse da se poveze.
A nije mi jasno zasto ???
Kakve veze ima spol sa ovim sto joey kaze problem je do Xamp-a
Citat: [SF]C++ poslato Jul 14, 2014, 20:42:45 POSLE PODNE
Citat: Dobrica poslato Jul 14, 2014, 20:42:12 POSLE PODNE
Citat: Joey_ poslato Jul 14, 2014, 20:39:29 POSLE PODNE
Nema to veze. Ugasi onda XAMPP i probaj ga ponovno pokrenut i nemoj imat upaljen Skype.
Evo opet sam probao,i opet nema rezultata,a jutros radilo.
Nego sam ja dodao spol,i od tada nema sanse da se poveze.
A nije mi jasno zasto ???
Kakve veze ima spol sa ovim sto joey kaze problem je do Xamp-a
Idem da ga reinstaliram pa cu vam javiti.
Opet isti problem,a samo ne znam sto.
Reinstalirao sam napravio novu tablicu,kreirao bazu i opet isto.
Do tebe je nesto kazem ti kod mene je sve ok.
Citat: [SF]C++ poslato Jul 14, 2014, 21:16:48 POSLE PODNE
Do tebe je nesto kazem ti kod mene je sve ok.
Ok nista ovde lock,vidim da nema pomoci.