mysql problem

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
  • Hallo !


    Da ich ein TBan befehl erstellen will, muss ich auch bei der Mysql datenbank die zahl auf "intger" stellen.. weil es minuten sind.. Nun mein problem ist: wenn ich immer auf Intger stelle, und dann auf speichern klicke, wird es automatisch zurück gesetzt...


    mFG

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Beitrag von [KoSoVa] ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • ja nur das ding ist , wenn ichjetzt z.b. jemanden tban , kommt da eine kommazahl raus .. und das will ich nicht! ich will das da zb. 5 steht also 5 min. verbannt.


    //EDIT:


    ich habe es grad wieder versucht und steht jetz "1409673151" obwohl ich nur für 5 min. verbannt habe .. . -.-

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Das wird dann wohl der Timestamp sein. Poste doch mal den Code mit dem du den Spieler zeitlich begrenzt bannst und mit dem du TBan speicherst.


    hier einmal die abfrage ob er noch gebannt ist oder nicht :. unter "Stock loadplayer"

    if(SpielerInfo[playerid][pTBan] <= gettime())
    {
    //ist entbannt
    return 1;
    }
    else
    {
    //ist gebannt
    Kick(playerid);
    }
    }



    ocmd:tban(playerid,params[])
    {
    new pID, zeit, grund[128];
    if(SpielerInfo[playerid][pAlevel] >= 1)
    if(sscanf(params,"uis",pID,zeit,grund))return SendClientMessage(playerid,Farbe,"{FF0000}[Info] {FFFFFF} /tban [ID/Spieler] [Zeit] [Grund]");
    if(IsPlayerConnected(pID))
    {
    if(zeit > 0 && zeit < 1000) // meinst du dies?
    {
    new string[128];
    format(string,sizeof(string),"{FF0000}[Info] %s {FFFFFF}hat {FF0000}%s {FFFFFF}für {FF0000}%i Minute/n {FFFFFF}vom Server gebannt. {FF0000}Grund: %s!",GetName(playerid),GetName(pID),zeit,grund);
    SendClientMessageToAll(Farbe,string);
    new wert;
    wert = gettime() + (60*zeit);
    SpielerInfo[pID][pTBan] = wert;
    Kick(pID);
    return 1;
    }
    }


    und da ist der Befehl allgemein

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:


  • so jetzt habe ich mich für 1 minute verbannt. da kommt da wieder so eine zahl raus: "1409671733" -> und ich habe 1 minute gewartet .. dann bin ich zwar entbannt , aber ihn der Datenbank steht immer noch "1409671733 " eigentlich sollte da jetzt " 0 " stehen..

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Dann setze dort, wo du den Spieler entbannst: (Hier: if(SpielerInfo[playerid][pTBan] <= gettime()))
    SpielerInfo[playerid][pTBan] = 0;



    Diese "so eine Zahl" ist der Timestamp, an dem du entbannt wirst.
    http://www.epochconverter.com/


    ah kann man den auch den Timestamp so umsetzten dass es NUR in Minuten angezeigt wird ? Also zb: ... wurde verbannt vom server für 1 Minute Grund: test. dann sollte auch in der Datenbank stehen "1"


    und das mit "SpielerInfo[playerid][pTBan] = 0;" geht nicht, es bleibt immer noch so eine "riesige Zahl".


    //EDIT: Das mit SpielerInfo[playerid][pTBan] = 0; geht jetzt!

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

    Einmal editiert, zuletzt von [GeD]Max ()

  • Das kannst du ja in einem extra Stat speichern. Der Timestamp muss bleiben, sonst geht dein ganzer Code nicht mehr.


    Das Zurücksetzen:
    SpielerInfo[playerid][pTBan] = 0;
    Danach musst du den Spieler natürlich auch wieder speichern.


    danke dir Jeffry :love::rolleyes: :) ! das mit den Minuten lass ich einfach ! Danke ! :thumbup:


    ich hätte noch eine Frage:


    Wie erstell ich dass wenn ich jetzt z.b. 3 min. gebannt wurde und wenn ich jetzt z.b. online gehe , und da steht "du bist noch 0 Jahre 0Tage 1 Minute und 3 sekunden verbannt! ?

    Mit freundlichen Grüßen
    [KoSoVa] :klugs: