[Advanced]"Laggen"



  • Hallo,

    es geht darum ein Problem zu lösen an dem ich schon
    zu lange (3 Monate) sitze...
    Ich habe schon vieles versucht aber es nie richtig hinbekommen,
    aber ich komme mal zur Sache:

    Ich möchte in einem Spiel eine Online-Verzögerung einbauen um
    es kurzzeitig anzuhalten.
    Das Spiel erkennt automatisch, wenn der Computer eines
    Spielers "nicht antwortet", und das gilt es zu erreichen:

    Früher habe ich es mal erprobt indem ich ein Tool verwendet habe,
    dass den Computer für Emulatoren langsamer macht, damit funktionierte
    es aber es war sehr umständlich und ließ sich nicht gut "timen" außerdem
    reine Prozessorverschwendung, aber es ging...

    Nun wollte ich es in mein eigenes Programm einbauen und ging wie folgt vor:

    Zuerst habe ich versucht das Programm komplett anzuhalten, dass ist mir auch gelungen indem ich in einer schleife alle Handles "kaltgestellt" habe:

    SuspendThread(hThread);
    

    Zu meinem Schreck hielt das Spiel zwar an, aber nur für mich, da mein Computer iergendwie noch antwortete...
    Wenn ich das Programm wieder released hatte wurden für 10 Sekunden alle Spieler schneller und ab dann war eben alles wieder Syncron 😃

    Bei meinem zweiten Anlauf musste ich weiter ausholen 😃
    Ich hab mich mal auf etwas schweres eingelassen und die beiden API's
    "QueryPerformanceCounter" und "GetTickCount" via API-Injection gehookt und
    sie beliebig verändert um mein Spiel nun 40 mal so langsam laufen zu lassen wie normal 😃

    Als es dann endlich funktionierte wie ich wollte ( 😃 ) musste ich feststellen dass der Effekt genau der gleiche geblieben war (für mich hält das Spiel an für die anderen nicht... nach dem Pausieren geht es weiter) aber ich wusste dass es mit dem Tool dass die CPU ausbremst geht, komisch.

    Naja nun wende ich mich an euch um euch nach einer effizienten und Funktionierenden Methode zu fragen das zu bewerkstelligen (ich vermute dass wenn die TCP-Verbindung iergendwie aufrechterhalten wird alles trozdem noch funktioniert auch wenn das Programm angehalten wird) 😕 😕

    Habt ihr iergendwelche Ideen oder Möglichkeiten?

    Grüße,
    euer Listing :p



  • Du sprichst von Warcraft 3, gell?



  • Black Shadow schrieb:

    Du sprichst von Warcraft 3, gell?

    👍

    PS: Wenn ich das Game statt 40 mal so langsam 40 mal zu schnell laufen lasse, lagge ich zwar ein bisschen kriege aber fast sofort ein disconnect 😃



  • Vielleicht fällt jemandem ja noch was ein :p



  • Listing schrieb:

    Vielleicht fällt jemandem ja noch was ein :p

    bump 2 Wochen später, das Problem hält 😃



  • Willst du deinen Gegner durch permanentes Laggen die Freude am Spiel verderben und auf ein leave hoffen oder was hast du damit vor?

    MfG



  • jaja das sind die cheater die auch bei ragnarok mit ner lag-exe durch den precast laggen :p



  • Oder Diablo 2 kaputt machen, nur um zu dupen. 😡
    Seltsam, dass den Thread noch kein Mod dicht gemacht hat. Sowas verstösst idR gegen die Nutzungsbedingungen der Hersteller und ist somit nicht legal.


Anmelden zum Antworten