Verwende Threaded Queries, damit läuft das Laden der Daten auf einem extra Thread und das allgemeine Spielvergnügen wird nicht unterbrochen. Habe nun jedoch nicht den kompletten Bezug in dem anderen Thread durchforscht, kann sein, dass ich falsch liege.

Frage wegen der MySql Ladefunktion
- Campbell
- Geschlossen
- Erledigt
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
-
-
Okay, danke, meinst du die Thread Queries die du als Tutorial Geschrieben hast, diese hier: http://forum.sa-mp.de/san-andr…nce-verbessern/?highlight und gibt es nur diese möglichkeit oder auch noch andere ?
Es kommt darauf an, was du überhaupt verhindern möchtest. Ich habe einfach mal ins Blaue geraten, da du evt. dies benötigst. Was ist denn der Grund - stockt der Server, da so viele Daten ausgelesen werden oder passiert etwas ganz anderes? Poste doch einmal den entsprechenden Quellcode, der zu der Verzögerung führt - den könnten wir dann genauer betrachten und versuchen zu optimieren. -
Indem du es alle´s in einem Query ausführst. Zumindesten´s das auslesen.
Welches Plugin nutzt du ? Wenn du das von GStyleZ nutzt empfehle ich dir entweder mein RFT MySql solltest du R7 nutzen solltest du Threaded Query´s vorziehen.
Ansonsten wie iBeavis schon sagte alles in einem Query auslesen und VIA SSCanf splitten.
Du musst RFT MySql natürlich nicht nutzen denn ich selber benutze es auch nicht und werde es auch niemals nutzen.
Allerdings habe ich dort gute beispiele drinne um das auslesen in einem Query zu tuhen. -
Warum nimmst du alles mit (*), wenn du eigentlich nur die Zeile suchen möchtest? Versuche folgendes:
PS: Generell sollte man * nie benutzen, da es Zeit kostet, die Spalten auszulesen. Schreibe daher erstmal alle Spalten in den Query, die du wirklich benötigst.
-
Das r2 ist ja wohl veraltet nimm dir das R6 und nutze diese methode zum auslesen:
mysql_query("SELECT * FROM Test");
mysql_store_result();
while(mysql_retrieve_row())
{
new load[32], cc;
mysql_fetch_field_row(Load, "Feld");
// in Load ist nun der Wert von Feld "Feld";
}
mysql_free_result();Oder nimm r7 und mach es mit Threated Query´s dr Link zu einem Tutorial wurde hier ja schon gepostet.
-
Zitat
Wie gesagt ich habe das ganze nach dem Tutorial von Maddin gemacht da ich es von Dini auf MySql Umschreiben wollte.
Und das "*" sucht alle Spalten bei dem jenigen Account durch obwohl er nur das Passwort braucht, und dadurch entsteht diese Verzögerung beim Connecten, habe ich das richtig Verstanden?
Es ist ein Tipp, generell nur das auszulesen, was man auch wirklich benötigt. Ob das nun der Grund für die Verzögerung ist, kann ich dir nicht beantworten. Ich würde wie folgt vorgehen:- SQL-Queries überprüfen - "Lese nur das aus, was du auch benötigst und verwende kein *."
- Verwende Threaded Queries, um Verzögerungen durch SQL-Abfragen zu verhindern.
- Splitte deine Ergebnisse von den SQL-Queries mit sscanf in die einzelnen Bestandteile auf und verwende sich dann regelgerecht.
-
Du musst im define natürlich eine Zahl zuordnen. Und die playerid musst du auch nicht unbedingt als extraid mitsenden, da diese ja nicht benötigt wird.
-
Das wird so nicht funktionieren. Grund: Du führst nun in OnPlayerConnect eine Funktion aus, welche in sich selbst einen Query ausführt. Nun dies wird dir wenig bringen, da der Thread weiterhin auf Antwort der Funktion in OnPlayerConnect wartet. Daher musst du es nun anderst gestalten, sodass du nach Verwendung der Funktion in OnQueryFinish mit dem Code aus OnPlayerConnect weitermachst. Evt. könnte dir auch das helfen, falls du dich entscheidest auf R7 umzusteigen (es beinhaltet sehr viele gute Funktionen): http://forum.sa-mp.com/showthread.php?t=337810
-
breadfish.de
Hat das Thema geschlossen.