ich meine es ist geil hab es schon auf meine m server
10/10
Danke für die Bewertung.^^
ich meine es ist geil hab es schon auf meine m server
10/10
Danke für die Bewertung.^^
Hm okay, aber schlimm wenn er es mit "-1" Speichert?
stock Spielerladen(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
GetPlayerName(playerid, AccountInfo[playerid][pAccName], MAX_PLAYER_NAME);
format(AccountInfo[playerid][pAccSicherheitsfrage],64,mysql_GetString("spieleraccounts","Sicherheitsfrage","Name",AccountInfo[playerid][pAccName]));
format(AccountInfo[playerid][pAccSicherheitsantwort],32,mysql_GetString("spieleraccounts","Sicherheitsantwort","Name",AccountInfo[playerid][pAccName]));
AccountInfo[playerid][pAccLevel] = mysql_GetInt("spieleraccounts","Level","Name",AccountInfo[playerid][pAccName]);
AccountInfo[playerid][pAccSkin] = mysql_GetInt("spieleraccounts","SkinID","Name",AccountInfo[playerid][pAccName]);
AccountInfo[playerid][pAccGeld] = mysql_GetInt("spieleraccounts","Geld","Name",AccountInfo[playerid][pAccName]);
AccountInfo[playerid][pAccToetungen] = mysql_GetInt("spieleraccounts","Toetungen","Name",AccountInfo[playerid][pAccName]);
AccountInfo[playerid][pAccTode] = mysql_GetInt("spieleraccounts","Tode","Name",AccountInfo[playerid][pAccName]);
AccountInfo[playerid][pAccSicherheit] = mysql_GetInt("spieleraccounts","Sicherheit","Name",AccountInfo[playerid][pAccName]);
}
printf("Name: %s, Level: %i, Geld: %i Skin: %i",AccountInfo[playerid][pAccName],AccountInfo[playerid][pAccLevel],AccountInfo[playerid][pAccGeld],AccountInfo[playerid][pAccSkin]);
return 1;
}
stock SpielerSpeichern(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)){
if(GetPVarInt(playerid,"Eingeloggt") == 1){
mysql_SetString("spieleraccounts","Sicherheitsfrage",AccountInfo[playerid][pAccSicherheitsfrage],"Name",AccountInfo[playerid][pAccName]);
mysql_SetString("spieleraccounts","Sicherheitsantwort",AccountInfo[playerid][pAccSicherheitsantwort],"Name",AccountInfo[playerid][pAccName]);
mysql_SetInt("spieleraccounts","Level",AccountInfo[playerid][pAccLevel],"Name",AccountInfo[playerid][pAccName]);
mysql_SetInt("spieleraccounts","Geld",AccountInfo[playerid][pAccGeld],"Name",AccountInfo[playerid][pAccName]);
mysql_SetInt("spieleraccounts","Toetungen",AccountInfo[playerid][pAccToetungen],"Name",AccountInfo[playerid][pAccName]);
mysql_SetInt("spieleraccounts","Tode",AccountInfo[playerid][pAccTode],"Name",AccountInfo[playerid][pAccName]);
mysql_SetInt("spieleraccounts","Sicherheit",AccountInfo[playerid][pAccSicherheit],"Name",AccountInfo[playerid][pAccName]);
}
}
printf("Name: %s, Level: %i, Geld: %i Skin: %i",AccountInfo[playerid][pAccName],AccountInfo[playerid][pAccLevel],AccountInfo[playerid][pAccGeld],AccountInfo[playerid][pAccSkin]);
return 1;
}
[15:24:26] Name: BlaxesAQ, Level: 33, Geld: 2352 Skin: 32 - RAUFGEJOINT
[15:25:01] Name: BlaxesAQ, Level: 11111, Geld: 2352 Skin: 143 - RUNTERGEGANGEN
Nur das Level hat er mir gegeben, also die 111111. Und wo ich auf den Server gegangen bin, habe ich nichts erhalten, außer mein Skin.
Hier mal die beiden Stocks.
Hey Breadfish,
irgendwie versteht sich mein Script garnicht mehr mit MySQL oder weiß ich was. Jedenfalls möchte er nicht Laden, bzw. richtig abspeichern.
Ich weiß nicht was das Problem vom Laden ist, obwohl ich keine Fehler dabei auffinden kann, sowie beim Speichern.
Ich poste Euch mal die Codes:
public LoginTimer(playerid,classid)
{
SetSpawnInfo(playerid,0,AccountInfo[playerid][pAccSkin],1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
TogglePlayerSpectating(playerid, 0);SpawnPlayer(playerid);Spielerladen(playerid);
return 1;
}
Das ist, wenn sich der Spieler einloggt. Spieler wird aber nicht geladen.
Und beim abspeichern, werden in fast alle Spalten eine "-1" Eingetragen.
Ist es normal?
Hoffe mir kann wer helfen. Danke im vorraus.
Ist ganz einfach.
Wenn du willst, kannst mich bei Skype adden oder so, dann kann ich dir helfen.
EDIT: Du erstellst einen Timer, der jede min den public dann aufruft.
Du musst bei deinem public in die Klammern noch (playerid) reinschreiben und bei deinem forward.
Hey Breadfish User,
habe ein sehr komisches Problem. Ich habe ein Sicherheitsfragen-/antwortsystem gemacht, jedoch möchte ich es so machen, wenn der Spieler raufconnected und seine Sicherheit auf '0' ist, dann wird ein Dialog Angezeigt. Jedoch realisiert er es einfach nicht. Hab schon bei meinem Account Sicherheit auf 1 gemacht, doch ledier kommt immer dieser Dialog. Habe es auch gespeichert/geladen etc.. Alles versucht.
Hier mal mein Code:
if(AccountInfo[playerid][pAccSicherheit] == 0){
ShowPlayerDialog(playerid,DIALOG_SICHERHEITSFRAGEN,DIALOG_STYLE_LIST,"[LVTR] Registration","Wie heißt dein lieblings Haustier?\nWie hieß dein erstes Haustier?\nWie heißt dein Lieblingsfilm?\nWie lautet der Name deiner allerersten Schule?\nIn welcher Stadt wurdest du geboren?\nWie hieß dein erster Freund oder deine erste Freundin?","Weiter","");
SendClientMessage(playerid,ROT,"[STAAT]: Du bist mit der Registrierung noch nicht fertig!");
}else{
new string[512],ip[16],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));GetPlayerIp(playerid,ip,16);
format(string,sizeof(string),"IP-Adresse: {7FB000}%s\n\n{FFFFFF}Wilkommen Mitspieler, {8CAD00}%s{FFFFFF}!\nDein Account wurde in der Datenbank gefunden.\n\nBitte logge dich mit deinem Passwort hier ein:",ip,name);
ShowPlayerDialog(playerid,DIALOG_EINLOGGEN,DIALOG_STYLE_PASSWORD,"[LVTR] Login",string,"Spielen","Abbrechen");
}
Hoffe mir kann wer helfen.
P.s Mein Internet Penis ist eh der größte
Sicher? haha
Ach Kaliber, du hast doch langeweile PUR!
Gutes Speicherungssystem, jedoch bleibe ich beim MySQL.
Trotzdem, 10/10 wie jedes Werk von dir
@selEcT
Aber gerundet sind es 2 Jahre. Die paar Monate machen auch nichts aus.
@Robbe
Robbe lass doch das kleine Kind meinen, was es will. Er hat sowieso kein Plan von Grafikkarten, jedenfalls ist nVidia letzter rotz.
Und nein, bei ihm kam anscheinend erst letztes Jahr BF3 raus.
Ah, okay danke. Noch was dazu gelernt.
Danke an alle die mir geholfen haben.
PAWN Quelltext
new query[64];
mysql_real_escape_string(AccountInfo[playerid][pAccSicherheitsfrage], AccountInfo[playerid][pAccSicherheitsfrage]);
format(query, 64, "UPDATE `spieleraccounts` SET `Sicherheitsfrage` = 'Wie heißt du?' WHERE `Name` = '%s'",AccountInfo[playerid][pAccName]);
mysql_query(query);
Sinn? Bekomme immernoch den selben Errorcode
Was zum Teufel ist das?!
format(query, 64, "UPDATE `spieleraccounts` SET `Sicherheitsfrage` = 'Wie heißt du?' WHERE `spieleraccounts` = '%s'"
Du Updatest spieleraccounts und deine Where anweisung ist auch spieleraccounts?
Ich denke mal das du da Name hinschreiben solltest, da es das Feld Spieleraccounts wohl nicht geben wird
Okay.
So habe es mal geändert, Beavis. Jedoch kommt leider immer noch der Error.
CMySQLHandler::Query(UPDATE `spieleraccounts` SET `Sicherheitsfrage` = 'Wie heißt du) - An error has occured. (Error ID: 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 ''Wie heißt du' at line 1)
[15:31:18] CMySQLHandler::Query(UPDATE `spieleraccounts` SET `Sicherheitsfrage` = 'Wie heißt du) - An error has occured. (Error ID: 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 ''Wie heißt du' at line 1)
Das ist der Error, den soll man wie verstehen?
Der Query hat mehr, als 64 Zeichen, somit ein un vollständiger Query.
Habe den mal auf 64 runtergesetzt, trotzdem funktioniert es nicht.
Hey Breadfish,
ich kann es mir nicht erklären, wieso mein String nicht in die Tabelle möchte, aber vielleicht könnt ihr es mir sagen.
Vielleicht etwas falsches am Code?
~ Code:
new query[64];
mysql_real_escape_string(AccountInfo[playerid][pAccSicherheitsfrage], AccountInfo[playerid][pAccSicherheitsfrage]);
format(query, 64, "UPDATE `spieleraccounts` SET `Sicherheitsfrage` = 'Wie heißt du?' WHERE `spieleraccounts` = '%s'",AccountInfo[playerid][pAccName]);
mysql_query(query);
Hoffe mir kann wer helfen.
Gute umsetzung, jedoch zu eintönig.
Fehlercode bekomme ich keinen..