Hello mindenki.A modomat szeretném átírni dfileosról, MySQL re, mert hostoljuk a szervert és akkor már akarok csinálni pár cuccot php val is(Online Banlist stb).A modomba akarok csinálni egy admin rendszert is, viszont a regisztrációs részét nem tudom megcsinálni mysql el.dfile, dini, meg ezekkel menne, viszont ez a mysql még nem megy nekem.
Pár útmutatóval össze építettem egyet, de nem megy ahogy kéne.Láttam hogy itt fórumon is van pár cucc(kurta regisztrációs rendszere), viszont nem nagyon értem.Ezért samp wiki és más útmutató segítségével összeépítettem ezt, de mint mondtam nem megy.Nem tudom hol rontottam el ezért a ti segítségeteket kérném.
Az alap dolgokat (sql_host, user, db, pass, new fch stb) nem írom most ide le, mert azt mindenki tudja.
<b>OnGameModeInit</b>
FCH = mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
if(mysql_ping() == 1)
{
print(\"[MySQL]:Csatlakozás sikeres: \"SQL_DB\"\");
} else {
print(\"[MySQL]:Csatlakozás sikertelen: \"SQL_DB\"\");
}
<b>OnPlayerConnect</b> //Ha a játékos csatlakozik
format(query, sizeof(query), \"SELECT `Jatekos` FROM `jatekosok` WHERE `Jatekos` = \'%s\'\", PName(playerid));
mysql_function_query(FCH, query, true, \"LoadData\", \"d\",playerid);
<b>Script alján</b>
forward LoadData(playerid);
public LoadData(playerid)
{
new rows, fields;
cache_get_data(rows, fields);
if(!rows)
{
format(rstr,sizeof(rstr),\"\"ZOLD_K\"Köszöntelek, %s! \\nEz a felhasználó már regisztrálva van.\\nKérlek írd be a jelszót, hogy lépj be!\",PName(playerid));
ShowPlayerDialog(playerid,REG_D,DIALOG_STYLE_INPUT,\"Belépés\",rstr,\"Belépés\",\"\");
}
else
{
format(rstr,sizeof(rstr),\"\"ZOLD_K\"Köszöntelek, %s! \\nEz a felhasználó még nincs regisztrálva. \\nKérlek regisztrálj!\",PName(playerid));
ShowPlayerDialog(playerid,REG_D+1,DIALOG_STYLE_INPUT,\"Regisztráció\",rstr,\"Regisztráció\",\"\");
}
}
forward RegPlayer(playerid);
public RegPlayer(playerid)
{
SendClientMessage(playerid,ZOLD,\"Sikeresen regisztráltál a szerverre!\");
}
forward LoadInfos(playerid);
public LoadInfos(playerid)
{
new temp[30];
cache_get_field_content(0, \"KsEKredit\", temp);
PlayerInfo[playerid][ksekredit] = strval(temp);
cache_get_field_content(0, \"PSong\", PlayerInfo[playerid][psong]);
cache_get_field_content(0, \"KsERank\", temp);
PlayerInfo[playerid][kserank] = strval(temp);
cache_get_field_content(0, \"FightStyle\", temp);
PlayerInfo[playerid][fightstyle] = strval(temp);
cache_get_field_content(0, \"Hour\", temp);
PlayerInfo[playerid][hour] = strval(temp);
cache_get_field_content(0, \"Minute\", temp);
PlayerInfo[playerid][minute] = strval(temp);
format(rstr, sizeof(rstr), \"Kredit: %d || Zenéd: %s || KsERank: %d || FightStyle: %d || Hour: %d || Minute: %d\", PlayerInfo[playerid][ksekredit], PlayerInfo[playerid][psong], PlayerInfo[playerid][kserank], PlayerInfo[playerid][fightstyle], PlayerInfo[playerid][hour], PlayerInfo[playerid][minute]);
SendClientMessage(playerid,ZOLD,rstr);
}
<b>A két dialog</b>
if(dialogid == REG_D) {
if(!response) {
format(rstr,sizeof(rstr),\"\"ZOLD_K\"Köszöntelek, %s! \\nEz a felhasználó már regisztrálva van.\\nKérlek írd be a jelszót, hogy lépj be!\",PName(playerid));
ShowPlayerDialog(playerid,REG_D,DIALOG_STYLE_INPUT,\"Belépés\",rstr,\"Belépés\",\"\");
} else {
if((strlen(inputtext) < 1)) {
format(rstr,sizeof(rstr),\"\"VOROS_K\"HIBA: A jelszó minimum 1 karakterböl kell hogy álljon!\"ZOLD_K\"Köszöntelek, %s! \\nEz a felhasználó már regisztrálva van.\\nKérlek írd be a jelszót, hogy lépj be!\",PName(playerid));
ShowPlayerDialog(playerid,REG_D,DIALOG_STYLE_INPUT,\"Belépés\",rstr,\"Belépés\",\"\");
} else {
format(query,sizeof(query),\"SELECT * FROM `jatekosok` WHERE `Jatekos` = \'%s\' AND `Password` = \'%s\'\",PName(playerid),inputtext);
mysql_function_query(FCH, query, true, \"LoadInfos\", \"d\", playerid);
}
}
return 1;
}
if(dialogid == REG_D+1) {
if(!response) {
format(rstr,sizeof(rstr),\"\"ZOLD_K\"Köszöntelek, %s! \\nEz a felhasználó még nincs regisztrálva. \\nKérlek regisztrálj!\",PName(playerid));
ShowPlayerDialog(playerid,REG_D+1,DIALOG_STYLE_INPUT,\"Regisztráció\",rstr,\"Regisztráció\",\"\");
} else {
if((strlen(inputtext) < 1)) return format(rstr,sizeof(rstr),\"\"VOROS_K\"HIBA: A jelszó minimum 1 karakterböl kell hogy álljon!\"ZOLD_K\"Köszöntelek, %s! \\nEz a felhasználó már regisztrálva van.\\nKérlek írd be a jelszót, hogy lépj be!\",PName(playerid)), ShowPlayerDialog(playerid,REG_D,DIALOG_STYLE_INPUT,\"Belépés\",rstr,\"Belépés\",\"\");
if((strlen(inputtext) > 20)) return format(rstr,sizeof(rstr),\"\"VOROS_K\"HIBA: A jelszó maximum 20 karakterböl állhat!\"ZOLD_K\"Köszöntelek, %s! \\nEz a felhasználó már regisztrálva van.\\nKérlek írd be a jelszót, hogy lépj be!\",PName(playerid)), ShowPlayerDialog(playerid,REG_D,DIALOG_STYLE_INPUT,\"Belépés\",rstr,\"Belépés\",\"\");
new q2[256];
q2 = \"INSERT INTO `jatekosok` (`Jatekos`, `Password`, `KsEKredit`, `PSong`, `KsERank`, `FightStyle`, `Hour`, `Minute`, `Level`, `Money`, `Kills`, `Warn`, `Deaths`) VALUES (\'%s\', \'%d\', \'%s\', \'%s\', \'%s\', \'%d\', \'%d\', \'%d\', \'%d\', \'%d\')\";
format(query, sizeof(query),q2,PName(playerid), PlayerInfo[playerid][password], PlayerInfo[playerid][ksekredit], PlayerInfo[playerid][psong], PlayerInfo[playerid][kserank], PlayerInfo[playerid][fightstyle], PlayerInfo[playerid][hour], PlayerInfo[playerid][minute],PlayerInfo[playerid][adminlevel], PlayerInfo[playerid][money], PlayerInfo[playerid][kills],PlayerInfo[playerid][warn], PlayerInfo[playerid][deaths]);
mysql_function_query(FCH, query, false, \"RegPlayer\", \"d\", playerid);
}
return 1;
}
A sorrendeket ne figyeljétek.
Ha belépek a szerverre, írja, hogy csatlakozás sikeres.Az adatbázis teljesen üres.
<b> A script még nincs befejezve (Nincs benne infók lementése kilépés esetén úgyhogy tesztként manuálisan írtam az adatbázisban</b>
A panaszom az lenne, hogy ha belépek az a dialog jön be, hogy már regisztrálva vagyok, viszont még a nevemen nincs semmi infó az adatbázisba.
Köszönöm válaszotokat.