Beiträge von KeksOfDeath

    Falsch.
    Funktioniert nur bei ID 0.
    Hier die richtige Version:


    Immernoch falsch :P (War aber eher ein Flüchtigkeitsfehler)
    Das "new Warns[MAX_PLAYERS];" muss ganz oben ins Script, nicht in den Timer und beim zweiten public wird zwar ein string erstellt, der an niemanden gesendet wird, und auch noch unnötig 128 cells "verschwendet", da er nichtmal 60 lang ist. Nebenbei kann man das lieber mal zusammenfassen, ist Resourcenschonender und laääst den Cheatern nicht einen so großen Interval bis zum Kick/Ban
    public AntiWaffenCheat() {
    for(new i = 0; i < MAX_PLAYERS; i++) {
    if(IsPlayerConnected(i)) {
    new weapon = GetPlayerWeapon(i);
    if((weapon == 35 || weapon == 36 || weapon == 37 || weapon == 38) && !IsPlayerAdmin(i)) {
    if(Warns[i]<3) { Warns[i]++; }
    else {
    new s[60], name[16];
    GetPlayerName(i,name,sizeof(name));
    format(s,sizeof(s),"%s wurde wegen Waffencheat gekickt",name);
    SendClientMessageToAll(farbe,s);
    Kick(i); }
    }}}
    return 1;
    }

    Und das "new Warns[MAX_PLAYERS];" ganz nach oben

    StatusYo, das wird kaum funzen, bei "playerid" trägst du nix ein, deshalb checkt der nur die ID 0, die anderen Player sind dem vollkommen egal, dann checkst du nur die Munition,ob diese 69 ist. Was ist jetzt, wenn er sich ne Tec9 kauft und zufällig noch 69 Schuss übrig hat?
    Nebenbei kann man die Munitionsmenge, die man beim Waffencheat/hack bekommen soll auch noch verändern.
    Und deine Message, wird ingame so aussehen:

    Zitat

    s wurde wegen Muni/Waffen Hacks gekickt

    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate==PLAYER_STATE_DRIVER) {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(strcmp(name,"DJSpawn",true)==0) {
    SendClientMessage(playerid,farbe,"Willkommen in Ihrem Auto"); }
    else {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,farbe,"Nur für DJSpawn");
    TogglePlayerControllable(playerid,1); }}
    return 1;
    }

    //ganz nach oben:
    new djspawnauto;
    //OnGameModeInit:
    djspawnauto=AddStaticVehicle(...);
    //OnPlayerStateChange:
    if(newstate==PLAYER_STATE_DRIVER) {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(strcmp(name,"DJSpawn",true)==0) {
    SendClientMessage(playerid,farbe,"Willkommen in Ihrem Auto xD"); }
    else {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,farbe,"Nur für DJSpawn");
    TogglePlayerControllable(playerid,1); }}

    @ Bright:
    Kleiner Fehler
    stock IsACopCar(carid) {
    Aber dies ergib t nen Error, wegen dem:
    new mid=GetVehicleModel(aid);
    Also Header umändern:
    stock IsACopCar(aid) {

    Ja, du bräuchtest ein neues Motherboard, möglicherweise dann auch mehr neues.
    Passt dein alter Prozessor auf den neuen Sockel?
    Hat das Board den gleichen Bustakt?
    Hat es Anschlüsse für alte Graka?
    Verträgt sich der neue RAM mit den anderen Komponenten? (Bustakt)
    //EDIT: Wtf? Ich kann dir keine PN senden

    public OnPlayerText(playerid, text[])
    {
    if(Registration[playerid] > 0)
    {
    if(Registration[playerid] == 1)
    {
    new string [256];
    format(Pas, sizeof(Pas), "%s", text);
    //SpielerInfo[playerid][pPas] = text;
    format(string, sizeof(string), "Dein Passwort lautet absofort: %s", text);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    SendClientMessage(playerid, COLOR_RED, "Bitte dein Passwort niemals an jemanden weitergeben, auch nicht an Admins !");
    ShowMenuForPlayer(stats, playerid);
    return 0;
    }
    if(Registration[playerid] == 2)
    {
    new string [256];
    format(Question, sizeof(Pas), "%s", text);
    //SpielerInfo[playerid][pPas] = text;
    format(string, sizeof(string), "Dein Geheime Frage lautet absofort: %s", text);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    SendClientMessage(playerid, COLOR_RED, "Die Geheime Frage in Notfällen nur an eine der Hauptadmins angeben !");
    ShowMenuForPlayer(stats, playerid);
    return 0;
    }
    if(Registration[playerid] == 3)
    {
    new string [256];
    format(Answer, sizeof(Pas), "%s", text);
    //SpielerInfo[playerid][pPas] = text;
    format(string, sizeof(string), "Dein Geheime Antwort lautet absofort: %s", text);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    SendClientMessage(playerid, COLOR_RED, "Die Geheime Antwort in Notfällen nur an eine der Hauptadmins angeben !");
    ShowMenuForPlayer(stats, playerid);
    return 0;
    }
    }
    return 1;
    }