Beiträge von Campbell

    Du wirst dir den Namen des Models abspeichern müssen und diesen ausgeben. Du kannst nicht einen Integer einfügen, wenn du einen String einfügen möchtest (siehe format() im Befehl).

    Falls du irgendwelche Datei-Endungen in der Config hast, solltest du diese weglassen. Falls du mehrere Pawno-Ordner hast, kann diese dazu führen, dass du evt. im falschen Order speicherst/lädst. Gehe sicher, dass der Namen der Datei dem Namen in der Config entspricht und "last but not least", gehe sicher, dass du eine .amx Datei hast - also, dass du deinen Gamemode kompaliert hast.

    Ich denke, wenn man etwas nachdenken würde, könnte man erraten, dass er den Gamemode nicht findet. Schau doch mal nach dem Namen des Gamemodes und dem Namen in deiner config-Datei.

    Nein, bisher ist es so:



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 5) {
    // Switch-Anweisungen ...
    return 1;
    }
    }


    Edit: Schau dir nochmal die WaffenIDs an, deine Waffen gibt es garnicht.

    Wie gesagt, du lässt dir Daten bei bestimmten Punkten ausgeben, wodurch du Werte vergleichen kannst und somit den Rahmen, indem du suchen musst, verkleinern kannst. Als Beispiel könnte man das Konto des Spielers verwenden. Du lässt dir es öfters Ausgeben und merkst dadurch, wo das Problem liegt.



    printf("%i", GetPVarInt(playerid, "Konto"));

    Ja mein Dialog heißt bei mir 5.


    @Cambell: Wie meinst du das?

    So wie ich es sage. Bisher returnst du innerhalb der if-Abfrage, was nicht den public returnen wird. Schau dir doch die Fehlermeldung an, es sagt aus, dass der public nicht returnt wurde. D.h.:



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 5) {
    // Switch-Anweisungen ...
    }
    return 1;
    }

    Wenn du alles benötigst, ist das ja gut. Das alles hat aber nichts mehr mit deinem Problem zu tun. Debugge doch einfach mal. Lass dir vor dem Speichern Daten ausgeben. Nach dem Speichern und vor dem Neustart und vor dem Login und nach dem Login. Dann wirst du bereits sehen, wo der Hacken liegt.

    Textdraws werden wohl eher nichts mit deinem Streamer zu tun haben. Schau dir doch nochmal das an, was du benutzt, um soche Dinge zu laden. Meist sollten solche Dinge unter OnGameModeInit erfolgen. Passiert dies nur bei einem Restart via 'gmx' oder auch bei einem ganz normalen Serverstart. Wie startest du denn deinen Server neu? Ein paar Informationen wären schon hilfreich.

    Du lädst das, was du brauchst. Ich würde niemals Daten laden, die ich nicht benötige. Das ermöglicht es mir Datenmengen zu vermindern und somit meine Ressourcen zu sparen. Ich lade meine Daten, wenn ich sie benötige und das auch nur einmal, wenn sie nicht geladen sind. Dennoch nur, wenn ich sie nicht konstant benötige, wie zum Beispiel in Informationsfenstern.

    Debuggen war schon immer eine Lösung, solchen Problemen auf den Grund zu gehen. Also fang doch einfach mal damit an, die Werte miteinander zu vergleichen.

    Entweder du setzt einen String ein, der nicht länger als diese drei Worte ist bzw. es geht über den Bildschirmrand hinaus. Warum es gerade nur drei Wörter sind, kann ich dir nicht aus der Luft raus sagen. Da musst du nun doch mal deine Ansätze veröffentlichen, sofern dir das recht ist.

    Wir nehmen zwei Spieler, die deinen Server betreten. Einer der Spieler ist ein Admin höchtem Rank, wessen Adminrank in dem Array SpielerInfo[][pAdminlevel] gespeichert wird. Nun verlässt dieser Spieler den Server und der nächste Spieler betritt den Server. Dieser hat für ihn glücklicherweiße die exakt gleiche SpielerID wieder der Admin zuvor. Da nun die Daten im Array nicht zurückgesetzt wurden, könnte es sein, dass der Spieler nun direkt Zugriff hat, wie der Admin zuvor. Dies könnte natürlich durch das Laden verschiedener Daten verhindert werden, dennoch denke ich nicht, dass du alle Daten eines Spielers beim Login lädst, da dies nicht sehr sinnvoll wäre.

    Es könnte evt. daran liegen, dass du einfach Speichern, Neustarten und Laden schlecht kombiniert hast. Daten sollten nur geladen werden, wenn ein Spieler eingeloggt ist. Das Speichern der Daten muss vor dem Neustart erfolgen. Ein Timer wird hier bei großen Datenmengen von Nöten sein, da es Zeit zum Verarbeiten benötigen wird. Ebenfalls solltest du beim Neustart des Servers unbedingt alle SpielerDaten zurücksetzen, sodass Daten nicht von einem auf den anderen Spieler übertragen werden können.