Beiträge von Kasakow

    Spoiler anzeigen
    ja ich schreib dir einen:

    Spoiler anzeigen
    //Timeban
    command(timeban, playerid, params[])
    {
    new string[128], reason[105], id, zeit;
    //Loggen
    new year, month, day;
    new hour,minute,second;
    getdate(year,month,day);
    gettime(hour,minute,second);
    if(sStats[playerid][sAdminlevel] < 2)
    return SendClientMessage(playerid, Rot, "Du bist kein Administrator oder dein Administratorenlevel ist zu niedrig!");
    if(GetPVarInt(playerid, "Adminduty") == 0)
    return SendClientMessage(playerid, Rot, "Du musst erst als Admin im Einsatz sein um andere Leute bannen zu können!");
    if(sscanf(params, "uds", id,zeit, reason))
    {
    SendClientMessage(playerid, Weiß, "Befehl: /timeban [Name/ID] [Zeit] [Grund]");
    SendClientMessage(playerid, Gelb, "Zeitangabe in Minuten.");
    return 1;
    }
    if(sStats[playerid][sAdminlevel] < 3 && zeit > 180)
    return SendClientMessage(playerid,Rot,"Du kannst den Spieler nur für max. 180 Minuten bannen!");
    if(id == playerid)
    return SendClientMessage(playerid,Rot,"Du kannst dich nicht selber bannen!");
    if(IsPlayerNPC(id))
    return SendClientMessage(playerid,Rot,"Du kannst keinen NPC/Bot bannen!");
    if(id == INVALID_PLAYER_ID)
    return SendClientMessage(playerid,Rot,"Dieser Spieler existiert nicht!");
    if(sStats[playerid][sAdminlevel] < sStats[id][sAdminlevel])
    return SendClientMessage(playerid, Rot, "Du kannst keinen Administrator bannen, welcher ein höheres Administratorenlevel hat wie du!");

    Spoiler anzeigen
    format(string, sizeof(string), "* Du wurdest vom Administrator %s für %d Minuten vom Server gebannt. Grund: %s", GetName(playerid),zeit, reason);
    SendClientMessage(id, Rot, string);
    format(string, sizeof(string), "* Spieler %s[%d] wurde vom Administrator %s für %d Minuten gebannt. Grund: %s", GetName(id),id, GetName(playerid),zeit, reason);
    SendClientMessageToAll(Rot, string);
    format(string,sizeof(string),"(%d/%d/%d) [%d:%d:%d] %s wurde vom Administrator %s fuer %d Minuten gebannt. Grund: %s",day,month,year,hour,minute,second,GetName(id),GetName(playerid),zeit,reason);
    BanLog(string);
    TogglePlayerControllable(id, false);
    sStats[id][sTimeBan] = gettime()+(60*zeit);
    SaveSpieler(id);
    Kick(id);
    return 1;
    }

    Spoiler anzeigen
    Bei Spielerladen

    Spoiler anzeigen
    //Timeban
    if(gettime()<sStats[playerid][sTimeBan] && sStats[playerid][sTimeBan] > 0)
    {
    new days,hours,mins,secs;
    new wartezeit = sStats[playerid][sTimeBan];
    new restzeit= wartezeit -gettime();
    days = floatround(restzeit / 86400,floatround_floor);
    hours = restzeit - (days * 86400);
    hours = floatround(hours / 3600,floatround_floor);
    mins = restzeit - ( (days * 86400) + (hours * 3600) );
    mins = floatround(mins / 60,floatround_floor);
    secs = restzeit - ( (days * 86400) + (hours * 3600) + (mins * 60) );
    format(string, sizeof(string), "Du bist noch für %d Minuten gebannt.(%d Stunden).",mins,hours);
    SendClientMessage(playerid, Rot,string);
    TogglePlayerControllable(playerid, false);
    SaveSpieler(playerid);
    Kick(playerid);
    return 1;
    }
    else
    {
    sStats[playerid][sTimeBan] = 0;
    }

    Ist wirklich nichts großes ^^:love:


    #include <ocmd>
    #include <dini>
    forward KickTimer(playerid);


    ocmd:ban(playerid,params[])
    {
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFFFFFFFF,"Du bist kein Admin");
    new pID,str[300],reason[128],Name[24],Name2[24];
    GetPlayerName(playerid,Name,sizeof(Name));
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,0xFFFFFFFF,"/ban id grund");
    GetPlayerName(pID,Name2,sizeof(Name2));
    format(str,sizeof(str),"%s wurde von %s gebannt, Grund: %s",Name,Name2,reason);
    SendClientMessage(playerid,0xFFFFFFFF,str);
    SetTimerEx("KickTimer",2000,false,"i",pID);
    new BanData[128];
    format(BanData,sizeof(BanData)),"/Ban/%s.cfg",Name2);
    dini_Create(BanData);
    dini_Set(pfad,"Verantwortlicher",Name);
    dini_Set(pad,"BannGrund",reason);
    return 1;
    }


    public OnplayerRequest(playerid)
    {
    new BanData[128];
    format(BanData,sizeof(BanData)),"/Ban/%s.cfg",Name2);
    if(dini_Exists(BanData) == 1)
    {
    new str[900];
    format(str,sizeof(str),"Gebannt Von %s",dini_Get(pfad,"Verantwortlicher")); {SendClientMessage(playerid,0xFFFFFFFF,str);
    format(str,sizeof(str),"BanGrund %s",dini_Get(pfad,"BanGrund")); {SendClientMessage(playerid,0xFFFFFFFF,str);
    }
    }

    Hm stimmt das system könnte fehler haft sein ist ja auch mein 1. aber.


    Ich werde es morgen überarbeiten.


    Werde es anpassen an Autos , Interiors


    Danke für die kommenare


    MFG


    PAWN