Beiträge von HandsUpFreak

    Solange mir niemand was sagt, weiß ich auch nicht was verbessert werden soll.
    Sagt mir was rein soll und es wird reinkommen, überhaupt kein Problem.
    Ich finds nur hart dass du für sowas kleines hier schwarz dein Geld verdienst.


    //Edit:
    Okay machen wir es so, sagt mir was ihr wollt und ich mache das rein, auch mit MySQL-Verbindung usw. Lässt sich ja einfach per Filterscript einbauen.
    Geht einfach hierrauf *snipped* und postet eure Vorschläge !

    Nein es hat wunderbar geklappt und ich werd absofort mehr mit der HTTP Funktion arbeiten, vielen Dank an MrMonat der mich darauf gebracht hat aber auch generell an alle anderen.

    Ich ziehe aus der DB eine Spalte, einen Timestamp in dem falle. Dieser Timestamp soll dann in einem Datum wiedergegeben werden. Da dies aber mit PAWN, soweit ich sehe, nicht möglich ist habe ich das ganze mal per PHP probiert:

    PHP
    <?php
    $timestamp = $_GET['timestamp'];
    $time = date("d.m.Y - H:i:s", $timestamp);
    echo $time;
    ?>


    Pawn:

    if(!strcmp("/ts",cmdtext,true))
    {
    HTTP(playerid, HTTP_GET, "www.example.com/tstest.php?timestamp=1305639327", "", "MyHttpResponse");
    return 1;
    }


    public MyHttpResponse(index, response_code, data[])
    {
    // In this callback "index" would normally be called "playerid" ( if you didn't get it already :) )
    new
    buffer[ 128 ];
    if(response_code == 200) //Did the request succeed?
    {
    //Yes!
    format(buffer, sizeof(buffer), "The URL replied: %s", data);
    SendClientMessage(index, 0xFFFFFFFF, buffer);
    }
    else
    {
    //No!
    format(buffer, sizeof(buffer), "The request failed! The response code was: %d", response_code);
    SendClientMessage(index, 0xFFFFFFFF, buffer);
    }
    }


    Und siehe da:

    Code
    The URL replied: 17.05.2011 - 15:35:27

    Naja, wenn du jetzt mit irgendeiner Funktion in PAWN da was weiß ich Schleifen durchlaufen lässt die die Tage, Stunden und Minuten ausrechnen lässt oder so, das frisst ordentlich Leistung^^

    Naja, so schwachsinn ist das gar nicht. Lieber drück ich einfach ein bisschen Performance auf den Webserver als da irgendwie den SA:MP Server hochgradig komplizierte Aufgaben lösen zu lassen.
    Außerdem verbraucht die "date"-Funktion in PHP fast gar nichts an Performance.

    Wie kann man denn http Abfragen machen und wie sollte man das machen?
    Kann man also ne HTTP-Anfrage mit nem GET-Paramenter(Der den Timestamp beinhaltet) an ein PHP-Script senden und wenn dieses dann per echo den verarbeiteten Timestamp ausspuckt den wieder einlesen oder wie soll ich das verstehen?

    Und wo soll ich da den Timestamp angeben?
    Versuch mal den aktuellen Timestamp zu verarbeiten:
    1305639327


    //Edit:
    So sehe das ganze in PHP aus:

    PHP
    <?php
    $timestamp = 1305639327;
    $time = date("d.m.Y - H:i:s", $timestamp);
    echo $time;
    ?>


    //Edit2:
    (Umfangreicheren Code genommen)

    Naja, damit lässt sich aber nicht das erzeugen, was ich möchte. Ich möchte gerne einen Timestamp so verarbeiten, dass ein gut sichtliches Datum bzw. eine gut lesende Uhrzeit rauskommt.
    Hier:

    PHP
    date("H:i:s", $timestamp);


    In der Variable wäre also der Timestamp. Da kommt dann raus: 17:16:18
    Dies klappt ja nicht in Pawn daher würd ich gern wissen, ob es generell möglich ist solch ein Resultat zu erreichen.

    Ich muss das Thema noch einmal ausgraben.
    Wie sieht es aus wenn man mehrere Defines die Möglichkeit geben soll, den jeweiligen Command auszuführen?
    Beispiel:

    if(test1 == test2 || test3 == test4) {
    //Xyz
    }

    Wie setzt man dies dann in Pawn um?


    Bei deiner Lösung ist ja auch wieder das Problem, dass wenn ich einen Spieler kicke er gar nichts mehr machen kann. Daher ist es mir relativ wichtig, dass er genau diese Buttons nicht mehr da stehen hat und das funktioniert mit der Lösung wie gewünscht :)
    Theoretisch könnte man auch einfach einen return 1; in OnPlayerConnect reinhauen, dann würde ja die Class-Auswahl auch wegfallen, oder hab ich da wieder nen Denkfehler?