Ergebnis 1 bis 12 von 12

Thema: Cheating Sperre (LUA-Script für Cherry's Power Patch)

  1. #1

    Cheating Sperre (LUA-Script für Cherry's Power Patch)

    Ich hab vorhin aus langer weile ein Script für den Power Patch geschrieben, das dem Spieler bei Benutzung der Debug-Tasten "die rote Karte zeigt". Ihr könnts gern frei benutzen, damit eure Spieler nicht schummeln können.

    1. Öffnet mainloop.lua

    2. Sucht:
    Code:
    elseif msg == 13 then
    
     if FileExisting("test.sav") == false then -- Dasselbe wie oben
      SetVar(36, 0)
     else
      SetVar(36, 1)
      EraseFile("test.sav") -- Datei löschen
     end
    3. Fügt drunter ein:
    Code:
    elseif msg == 14 then
    
     function CheatAlarm()
      MsgBox(the_cheat, "Taste")
      MsgBox("Du darfst weder F9, F10, STRG oder Umschalt drücken", "Du alter Cheater!") -- Gibt dem Spieler die rote Karte
      ExitGame()
     end
    
     if TestPlay then -- Überprüft jetzt nach TestPlay und den 4 Debug-Tasten
      if KeyPressed(VK_F9) then -- Debugmenü
       the_cheat = "F9 gedrückt"
       CheatAlarm()
      elseif KeyPressed(VK_F10) then -- Parallelprozess-Brecher
       the_cheat = "F10 gedrückt"
       CheatAlarm()
      elseif KeyPressed(VK_CONTROL) then -- Geistmodus
       the_cheat = "STRG gedrückt"
       CheatAlarm()
      elseif KeyPressed(VK_SHIFT) then -- Messagebeschleuniger
       the_cheat = "Umschalt gedrückt"
       CheatAlarm()
      end
     end
     
    end
    4. Speichert

    5. Erstellt im Maker ein neues Event mit "Parallel Process".

    6. Inhalt des Events:

    Code:
    Variable ändern: [0009:Power Patch Msg 1] = 14
    Event rufen: Power Patch Msg
    7. Speichert das Event mit OK, speichert die Map, dann startet und versucht mal zu cheaten^^.

    Ab jetzt wird bei STRG, SHIFT, F9 und F10 immer zuerst gemeldet, welche gedrückt wurde und dann die rote Karte gezeigt. -> Spiel schliessen.

    Getestet: Ja
    Ergebnis: 100% funktionsfähig
    Bugs: 0 gefundene
    Einzige Macke auf schwachen PCs: verlangsamt leicht das Spiel

    Geplante Erweiterung:
    Verwarnungssystem mit gelber Karte, damit der Cheater beim ersten mal noch nicht rausfliegt.

  2. #2
    Naja, ganz nett, aber meiner Meinung nach ein wenig sinnlos. Wenn ein Spieler cheaten will und somit eventuell sich selbst den Spaß verdirbt, ist das sein Problem, und nicht das des Entwicklers. Außerdem kann man die Spiele im Maker sowieso umeditieren und die Anti-Debug-Komponente entfernen, wenn man wirklich cheaten will.

  3. #3
    Ich kenn etwas einfacheres:
    Molebox.Finde ich persöhnlich am besten

  4. #4
    Wobei Molebox meines Wissens nach Probleme mit dem Screentone macht.

  5. #5
    man braucht die exe von Molebox nur mit "RPG_RT.EXE TestPlay ShowTitle Window" starten und man ist im Testmodus...
    wie schon im Quartier gesagt:
    Dieses Skript ist vollkommener Schwachsinn. Bitte NICHT benutzen! Ich werde dann mal genauere Gründe für diese Behauptung so wie eine ordentliche Version reineditieren. ich meine, alleine eine Funktion andauernd neu zu definieren ist schonmal riesiger Murks.
    mfG Cherry

  6. #6
    Das Script ist schon alleine deswegen doof, weil ein Entwickler den Spieler nicht vom Cheaten abhalten sollte. Man cheatet nur, wenn man cheaten will und wenn das Spiel es dann nicht erlaubt, wird's eben gelöscht.

  7. #7
    Und was wäre wenn man ausversehen eine der Tasten drückt?

  8. #8
    so, hier mal eine vernünftige Version:

    in die "functions.lua":
    Code:
    function CheatAlarm(cheat)
     MsgBox("Du hast " .. cheat .. " gedrückt! Das ist nicht erlaubt!", "Anti-Cheat-Skript", MB_OK or MB_ICONWARNING)
     ExitGame()
    end
    in die "mainloop.lua", direkt über dem "Ready()":
    Code:
    if KeyPressed(VK_F9) then
     CheatAlarm("F9")
    elseif KeyPressed(VK_F10) then
     CheatAlarm("F10")
    elseif KeyPressed(VK_CTRL) then
     CheatAlarm("STRG")
    elseif KeyPressed(VK_SHIFT) then
     CheatAlarm("UMSCHALT")
    end
    mfG Cherry

  9. #9
    Es ist fragwürdig, inwieweit das Sinn macht, wenn man direkt im Maker selbst Veränderungen vornimmt oder man per Hyper-Patcher die Anti-Cheat-Sperre einfach löscht (zumal der Code hier genau dokumentiert worden ist).

    Zumal die Sperre mit dem RM2k3 nicht 100% kompatibel ist, wenn man im Spiel SHIFT einer Funktion zugeweist hat. (Man kann in Lua natürlich die SHIFT-Sparte löschen, dadurch wird SHIFT als "Cheattaste" allerdings wieder verfügbar)

    Zudem kann ein Cheat-Modus bei der Spieleveröffentlichung den Release beschleunigen. Allerdings ist dies eher ein schwaches Argument (aber immer noch ein Argument, was man nicht übersehen sollte). Man kann ja bestimmt auch sagen, dass der Hinweis auf den Cheat in der Release-Version gelöscht werden sollte, dann erfährt man es höchstens, wenn man im Maker selbst genauer guckt.

    Abgesehen davon dito zu Nathrael, Kelven und Isgar. Cheaten soll ein Spieler-Problem bleiben.

  10. #10
    das ist auch meine Meinung. ich wollte nur den Code korrigieren. Btw kann der Hyper Patcher den Debugcode doch gar nicht löschen...
    mfG Cherry

  11. #11
    Ich halte von dem Ding auch nicht all zu viel, weil wenn der Spieler unbedingt Cheaten will, soll er es doch tun. Er verdirbt sich da ja selber den Spielspaß. Deshalb finde ich den Patch auch schwachsinnig, besonders da man ihn wie oben auch schon geschrieben ohne Probleme wieder rauslöschen kann, da der sog. Cheatmode eh nur funktioniert, wenn man das Spiel im Maker öffnet. Wenn man schon nen Cheatblocker haben will, dann sollte man einen so schreiben das man im Maker keinen Zugriff auf den Code hat und damit auch keine Möglichkeit die Sperre wieder rauszulöschen.

  12. #12
    um hier gleich mal was richtigzustellen: man braucht den Maker NICHT, um ein TestPlay zu machen. Man muss die RPG_RT.exe nur mit den Parametern TestPlay, ShowTitle oder HideTitle und Window oder FullScreen zu starten.
    mfG Cherry

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •