Beiträge von Hagi

    SetPlayerWorldBounds hat die ParameterSyntax


    (playerid,Float:x_max,Float:x_min,Float:y_max,Float:y_min)


    Die isPlayerInArea Funktion von oben aber:


    (playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)

    Joa gut, dann ist es ja recht nützlich (zumindest wenn man nicht ständig was ändern und auslesen muss). Muss man wenigstens nicht den Code mit Zeilen vollkleistern.

    Ich nutze Strickenkid, daher hab ichs aus dem Wiki von BlueG mal zusammengebastelt


    mysql_store_result();
    if(mysql_num_rows() != 0)
    {
    new banadmin,bangrund;
    mysql_get_field("BanReason",bangrund);
    mysql_get_field("BanAdmin",banadmin);
    }
    mysql_free_result();


    und zwar mir diesem Query

    SQL
    SELECT `BanReason`,`BanAdmin` FROM `accounts` WHERE `Name` = 'fynn_Garcia1' AND `Ban` = 1


    Du kannst alternativ auch alle Fields im Query holen (*), das ist aber nur unnötiger Speicher- und Laufzeit-Verbrauch.



    Ich versteh hier grad nicht wo das Problem liegt. Wird dein Query nicht richtig formated oder was?

    Welches MYSQL Plugin nutzt du denn, da Blueg und Strickenkid teilweise andere Syntax und Semantik verwenden.


    btw würde ich eine andere Querry nutzen:


    SQL
    SELECT `BanReason`,`BanAdmin` FROM `accounts` WHERE `Name` = 'fynn_Garcia1' AND `Ban` = 1


    Dann bekommst du beide Spalten aus der Table des Spielers, wenn dieser gebannt ist (die Flag `Ban` gesetzt (1) ist).

    Aber dennoch stellt sich mir da wie vorher schon angemerkt die Frage, wie ich einen Key identifizieren soll.


    Sagen wir ich speichere so eine Datei


    User::save(playerid, "123", "dddd", banzeit, timebanzeit, geld, armour);


    Dann bin ich doch gezwungen immer diese Syntax beim laden einzubehalten (zumindest wenns um gleiche Datentypen geht)


    Ich werde ja wohl kaum mit


    User::load(playerid, "123", "d",armour); Meine Armour als return erhalten (in die Variable geschrieben bekommen), da das Include kaum richen kann, dass ich hier jetzt armour und nicht die banzeit will.


    Stimmt das oder irre ich da?

    Ich würde bei der Voraussetzung eher zu OnPlayerEnterVehicle tendieren, da man bei OnPlayerStateChange bereits vorm Steuer sitzt, also das Auto logisch gesehen nicht abgeschlossen ist.

    An sich ist das so besser



    new hiddenstring[32];
    for(new i=0; i!=strlen(inputtext); i++)
    {
    strcat(hiddenstring,"*");
    }
    TextDrawSetString(Register, hiddenstring);
    TextDrawShowForPlayer(playerid, Register);


    edit: concat zu strcat

    Das ginge nur, wenn du alle Spieler (und damit auch die Dateinamen) in einer Art Verzeichnis gespeichert hast (z.B. in einer Index Datei, wo alle Namen per '|' oder so getrennt sind).Ansonsten kannst du nicht alle Files ansprechen.

    Hier


    so holt das die MYSQL


    Log:

    Code
    [Mon May  6 12:44:18 2013] Function: mysql_query executed: "SELECT `Newname`,`Date` FROM `database`.`Namechange` WHERE `ID` = 1 ORDER BY `Namechange`.`Date` ASC" with result: "0".
    [Mon May  6 12:44:18 2013] Function: mysql_store_result executed with result: "1"
    [Mon May  6 12:44:18 2013] Function: mysql_num_rows executed with result: "%".
    [Mon May  6 12:44:18 2013] Function: mysql_fetch_row executed with result: "Testuser|1367836212".
    [Mon May  6 12:44:18 2013] Function: mysql_fetch_row executed with result: "Hagi|1367836222".
    [Mon May  6 12:44:18 2013] Function: mysql_fetch_row executed with result: "Hagi_Lorma|1367836225".


    Man sieht, der Return ist nach dem Date geordnet.


    In dieser Reihenfolge wird das an mein PHP Script geschickt. Jede Row in einem HTTP Request.
    Im Callback zu HTML(); wird einfach der Rückgabewert via SendClientMessage ausgegeben.


    Es wird allerdings nicht wie oben, sondern so ausgegebene.


    Code
    Testuser|1367836212
    Hagi_Lorma|1367836225
    Hagi|1367836222


    edit: Bei der Ausgabe ist der Timestamp natürlich durch die entsprechende Datums Formatierung angegeben (dafür ja das php script)

    Hab es jetzt über die HTTP Methode von Pawn und einem PHP Script gemacht.
    Nur ein Problem.


    Ich hole mit SORT ASC Einträge aus der Datenbank. Laut Log werden diese auch in der korrekten Reihenfolge an mein PHP Script geschickt.
    Im Callback der HTTP Funktion im Script gebe ich dann den Inhalt des PHP Scripts aus. Das funktioniert auch. Nur ist dort die Reihenfolge durcheinander.


    Kann es sein, dass die HTTP REquest unterschiedlich schnell Ablaufen und dann auch unterschiedlich ausgegeben werden?

    mit der Funktion oben und diesem String


    format(string,sizeof(string),"%d.%d.%d",SpielerInfo[playerid][pDay],SpielerInfo[playerid][pMonth],SpielerInfo[playerid][pYear]);