Beiträge von Pille

    als wieder Geld damit zu machen X(


    Die Frage ist, ob es wirklich das Ziel dieser Sendung // Films ist, damit Geld zu verdienen.
    Womöglich will man auf das wirklich strittige Thema aufmerksam machen und Menschen 'wachrütteln'.


    Wobei ich glaube, wegen der Tatsache dass Annete Frier da mitspielt, dass es hier doch nur um Geld geht.

    Suchbegriff? Nach was soll ich suchen, deine Antwort hättest du dir ehrlich gesagt auch sparen können :pinch:


    Deinen ganzen Thread hättest du dir sparen können,
    weil du keine Informationen über dein Script preisgibst.

    Du verwechselst playerid mit pID ^^


    playerid = Der Spieler der den Befehl ausführt
    pID = Der Spieler den der Spieler (playerid) im Chat eingegeben hat.

    Du kannst dir auch mal "Transactions" ansehen:
    http://dev.mysql.com/doc/refman/5.5/en/commit.html


    Ohje, das müsstest du mir jetzt aber schon genauer erklären, mit der SAMP-Wiki komme ich ganz gut zurecht,
    aber diese MySQL-Wikis sind so komplex, sogar im deutschen, dass ich jedesmal beim lesen kläglich scheitere ^^


    Wenn diese durchgeführt wurde ( extra Thread natürlich ) , dann machst du den gmx per rcon. Sollte doch dein letztes Problem lösen.


    Bei Select Now() gibt er die aktuelle Uhrzeit (& Datum) aus.
    Wie soll ich das überprüfen?


    //Edit: Du menist ich sende die Now() Anfrage, nach allen Accountspeicherungen,
    und sobald diese ausgeführt ist, startet der Server?


    Wo wir schonmal dabei sind: Was ist schneller? Gettime bzw. gettdate oder das ganze
    über MySQL: Now(), UNIX_TIMESTAMP() etc.

    schwer ist es nicht, nein, aber das Problem ist folgendes:


    Bei einer Endround sollen zuerst alle Accounts gespeichert werden.
    Erst dann soll die Endround erfolgen (Rcon: "gmx").
    Dadurch, dass mehrere Threads eröffnet werden, kann nicht geprüft werden,
    wann denn alle Accounts gespeichert werden.

    Das wird so nicht funktionieren. Man kann jedoch das Multi-Insert Verfahren anwenden, wenn man einen Primary Key gesetzt hat (hier zB. ID):


    Das klingt nach der Lösung des Problems, funktioniert aber leider bei mir nicht.


    Habe mir folgende Tabelle erstellt:


    Nun habe ich 2 Testreihen erstellt:


    Und hier der Query den ich eingebe:

    SQL
    INSERT INTO TestTabelle (ID,Name,Test,Test2,Test3) VALUES (1,'ABC',88,12,999) ON DUPLICATE KEY UPDATE Name = VALUES (Name), Test = (Test), Test2=(Test2),Test3=(Test3);


    MySQL meldet:

    Code
    /* 0 rows affected, 0 rows found. Duration for 1 query: 0.000 sec. */


    Und die Tabelleninhalte werden nicht geupdated...
    Ist was am Code falsch?

    SQL
    UPDATE `Accounts` SET `PERSONALNUMMER` = '6002', `NAME` = 'Bayern', `VORNAME` = 'Max' [usw...] WHERE `ID` = '13'


    Ich fürchte du hast meine Frage nicht verstanden.


    Dieser MySQL-Query benötigt ziemlich lange, weil er jeden Wert mit dem Feldnamen überprüft werden muss.
    Sind von dieser Abfrage mehrere, mit circa 110 Werten, führt es bei einem gut gefüllten Server zu mehreren Sekunden laggs.
    ich fragte ob es noch Alternativen gibt.


    Server Laggs
    [20:14:00]

    Code
    Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:00] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:00] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:01] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:01] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:01] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:02] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:02] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:02] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:02] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:03] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:03] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:03] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:04] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:04] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:04] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:05] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:05] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:05] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:05] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:06] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:06] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:06] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:06] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:07] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:07] Account ... wurde gespeichert. Dies dauerte 0 Millisekunden.[20:14:07] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.[20:14:08] Account ... wurde gespeichert. Dies dauerte 20 Millisekunden.

    Server Laggs
    Namen wurden rauseditiert.
    Was seltsam ist, dass die Accoutspeicherung entweder 0 oder 20 Millisekunden dauert.
    Und trotz dieser geringen Dauer (28 Accounts gespeichert, 28*20 = 560ms = 0,56 sekunden)
    laggt der Server ganze 8 Sekunden.

    Liebe Community,


    mein Server hat derzeit das MySQL-System, dieses hat 109 Felder pro Spieler.
    Wenn alle Accounts gespeichert werden, beginnt der Server für einige Sekunden sich aufzuhängen.


    Das könnte man mit OnQueryFinish etwas beheben, jedoch finde ich diese Möglichkeit recht kompliziert.


    Zur Frage:
    Ist es möglich, einen Update-Befehl zu schreiben, der die ganze Reihe aktualisiert,
    ohne jeden Wert abzufragen?


    Code
    ID  PERSONALNUMMER  NAME      VORNAME  GEBURTSDATUM  TELEFON         (und noch mehr)13      60001       Aagenau   Karolin  02.01.1950    0234/66006001    usw.18      80002       Aliman    Zafer    12.11.1965    0201/4012161     usw.

    Beispiel
    UPDATE * FROM Accounts (13,60002,'Bayern','Max','05.01.1950','2398/238902389') WHERE ID = 13