Beiträge von JustMe.77

    Wo rufst du das auf?
    Wie sieht die IsVehicleAZug Funktion aus?
    Versuch mal das return vor dem RemovePlayerFromVehicle zu entfernen und eine Zeile darunter zu packen.


    Trennung..


    Wieso machst du das so kompliziert mit der Tankanzeige, also die TextDraws anzeigen?
    Du kannst auch ein einziges TextDraw erstellen und dann den String ändern und die genaue Tankanzeige anzeigen lassen.

    Ungetestet, aber sollte so funktionieren.
    PS: Wieso überhaupt ein Timer? Kannst ihn ja auch ohne kicken..



    new DelayKick[MAX_PLAYERS];



    public OnPlayerConnect (playerid)
    {
    if(sSpieler[playerid][Gebannt] = 1)
    {
    DelayKick[playerid] = SetTimerEx("DelayKickPlayer", 1000, false, "i", playerid);
    }
    return 1;
    }




    forward DelayKickPlayer(playerid);
    public DelayKickPlayer(playerid)
    {
    SendClientMessage(playerid, -1, "Du bist gebannt. Erstelle ein Entbann Antrag...");
    KillTimer(DelayKick[playerid]);
    return 1;
    }

    Hey Breadfish Community,



    ich habe in der letzten Zeit mehr Lust auf Scripting bekommen und habe mir vorgenommen, ein Script zu entwickeln und den Fortschritt mit euch zu teilen.
    Wie es am Ende aussgeht weiß ich selber nicht, ich scripte nach Lust und Laune und mache das nicht weil ich vor habe ein Projekt zu starten, sondern weil ich Spaß daran habe.
    Falls ich es trotzdem mal geschafft bekomme das alles zu vollenden, kann ich ja trotzdem noch entscheiden ob ich ein Projekt starte oder nicht ;)



    Feedback und Vorschläge sind gerne gesehen, bin für alles offen :)





    Habe es bei mir mit dem Befehl 1:1 ausgetestet und es klappt einwandfrei..
    Hast du ein zweiten Befehl in einem Filterscript oder Ähnliches der den selben CMD Namen hat?
    Benutzt du SetPVarString(playerid, "oldName", name); oder GetPVarString(playerid, "oldName", name, MAX_PLAYER_NAME); noch an einer anderen Stelle?

    @ChrisJewels


    Kann's nicht testen aber ich würde es so machen.
    Mit einer Warnung falls ein Admin mit dem gleichen oder einem niedrigerem Level versucht ein Admin zu bannen ;)



    ocmd:ban(playerid,params[])
    {
    if(!isAdmin(playerid,3))return SendClientMessage(playerid,Color_Red,"Du bis kein GJ Teammitglied oder dein Admin Level ist zu niedrig");
    new banid,bangrund[60], str[144];
    if(sInfo[playerid][alevel] <= sInfo[banid][alevel])return SendClientMessage(playerid, Color_Red, "Der Admin hat ein gleiches oder höheres Level als du, unterlass es!");
    format(str, sizeof(str),"{%06x}%s {FF0000}hat versucht dich zu bannen!", GetPlayerColor(playerid) >>> 8, getPlayerName(playerid));
    SendClientMessage(banid, -1, str);
    if(sscanf(params,"uds",banid,bangrund))return SendClientMessage(playerid, Color_Orange,"INFO: /BAN [Name/ID][Ban-Grund]");
    if(!IsPlayerConnected(banid))return SendClientMessage(playerid,Color_Red,"FEHLER:Der angegebene Spieler ist nicht online");
    if(strlen(bangrund)<=5)return SendClientMessage(playerid,Color_Red,"FEHLER:Bangrund zu kurz[Mindestens 5 Zeichen]");
    if(strlen(bangrund)>60)return SendClientMessage(playerid,Color_Red,"FEHLER:Bangrund zu lang[MAX. 60 Zeichen]");
    {
    format(str,sizeof(str),"Du hast den Spieler %s aus dem Grund %s dauerhaft vom Projekt ausgeschlossen!",getPlayerName(banid),bangrund);
    SendClientMessage(playerid,Color_Green,str);
    format(str,sizeof(str),"Du wurdest von %s dauerhaft aus dem Projekt ausgeschlossen! Grund: %s",getPlayerName(playerid),bangrund);
    SendClientMessage(banid,Color_Red,str);
    Ban(banid);
    format(str,sizeof(str),"%s hat %s vom Server gebannt",getPlayerName(playerid),getPlayerName(banid));
    SendClientMessageToAll(Color_Brown,str);
    }
    return 1;
    }

    Ich finde dieses TUTO nicht schlecht allerdings gibt es hier einen kleinen Bug denn man ausnutzen könnte und zwar könnte der Spieler mit einem niedrigen Adminlevel ein höheren Admin einfach die Anzahl an Warns geben und Ihn damit bannen.


    Klar wenn man ein Team hat sollte man darauf vertrauen da so etwas nicht passiert allerdings wird es bestimmt leute geben die dies versuchen.


    Daher kurze Frage ob Ihr eine Abfrage kennt die rausfindet ob ein Adminlevel größer oder kleiner als des Spielers ist der diesen Befehl ausführt.

    Hast du den Codeabschnitt an dein eigenem Admin System angepasst oder ist der Befehl weiterhin nur für RCON Admins verfügbar?
    Du kannst für beides eine Abfrage schreiben, aber für letzteres gibt es nur ein "Level", deswegen könntest du eine Abfrage schreiben wo verhindert wird das sich Admins gegenseitig warnen können.



    if(IsPlayerAdmin(warnid)) return SendClientMessage(playerid, -1, "Du kannst ein Admin nicht verwarnen!");


    einfach über die Zeile "Der Spieler ist nicht online" einfügen :)


    //Handy