Beiträge von Goldkiller

    Von mir bekommst du keine Entschuldigung, wofür denn auch. Ich hab lediglich den Spam gelöscht,der von "euch" danach kam.

    Keiner von "euch" hat dafür eine Verwarnung bekommen. Hätte ich mal lieber gemacht,dann hätte deinen Kritik an mir wenigstens etwas mehr Sinn gemacht.


    Das du dich hier noch auf höchst kindlichem Niveau beschwerst ist das Highlight. Neben dem Erstellen des Threads bevor du privat nachfragst wieso ich die Beiträge gelöscht habe , nervst du zusätzlich mehrfach per Zitatfunktion ( was du anscheinend ziemlich cool findest ) um auf dich Aufmerksam zu machen. Meinst du es reicht nicht, dass du mich 1x per Zitatfunktion ansprichst ? Wenn du mich sowieso per Zitatfunktion ansprichst, wieso nicht gleich per PM ... Rätselhaft ?( .

    Spoiler anzeigen
    Ich habe auch das dumpfe Gefühl, du hast deinen tollen Thread hier auch mit 5 Sternen bewertet. Das unterstreicht nur nochml zusätzlich meine Einschätzungen zu deinem Verhalten


    So viel von mir dazu. Ich spreche hier nur für mich, Trooper hat seine Meinung dazu bereits eigenständig abgegeben.

    Die Funktion CheckPasswort ist vom Prinzip her richtig. Ich sehe dort zumindest keinen Fehler.


    Was mich dabei viel mehr interessiert,ist wie du die Funktion CheckPasswort aufrufst und wo die Werte her kommen,die du dieser Funktion als Parameter übergibst.
    Lass dir auch mal via print in der Funktion CheckPasswort den String query ausgeben,nachdem du ihn mit format verarbeitet hast.
    Es wäre auch gut zu wissen,welches MySQL Plugin du nutzt mit welcher Version.

    Bietest du nicht sogar dich als Scripter für Andere an ? Sich selbst dann nicht Helfen zu können,scheint mir ein Problem zu sein.


    Wie dem auch sei, du solltest dir lieber mal die Anwendung solche Plugins ansehen.


    new data[7];
    mysql_query("SELECT `SteuernLS`, `SteuernSF`, `SteuernLV` FROM `accounts`");
    mysql_store_result();
    new inte = mysql_fetch_int(); // <- Du willst doch das Gesamte Ergebnis auslesen,nicht nur Eine Zahl
    for(new i = 0; i < inte; i++) // Ist Quatsch.Wozu eine Schleife durch das 1 Ergebnis von SteuernLS ?
    {
    sscanf(data, "p<|>iii",tax[i] // somit ist das hier auch Quatsch. Du hast sowieso nie etwas in data geschrieben
    }
    Ich könnte dir natürlich Helfen, verstehe aber nicht mal den Sinn deiner "Aktion". Wozu willst du von allen Accounts die SteuernLS,SteuernSF und SteuernLV auslesen ?


    Generell musst du mysql_fetch_row_format nutzen,um das Ergebnis als einen String zu erhalten.
    In deinem Codebeispiel könnte deine Zeilenergebnis so aussehen:

    Zitat

    1000|2400|5000


    Standardmäßig ist das Trennzeichen auf | gestellt.
    Da du jetzt den String hast,kannst du ihn mit sscanf trennen in die drei Werte.

    Seit 30 Minuten ? Hast sehr lange durchgehalten.
    Sorry, die meisten hier sind Berufstätig und sind nicht schon um13:30 Zuhause um sowas freizuschalten.


    Ist jetzt aber freigeschaltet ... :|

    for(new i;i<MAX_PLAYERS;i++)
    {
    if(IstSpielerAdmin(playerid,3))
    {
    SendClientMessageToAll(COLOR_ADM,admstr);
    }
    }
    Das sollte dich aber auch nicht wundern, wenn du eine Schleife benutzt und in dieser SendClientMessageToAll verwendest. Auch glaube ich,ist die If-Abfrage dabei nicht richtig.Sollte dort nicht i hin ?

    Die Lösung von KleinerTeufel ist genau so Quatsch wie dein Ursprünglicher Code.Das wird niemals funktionieren,brauchst du erst gar nicht testen. Er hat keinen der Fehler behoben,die Ich genannt hatte.


    Zitat

    Und wie mache ich das jetzt das 20 Spalten da sind?


    Wie du das machst habe ich geschrieben.

    Zitat

    ShowPlayerDialog in der Schleife macht keinen Sinn. Genau so wie das erstellen des Strings "str", denn so wird er bei Jedem Schleifendurchgang neu erstellt und ist somit immer leer und kann nur 1 Zeile enthalten.


    ShowPlayerDialog nicht in der Schleife aufrufen.
    Den String str nicht in der Schleife erstellen.


    Wieviele Zeilen ( Nicht Spalten ) du am Ende hast,spielt keine Rolle. Es können 5 oder auch 100 sein, dazu müsstest du lediglich den String für den Dialog vergrößen.

    ShowPlayerDialog in der Schleife macht keinen Sinn. Genau so wie das erstellen des Strings "str", denn so wird er bei Jedem Schleifendurchgang neu erstellt und ist somit immer leer und kann nur 1 Zeile enthalten.

    Du solltest dir mal anschauen was ein Array ist und wie man dieses Global anlegt.
    Du kannst nicht irgendwo in einer Funktionen eine Variable anlegen und hoffen,dass sie überall aufrufbar ist. Zusätzlich weisst du bei deiner jetztigen Lösung auch nicht, für welchen Spieler der Checkpoint gesetzt wurde. Die if-Anweisung solltest du auch nochmal überarbeiten . Das war nicht mehr als nur n lahmer Pseudocode von mir.

    Nein, du musst das manuell verwalten.


    Du legst eine Variable für Jeden Spieler an. Dann bestimmt du zu jedem "unterschiedlichem" Checkpoint einen Wert, mit dem du später identifizieren willst um welchen Checkpoint es sich handelt.
    Bei der Nutzung von SetPlayerCheckpoint setzt du jetzt noch zusätzlich den Wert der Variable des Spielers auf den Wert für den Checkpoint,denn du vorher bestimmt hast.
    Zum Beispiel


    #define CHECKPOINT_BANK 24
    #define CHECKPOINT_TELEPORT_LS 356
    Der Spielervariable setzt du dann den entsprechenden Wert:
    Var von Player = CHECKPOINT_BANK;
    SetPlayerCheckpoint( )
    Jetzt prüfst bei OnPlayerEnterCheckpoint, welcher Wert hinter der Spielervariable steckt und weißt, welchen Checkpoint er betreten hat.
    if Var von Player == CHECKPOINT_BANK
    // Tu Irgendwas

    Dann wirst du wohl irgendeine Art Checkpoint Streamer nutzen müssen ( Da kriegst nämlich in der Regel eine "interne" ID für jeden Checkpoint ) oder manuell per Variable festlegen,welchen Checkpoint du dem Spieler angezeigt hast. Denn nur so kannst du zurückführen, welcher Checkpoint betreten wurden.
    Wie du sicherlich weisst,kann nämlich immer nur ein Checkpoint erstellt werden ( Zumindest die Richtigen , Ich rede nicht von MapMarker ). Du musst also bestimmten, welcher Checkpoint dieser eine ist.

    Ein "Ne geht auch nicht" hilft Niemanden. Wie sieht es denn bei dir aus,nachdem du den Lösungsvorschlag von mir umgesetzt hast.


    Übrigens,
    printf("norm_car[%d] = %d",i,norm_car[i]);
    wäre sinnvoller für eine Auswertung der Daten.