Kamikaze Board



Zurück   Kamikaze Board > RPG Maker > RPG Maker Technik (2K/2K3) > Tutorials

Antwort
 
Themen-Optionen
Alt 17.06.2009, 16:21   #1
Cherry Männlich
Kirscherator
 
Benutzerbild von Cherry
 
Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
Standard Cheating-Schutz und mehr

Cheating-Schutz und mehr
Wie jeder weiß, kann man im RPG Maker eine Anzahl an Variablen einstellen, die man nutzen möchte. Im Maker kann man dann nur diese Variablen auswählen, im F9-Menü sind auch nur diese Variablen sichtbar (z.B. 0001-5000).

Diese Begrenzung ist aber nur kosmetisch. Sie existiert hauptsächlich deshalb, weil das Array, was die Variablen-Namen fasst, eine fixe Länge haben muss. Tatsächlich können aber jegliche Variablen-IDs im Spiel verwendet werden.

Der RPG Maker reserviert immer nur Speicher für die Variablen bis zu jener, die die höchste in diesem Spiel verwendete ist. Soll heißen: Wenn noch keine Variablen verwendet wurden, ist auch kein Speicher reserviert. Wird der Variable 10 nun ein Wert zugewiesen, wird Speicher für 1-10 reserviert, etc.

Es gibt dabei aber keine Überprüfung auf einen Maximalwert! Man kann also beliebig hohe Variablen verwenden, auch jene weit über dem Maximum, das in der Database eingestellt ist. Diese kann man natürlich nicht im Maker auswählen.

Nun aber der Trick: Der Option "Variable No."/"Variable Refernce" (je nach Übersetzung) bei "Change Variable". Damit kann man ja Variablen anpointern, also sagen "Greif auf jene Variable zu, deren Nummer in der Variable soundso steckt".

Um nun auf die Variable 123456 zuzugreifen (egal, welches Limit im Maker eingestellt ist), verwendet man folgendes:

Code:
<> Change Variable: [0001] = 123456
<> Change Variable: [V[0001]] = 999
<> Message: Wert von Variable 123456: \v[123456] (hier sollte 999 stehen)
Man braucht also immer eine Hilfsvariable, in die man die ID der gewünschten "unsichtbaren" Variable schreibt.

Da die Option "Variable No."/"Variable Reference" bei Forks nicht verfügbar ist, braucht man hier 2 Hilfsvariablen: in die zweite lässt man den Wert der angepointerten "unsichtbaren" Variablen schreiben und fragt sie dann in der Fork ab.

Das schöne daran: Nachdem sich die Anzeige im F9-Menü ja nach dem im Maker eingestellten Limit richtet, sind höhere Variablen dort nicht sichtbar! Cheater sind von diesen Variablen also ausgesperrt (außer sie durchschauen das System und ändern was in den Events).

Die Namen der "unsichtbaren" Variablen kann man dann natürlich nicht mehr im Maker einstellen, sondern muss sie sich wo anders aufschreiben.

Viel Spaß damit

mfG Cherry
__________________
Cherry ist offline   Mit Zitat antworten
Alt 17.06.2009, 16:36   #2
Super-17 Männlich
Trick Siebzehn
 
Benutzerbild von Super-17
 
Registriert seit: 19.11.2002
Alter: 27
Beiträge: 680
Standard

Gäbe es nicht noch eine Möglichkeit, die Debugoption (oder wie immer das heißt) einfach zu deaktivieren, so, dass man es auch nachträglich nicht einfach wieder auf Testplay stellen kann?
Eine andere Idee wäre, einfach F9 mit dem Befehl "Spiel beenden" zu belegen, habe das aber noch nicht ausprobiert und weiß nicht, ob das funktionieren würde.
__________________
░█▀▀ ░█▀█ ░█ ░█▀▀ ░░█▀▀ ░█▀█ ░█ ░█ ░░░░█▀▀ ░█▀█ ░█▀▀▀ ░█▀█ ░
░█▀▀ ░█▀▀ ░█ ░█ ░░░░█▀▀ ░█▀█ ░█ ░█ ░░░░▀▀█ ░█▀█ ░█░▀█ ░█▀█ ░
░▀▀▀ ░▀ ░░░▀ ░▀▀▀ ░░▀ ░░░▀░▀ ░▀ ░▀▀▀ ░░▀▀▀ ░▀░▀ ░▀▀▀▀ ░▀░▀ ░

http://trick17.deviantart.com/
Super-17 ist offline   Mit Zitat antworten
Alt 17.06.2009, 16:44   #3
NeptunVII Männlich
Goblin
 
Benutzerbild von NeptunVII
 
Registriert seit: 12.04.2008
Ort: KÖLN
Beiträge: 139
Standard

