Beiträge von Beavis

    Ich frage mich, was Dini da drinnen zu suchen hat.


    Ich hatte keine lust das anders zu machen, da ich das Später dazugetan habe daher hab ich es auf dini genommen
    Ich hätte es anders machen können aber hatte keine lust groß Aufwand wieder zu machen wenns mit dini einfacher geht :D


    Aber ich kann es mal bei gelegenheit änden

    for(new i; i != GetMaxPlayers(); i++)//Schleife die alle Spieler durchgeht


    Dann nutz da bitte MAX_PLAYERS das ist etwas schneller als die Variante
    new string[MAX_PLAYER_NAME*MAX_PLAYERS];//String
    Kommt mir bekannt vor :D
    Aber dennoch ist die Variante besser als eine Feste größe

    Warum hat es ausgedient ?


    Ich habe mir ein besseres geschrieben, und da ich zu faul war das in mein Gamemode einzubauen joa hat das Ausgedient ^^
    Das neue werd ich umfangreicher machen (mehr infos für Admins senden was er genau cheatet)


    #else:


    Da gibt es nen trick wie du es testen kannst
    einfach in der include den define mit den GivePlayerWeapon ausklammern und dann ingame ne waffe holen.
    Da kommt das selbe bei raus mit den erkennen :D

    Waffen erkennen ist sehr einfach
    Du brauchst da nur 2 Variablen und nen Timer mehr nicht
    Du kannst es ja mal testen normalerweise sollte er dich direkt erwischen wenn du ne Waffe zauberst

    Guten zusammen


    Hiermit veröffentliche ich mein Altes Anticheat system.
    Da ich mir ein neues und besseres erstellt habe, brauch ich dieses nicht mehr und gebe es weiter.


    Man kann es Ingame komplett verwalten indem man einfach /anticheat eingibt.
    Dann könnt ihr per Dialogauswahl die vorgehensweise auswählen bzw änden (Kick/Ban/Safe Ban/Nichts)
    Das Safe Ban ist nicht mit dabei daher braucht ich das eigendlich nicht auswählen.


    Es erkennt:
    - Geld
    - Heal
    - Waffen
    - Tuning
    - Paintshop
    - C-Bug
    - Spam
    - Jetpack
    - Teleport
    - AFK System mit eingebaut (Sekundenanzeige bei AFK über den Spieler)


    Es hat bei mir zuverlässige arbeit geleistet aber es hat ausgedient.
    Ihr müsst nur in den Scriptfiles Ordner einen Ordner namens " B_AC " erstellen.
    Dann die Include unter pawno/includes einfügen und das Filterscript in den Filterscripts ordner rein.
    zum schluss nurnoch die include includieren und das Filterscript in die serverconfig eintragen.


    Dann ist die installation auch schon abgeschlossen ;)
    Den Download findet ihr im Anhang
    Pastebin ist hier zu finden: http://pastebin.com/raw.php?i=wa83qCeb


    falls ihr den Namen des Anticheats ändern wollt, dazu einfach im Filterscript das abändern
    #define AC_BOT_NAME "Relaxo"
    Ich hab den erstmal Relaxo genannt :D


    Viel spaß damit

    Irgendwie klappt das nicht :/


    Habe das so
    public OnPlayerStreamIn(playerid, forplayerid)
    {
    printf("StreamIn %d_%s / %d_%s",playerid,PlayerInfo[playerid][Name], forplayerid,PlayerInfo[forplayerid][Name]);
    if(IsOnBlackList(PlayerInfo[forplayerid][Userid], PlayerInfo[playerid][Team]))
    {
    PlayerInfo[playerid][BlackListLable][forplayerid] = CreatePlayer3DTextLabel(playerid, "Blacklist", cRed, 0.0, 0.0, 0.0, 30.0, forplayerid, INVALID_VEHICLE_ID, 1);
    print("Create");
    }
    return 1;
    }
    playerid bin ich forplayer der gegner
    Ich habe das einfach mal mit einen Bot getestet, und nix kam...
    StreamIn 1_[DT]Beavis / 0_[DTrp]Eric_Cartman

    Playerid = Der der weg geht
    Killerid = Der dem playerid halt ausgestreamt wird.


    Also müsste das richtig sein oder irr ich mich da?
    Ich kanns schlecht allein Testen :D
    public OnPlayerStreamIn(playerid, forplayerid)
    {
    if(IsOnBlackList(PlayerInfo[playerid][Userid], PlayerInfo[forplayerid][Team]))
    {
    PlayerInfo[forplayerid][BlackListLable][playerid] = Create3DTextLabel("Blacklist", cRed, 0.0, 0.0, 0.0, 20.0, 0, 1);
    Attach3DTextLabelToPlayer(PlayerInfo[forplayerid][BlackListLable][playerid], playerid, 0.0, 0.0, 0.7);
    }
    return 1;
    }


    Hat jemand ne idee?
    Ich finde den Fehler nicht wiso nix eingetragen wird

    Ist nicht Falsch wie ich es eingetragen habe,


    Er zeigt sie dir an auf der Map
    Aber achte mal drauf, denn ich wette 100:1 das die Zone Flackert
    Du kannst es ja mal mit IsPlayerInArea testen da wirst du sehen das es falsch ist, da die MinX, MaxX nicht richtig sind und das selbe mit den Y auch so
    Du kannst nicht einfach sagen
    MinX und MinY = AddPlayerClass 1
    MaxX und MaxY = AddPlayerClass 2


    Darauf wo man achten muss sind die X und Y coordinaten vergleichen welche größer sind und welche kleiner......


    //edit
    Ich habe hier mal ein Muster um zu sehen das es viele falsch machen
    AddPlayerClass(0,-2794.5500,1302.3000,3127.1560,262.0000,0,0,0,0,0,0); // Save 1
    AddPlayerClass(50,207.4913,-100.8774,1005.2578,357.1566,0,0,0,0,0,0); // Save 2


    GangZoneCreate(-2794.5500,1302.3000, 207.4913,-100.8774); //Das ist schon falsch (Ich habe einfach XY von 1 als Min genommen und XY von 2 als Max)
    GangZoneCreate(-2794.5500,-100.8774, 207.4913,1302.3000); //Das ist der richtige weg
    /*
    Erklärung


    -2794.5500 ist kleiner als 207.4913
    Daher ist MinX -2794.5500
    und MaxX ist 207.4913


    -100.8774 ist kleiner als 1302.3000
    Daher ist MinY -100.8774
    und MaxY ist 1302.3000
    */
    Das sollte eigendlich verständlich sein ;)

    Naja kann ja nicht Sinn der Sache sein, die Variablen umzubenennen.


    Wie willste es dann sonst machen ?!
    wenn du Global nen string deklarierst, und dann nochmal einen in einen Public erstellst, dann bekommst du exakt den Fehler.
    nennst du die Funktion um, dann ist der Fehler weg

    local variable "string" shadows a variable at a preceding level
    Wenn so ein Fehler kommt, dann schreib string anders


    Wo hast du die ocmd´s denn stehen?
    Da wo nix ist oder irgendwo mit reingeballert?

    Kann mir einer evtl sagen, wiso ich nichts in die Datenbank eingetragen bekomme?
    if(!strcmp("/createhaus", cmdtext, true))
    {
    /*if(!IsPlayerAdmin(playerid))
    return SendClientMessage(playerid,cRed,"Du bist nicht RCON eingeloggt!");*/
    new Slot = GetFreeHaus(),Float:Posis[3],i = random(sizeof(InteriorData));
    GetPlayerPos(playerid,Posis[0],Posis[1],Posis[2]);
    if(Slot == -1)
    return SendClientMessage(playerid,cRed,"• Das Hauslimit wurde erreicht!");
    format(query, sizeof(query), "INSERT INTO \"Haus\" (\"HausID\",\"Owner\",\"X\",\"Y\",\"Z\",\"iX\",\"iY\",\"iZ\",\"Int\",\"Miete\",\"Kasse\",\"renter\") VALUES ('','%d','%f','%f','%f','%f','%f','%f','%d','0','0','0');",Slot, Posis[0],Posis[1],Posis[2],InteriorData[i][hiX],InteriorData[i][hiY],InteriorData[i][hiZ],InteriorData[i][hInt]);
    result = db_query(BHSql,query);
    db_free_result(result);
    Haus[Slot][HausID] = db_insert_id(BHSql,"HausID","Haus");
    format(Haus[Slot][HausOwner],MAX_PLAYER_NAME,"");
    Haus[Slot][HausX] = Posis[0];
    Haus[Slot][HausY] = Posis[1];
    Haus[Slot][HausZ] = Posis[2];
    Haus[Slot][HausiX] = InteriorData[i][hiX];
    Haus[Slot][HausiY] = InteriorData[i][hiY];
    Haus[Slot][HausiZ] = InteriorData[i][hiZ];
    Haus[Slot][HausInt] = InteriorData[i][hInt];
    Haus[Slot][HausMiete] = 0;
    Haus[Slot][HausRenter] = 0;
    Haus[Slot][HausKasse] = 0;
    HausIcon(Slot);
    SendClientMessage(playerid,cGreen,"Das Haus wurde erstellt");
    return 1;
    }
    Ich habe es gedebuggt, da war alles richtig
    Der Tabellenaufbau ist der:
    query = db_query(BHSql, "CREATE TABLE IF NOT EXISTS \"Haus\" (\"HausID\" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, \"Owner\" VARCHAR NOT NULL, \"X\" VARCHAR NOT NULL,\"Y\" VARCHAR NOT NULL,\"Z\" VARCHAR NOT NULL,\"iX\" VARCHAR NOT NULL,\"iY\" VARCHAR NOT NULL,\"iZ\" VARCHAR NOT NULL,\
    \"Int\" INTEGER NOT NULL,\"Miete\" INTEGER NOT NULL,\"Kasse\" INTEGER NOT NULL,\"renter\" INTEGER NOT NULL);");
    Ich verzweifel noch X(