Beiträge von FoxHound


    Vorwort
    Ich habe mir in den letzten paar tagen die alten Timeban-Scripts angeguckt, und habe bei allen notiert, was für wichtige sachen übersprungen werden.
    Da habe ich ein Timeban System gemacht, und die übersprungenen Sachen mitgescriptet.
    Ja, es gab Foxban v1 und sagt ihr jetzt vielleicht "warum machstn neues thread auf?!?!?!".
    Aber bevor ihr soetwas schreibt, bitte merkt das FoxBan v1 die absolute scheiße (sry für's ausdruck) war, mit %60 Scriptkenntniss nen TimeBan zu schreiben war nicht klug, und + spuck ich auf FoxBan v1 und werde den Downloadlink wegmachen :D Funzt eh net das script.
    Und soviel ich in den anderen Timeban's gesehen habe, ist FoxBan zurzeit der beste veröffentlichte TimeBan-System. :whistling:


    FoxBan
    FoxBan ist ein Timeban System, mit dem man Leute für eine bestimmte Zeit bannen kann.
    Die Version 1 ist scheiße geworden, wie gesagt ich spuck drauf, und werde den Downloadlink löschen ^^
    In der Version 2 habe ich versucht zu lernen, wie man mit Files arbeitet, und das habe ich auch.
    In FoxBan v2.0 wird mit Dini gearbeitet (Thx to DracoBlue), da ich denke das Dini stabiler ist.
    Mit diesem System bannt man leute in Zeit als MINUTEN, um mit Stunden zu bannen kann man ja rechnen (1 Std. = 60 Min.) ^^


    Features


    • Extra FS: /tban und /tunban CMD als Extra FS reingemacht (Es MUSS NICHT benutzt werden, OPTIONAL).

    • Auch nach Serverrestart, hat der gebannte keine Chance ins Server zu kommen bevor sein Zeit um ist (was bei M4rciii's Script der fall ist...). Er wurde z.B. um 18:30 gebannt, wird um 20:30 entbannt. Aber der Serverwar für 1 Stunde down, aber dann wird er nicht 21:30 sondern wieder um 20:30 entbannt ! Wie ganz normal :)

    • Es ist ein Include. Die Funktionen sind unten aufgelistet.

    • Alle nötigen Funktionen (TBan, BanFileExist) wurden geschrieben. Siehe unten.

    • FoxHound-Quality = High Quality (seitdem ich mich mit Dateien ENDLICH auskenne)

    • Integriertes dutils&dini.inc . Namen von allen Funktionen geændert, damit es bei originalen Includes nicht zu problemen kommt


    Funktionen
    TBan(playerid, time); //Einen Spieler für eine bestimmte zeit bannen (ZEIT IN MINUTEN)
    TUnban(playername[]); //Einen Spieler wieder unbannen (braucht vollen namen)
    GetPlayerBanTime(playername[],&minute=0,&second=0); //Speichert in die eingegebenen Variablen wie lange der Spieler noch gebannt ist (braucht vollen namen)
    BanFileExist(playername[]); //Checkt ob der Spieler foxgebannt ist ^^ (braucht vollen namen)


    Installation
    Erst findet ihr "

    #include <a_samp>" im Script, indem ihr FoxBan nutzen wollt.
    Nachdem sie es gefunden haben, schreiben sie genau darunter das hier:
    #include <foXban>
    Danach öffnen sie ihren "scriptfiles"-Ordner, und erstellen da einen neuen Ordner namens "FoxBan".
    Da werden dann die Timeban-Files gespeichert.
    ACHTUNG: Wird dieser Ordner nicht erstellt, können die Timeban-Files nicht gespeichert werden und FoxBan wird nicht funktionieren !


    Download
    Pastebin foXban.inc - pastebin.de
    (ich empfehle es zu Downloaden, da geben es auch extra's)


    Download FoxBan_by_FoxHound.rar - RapidShare
    Download FoxBan_by_FoxHound.rar - SendSpace
    Download FoxBan_by_FoxHound.rar - SolidFiles


    Schlußwort
    Viel spaß damit, und ich erwarte eure Bugreports (falls vorhanden) und Ideen für die næchste Version :)
    Und wie immer:
    Copyright by FoxHound aka PSPgamer aka Gökhan Akin


    + Danke an DracoBlue für DCMD.
    + Danke an Alex aka Y_Less für seinen sscanf-Funktion.

    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new pVehicle = GetPlayerVehicleID(playerid);
    if (strcmp("/massive", cmdtext, true, 10) == 0)
    {
    new string[128];
    new Player[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Player, sizeof(Player));
    format(string,sizeof(string)," %s hat /massive betreten",Player);
    SetVehiclePos(pVehicle,2982.2178,-1694.4432,874.6970);
    SetPlayerPos(playerid,2982.2178,-1694.4432,874.6970);
    GameTextForPlayer(playerid,"~r~Massive Jump", 5000, 3);
    SendClientMessage(playerid, COLOR_ROT, string);
    return 1;
    }


    if (strcmp("/kart", cmdtext, true, 10) == 0)
    {
    new string[128];
    new Player[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Player, sizeof(Player));
    format(string,sizeof(string)," %s hat /kart betreten",Player);
    SetVehiclePos(pVehicle,2286.1597, 605.1251, 10.8203);
    SetPlayerPos(playerid,2286.1597, 605.1251, 10.8203);
    PutPlayerInVehicle(playerid,pVehicle,0);
    GameTextForPlayer(playerid,"~r~Kart Racing", 5000, 3);
    SendClientMessage(playerid, COLOR_ROT, string);
    return 1;
    }

    if (strcmp("/adminhaus", cmdtext, true, 10) == 0)
    {
    new string[128];
    new Player[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Player, sizeof(Player));
    format(string,sizeof(string)," %s hat /adminhaus betreten",Player);
    SetVehiclePos(pVehicle,841.4050,-2055.7004,12.8672);
    SetPlayerPos(playerid,841.4050,-2055.7004,12.8672);
    PutPlayerInVehicle(playerid,pVehicle,0);
    GameTextForPlayer(playerid,"~r~Nur fuer Rcon Admins", 5000, 3);
    SendClientMessage(playerid, COLOR_ROT, string);
    return 1;
    }

    if (strcmp("/looping", cmdtext, true, 10) == 0)
    {
    new string[128];
    new Player[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Player, sizeof(Player));
    format(string,sizeof(string)," %s hat /looping betreten",Player);
    SetVehiclePos(pVehicle,676.029,1323.996,1341.604);
    SetPlayerPos(playerid,676.029,1323.996,1341.604);
    PutPlayerInVehicle(playerid,pVehicle,0);
    GameTextForPlayer(playerid,"~r~Looping Jump", 5000, 3);
    SendClientMessage(playerid, COLOR_ROT, string);
    return 1;
    }
    return 0;
    }
    ALLE ersetzen :D

    Okay du hast vergessen das "new pVehicle = getblabla...... etc" und "PutPlayerIn...." zu kopieren :>
    Die auch kopieren und in die gleichen positionen wie im anderen command (die von mir gemachte) reinmachen.

    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    if(HouseInfo[h][hOwned] == 1)
    {
    if(HouseInfo[h][hRentabil] == 0)
    {
    format(string, sizeof(string), "%s\nLevel: %d",HouseInfo[h][hOwner],HouseInfo[h][hLevel]);
    Create3DTextLabel(string,0xFF0000FF,HouseInfo[h][hEntrancex],HouseInfo[h][hEntrancey],HouseInfo[h][hEntrancez],10.0,-1);
    }
    else
    {
    format(string, sizeof(string), "%s\nMiete: $%d Level: %d\n/rentroom um ein Zimmer zu mieten",HouseInfo[h][hOwner],HouseInfo[h][hRent],HouseInfo[h][hLevel]);
    Create3DTextLabel(string,0x00FF00FF,HouseInfo[h][hEntrancex],HouseInfo[h][hEntrancey],HouseInfo[h][hEntrancez],10.0,-1);
    }
    }
    else
    {
    format(string, sizeof(string), "Dieses Haus steht zum verkauf.\nPreis: $%d\nLevel: %d\nZum kaufen gib /buyhouse ein",HouseInfo[h][hValue],HouseInfo[h][hLevel]);
    Create3DTextLabel(string,0x00FF00FF,HouseInfo[h][hEntrancex],HouseInfo[h][hEntrancey],HouseInfo[h][hEntrancez],10.0,1);
    }
    }
    So sollte es gehen.
    PS.: Benutze beim VitualWorld immer 1 wenn du willst das es immer und in allen virtualworlds angezeigt werden soll

    if (strcmp("/kart", cmdtext, true, 10) == 0)
    {
    new string[128];
    new Player[MAX_PLAYER_NAME];
    new pVehicle = GetPlayerVehicleID(playerid);
    GetPlayerName(playerid, Player, sizeof(Player));
    format(string,sizeof(string)," %s hat /kart betreten",Player);
    SetVehiclePos(pVehicle,2286.1597, 605.1251, 10.8203);
    SetPlayerPos(playerid,2286.1597, 605.1251, 10.8203);
    PutPlayerInVehicle(playerid,pVehicle,0);
    GameTextForPlayer(playerid,"~r~Kart Racing", 5000, 3);
    SendClientMessage(playerid, COLOR_ROT, string);
    return 1;
    }
    Viel spaß.

    8/10: Für anfænger richtig gut, da können sie wieder vieles lernen :>
    Nur wieso wird das Callback jeden 300 Milisek. aufgerufen ??
    Das Uhr muss ja nur jede Sekunde geupdated werden.
    Wenn du eine Uhrzeit mit Milisekunden machst ist es natürlich anders, aber es ist sinnlos das es alle 0.3 sekunden geupdated wird.
    So frisst es unnötig zu viel Ressourcen mit alle 0.3 sekunden update.

    Na und ist doch egal ^^
    Nur weil die nicht stimmen, heist das nicht das diese hier auch nicht stimmen darf xD JOKE
    Aber da sieht man schon du hasts net selbst geschrieben (kopiert) da die links alt sind ^^
    Muss man auch nicht, wieso soll man was neu schreiben wenn es schon geschrieben ist xDDD meine meinung ist das ^^
    Einfach in die Suche "Streamer" eingeben und die wichtigen threads in nem neuen Tab öffnen, und wenn's fertig ist, die URL's kopiere und einfügen :>
    so hab ich's gemacht.

    1920x1080 Für das format gib nun mal wenig geile wallpaper und selbst amchen kannich nich
    weil ich zu faul bin ums zu lernen^^


    Du bist zu faul um nur ein paar sætze zu lesen bzw in Google "1920x1080" einzugeben und auf "Suchen" Button zu klicken, aber bist nicht zu faul um in die Adresszeile "forum.sa-mp.de"
    reinzuschreiben, ins Grafikdesign-Forum zu kommen, auf den Button "Neues Thema" zu klicken, und dann 11 zeilen Beitrag mit 69 Wörter und nem schmutzigen deutsch zu schreiben ?
    Hier haste deine Bilder, einfach oben auf "Grafiken" klicken -.- [ KLICK HIER FüR DiE BiLDER ]


    gib mir bilder


    Würde ich "DogZone" sein, würde ich dir noch 'ne Verwarnung geben :>


    PS.: Your German sux...