Timeban macht Probleme

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 Community,
    seit dem ich mein Timeban System drinne habe, verdoppelt sich das Geld was ich InGame habe.
    D.h wenn ich z.B 2000$ habe und mich auslogge und wieder einlogge habe ich 4000$, ich weiss nicht weiter.



    public OnPlayerConnect(playerid)
    {
    SpielerLaden(playerid);
    new time = gettime();
    if(time < GetPVarInt(playerid,"Timeban")) { //Wenn du natürlich alles darin speichern lässt, musst du dir diesen Wert auch erst aus der Spielerdatei holen, aber das kannst du ja selber machen
    new str[128];
    new diff = GetPVarInt(playerid,"Timeban") - time;
    format(str,sizeof str,"Du bist noch %d Minuten gebannt! Komme später wieder!",diff / 60);
    SendClientMessage(playerid,-1,str);
    Kick(playerid); //musst natürlich per Timer kicken lassen. 0.3x und so
    }



    ocmd:timeban(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,HELLROT,"AdmCmd: Du besitzt keine Rechte, um diesen Befehl zu benutzen!");
    new pID, time, grund[256];
    if(sscanf(params,"uis",pID,time,grund))return SendClientMessage(playerid,HELLROT,"AdmCmd: Benutze /timeban [SpielerID] [Zeit(Minuten)] [Grund]");
    if(IsPlayerConnected(pID))
    {
    if(time>0||time<1000)
    {
    new string[128];
    format(string,sizeof(string),"AdmCmd: %s wurde vom Administrator %s für %i Minuten gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),time,grund);
    SendClientMessageToAll(HELLROT,string);
    new wert;


    wert=gettime()+(60*time);


    SetPVarInt(pID,"Timeban",wert);
    SpielerSpeichern(playerid);
    SetTimerEx("KickTimer",200,false,"i",pID);
    return 1;
    }
    SendClientMessage(playerid,HELLROT,"AdmCmd: Bitte gültige Zeit angeben!");
    return 1;
    }
    SendClientMessage(playerid,HELLROT,"AdmCmd: Der Spieler befindet sich zurzeit nicht auf dem Server!");
    return 1;
    }



    stock Login(playerid,inputtext[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Spieler/%s.txt",name);
    if(gettime()<dini_Int(Spielerdatei,"Timeban"))
    {
    SpielerSpeichern(playerid);
    SendClientMessage(playerid,ROT,"Du bist noch gebannt. Komm später wieder.");
    Kick(playerid);
    return 1;
    }

    :) SWAGETTI & YOLONAISE!

  • Zeig uns einmal bitte deinen Callback "KickTimer", "SpielerSpeichern" und "SpielerLaden".


  • forward KickTimer(playerid);
    public KickTimer(playerid)
    {
    Kick(playerid);
    return 1;
    }


    stock SpielerLaden(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Spieler/%s.txt",name);


    if(klasse[playerid] == 1)
    {
    SetPlayerColor(playerid,PINK);
    }


    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    PayPlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
    SetPVarInt(playerid,"Kontostand",dini_Int(Spielerdatei,"Kontostand"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Gebant",dini_Int(Spielerdatei,"Gebant"));
    SetPVarInt(playerid,"Skin",dini_Int(Spielerdatei,"Skin"));
    SetPVarInt(playerid,"Mute",dini_Int(Spielerdatei,"Mute"));
    SetPVarInt(playerid,"Timeban",dini_Int(Spielerdatei,"Timeban"));
    SetPVarInt(playerid,"Kills",dini_Int(Spielerdatei,"Kills"));
    SetPVarInt(playerid,"Tode",dini_Int(Spielerdatei,"Tode"));
    SetPVarInt(playerid,"ReportTicket",dini_Int(Spielerdatei,"ReportTicket"));
    SetPVarInt(playerid,"Prestige",dini_Int(Spielerdatei,"Prestige"));
    SetPVarInt(playerid,"Killstreak",dini_Int(Spielerdatei,"Killstreak"));
    SetPVarInt(playerid,"SkinWahl",dini_Int(Spielerdatei,"SkinWahl"));
    SetPVarInt(playerid,"AdminDienst",dini_Int(Spielerdatei,"AdminDienst"));
    SetPVarInt(playerid,"MatheQuizAntwort",dini_Int(Spielerdatei,"MatheQuizAntwort"));


    if(GetPVarInt(playerid,"Timeban")==1)
    {
    new banstring[128];
    format(banstring,sizeof(banstring),"Du, {00FF00}%s {FF0000}wurden von diesem Server noch nicht entbant.",SpielerName(playerid));
    SendClientMessage(playerid, 0xFF0000FF,banstring);
    Kick(playerid);
    }
    if(GetPVarInt(playerid,"Gebant")==1)
    {
    new banstring[128];
    format(banstring,sizeof(banstring),"Du, {00FF00}%s {FF0000}wurden von diesem Server nicht entbant.",SpielerName(playerid));
    SendClientMessage(playerid, 0xFF0000FF,banstring);
    Kick(playerid);
    }
    SetPVarInt(playerid,"Eingeloggt",1);
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Spieler/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPVarInt(playerid,"Geld"));
    dini_IntSet(Spielerdatei,"Kontostand",GetPVarInt(playerid,"Kontostand"));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Gebant",GetPVarInt(playerid,"Gebant"));
    dini_IntSet(Spielerdatei,"Skin",GetPVarInt(playerid,"Skin"));
    dini_IntSet(Spielerdatei,"Timeban",GetPVarInt(playerid,"Timeban"));
    dini_IntSet(Spielerdatei,"Mute",GetPVarInt(playerid,"Mute"));
    dini_IntSet(Spielerdatei,"Kills",GetPVarInt(playerid,"Kills"));
    dini_IntSet(Spielerdatei,"Tode",GetPVarInt(playerid,"Tode"));
    dini_IntSet(Spielerdatei,"ReportTicket",GetPVarInt(playerid,"ReportTicket"));
    dini_IntSet(Spielerdatei,"Prestige",GetPVarInt(playerid,"Prestige"));
    dini_IntSet(Spielerdatei,"Killstreak",GetPVarInt(playerid,"Killstreak"));
    dini_IntSet(Spielerdatei,"SkinWahl",GetPVarInt(playerid,"SkinWahl"));
    dini_IntSet(Spielerdatei,"AdminDienst",GetPVarInt(playerid,"AdminDienst"));
    dini_IntSet(Spielerdatei,"MatheQuizAntwort",GetPVarInt(playerid,"MatheQuizAntwort"));
    return 1;
    }

    :) SWAGETTI & YOLONAISE!

  • PayPlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));


    Jetzt will ich das sehen ;).