Forum
Stranded II Scripts cheatingcheating
13 replies 1
es gab dazu anfragen die aber nie beantwortet wurden, da sonst so gut wie jeder diese barriere einbauen würde
Zwar sehr umständlich, aber ich könnte mir vorstellen mit Skripts dauernd zu überprüfen, ob der Spieler ja nicht gecheatet hat. Hat der Spieler bspw. ein Kristallschwertm bevor er es eigentlich hätte bekommen sollen, wirft das Skript den Spieler einfach aus dem Spiel:
1
con "exit"
@davidsung
könntest du mir dass näher erklären? Ich mache sowieso gerade ne eigene Mod.
Ich bin wieder um 18:00 Uhr online.
edited 1×, last 24.07.11 12:08:21 pm
Ich glaube davidsung meint mit Quelltext den Source Code und den kannst du nur bearbeiten, wenn du Blitz(3D?) hast und Blitz kannst...
Die Map "Verschollen im Nordmeer" macht es vermutlich nach einem ähnlichen Verfahren.
1
2
3
4
5
2
3
4
5
on:trigger{ 	if (gotstate ("unit",1,"17")==1){msg "Cheatschutz aktiviert!",3,5000; 	freestate "unit",1,"17"; 	addstate "unit",1,"4";} 		}
der vorteil daran ist, dass man keinen extra timer die ganze zeit laufen lassen muss, der zusätzliche rechenleistung braucht.
außerdem gibt es bei einem timer den nachteil, dass man ihn auf eine sehr geringe wiederholungszeit setzen müsste, was dann zu laggs führen könnte, da man ansonsten beispielsweise bei einem timer von 1 sekunde einfach direkt nachdem man sich den unsterblichkeits-state verpasst hat, den rucksack öffnen könnte, wodurch das spiel pausiert wird, der timer wird nicht ausgeführt, man öffnet erneut das cheat menü und nimmt den state wieder weg, danach hat man wieder volles leben und wenn der timer ausgeführt wird passiert nichts.
diese art von cheaten ist also relativ leicht zu verhindern.
etwas umständlicher wird es allerdings, wenn man verhindern will, dass der spieler sich items hercheatet, da muss man dann mit variablen arbeiten, die für den spieler unsichtbar im hintergrund laufen und mit denen man dann überprüfen kann, ob der spieler ein item bereits haben kann oder nicht, beispielsweise wenn man für das erledigen einer aufgabe ein item ausgehändigt bekommt setzt man eine variable $aufgabe_1_erledingt von 0 auf 1. je nachdem, ob der spieler das item von einem npc bekommen oder vom boden aufheben soll kann man dann wie oben beschrieben vorgehen, nur dass man hier on:find oder on:collect als events verwenden muss, bei deen dann mithilfe der variable überprüft wird, ob der spieler das item bereits haben darf.
1