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



    füg noch ein #else und #endif


    wenn du mir sagst wie ich die Funktion im Gamemode aufrufen kann?
    Denn das geht nicht vom Filterscript zu Gamemode


    Du musst auch daran denken das hier viele sind die 0 Plan von Pawn haben...


    Ich packs mal in ein includes aber das pstebin bleibt!