cool noch nie ausprobiert.

ich dachte immer der maker würde n err. bringen.
ist auf jedenfall sehr interessant, nur eins stört mich ein wenig an der ganzen theorie:

Zitat:
Soll heißen: Wenn noch keine Variablen verwendet wurden, ist auch kein Speicher reserviert. Wird der Variable 10 nun ein Wert zugewiesen, wird Speicher für 1-10 reserviert, etc.
will das jetzt bedeuten, dass wenn man jetzt der variablen 123.456 einen wert gibt, das ALLE variaben mit den id's von 1 - 123.456 ein platz im speicher abgelegt wird?
gut das ist pro variable zwar nicht viel, aber 5000 leere variablen (bzw. 4998 wenn man die 2 hilfsvariablen abrechnet und alles andere über max sreibt.) im speicher liegen zu haben ist in meinen augen nicht gerade das was man 'recourcenspaarend' nennen kann

EDIT:
Zitat:
5000*4, das sind 20.000 Bytes, also 0,02 MB. Ich schätze, du hast mindestens 256 MB RAM insgesamt? :P
ok hast gewonnen -.-°
__________________
Posting © NeptunVII 2008-2028. (Fast) Alle Rechte vorbehalten. Kein Kritisieren ohne Erlaubniss. Tipp- und Rechtschreibfehler sind absichtlich eingebaut und dienen der Belustigung des Lesers. Alles was in diversesten Postings als Lüge ausgelegt werde könnte, ist nicht als Lüge sondern als sachzwangreduzierte Ehrlichkeit anzusehen. Die Grammatik der Beiträge ist frei erfunden, eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.

Geändert von NeptunVII (17.06.2009 um 18:20 Uhr).
NeptunVII ist offline   Mit Zitat antworten
Alt 17.06.2009, 17:31   #4
derula Männlich
23
 
Benutzerbild von derula
 
Registriert seit: 03.02.2003
Alter: 29
Beiträge: 3.068
Blog-Einträge: 67
Standard

Zitat:
Zitat von NeptunVII Beitrag anzeigen
will das jetzt bedeuten, dass wenn man jetzt der variablen 123.456 einen wert gibt, das ALLE variaben mit den id's von 1 - 123.456 ein platz im speicher abgelegt wird?
Ja.

Zitat:
Zitat von NeptunVII Beitrag anzeigen
gut das ist pro variable zwar nicht viel
Je 4 Byte AFAIK.

Zitat:
Zitat von NeptunVII Beitrag anzeigen
aber 5000 leere variablen [...] im speicher liegen zu haben ist in meinen augen nicht gerade das was man 'recourcenspaarend' nennen kann
5000*4, das sind 20.000 Bytes, also 0,02 MB. Ich schätze, du hast mindestens 256 MB RAM insgesamt? :P
__________________
"So, und jetzt Schluss mit dem Lamentieren - lasst uns etwas Kunst machen!!!" - GS_Raphael
derula ist offline   Mit Zitat antworten
Alt 18.06.2009, 11:21   #5
Cherry Männlich
Kirscherator
 
Benutzerbild von Cherry
 
Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
Standard

Zitat:
Zitat von Super-17 Beitrag anzeigen
Gäbe es nicht noch eine Möglichkeit, die Debugoption (oder wie immer das heißt) einfach zu deaktivieren, so, dass man es auch nachträglich nicht einfach wieder auf Testplay stellen kann?
Eine andere Idee wäre, einfach F9 mit dem Befehl "Spiel beenden" zu belegen, habe das aber noch nicht ausprobiert und weiß nicht, ob das funktionieren würde.
Natürlich. Aber das ließe sich ganz billig aushebeln, in dem man eine andere EXE nimmt. Der Vorteil an meiner Methode ist ja u.a. auch der, dass das ganze subtil funktioniert. Also der Cheater merkt von dem System nicht sofort was (außer man nennt die Hilfsvariablen "Cheating-Schutz Pointer" oder ähnlich dämlich), sondern findet einfach die Vari für die Gegner-HP nicht, oder so.
__________________
Cherry ist offline   Mit Zitat antworten
Alt 18.06.2009, 12:39   #6
Gridlock'd Männlich
Thug Life
 
Benutzerbild von Gridlock'd
 
Registriert seit: 20.11.2006
Ort: Berlin
Alter: 29
Beiträge: 1.793
Standard

Spiele - und ganz besonders Rollenspiele - werden durch das ercheaten von Skills, Items
oder weiss der Fuchs, sehr schnell, sehr langweilig. Dürfte allgemein doch bekannt sein.
Wer meiner Meinung nach cheatet, schneidet sich also in der Grube, die er sich selbst gegraben hat, in's eigene Fleisch.

