heyhooo das war mein Gedanke vor ca. 30min, habe es versucht, jedoch ohne Erfolg.
Beiträge von Shenjushka
-
-
Ja, er erstellt keine mysql.log mehr.
heyhooo das haben wir bereits gemacht, jedoch wird immer noch nichts abgespeichert, nur geladen.
-
laden tut er alles, aber er tut nichts speichern. Ich hab mir nen neuen Account gemacht und habe eingestellt, dass ein neuer spieler sofort 100 leben hat 100 rüstung, 3000money und level 1 hat, logge
ich mich aus hat er nichts und in der datenbank steht alles auf 0 bis auf name und passwort -
@BaRkS hab ich gemacht, jedoch stehen alle Werte bei 0 außer Passwort und Name...
Und es kommt kein Error mehr in der log.
-
@BarkS Ja gerade reingeschaut, bloß das hier sagt nichts:
[ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Gruß
-
Nabend, kaum ist ein Problem gelöst, trettet sofort das nächste auf.
Ich weiß jedoch wirklich nicht, warum kein Account gespeichert wird, bis auf Name & Passwort.
public OnPlayerDisconnect(playerid, reason)
{
GetPlayerPos(playerid,SD[playerid][SpielerLastX],SD[playerid][SpielerLastY],SD[playerid][SpielerLastZ]);
GetPlayerHealth(playerid,SD[playerid][SpielerLeben]);
GetPlayerArmour(playerid,SD[playerid][SpielerRuestung]);
SpielerSpeichern(playerid);
SpielerReset(playerid);
return 1;
}
stock SpielerSpeichern(playerid)
{
if(SD[playerid][SpielerLogged] == 0)return 1;
new query[128];
format(query,sizeof(query),"UPDATE spieleraccounts SET Level = '%i',Geld = '%i',Skin = '%i',Adminlevel = '%i',LastX = '%f',LastY = '%f',LastZ = '%f',LastAngle = '%f',LastLeben = '%f',LastRuestung = '%f',LastInterior = '%i',LastVWorld = '%i' WHERE id = '%i'",
SD[playerid][SpielerLevel],GetPlayerMoney(playerid),GetPlayerSkin(playerid),SD[playerid][SpielerAdmin],SD[playerid][SpielerLastX],SD[playerid][SpielerLastY],SD[playerid][SpielerLastZ],SD[playerid][SpielerAngle],SD[playerid][SpielerLeben],SD[playerid][SpielerRuestung],GetPlayerInterior(playerid),GetPlayerVirtualWorld(playerid),SD[playerid][SpielerID]);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}Was sollte bitte daran falsch sein? Danke im vorraus.
-
Ich werf mich gleich ausm Fenster, immer passiert der selbe Fehler. -.-
Danke dir, heyhooo. -
SD[playerid][SpielerLastX] = cache_get_field_content_float(0,"LastX",dbhandle);
SD[playerid][SpielerLastY] = cache_get_field_content_float(0,"LastY",dbhandle);
SD[playerid][SpielerLastZ] = cache_get_field_content_float(0,"LastZ",dbhandle);
SD[playerid][SpielerAngle] = cache_get_field_content_float(0,"LastAngle",dbhandle);Ebenfalls probiert, selbe Fehler.
-
Nabend, wollte grad die Positionen X,Y,Z und die Angle speichern, jedoch bekomme ich Errors beim Speichern,
obwohl mein Command richtig ist.stock SpielerLaden(playerid)
{
SD[playerid][SpielerLastX] = cache_get_field_content_float(0.0,"LastX",dbhandle);
SD[playerid][SpielerLastY] = cache_get_field_content_float(0.0,"LastY",dbhandle);
SD[playerid][SpielerLastZ] = cache_get_field_content_float(0.0,"LastZ",dbhandle);
SD[playerid][SpielerAngle] = cache_get_field_content_float(0.0,"LastAngle",dbhandle);
return 1;
}Errors:
warning 213: tag mismatch
warning 213: tag mismatch
warning 213: tag mismatch
warning 213: tag mismatchDanke im vorraus.
-
Danke dir, Bomber!
-
-
Wäre eine gute Idee mit den Regeln
Werde ich machen sobald ich zuhause bin. -
Danke, mehr Meinungen bitte und was kann man noch andern bzw. verbessern?
-
-
Kaliber, ich habe es nun so gemacht, nur jetzt wird immer der selbe Account mehrmals gespeichert und wenn er mein Account speichert, ruft er wieder mein Registration auf.
-
Kaliber, in der Zeile 'if(rows)', wo soll ich dort dann die Dialoge hinschreiben? Also wenn ein Account existiert soll sein Loginfenster kommen, wenn er ein Account hat, soll ein Registerfenster kommen
irgendwie blick ich grad nicht durch, was du gepostet hast. -
Mir geht es genauso bei jedem geht es bei mir nicht.Kenn ich, leider bin ich in MySQL eine niete Suche weiterhin hilfe! Thanks.
-
Hab es zu 'num_rows' geändert, jedoch wird immer noch kein Dialog angezeigt.
Bitte um weitere hilfe, danke!
-
Guten Morgen Breadfish,
ich habe seid gestern wieder angefangen zu Scripten und wollte mich bisschen einüben, jedoch habe ich ein Problem mit meinem Loginsystem. Wenn sich ein Spieler Registriert
wird sein Account in der Datenbank gespeichert, aber wenn er sich ausloggt und wieder einloggt, funktioniert es nicht. Da wird kein Dialog mehr angezeigt.Wenn der Spieler raufkommt, soll das ausgeführt werden:
public OnPlayerConnect(playerid)
{
/*######################## LOGIN- REGISTERSYSTEM #########################*/
new name[MAX_PLAYER_NAME],query[128];
GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),"SELECT id FROM spieleraccounts WHERE Name = '%s'",name);
mysql_function_query(dbhandle,query,true,"SpielerVorhanden","i",playerid);
/*########################################################################*/
return 1;
}Es wird zu teils ausgeführt, jedoch wenn er das Spiel startet und er schon ein Account besitzt, kommt kein Dialog.
public SpielerVorhanden(playerid)
{
new num_rows, num_fields,string[256],string2[256],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
cache_get_data(num_rows, num_fields, dbhandle);
if(num_fields==0){
format(string,sizeof(string),"test",name);
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"regist",string,"Anmelden"," ");
}else{
format(string2,sizeof(string2),"test",name);
ShowPlayerDialog(playerid,DIALOG_EINLOGGEN,DIALOG_STYLE_PASSWORD,"login",string,"Spielen"," ");
}
return 1;
}Ich hoffe mir kann jemand weiterhelfen! Grüße ChunkZz1337
-
okay denkfehler, dann lass anstatt der tankeid i eintragen.
wenn nich schreib mir mal ne pn, ich kann gerne mal rüberschauen.Wie meinst du es mit dem 'anstatt der tankeid i eintragen' ?