Beiträge von Jeffry

    if(dini_Float(file,string) > 0.00)
    Diese Abfragen kannst du dir sparen, da du dadurch den Wert im schlechtesten Fall doppelt ausliest, für alle 400 Werte, sprich 800 mal.


    Ohne Dini zu verlassen, bekommst du das aber ansonsten nicht performanter hin.
    Du müsstest entweder auf ein System wie MySQL umsteigen, oder das Schreiben und Lesen in/aus der Datei eigens durchführen, dann hast du anstatt der 400 Dateiaufrufe nur noch einen.

    Nimm den root Benutzer ohne Passwort:
    #define SQL_HOST "localhost" //bzw. 127.0.0.1
    #define SQL_USER "root"
    #define SQL_DATA "samp" //samp = Datenbankname, eventuell anpassen
    #define SQL_PASS ""


    Das ist in 99% aller Fälle standardmäßig so eingestellt.
    Dein user "selfmade" wird nicht die richtigen Berechtigungen haben, das ist auf localhost (dein Rechner/Server) so eingestellt, standardmäßig zumindest.
    Deshalb benutze, wie ich oben geschrieben habe, den root-User ohne Passwort, der hat ALLE Berechtigungen. Dem kannst du später auch, je nach Client, ein Passwort geben.

    Habt ihr bereits ein ähnliches Phänomen gesehen oder kennt eine Lösung?

    Ich habe das gleiche Phänomen mit der Kühltruhe. Diese steht allerdings ein Zimmer weiter und vom Stromkreis her gesehen ziemlich weit weg, da es die Wand am anderen Ende ist und natürlich nicht an der gleichen Steckdose. Trotzdem geht das Bild (manchmal) kurz weg, wenn die los legt.


    Vor einigen Jahren hatte ich ein ähnliches Phänomen mit einer TV Box für PC Monitor und einem Röhren-TV.
    Wenn man die Röhre im Wohnzimmer an gemacht hat, hat meine TV Box ein gewisses "Flimmern" ins Bild am damaligen Monitor (TFT) gemacht.


    Eine Lösung kenne ich nicht, weil die TV Box und die Röhre dann irgendwann eh geflogen sind und durch neue Technik ersetzt worden sind und mich das mit der Kühltruhe nicht wirklich stört, kommt so einmal in der Woche vor.

    Die Geschwindigkeitsunterschiede zwischen den jeweiligen Command-Prozessoren sind komplett zu vernachlässigen, selbst wenn du alle Befehle mit strcmp schreibst, merkst du nichts.
    Vor- und Nachteile hast du zwischen den einzelnen Command Prozessoren auch so gut wie keine, das meiste ist Ansichtssache.


    Wenn du ocmd nutzt, dann bist du auf der sicheren Seite, da kein Plugin notwendig, somit versionssicher und du hast alle Funktionen, die man bei Befehlen braucht, ohne dir die Möglichkeit zu verbauen, doch mal einen Befehl mit strcmp zu schreiben (warum auch immer).


    ocmd 2.1.1 [ Update 3.11.2013 ]

    Dann würde mir spontan nur einfallen, ein zweites Textdraw drüber zu legen, welches unsichtbar ist (Box-Farbe 0x00000000) und dieses anklickbar zu machen (für die Tests kannst du es ja mit Farbe versehen).
    Dem Pfeil-Textraw nimmst du dann das Anklickbarsein weg. So kannst du dann die Größe unabhängig von der anklickbaren Fläche steuern.

    Übrigens, es wäre besser, das so zu schreiben:
    enum Spieler_Daten
    {
    CharakterFrei[3],
    PasswortVergeben
    }


    Dann kannst du das so abfragen:
    if(Info[playerid][CharakterFrei][0] == 1)
    if(Info[playerid][CharakterFrei][1] == 1)
    if(Info[playerid][CharakterFrei][2] == 1)


    Angenommen du hättest 50 verschiedene Charaktere, dann wäre das nicht so schön, 50 Zeilen voll zu schreiben.
    Außerdem kannst du das auch in Schleifen nutzen:
    for(new i = 0; i < 3; i++)
    {
    if(Info[playerid][CharakterFrei][i] == 1)
    {
    printf("Charakter %d ist noch frei und wurde jetzt belegt.", i);
    Info[playerid][CharakterFrei][i] = 0;
    break;
    }
    }


    Und wenn deine Werte nur 0 und 1 sind, dann kannst du auch ein boolean mit true und false nehmen.
    bool:CharakterFrei[3],
    Und dann:
    Info[playerid][CharakterFrei][i] = false; //bzw. true

    Hab alles gemacht was du gesagt hast, Problem besteht weiterhin..

    Hast du eventuell noch eine zweite MySQL Include per #include im Code?


    Sonst weiß ich aktuell nicht mehr, was sonst noch das Problem sein könnte.
    Würde die Möglichkeit bestehen, dass ich mir das mal über TeamViewer bei dir anschauen kann? Melde dich dazu in PN bei mir, dass wir einen Termin ausmachen können.

    Wie kann ich bei einem Textdraw mit ein Pfeil den Anklickbaren bereich bestimmten ohne das der Pfeil kleiner wird.

    Der X Wert ist die Position PLUS die Größe des nach rechts anklickbaren Bereiches. Der Y Wert ist die geschätzte Höhe.


    Angenommen du erstellst dein Textdraw bei X = 120 und Y = 90. Dann machst du den Text "Hallo Welt" da rein. Sagen wir, der Text ist so groß, dass er in etwa über ein Zehntel deines Bildschirmes geht (musst du abschätzen, oder mit einem Lineal abmessen), dann heißt das 640 durch 10, das wäre 64. Somit ist PlayerTextDrawTextSize-X = 120 + 64 = 184.
    Nun misst, bzw. schätzt, du die Höhe des Textdraws, sagen wir mal du bekommst den Text in etwa 20 mal untereinander hin, bis dein Bildschirm von oben nach unten voll damit wäre. Heißt also: 480 durch 20, das gibt 24. Somit wäre PlayerTextDrawTextSize-Y = 24.


    Das sollte eigentlich mit PlayerTextDrawTextSize dann gehen.

    Hallo Zusammen,


    es freut mich immens, so eine positive Rückmeldung zu erhalten.
    Die persönlichen Danksagungen sind mir die größte Ehrung, mehr als dass es irgendein Sonderstatus je tun könnte.


    Vielen Dank!


    In all den Jahren hier (es sind jetzt fast fünf) war es mir nie wichtig, irgendeine Gegenleistung zu erhalten und ich werde eine solche auch nie erwarten. Die Hilfe die ich gebe und die Erfahrungen die ich teile, gebe ich gerne, unter anderem auch deshalb, weil ich weiß, wie ich vor fast zehn Jahren mit Coding begonnen habe.


    Ein besonderer Status am Profil wird mir nie wichtig sein, auch deshalb da ich in meiner SA:MP Zeit vom Spieler bis zum Besitzer schon jeglichen Status inne hatte. Auch hier war mir in jeder Position immer nur eines wichtig: Das bestmöglichste aus der Position an die jeweilige Community weiterzugeben.
    Die Wertschätzung dessen bringt dann nicht der Status, sondern die Anerkennung und das Ansehen innerhalb der Community, durch das eigene Auftreten. Mir ist dieser - nicht sichtbare - Status der einzig wichtige.


    Ihr habt mit diesem Thread, allein mit dem Vorschlag, eine weitaus größerer Wertschätzung und Anerkennung zurückgegeben, als ich je erwartet hätte. Damit sind alle gemeint, die geantwortet, geliked oder sonst irgendwie dazu beigetragen haben. Vielen Dank an alle! :)


    Viele Grüße
    Jeffry

    Das ist merkwürdig.
    Bist du dir sicher, dass du die richtige MySQL Include nutzt?


    Lade dir die gegebenenfalls nochmal runter (https://github.com/pBlueG/SA-MP-MySQL/releases/tag/R41-4) und füge diese erneut in den Ordner /pawno/includes ein.
    Öffne dann (wichtig) die pawno.exe aus dem Ordner /pawno/ heraus und gehe über "Öffnen" auf deinen Gamemode. Kompiliere ihn dann erneut. Klappt es dann?


    Es könnte nämlich sein, dass er sich die Includes aus einem falschen Verzeichnis zieht (dort wo die Verknüpfung hin führt), wenn du die .pwn Dateien direkt öffnest.

    Wenn du das Login Fenster nicht anzeigen lässt, kann es auch nicht angezeigt werden.


    Zuerst mal:
    OnPlayerRegister(playerid);
    Beim DIALOG_REGISTER entfernen und
    mysql_pquery(handle, query);
    zu:
    mysql_pquery(handle, query, "OnPlayerRegister", "d", playerid);
    ändern.


    Und dann das dazu einfügen:
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Coming Soon", "{FFEE00}Falsches Passwort\n\n{FFFFFF}Willkommen auf "SERVER_NAME"\n\nDein Account wurde in der Datenbank gefunden.\nGib dein Passwort niemals weiter. Auch nicht an Admins oder Supporter!\nDu kannst dich nun einloggen. Bitte gib dein Passwort ein:","OK"," ");