Das letzte mal, hab' ich bei Gothic 3 gecheatet. Nach einer erfolgreichen Quest, gab mir so n Nordmar-Typ lächerliche 3 Goldmünzen, statt 3 versprochener Erzklumpen. Und im Dialog stand auch noch:"Hier hast du deine 3 versprochenen Erz".
Hab' mir mittels Konsole meine Belohnung ercheatet. Die 3 Gold behielt ich als Aufwandsentschädigung.
War ein Bug, wie sich hinterher rausstellte.

Will damit sagen, dass Cheat-Optionen manchmal ganz nützlich sind.
Und wer sich den Spielspass verderben will, der soll's doch machen.
Schon Herausforderung genug, ein Spiel auf die Beine zu stellen. Mich dann auch noch um Cheat-Blockaden bemühen!? Nein Danke.

Trotzdem heftig, worüber du dir so Gedanken machst Cherry.
__________________
"I don't advocate senseless violence of any human being. I'm the one who's been beat down. But I will not be a victim again." ~ Tupac Shakur
Gridlock'd ist offline   Mit Zitat antworten
Alt 18.06.2009, 13:14   #7
Teclis Männlich
Redakteur
 
Benutzerbild von Teclis
 
Registriert seit: 15.09.2002
Ort: Rock City
Alter: 29
Beiträge: 5.360
Standard

Man kann auch einfach nachdem das Spiel fertig ist eine Kopie des Projektes erstellen, darin alle Switch und Variablennamen löschen und dann diese Version veröffentlichen. Das schreckt die meisten schon ab, weil rudimentäre Zusammenhänge im Maker allein nicht mehr so schnell durchschaut werden. Von der F9-Taste ganz zu schweigen ^^
Teclis ist offline   Mit Zitat antworten
Alt 18.06.2009, 13:20   #8
Veyrne Männlich
Administrator
 
Benutzerbild von Veyrne
 
Registriert seit: 24.04.2004
Ort: Blewth Castle
Alter: 30
Beiträge: 13.441
Blog-Einträge: 11
Standard

Zitat:
Zitat von Teclis Beitrag anzeigen
Man kann auch einfach nachdem das Spiel fertig ist eine Kopie des Projektes erstellen, darin alle Switch und Variablennamen löschen und dann diese Version veröffentlichen. Das schreckt die meisten schon ab, weil rudimentäre Zusammenhänge im Maker allein nicht mehr so schnell durchschaut werden. Von der F9-Taste ganz zu schweigen ^^

Ja, die Version habe ich bisher immer genutzt. Obwohl man auch das System durchschauen kann. Lebensvariablen und Gegenstandsvariablen durchschaut man oft sehr schnell und kann sie zu seinen Gunsten manipulieren.



Aber die Version von Cherry ist mir auch einmal ein ganz neuer Trick. Sowas ist natürlich noch ein Stück sicherer. Besonders weil man sowas mit dem Trick von Teclis gut kombinieren kann.
__________________

Filehost - Regeln - EBook - Raccu - YouTube - RPGA.info
Secret of Monkey Island (PSP)
Veyrne ist offline   Mit Zitat antworten
Alt 18.06.2009, 23:42   #9
Froschvampir Männlich
Schwertfechter
 
Benutzerbild von Froschvampir
 
Registriert seit: 24.05.2007
Ort: Kreuzlingen
Beiträge: 271
Blog-Einträge: 11
Standard

Gegendarstellung: Ein Cheating-Schutz ist doch irgendwie total lächerlich. Soll man doch bei Singleplayer-Games so spielen, wie man es will? Solange man keine anderen Spieler dabei belästigt (wie z.B. in Multiplayergames), ist das doch völlig OK. Ich "cheate" z.B. auch relativ häufig bei schwierigeren Spielen, einfach, weil meine Motivation extrem schnell flöten geht, wenn eine zähe Stelle im Spiel kommt, für die man relativ viel Zeit braucht (die ich für Makergames einfach nicht investieren will, sry). Dann ist es doch besser, wenn ich kurz irgendwas mit F9 ändere, als dass ich gleich ganz aufhöre und das Spiel dann vermutlich nicht mehr anrühre? Außerdem stehe ich dazu, auch ein relativ schlechter Spieler zu sein. Bei Singleplayerspielen geht's mir hauptsächlich um die Story, und wer sich solche Gedanken darüber macht, ob der Spieler sich das Durchzocken nun etwas einfacher macht oder nicht, wird wohl auch kaum anständige Spiele produzieren können =P
Und was ist, wenn irgendein Killerbug auftritt oder so? Knieschuss. Was es ja eigentlich sowieso wäre, da man für Makergames schließlich nicht zahlt und ein Spiel, welches den Spieler durch solche unnötige Dinge belästigt, auch einfach in den Papierkorb kicken kann - und ich denke, wenn man sein Spiel irgendwo vorstellt, will man doch genau, dass dieser Fall nicht eintritt

