Beiträge von myu

    .asi / .cleo

    Alleine wie du diese Dateien hier beschreibst zeigt das du keine Richtige Ahnung von der Materie hast..


    .cleo -> sind Plug-in's für das "CLEO" Plug-in.
    .cs -> Sind die dazugehörige Scripts
    .asi -> Einfach eine umbenannte .dll die mit dem ASI Loader in den GTA:SA Prozess beim Start Injected wird.


    "Da gibt es etwas, nennt sich Vertrauen."
    Vertrauen... Und das im Internet ist heutzutage unmöglich wenn du wüsstest (vill. weißt du es) wie viele Leute hier Vertrauenswürdig waren und am ende nur so getan haben das sie groß abräumen können.


    Alleine, ohne viele Programmierkenntnisse kann man dein Anticheat "bypassen" denn anhand den Screens sieht man das du nur über Web Responses arbeitest.
    Das heißt, abfangen & imitieren der Daten ist kein großes Problem...


    Alleine schon wer sich so etwas Kauft, wird im Endeffekt nicht viel Erfolg haben auch wenn du deine eigene Verschlüsslung Methode verwendest wer Versichert das du nicht zu der "böse" Seite wechselst und danach extra ein Bypass dafür schreibst ?


    * Ich sage nicht das es so ist, ich gebe nur meine Meinung wieder...

    Abgesehen, das es für mich eher kein Tutorial ist sondern wie ein Einfacher C&P Code aussieht ist nicht wirklich viel Erklärt...


    Hier ist wieder der Fall, das die Meisten Sachen Vorgemacht sind und ausführliche Erklärungen übersprungen wurden...


    Und da wäre noch eine Frage, warum verwendest du GetMaxPlayers(); diese Funktion macht den Code nur noch langsamer...


    Und, warum machst du ein MIX von einer Makro (MAX_PLAYERS) & GetMaxPlayers(); ?


    Sowie kann die Variable Telefoniert eine boolean sein (true, false) werte da du sowieso nichts anderes außer 0/1 verwendet und das das gleiche ist, bloß mehr Speicher spart.

    SetVehicleVirtualWorld(bfcars[5], 2);


    Deine Array ist nur "5" Groß, aber da Pawn bei 0 anfängt "4"....


    Also müsstest du bfcars[4] nehmen, aber dann würdest dur nur das letzte Fahrzeug in eine VW setzen.


    Es gibt 2 Varianten:


    Schleife:
    Diese Variante bringt den Vorteil das du die Array immer erweitern kannst ohne danach immer wieder eine Zeile mehr hinzuzufügen...


    Beispiel:

    for( new it = 0; it < sizeof(bfcars); it ++ ) // bedeutet soviel wie (neue variable it und dann auf 0 setzen), wenn it unter (sizeof(bfcars) -> gibt dir die größe von der array) also 4 dann variable (it++)
    {
    SetVehicleVirtualWorld(bfcars[it], 2);
    }


    Einzel Setzen:
    Normale Variable Setzerei


    Beispiel:
    SetVehicleVirtualWorld(bfcars[0], 2);
    SetVehicleVirtualWorld(bfcars[1], 2);
    SetVehicleVirtualWorld(bfcars[2], 2);
    SetVehicleVirtualWorld(bfcars[3], 2);
    SetVehicleVirtualWorld(bfcars[4], 2);


    Ich hoffe du nimmst meine Beispiel(e) wahr und probierst daraus zu Lernen ;)

    Du kannst keine Objekte einfach so größer "ziehen".


    Das ein zigste was du machen kannst ist das Objekt mit SetPlayerAttachedObject zu Skalieren, was dir aber nix bringt wenn du eine Statische Map willst.

    Schön! Damit kann jeder wieder euren Server wie früher mit unsichtbaren Spielern auffüllen, damit niemand mehr den Server betreten kann (wegen "Server is full" Meldungen)


    Die richtige Lösung ist ein Timer, ende.



    Immer dieser "rechtliche" Blödsinn.


    Einige wollen vielleicht kein Timer Verwenden ?
    Wenn das SA:MP Team es schon nicht für Lokale Dienste Ignoriert, übernimm ich es einfach das mit dem Unsichtbaren Spielern weiß ich Bereits und die Lösung dafür ist auch schon da einfach ein Callback an den Server damit kann man dann die Connections komplett selbst Handeln aber dies benötigt noch ein wenig Research...


    Für die Übergangszeit kann man auch selbst die Log's auslesen und für zu viele Connection's bannen.


    Und, ich habe nie gesagt das dieses Plugin für Öffentliche Nutzung Optimal ist.


    /E: Er überspringt momentan einfach den Check, im Code wird nichts Entfernt sondern nur umgeleitet.

    Cheater auftaucht und solange Hackt bis der Server Down geht

    Dagegen kannst du ein "Anticheat" machen, indem du einfach den Abstand der Schüsse überprüfst, wenn der halt nicht stimmt -> keine DMG genau so wie die Range ob er in der Nähe ist...

    Wenn jemand Lust und Laune hat sich ein Cheat Programm dafür zu Entwickeln das er 1000 Schüsse Pro Sekunde Abgibt(ClientSeitig) dann ist es halt so, falls für jemanden der AntiCheat Extrem wichtig ist, macht man halt einen AntiCheat Clienten wo ist das Problem?
    Außerdem:
    Wenn man so dumm ist und es den Usern verrät wie man es ausnutzen kann weiss ich auch nicht mehr weiter.


    1. Es gibt schon Programme dafür.
    2. Gute Art mit Kritik umzugehen, denn man kann dagegen einfach ein "Serverside" Anticheat machen ...
    3. Warum Dumm? Da kommen wir wieder zum Punkt das du keine Kritik ab kannst, ich erzähle von den Möglichkeiten ;)

    Hallo, Liebe Breadfish Community....


    Ich habe heute mal ein Plug-in gemacht, was es ermöglicht solche Meldungen vorzubeugen:


    Code
    Blocking *.*.*.* due to a 'server full' attack (1)
    Blocking *.*.*.* due to a 'server full' attack (1)
    Blocking *.*.*.* due to a 'server full' attack (1)
    Blocking *.*.*.* due to a 'server full' attack (1)


    Dies passiert meistens wenn man eine menge von Bots in einer kurzen Zeitspanne Verbinden lässt.


    So, da es nicht viel dazu zu sagen gibt hier die Download(s):


    Windows Plugin (SA-MP 0.3x R1-2 Server)
    Source Code (Pastebin)


    Eine Linux Version ist vorerst nicht Geplant, aber falls es soweit kommen sollte werde ich euch Informieren.

    Eine eigene Hitbox kannst du nur Perfekt mit Mathematischen Kenntnissen machen.
    Denn für dies müsstest du einiges Umrechnen und dabei noch die Sachen Beachten wie zB ist ein Spieler hinter einer Wand (was so nicht möglich ist.)


    Aber, alleine da durch das du die Frage stellst denke ich nicht das du soviel Erfahrung hast also solltest du Lieber etwas mehr Warten und mehr Erfahrung sammeln bevor du mit so etwas anfängst.

    Das nennt man nicht "Entbuggen" sondern "Buggen".


    SA:MP hat einfach keine Clientseitige Lag Ausgleichung (laut ein Statement zu CPU lästig).


    Wenn du dieses Callback verwendest, vertraust du den Clienten vollkommen und das ist dann der Fehler der Client shickt dieses Callback an den Server wenn er auf seinen Bildschirm einen Trifft aber wiederum auf den anderen nicht.


    Das gibt Cheatern wieder die Chance dieses zu Faken und zack, er macht rund um die 100 Kills in einer Sekunde.

    Oh die steuern das ganze über deine GPU und Direct X !!!

    *facepalm*
    Wenn du keine Ahnung von der Materie hast, dann lass es sein.


    Das Spiel ist mit hilfe von "DirectX" Entwickelt worden, und s0beit "hookt" einfach nur das Interface von GTA:SA um GUIS etc. pp auf den Bildschirm zu zeichnen.


    Gegen diese Art von Crasher gibt es momentan keine Öffentliche Lösung zur Behebung, da man den nirgends bekommt und SA:MP nur ein Schweizer Käse ist.


    Wenn so ein "Crasher" Public wird kann man sich dagegen Schützen. davor nicht außer man lässt 24/7 alles auf dem Server loggen (mit alles meine ich Alles) und dies ist so gut wie nicht möglich bei großen Spieler anzahlen weil die Datei mal eben in 1-2 Sekunden um die Gigabytes erreichen kann.

    So etwas ist nicht einfach möglich, es werden immer Spuren in der Log hinterlassen anderenfalls kann es sein das euer PC angesteckt wurde ?


    Da einige Skype Lücken existieren (sind bestätigt) womit man mit der 55 Version (v. den jetzigen) irgendwas mitn Unsichtbaren Filetransfer machen konnte.

    Ok, anders Formuliert wird das Geld nicht auf der Hand angezeigt (was ja Klar ist).
    Oder wird es beim Laden und danach Speichern wieder auf 0 gesetzt ?


    Wenn es nur nicht in der Geld anzeige sichtbar ist verwende einfach:


    User[playerid][Geld] = cache_get_field_content_int(0,"Geld",1);
    und danach
    GivePlayerMoney(playerid, User[playerid][Geld]);


    anderfalls, lass dir die geladene Geld Summe ausgeben printf("Geladenes Geld: %d", User[playerid][Geld]);

    1. Warum Skype, dieses Forum ist hier um allen mit einem "Problem o. einer Frage zu helfen".
    2. So was ist nicht einfach möglich, denn SA:MP stoppt die Synchronisation wenn du das Game nicht Aktiv hast das heißt du musst Tief in den Speicher dafür.