Beiträge von Jeffry

    Die TextDraws zum Beispiel als PlayerTextDraws erstellen, also nicht für jedes Auto eins, sondern für jeden Spieler eins, das bei OnPlayerDisconnect wieder entfernt wird.
    Mit Zeilenumbrüchen arbeiten, anstatt zehn TextDraws untereinander zu setzen

    if(Fahrzeug[jv][Job] == Spieler[playerid][pJob]))


    zu:
    if(Fahrzeug[jv][Job] == Spieler[playerid][pJob])


    Da war eine Klammer zu viel.
    Nächstes mal bitte gleich alle Infos auf einmal posten, dann geht's schneller.

    Das liegt daran, dass \n nur einen Character darstellt. Du wirst es also in deinem Editor nie wirklich korrekt sehen können. Um es trotzdem editieren zu können, nutze diesen Trick:
    In deiner Datenbank sieht das ganze so aus:

    Zitat

    Dieser Zeilenumbruch~wird nun beachtet.


    Code:
    for(new i=0; i<strlen(string); i++) if(string[i] == '~') string[i] = '\n';
    ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"Info",string,"Schließen","");


    string = der Wert aus der Datenbankspalte in der der Text steht.

    Nein, weil das nicht der ganze Code ist der debuggt werden musst, sondern nur ein Teil. In dem Fall macht das wenig Sinn.
    Ich werde mir den Code später anschauen, da ich noch an was anderem arbeite. Ich melde mich dann.

    Ja.
    Entweder hier, oder in PN. Wenn du es nicht öffentlich haben willst in PN. Ich fange damit nichts an, weil ich einen eigenen Server habe, da brauche ich deinen Code nicht. ;)

    format(str1, sizeof(str1), "{66FFFF}Auto-Führerschein: {FFFFFF}%s.\n{66FFFF}Fluglizenz: {FFFFFF}%s.\n{66FFFF}Segelschein: {FFFFFF}%s.\n{66FFFF}Angelschein: {FFFFFF}%s.\n{66FFFF}Waffenschein: {FFFFFF}%s.\n{66FFFF}Motorrad-Führerschein: {FFFFFF}%s.\n{66FFFF} LKW: {FFFFFF}%s",text1,text3,text4,text5,text6,text7,text8,[AutoPunkte],[BikePunkte],[LKWPunkte]");


    Ich nehme an das sind Spieler-Statistiken, die AutoPunkte etc.


    Also mach es so:
    format(str1, sizeof(str1), "{66FFFF}Auto-Führerschein: {FFFFFF}%s.\n{66FFFF}Fluglizenz: {FFFFFF}%s.\n{66FFFF}Segelschein: {FFFFFF}%s.\n{66FFFF}Angelschein: {FFFFFF}%s.\n{66FFFF}Waffenschein: {FFFFFF}%s.\n{66FFFF}Motorrad-Führerschein: {FFFFFF}%s.\n{66FFFF} LKW: {FFFFFF}%s",text1,text3,text4,text5,text6,text7,text8,Spieler[playerid][AutoPunkte],Spieler[playerid][BikePunkte],Spieler[playerid][LKWPunkte]");

    Nein macht er nicht, Passwort ist ja wenn er es nicht mit inputtext formatiert leer.. mysql_escape_string ist ein Schutz gegen MySQL Injektion


    Klar macht er es.
    mysql_escape_string(inputtext,passwort,dbhandle);
    Hier wird der Variable "passwort" der Wert von "inputtext" zugeweisen, nachdem er überprüft worden ist.

    Also, das Dollar-Zeichen hast du ja nicht selektierbar gemacht:
    TextDrawSetSelectable(Shop[3], 0);
    Falls man es auswählen können soll, dann musst du das zu 1 setzen.


    Bei dem Premium-Schriftzug ist es genau andersherum. Dort hast du es auf 1, also man kann es auswählen.
    Außerdem solltest du bei dem Premium Schriftzug TextDrawTextSize nutzen, falls du es selektierbar haben willst.


    Ich rate dir, mach erst mal die Schriftzüge aus dem Code raus, und teste es dann (natürlich auch bei der clickedid die Zahlen ändern!). Dann sollte es ohne Probleme klappen. Dann fügst du die Schriftzüge unselektierbar wieder ein, mit TextDrawTextSize beschränkt.

    An dem geposteten Code liegt es nicht, da steht ja weder was von SpawnPlayer noch von SetPlayerPos. Es wäre interessant zu wissen, ob erst die Nachricht kommt, dass das Passwort falsch ist, oder ob er erst gespawnt wird. Füge da jeweils mal einen print ein (bei der Nachricht) und bei OnPlayerSpawn. Welcher der prints kommt zuerst?


    Außerdem: Nutzt du Filterscripts? Wenn ja, passiert der Fehler auch, wenn du die aus dem Server nimmst?


    Wenn du den Code debuggen könntest wäre die ganze Sache einfacher. Versuch es doch mal, bei allen Teilen vom Login und vom Spawn prints einzufügen (einfach "print("1");", dann paar Zeilen weiter print 2, usw...).

    Genau das.


    Füge das hier unter deinen Includes ein:
    #pragma dynamic 300000


    Die Meldung sollte dann weg sein. Wenn nicht, erhöhe die Zahl etwas.
    Dann sollte auch der Code funktionieren.


    Übrigens, 4000 als Länge ist für das relativ kurze Query etwas übertrieben. 1000 reichen da ewig. Etwas sparsamer umgehen mit den Bytes.

    Zitat

    [22:45:44] [DEBUG] CMySQLQuery::Execute[()] - starting query execution
    [22:45:44] [DEBUG] CMySQLQuery::Execute[()] - query was successful


    Laut Log funktioniert es.
    Sicher, dass du in der richtigen Datenbank schaust, ob es aktualisiert worden ist?


    Stimmt der Wert der ID als "0" mit dem in der Datenbank überein?