[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Ich brauch den Timestamp da ich den auch für andere Zwecke nutze darum mach ich es auch so...
    Wenn ich das so mache wie Simon, dann darf ich wieder haufenweise umschreiben worauf ich kein Bock habe
    So les ich das aus
    new Test[6];
    date(PlayerInfo[playerid][RegisterTime], Test[0], Test[1], Test[2], Test[3], Test[4], Test[5]);
    format(string,128,"Registriert: %02d.%02d.%d - %02d:%02d:%02d Uhr", Test[3], Test[4], Test[5], Test[0], Test[1], Test[2]);

    All in all it's just another brick in the wall

  • Schau dir mal das Datum von dir an
    der Timestamp ist von meinen Account


    Der ist aber falsch der Timestamp: 1366106339
    Ist exakt die Zeitangabe: 16.04.2013 um 10:58:59 Uhr.


    Die Funktion die ich da nutze und auch du ist für die Tonne da die die Werte falsch wiedergibt

    All in all it's just another brick in the wall

  • Sehs gerade hast recht :D


    Das einzige was mir einfällt wäre das über die HTTP Funktion auf n PHP Script zuzugreifen und das dann umzuwandeln...aber ich weiß nicht, ich schaue mir mal nach meiner Mittagspause die Funktion an und verbessere diese ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Das geht auch rigendwie mit MySQL
    Nur ich weiß nicht wie man es macht das ist es ja...


    Kaliber:


    Die Funktion tut es jetzt endlich
    GetTimestamp(Timestamp)
    {
    new Wert[50],query[128];
    format(query, 128, "SELECT FROM_UNIXTIME(%d, '%s.%s.%s %s');", Timestamp, "%d","%m","%Y","%T");
    mysql_query(query, (-1), (0), SQL);
    mysql_store_result(SQL);
    mysql_fetch_string(Wert,SQL);
    mysql_free_result(SQL);
    return Wert;
    }
    Passgenau wenn ich den Timestamp eintrage bekomm ich das raus:
    16.04.2013 11:58:59

    All in all it's just another brick in the wall

    Einmal editiert, zuletzt von Beavis ()

  • Weiß jemand wie man aus Zamaroths Textdraweditor den erstellten Textdraw rausfiltert ?
    Habe schon im Filterscript Ordner geguckt aber da finde ich auch nur eine TDE und eine LST Datei.
    Habe sie mir beide angeschaut doch in keiner ist ein Brauchbarer Code ...

  • Moin moin!
    Ich fange gerade mit Mysql an und habs glaube soweit verstanden! :)
    Wenn ich eine Tabelle auslese wo z.B. Häuser drinne sind Lade ich das so:


    for(new h=0;h<MAX_HAUSER;h++)
    {
    LoadHaus(h);
    }


    so... wie mache ich das, dass er die ID's die nicht in der Tabelle sind nicht lädt? (oder macht er das automatisch nicht?)
    Benutze das BlueG R5 Plugin.


    Hier der Anfang des Stocks LoadHaus:


    mysql_query("SELECT * FROM `hauser`");
    mysql_store_result();
    if(!mysql_num_rows())
    {
    mysql_free_result();
    return 0;
    }
    new result[66];
    while(mysql_retrieve_row())
    {
    ....


    Edit: btw muss ich da nicht SELECT * FROM `hauser` WHERE ID = '%d',..)

  • Kann mir nochmal jmd. auf die Sprünge helfen?


    Wenn ich jertzt zB habe if(Rang[playerid] <= 3) return SendClientMessage....


    Also Rang ist kleiner als 3, ne Nachricht schicken.


    Gilt das dann für Rang 3,2,1 oder nur wirklich für die die kleiner als 3 sind, also 2,1 und ab 3 kommt die Nachricht nichtmehr?


    - Tom

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Eine kleine Frage:


    Ich schreibe mein komplettes Script um, da ich das auslesen und speichern aus und in der Datenbank nun optimieren möchte.
    Vorher habe ich mir dieses von einem tutorial abgeschaut:

    variable1 = mysql_GetInt(...);
    variable2 = mysql_GetString(...);

    Nun mache ich:
    sscanf(Query, "p<|>is[50]",variable1,variable2);


    Nun möchte ich das selbe beim Updaten machen.
    Bisher nutze ich:
    mysql_SetInt(..., variable1, ...);
    Mysql_SetString(... , variable2, ...);


    Was wäre hier eine sehr gute methode das einfach zu speichern?
    Gibt es da was besonderes oder soll ich einfach die Query folgendermaßen schrieben:

    SQL
    UPDATE [Tabelle] SET [Spalte] = [Wert], [Spalte] = [Wert], [Spalte] = [Wert] WHERE [Fehld] = [Wert]
  • Ich brauch mal einen der Mathe kann :D


    Bei den rechenweg:
    format(sendstr,sizeof sendstr,"Tank: %d (Prozent)",100/3600*VehicleData[id][Tank]);
    Wird mir immer 0% ausgegeben obwohl die rechnung stimmen sollte

    All in all it's just another brick in the wall

  • Ich brauch mal einen der Mathe kann :D


    Bei den rechenweg:
    format(sendstr,sizeof sendstr,"Tank: %d (Prozent)",100/3600*VehicleData[id][Tank]);
    Wird mir immer 0% ausgegeben obwohl die rechnung stimmen sollte


    Ich kenn das Problem.
    Du musst für jeden Rechenschritt eine Variable machen.
    dh. new eins = 100/3600;
    new zwei = eins*VehicleData..


    Bin am Handy

  • Weiß jemand wie man aus Zamaroths Textdraweditor den erstellten Textdraw rausfiltert ?
    Habe schon im Filterscript Ordner geguckt aber da finde ich auch nur eine TDE und eine LST Datei.
    Habe sie mir beide angeschaut doch in keiner ist ein Brauchbarer Code ...


    Scriptfiles werden die Daten inner .txt erstellt.


  • Das macht man so:


    new Float:Fuuuuuuu = floatdiv(100,3600);
    printf("%f",Fuuuuuuu);
    new Float:SoEinDreck = floatmul(Fuuuuuuu,VehicleData[id][Tank]);
    printf("%f",SoEinDreck);


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Mit gut 0,4% abweichung geht das :D
    //nachtrag


    Ich hatte es schonmal aber habs wieder vergessen :D
    Per CommandText kann man ja irgendwie mit sscanf machen
    Ich habe ein Command gebe ich da /unban ein, sagt er mir das es den Namen nicht gibt
    schreibe ich /unban werner, dann gibts nen Unkwon command ...


    Wo hab ich da den wurm sitzen?
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new string[128];
    if(!strcmp("/unban", cmdtext, true))
    {
    if(!CheckAdmin(playerid,5))
    return ADMError(playerid,5);
    new UserName[MAX_PLAYER_NAME];
    if(sscanf(cmdtext,"s",UserName))
    return SendClientMessage(playerid,cWarn,"• /unban [Name]");
    format(string,128,"SELECT * FROM `DTuser` WHERE `Name` = '%s'",UserName);
    mysql_query(string, (-1), (0), SQL);
    mysql_store_result(SQL);
    if(mysql_num_rows(SQL)==0)
    return mysql_free_result(SQL), format(string, 128, "• Der Name \"%s\" existiert nicht!", UserName), SendClientMessage(playerid, cWarn, string);
    mysql_free_result(SQL);
    format(string, sizeof(string), "UPDATE `DTuser` SET `Gebannt`='0' WHERE `Name` = '%s'", UserName);
    mysql_query(string, (-1), (0), SQL);
    format(string, 128, "• \"%s\" wurde entbannt!", UserName);
    SendClientMessage(playerid, cGreen, string);
    return 1;
    }
    return 0;
    }

    All in all it's just another brick in the wall

    Einmal editiert, zuletzt von Beavis ()