Beiträge von Snail

    N'abend zusammen,


    Dieses Tutorial befasst sich mit der neuen HTTP Funktion, die seit Samp 0.3b verfügbar ist.
    Ich werde hier allerdings nur auf den Typ HTTP_GET eingehen !


    Dieses Tutorial ist vor allem für Anbieter von Filterscripts, die ihre Anwender sofort über Updates informieren möchten.
    Aber zunächst müsst ihr sicherstellen, dass ihr die Serverdateien der Version Samp 0.3b habt. Desweiteren muss jeder Anwender eures Produkts die neuste Sampversion besitzen.


    Wenn diese Anforderungen erfüllt sind kanns auch schon losgehen :



    // Unter #include <a_samp> fügen wir folgendes ein :
    #include <a_http>
    // Dieses Include ist dafür da, damit ihr die HTTP Funktion verwenden könnt.
    // ===================================================================
    // Bevor wir überhaupt nach Updates ausschau halten können, müssen wir diesem
    // Script eine Versionsnummer geben
    #define Version "0.1"
    // In diesem Beispiel wäre das 0.1


    Wenn ihr nun ein Update veröffentlicht, müsst ihr wie folgt vorgehen :
    Ihr erstellt auf eurem Desktop eine neue Text-Datei : version.txt.
    Diese öffnet ihr mit dem Editor und fügt eure neue Versionsnummer ein ( In meinem Beispiel 0.2).
    Nun müsst ihr diese Datei hochladen. Für alle die keinen eigenen Root/V-server haben, gibt es natürlich auch eine Lösung.
    Auf der Seite http://www.autohotkey.net könnt ihr die Datei hochladen. (Bevor Fragen aufkommen : Ich habe früher mit AHK gescriptet, daher kenne ich die Seite.
    Ihr könnt die Datei natürlich auch woanders hochladen. Dies ist nur eine Möglichkeit).


    So, jetzt gehts an die HTTP Funktion :

    HTTP(index, type, url[], data[], callback[])
    //index : Die ID der Anfrage (Nur wichtig, wenn man mehrere HTTP-Anfragen auf ein Callback richtet)
    //type : Typ der Anfrage (In unserem Fall HTTP_GET)
    // url[] : Die URL von der die Daten geladen werden sollen (ohne http:// davor)
    // data[] : Daten, die mit der Anfrage mitgesendet werden sollen (In unserem Fall wird dies nicht benötigt,
    // da wir nichts versenden, sondern nur Daten abrufen)
    // callback[] : An dieses Callback wird das Ergebniss der Anfrage gesendet



    // So sieht mein HTTP-Befehl aus :
    HTTP(1,HTTP_GET,"www.autohotkey.net/~Snail/version.txt","","Updatetest");

    Ihr müsst bei eurem Befehl lediglich die URL ändern.
    Es gibt verschiedene Möglichkeiten, diesen Befehl auszuführen. Ihr könnt es z.B. unter OnFilterScriptInit() einfügen.
    Dann wird allerdings nur beim Laden des Filterscripts nach Updates überprüft.
    Meine Empfehlung : ein Timer der alle 24 Stunden nach Updates sucht. Wie man einen Timer erstellt erkläre ich jetzt aber nicht, dazu gibt es andere Tutorials.


    Wie euch wahrscheinlich schon aufgefallen ist, wird meine HTTP-Anfrage an das Public Updatetest gesendet. Dieses sieht folgendermaßen aus :



    forward Updatetest(index, response_code, data[]);
    public Updatetest(index, response_code, data[])
    {
    if(response_code == 200) //Response_Code 200 bedeuted, dass die Anfrage erfolgreich war (s. Wiki)
    {
    if(strcmp(data,Version, false)) // Hier wird nun das Ergebniss der Anfrage mit der Version dieses Scripts verglichen.
    {
    // Falls diese Ungleich sind kommt folgendes :
    printf("Ein neues Update ist verfügbar (Version %s).",data);
    // Ihr könnt natürlich auch SendClientMessage oder ähnliches machen
    }
    }
    return 1;
    }

    Bei Fragen/Problemen einfach hier posten.


    Gruß Snail



    PS : Über eine Bewertung würde ich mich freuen :)


    //Edit : Tut mir Leid wegen Einrücken, aber dieser Editor hat alles kaputt gemacht -_-

    Zitat

    Naja, jeder Server müsste seinen eigenen Parser schreiben um die Website auch auslesen zu können.
    Ich denke da eher an geringe Texte.
    Z.B. eine news.txt datei auslesen und anzeigen.

    Es gibt schon seit langem ein Plugin von Dracoblue dafür.

    Zitat

    ich glaube er weis was ich meine

    Bezweifel ich, denn wenn er sich ein fertiges Serverpaket runterlädt und dann nicht mal weiß wie er sich zum Admin macht hat er keine Ahnung von Pawno.
    @ Threadersteller, dass soll nicht beleidigend sein, allerdings ist das nun mal Basiswissen

    Wenn ihr es euch eh nicht downloadet postet hier doch auch nix ...
    Source sehen, source sehen ....
    Entweder Download und Bewertung abgeben oder gar nix schreiben..

    Laut Regeln muss der Quellcode aber angegeben sein, bzw. von einem Moderator/Administrator überprüft worden sein.
    Daher müsste der Downloadlink eigentlich bis zur Überprüfung entfernt werden.


    [hide]

    Zitat
    • Bei sämtlichen Veröffentlichungen (egal ob Gamemode, Filterscriopt, Tools,..) MUSS der Quellcode beigelegt oder verlinkt werden, dies dient dem Schutz der User um keine Schadsoftware zu verbreiten. Über Ausnahmen lässt sich diskutieren.
    • Es ist streng verboten ein fremdes Script als sein eigenes zu veröffentlichen. Bei einer Modifikation fremder Scripte sind stets die ursprünglichen Autoren anzugeben.

    [/hide]

    @ maddin :

    Zitat

    Schwätz koin Bapp.
    Die erste Methode ist schlicht und einfach falsch und wird nicht funktionieren.

    Bei mir gehts sie.


    Zitat von DMA aus diesem Code Optimierungsthread :


    langsam:

    schnell :

    Alle Mänschn sin frei und gleich an Würde geborn. Sie sin mit Vernunfd und Wissen begabd und solln einander im Geiste der Brüderlichkeid begegna.
    Des konsumieren von Medien had in den ledzden Jahren stark zu genuma. Früher war dessen Verbreidung einfach gringer.


    Fränkisch (Bayern <3)


    Die drei wichtigsten Merkmale :
    • Das R wird gerrrrrrrollt
    • Jedes T wird durch ein D ersetzt
    • Jedes P wird durch ein B ersetzt