Beiträge von Jeffry

    SetPlayerSkin(playerid,dini_Get(Accounts,"Skin"));
    zu:
    SetPlayerSkin(playerid,strval(dini_Get(Accounts,"Skin")));



    oder:
    SetPlayerSkin(playerid,dini_Int(Accounts,"Skin"));


    Wie du willst.

    Nein, das wird nicht gehen.


    Das Problem liegt daran, dass du die Fraktion des Spielers abfragst, wenn er gerade connected hat. Da hast du der Variable PlayerInfo[playerid][pLeader] noch keinen Wert zugewiesen, somit ist sie 0.


    Du musst also entweder den Spieler VOR der Nachricht einloggen, oder sie Fraktion direkt bei OnPlayerConnect vor der Nachricht aus der Datei bzw der Datenbank auslesen.

    Zitat

    [22:32:31] Verstecke Marker bei ID 1 von ID 0
    [22:32:31] Verstecke Marker bei ID 0 von ID 1


    Laut Debug stimmt alles. Hast du den Code geändert? Ich habe es selbst getestet, da ging es, der Debug zeigt auch das Richtige an.

    Ändere das
    sizeof(text)


    Zu
    256


    128 dürfte wohl auch reichen, mehr kannst du nicht eingeben. Je nach dem ob du noch etwas dazu setzen willst.

    Der User muss weiterhin root sein, nicht samp.


    Wir beheben jetzt erstmal das Problem mit MySQL. Wenn das gescheit läuft gehen wir an die Textdraws ran, aber vielleicht klärt sich das von selbst wenn MySQL läuft.

    Der Typ ist der hammer, jede Meldung die ich abgebe, übernimmt er zu 99%.
    Sobald man ihn anschreibt und ein Anliegen hat, kümmert er sich drum. - Dem wünsche ich den Kon Administrator Rank.


    Kann ich nur zustimmen.


    Ich muss hiermit endlich auch mal seegras: und Trooper[Y]: loben, welche beide sehr schnell und immer in korrektem Maße Meldungen bearbeiten.
    Außerdem hatte ich mit beiden schon Kontakt via PN, beide waren sehr zuvorkommend und nett. Solche Moderatoren braucht ein Forum. Macht weiter so! :good:

    Es kommt immer 2 Fehler: [19:48:30] [ERROR] CMySQLConnection::Connect - (error #1045) Access denied for user 'root' localhost (using password: YES)
    [19:48:30] [ERROR] CMySQLConnection::Connect - (error #1045) Access denied for user 'root' localhost (using password: YES)


    Nimm kein Passwort. root hat standardmäßig kein Passwort. Wenn du da nichts geändert hast, ist das auch noch so.


    Wenn es dann noch nicht klappt, aber die Fehler im Log weg sind, beschreibe dein Problem bitte nochmals genauer (was meinst du mit "der Dialog der nicht auftauchen sollte"?)

    Oje, ich glaube so wird das nichts, mit dem Code fange ich gar nichts an, das sind viel zu viele Bruchstücke.
    Gehen wir anders an die Sache ran, wird eben etwas länger dauern, aber Schritt für Schritt ist hier wohl besser.


    Poste bitte den Code, mit dem du die Textdraws erstellst, die nicht angezeigt werden.
    Poste dazu den Code, mit dem du dem Spieler genau diese Textdraws anzeigen lässt.


    (Falls es mehrere Textdraws sind, reicht es wenn du ein paar nimmst, nicht dass du jetzt 100 Textdraws hier postest.)


    Dann debuggen wir zuerst den Teil.

    Also wird jetzt von mir verlangt, das ich meine Tür zumache und ich den Ton aufnehme, in MP3-Datei und ihn dann auf den Webspace hochlade ?
    Oder ich mein Auto beim anschmeißen aufnehmen solle, so wie bei der Tür und dann hochladen ? Das klingt zwar ein bisschen albern, gibt es nicht so einen Sound, der schon vorhanden ist, den ich anwenden kann ?


    Yup. :thumbup:



    Ein paar Wände reingemappt, ich wollte das die die selbe Textur annehmen, wie die normale Wand, jedoch war das


    Versuche mal einen anderen material-Index:
    SetDynamicObjectMaterial(materialobjects[21],1,14847,"CJ_LIGHTWOOD","mp_cop_wallpink",0); //zweiter Parameter = material-Index
    Ich habe es zu 1 gesetzt, vorher war es 0. Probierst halt mal.

    Syno: Sekündlich, aber das ist, wie BlackAce sagt, irrelevant.


    @BlackAce: Ich habe mir bezüglich des genauen Grundes auch schon einige Gedanken gemacht, allerdings keine Lösung gefunden habe. Es geht mir auch nicht um die Lösung, weil das Problem ja nur bei hoher Schreib- und Leserate am Server selbst auftritt, sondern um die ursprüngliche Aussage, dass MySQL Lags verursachen kann. Das ist wohl hiermit geklärt: Ja, es kann.


    Dass du mit dem format eine höhere Latenz hast ist ja klar, aber dass die so hoch ist scheint mir merkwürdig. Ich selbst hatte mit format noch nie sonderlich Probleme. Klar, wenn man es auf 1Mio Aufrufe jagt, dann spürt man die Differenz, aber sonst merkt man da keinen Unterschied, zumindest nicht so enorm wie bei dir.



    Wie dem auch sei, ich denke wir sind doch etwas vom Thema abgeschweift. Manyula dürfte jetzt mehr Informationen haben als ihm lieb ist. :fun:

    stimmt zwar aber wer lässt bitte alle Max_Player timer gleichzeitig laufen, der hat ja auch den sinn der Timer nicht verstanden. Wenn man dass macht gebe ich dir recht dann ist ein einzelener Timer besser.
    Doch wenn man die Playerspezifischen Timer erst beim connecten des Spielers startet und beim disconnecten wieder killt so ist automatisch eine Zeitdifferenz zwichen den einzelnen Timern... esseiden ich hätte einen 10sek timer und die Spieler würden alle auf die ms genau nach 10 sekunden joinen...


    Es ging um sich wiederholende Timer, wie zum Beispiel ein Tacho, der jede Sekunde aktualisiert wird. Wenn du 500 Spieler im Server hast, hast du entweder einen Timer der 500 Schleifendurchläufe hat, oder 500 Timer mit einem Durchlauf.
    Aber klar, ich denke wir wollen beide aufs gleiche hinaus: Es kommt auf die Situation an. Je nach dem ist das eine oder das andere besser. :thumbup:


    @BlackAce: Meinst du wirklich ich hätte es nicht ohne das format getestet? ._.
    Und wie ich schon sagte:

    Generell tritt dieses Problem auf, wenn auf dem Server auf dem die Datenbank liegt eine hohe Lese-/Schreibrate im Gange ist. Dies hat aber weder Files noch sonstige Funktionen beeinflusst, nur MySQL.


    Die files habe ich ebenfalls über einem formatierten String geöffnet. Somit ist format ausgeschlossen.

    Jeffry: welches Mysql Plugin + VErsion verwendest du? sieht mir nach einem Plugin ohne Multithread aus.


    Das wurde mit dem R5 (was sehr viele hier noch nutzen) sowie dem neusten von StrickenKid getestet.


    Gerne - das Problem leigt hier an Format.


    Dein Ernst? :huh:
    Wie erklärst du dir dann, dass der gleiche Code in 1ms sowie in 1238ms ausgeführt wird?
    Wo ist denn dein Test? Den würde ich gerne sehen...


    Also bitte, wenn das am Format liegt, dann müsste doch jeder Server sofort abschmieren. :thumbup::thumbup:

    Wie gesagt den Test will ich immernoch sehen


    Spoiler anzeigen
    forward Repeater();
    public Repeater()
    {
    new a = GetTickCount();
    new query[128];
    format(query, 128, "UPDATE test SET coll = %d WHERE ID = 0", a);
    mysql_query(query);
    printf("MySQL: %d", GetTickCount()-a);
    return 1;
    }


    Jetzt darfst du ran mit deiner Logik.



    Manyula: Was [DT]Sniper: sagt stimmt auch, eben bezogen auf die größeren Berechnungen. Kleine Berechnungen = 1 Timer besser, größere Berechnungen (nach dem was ich vorhin beschrieben habe, MySQL, Files, etc) mehrere verteile Timer. Wie gesagt, es kommt darauf an was du machen willst.