Ja
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Gegebenenfalls ist die Zahl, die bei "new query" in Klammern steht zu klein. Mach die mal um 50 größer.
-
Immernoch das selbe Problem.
new query[342] -
Dann hast du den Code entweder nicht kompiliert, oder du startest den falschen Server. Prüfe mal, ob die amx Datei aktuell ist (Änderungsdatum).
-
Ich habe das jetzt mal so gemacht:
Es sieht so aus:
new query[342],key[50];
if(dialogid == DIALOG_REGISTER)
{
if(!response)
{
SendClientMessage(playerid,Rot,"Error: {FFFFFF}You have canceled the Registration. Please register to play on this Server.");
SetTimerEx("KickTimer",500,false,"i",playerid);
return 1;
}
if(strlen(inputtext) < 4)return SendClientMessage(playerid,Rot,"Error: {FFFFFF}Your Password cant be smaller then 7 or bigger then 50 characters."),ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registration","It was no Account found under this name.\nPlease take a safe Password to register you.","Register","Cancel");
format(key,50,"%s",inputtext);
mysql_escape_string(getPlayerName(playerid),getPlayerName(playerid));
mysql_escape_string(key, key);
format(query, sizeof(query), "INSERT INTO (username, password) VALUES ('%s',MD5('%s'))",getPlayerName(playerid), key);
mysql_pquery(Handle,query);
SendClientMessage(playerid,Gelb,"[SInfo] {FFFFFF}You have created an Account.");
}Ich habe die .amx gelöscht und das Script neu kompiliert. Die .amx is also aktuell und in der server.cfg ist der richtige Name vom Script eingetragen. Die Datenbank liest auch die Accounts aus die ich manuell eintragen konnte und trotzdem dieser Fehler der die Accounts nicht erstellen lässt.
-
Kleenes Problem.. wieder..
Ich wüsste jetzt nicht, was das Problem wäre.. D:
Der Fehler:
C:\Users\Atef Aloui\Desktop\Westside Stories\Serverskript\gamemodes\ws_selfmade.pwn(5187) : error 035: argument type mismatch (argument 3)Die Zeile:
gInfo[i][Owner] = cache_get_field_content(i, "Owner",MySqlConnection);//Owner ist eine Spalte, wo der Name gespeichert bzw. geladen wird. Ich sah, dass "cache_get_field_content_int" dort stand. Aber es ist ja kein Integer sondern ein Name. Also Textausgabe.
-
Owner ist bei dir wahrscheinlich ein Name (Varchar), daher musst du das so auslesen.
cache_get_field_content(i,"Owner",gInfo[i][Owner],MySqlConnection); -
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
Schalte mal die mysql.log an, und zeige uns den Code her.
Ggf. kannst du uns auch den Code schicken, womit du den Clan verlässt.
-
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
-
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
[13:47:46] [WARNING] CMySQLResult::GetRowDataByName - field not found ("id")
Hast du "id" in der Datenbank evtl. groß geschrieben? Also "ID" ?MfG
Madretsma
-
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
Kannst du mal einen Screenshot von deiner Tabelle user machen?
-
nope. alles richtig geschriebenZeige uns doch mal bitte die Struktur deiner Tablle 'user'
Mit freundlichen Grüßen
Madretsma
-
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
SpielerSpeichern(playerid)
{
new query[2048],day,month,year,hour,minute,second,str[20],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof name);
gettime(hour,minute,second);
getdate(year,month,day);
format(str,sizeof(str),"%d.%d.%d, %d:%d:%d",day,month,year,hour,minute,second);
format(Spieler[playerid][LastLogout], sizeof(str), str);format(query,sizeof(query),"UPDATE `user` SET `LastLogin`='%s',`LastLogout`='%s',`IP`='%s',`Score`='%i',`Spielstunden`='%d',`PayDay`='%d',`Adminrank`='%i',`Gang`='%i',`GRang`='%i',`Geld`='%i',`Donator`='%i',`DonatorBis`='%i',`Banned`='%i',`BanReason`='%s',`BanAdmin`='%s',`Registered`='%i',`Kills`='%i',`Tode`='%i',`Mute`='%i',`Inventar`='%i',`Skin`='%i',`EXP`='%i',`SaveSkin1`='%i',`SaveSkin2`='%i',`Kampfstyle`='%i',`Undercover`='%i' WHERE `username`='%s'",
Spieler[playerid][LastLogin],Spieler[playerid][LastLogout],Spieler[playerid][p_IP],Spieler[playerid][Score],Spieler[playerid][pExp], Spieler[playerid][pPayDay],Spieler[playerid][Adminrank],Spieler[playerid][Gang],Spieler[playerid][GRang],Spieler[playerid][Geld],Spieler[playerid][Donator],Spieler[playerid][DonatorBis],Spieler[playerid][Banned],Spieler[playerid][pBanReason],Spieler[playerid][pBanAdmin],Spieler[playerid][Registered],Spieler[playerid][Kills],
Spieler[playerid][Tode],GetPVarInt(playerid,"Mute"),GetPVarInt(playerid,"Inventar"),GetPVarInt(playerid,"Skin"),GetPVarInt(playerid,"EXP"),GetPVarInt(playerid,"SaveSkin1"),GetPVarInt(playerid,"SaveSkin2"),GetPVarInt(playerid,"Kampfstyle"),GetPVarInt(playerid,"Undercover"),name);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}
Funktioniert das so? Ich habe das jetzt mal mit dem Namen gemacht, sprich es wird der Name gesucht und dort abgespeichert. (Nur mal als testzweck!) -
Beitrag von Apokrate ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar. -
Der Fehler hat überhaupt nichts mit dem SpielerSpeichern zu tun, sondern kommt vom Laden der Daten aus der Datenbank.
...und wie oft muss eigentlich noch gesagt werden, dass dieser Thread für kleine Fragen ist und nicht zum debuggen von MySQL Codes?
-