Ich möchte mit dir herausfinden, wo der Fehler mit der ID liegt, der im Grunde genommen dein Hauptproblem verursacht hat.
Das aktuelle Problem ist nämlich das Folgende: die User ID wird anscheinend nicht korrekt übergeben, sodass der Query auch nicht (korrekt) ausgeführt werden kann, da falscher User.
Deshalb möchte ich nun wissen, wie du die Variable mit der User ID zuweist um zu gucken, wo der Fehler liegt. Daher das systematische Aufrollen.
Beiträge von shoxinat0r
-
-
achso AUTO_INCREMENT
Dann zeig mir doch bitte mal den betreffenden Code-Abschnitt.
-
Nein - du musst schließlich irgendwo und irgendwann mal festgelegt haben, wie die ID zu stande kommt. Ist das z. B. ein AUTO_INCREMENT Wert aus der User-Tabelle, der automatisch angelegt wird? Oder machst du das manuell?
-
Ich rede von dieser Variable:
sInfo[playerid][id]
Was trägst du da ein bzw. wo wird die deklariert? -
Code
Alles anzeigenLoginMenu[16] = TextDrawCreate(224.800033, 413.125000, "Registriere_dich_noch_heute_!"); TextDrawLetterSize(LoginMenu[16], 0.400000, 1.600000); TextDrawTextSize(LoginMenu[16], 434.000000, 0.000000); TextDrawAlignment(LoginMenu[16], 1); TextDrawColor(LoginMenu[16], 0xffffffff); TextDrawSetShadow(LoginMenu[16], 0); TextDrawSetOutline(LoginMenu[16], 1); TextDrawBackgroundColor(LoginMenu[16], 255); TextDrawFont(LoginMenu[16], 3); TextDrawSetProportional(LoginMenu[16], 1); TextDrawSetSelectable(LoginMenu[16], 1); LoginMenu[18] = TextDrawCreate(52.799976, 411.812500, "einloggen"); TextDrawLetterSize(LoginMenu[18], 0.400000, 1.600000); TextDrawTextSize(LoginMenu[18], 119.000000, 0.000000); TextDrawAlignment(LoginMenu[18], 1); TextDrawColor(LoginMenu[18], 0xffffffff); TextDrawSetShadow(LoginMenu[18], 0); TextDrawSetOutline(LoginMenu[18], 1); TextDrawBackgroundColor(LoginMenu[18], 255); TextDrawFont(LoginMenu[18], 3); TextDrawSetProportional(LoginMenu[18], 1); TextDrawSetSelectable(LoginMenu[18], 1); LoginMenu[23] = TextDrawCreate(629.600219, 1.000000, "X"); TextDrawLetterSize(LoginMenu[23], 0.400000, 1.600000); TextDrawTextSize(LoginMenu[23], 637.000000, 0.000000); TextDrawAlignment(LoginMenu[23], 1); TextDrawColor(LoginMenu[23], 0xffffffff); TextDrawSetShadow(LoginMenu[23], 0); TextDrawSetOutline(LoginMenu[23], 1); TextDrawBackgroundColor(LoginMenu[23], 255); TextDrawFont(LoginMenu[23], 1); TextDrawSetProportional(LoginMenu[23], 1); TextDrawSetSelectable(LoginMenu[23], 1);
Was mach ich nur Falsch ??
Wo liegt denn das Problem?
-
Dann haben wir das Problem anscheinend erkannt. Was trägst du also in der o. g. Variable ein?
-
Wird das denn korrekt in der Tabelle gespeichert? Was steht genau in sInfo[playerid][id?
-
hast du skype?
Nein, tut mir Leid.
In Ordnung, das dachte ich mir. Dann müssten wir uns jetzt das Problem mit der ID anschauen und das in den Griff bekommen. Wie speicherst du also die ID? -
Dann liegt es eindeutig an deinem Server.
Vermutlich etwas ungünstig gescriptet? Dass der Server zu viel zu schnell abarbeiten muss? -
Okay. Was sagt die MySQL Log? Wie speicherst du die ID des Spielers, wenn diese offensichtlich falsch ist?
-
Dann haben wir zwei Möglichkeiten:
Du printest den Query, damit wir sehen, ob alles korrekt übergeben wird mit
print(query);
oder du schickst uns mal deine MySQL Log, um zu gucken, ob und wenn ja, was für ein Fehler ausgeworfen wird. -
Ja klar aber wie soll ich denn auslesen, was ich ausgewählt habe?
Ich habe folgendes Beispiel mal aus einem Script kopiert, dass dein Problem erfolgreich gelöst hat.
Hier die relevanten Zeilen:
new strpart[2][MAX_PLAYER_NAME],strpart2[2][MAX_PLAYER_NAME];
new i;
explode(strpart,inputtext," (");
explode(strpart2,strpart[0],"] ");
substr(strpart2[1],0,strlen(strpart2[1])-1);
i=ReturnUser(strpart2[1]);Hilft dir das?
-
Wo liegt denn aktuell dein genaues Problem?
Ein erster Hinweis: du lässt das Datum als String (= Zeichenkette) eingeben, benutzt aber %i im Query. Das müsste %s heißen. -
Tritt das Problem nur auf diesem einen Server auf?
-
Ich benutze den folgenden seit knapp einem Jahr und bin außerordentlich zufrieden. Für knapp 140€ auch preislich ganz in Ordnung.
http://www.amazon.de/Acer-G246…8-2&keywords=Acer+G246HYL -
Die Abfrage ist von der Syntax her korrekt, dort liegt also nicht das Problem. Die Parameter scheinen auch zu passen - da hilft uns wirklich nur noch die MySQL Log.
Bist du denn korrekt mit dem MySQL Server verbunden? -
Das ist korrekt, eine .pwn - Datei. Diese compilierst du mit F5 (wenn du sie geöffnet hast) und lädst dieses Filterscript (sprich die durch das Compilen entstandene .amx - Datei) per Serverconfig oder den RCON-Befehl loadfs.
Falls beim Compilen Fehler auftreten, kannst du dich hier gerne wieder melden - der Rest dürfte ohne Probleme funktionieren. -
kannst du mir Schritt für Schritts schreiben was ich machen kann??
Theoretisch kannst du eigentlich alles direkt rüber kopieren. Deshalb wäre es interessant zu wissen, womit du Probleme hattest/hast.
-
Weis einer woran es liegt, dass ich bei TextDrawSetSelectable(); 2 Textdraws gleichzeitig auswähle, Obwohl ich nur eins auswählen möchte ?
Du könntest uns als Anfang den entsprechenden Code zeigen, bei dem das Problem auftritt.
-
Mir stellt sich einfach die Frage nach dem Nutzen. Macht das die Modifikation wieder besonders, nur weil ein Voice Chat da ist?
Grundsätzlich keine schlechte Idee, aber wie soll dann auf einem Server konkret der Voice Chat verwendet werden? Es gibt meines Erachtens nach keine zuverlässige Möglichkeit, den Voice Chat überwachen zu können - höchstens die Möglichkeit, sich als Teammitglied sporadisch in entsprechende Chats einzuklinken.
Für viele sicherlich prädestiniert, um andere Spieler ohne Ende zu beleidigen und zu diffamieren und das ohne, dass es jemand mitbekommt. Von daher ein Feature, dass man wohl vernachlässigen kann, wenn auch sicherlich für einige recht interessant.