Dennoch interessant, was du alles herausfindest, Cherry, muss ich schon sagen. Aber kümmere dich lieber wieder um sinnvolle Patches und Tools! Die möchte ich nämlich nicht missen.
__________________
«Echo, echo… A kick in the head to kill the hollow.»

Geändert von Froschvampir (18.06.2009 um 23:44 Uhr).
Froschvampir ist offline   Mit Zitat antworten
Alt 21.06.2009, 14:52   #10
Coincidence Männlich
der dritte Koluchová-Twin
 
Benutzerbild von Coincidence
 
Registriert seit: 17.04.2004
Ort: Münster
Alter: 28
Beiträge: 5.186
Blog-Einträge: 12
Standard

Cheat-Schutz macht vor allen Dingen nur dann Sinn, wenn die Balance des Spieles stimmt. Selbst Klassiker wie "Mondschein" waren, wenn man ordentlich spielte, spätestens beim Auftauchen dieser Roboter nur noch schwer schaffbar. Ich sehe im Cheat-Schutz nur dann einen Sinn, wenn man eine Fairness von lachsischem Ausmaß in den Kämpfen erzeugt hat und alles andere schaffbar ist, wenn man etwas nachdenkt (Alone hat das etwa nicht allzu toll gemacht). Aber die Idee ist gut, Cherry. :)

Coincidence
Coincidence ist offline   Mit Zitat antworten
Alt 21.06.2009, 16:56   #11
Cherry Männlich
Kirscherator
 
Benutzerbild von Cherry
 
Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
Standard

Die Technik kann ja auch für anderes verwendet werden. Den Sinn oder Unsinn von Cheaten und Cheat-Schutz zu diskutieren war nicht meine Absicht ^^

Ich würde btw in mein Spiel (wenn ich eines hätte) keinen Cheat-Schutz einbauen.
__________________
Cherry ist offline   Mit Zitat antworten
Alt 28.09.2009, 00:04   #12
anti-freak Männlich
Anfänger
 
Benutzerbild von anti-freak
 
Registriert seit: 06.10.2008
Alter: 25
Beiträge: 74
Standard

Ok, ich habe was rausgefunden.
Wenn ich jetzt über den PowerPatch auf die Variable 500x zugreife, sie aber vorher nicht direkt aus dem Maker angesprochen wurde, sprich auf die Art, die Cherry gepostet hat, wir sie NICHT auf den Wert gesetzt.

Nochmal in klaren Worten, man kann auf Variabeln, die auf diese Art erstellt werden sollen, mit dem PowerPatch erst darauf zugreifen, wenn der Maker sie erstellt hat (iwi logisch, aber hätte ja sein können, dass sie durch den PP auch erstellt werden).

Vll hilfts einem, mir hat es Stundenlange Sucharbeit eingebracht xD
__________________
Mein aktuelles Projekt:
2D Game Engine (Arbeitstitel)
anti-freak ist offline   Mit Zitat antworten
Alt 28.09.2009, 13:23   #13
MagicMaker
Krieger
 
Benutzerbild von MagicMaker
 
Registriert seit: 18.02.2007
Beiträge: 340
Standard

Zitat:
Nochmal in klaren Worten, man kann auf Variabeln, die auf diese Art erstellt werden sollen, mit dem PowerPatch erst darauf zugreifen, wenn der Maker sie erstellt hat (iwi logisch, aber hätte ja sein können, dass sie durch den PP auch erstellt werden).
PP kann doch sowieso nur Variablen ansprechen die bereits inizialisiert sind, zB wenn du 400 im Maker einstellst kannst du auch einfach zu Spielbeginn die #400 auf 0 setzen lassen, dann kennt PP sie auch alle. Wie das mit Vars ausserhalb vom Bereich ist weis ich nicht.
__________________
~~~~~
MagicMaker ist offline   Mit Zitat antworten
Alt 28.09.2009, 14:34   #14
Cherry Männlich
Kirscherator
 
Benutzerbild von Cherry
 
Registriert seit: 04.10.2007
Ort: Österreich/Salzburg/Pongau
Alter: 23
Beiträge: 1.183
Blog-Einträge: 1
Standard

Genauso.
__________________
Cherry ist offline   Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Cheating Sperre (LUA-Script für Cherry's Power Patch) MagicMaker RPG Maker Programme und Erweiterungen 1 29.05.2008 17:42


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:44 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
RPGA.info