Erlaubnis von Shiny_Leafia - oder zumindest haben wir uns darüber schonmal unterhalten und er hatte nichts dagegen, dass ich so etwas mal schreibe.
0. Was ist die Secret ID und wozu braucht man sie?
Jeder Pokemon-Trainer hat neben seiner regulären und öffentlichen Trainer-ID (welche direkt im Menü eingesehen werden kann und auch im Bericht der Pokemon steht) noch eine versteckte "Secret"-ID. Diese wird ebenfalls im Spielstand und in jedem Pokemon gespeichert, ist jedoch nicht ohne weiteres einzusehen.
Wie auch bei der öffentlichen Trainer-ID kann das Spiel darüber feststellen, ob ein Pokemon einem Spieler "gehört", kann also darüber entscheiden, ob das Pokemon dem Spieler gehorcht und ob es den zusätzlichen Erfahrungsbonus erhält.
Die Trainer-ID und Secret-ID (ich werde diese Begriffe im weiteren Verlauf häufiger als TID, SID und SIDTID für die Kombination abkürzen) werden bei einem wilden Pokemon in dem Moment gespeichert, in dem das Pokemon gefangen wird. Bei Pokemon-Eiern werden zunächst SIDTID des ursprünglichen Züchters gespeichert; wenn das Pokemon dann schlüpft, werden die IDs durch die des Trainers überschrieben, in dessen Armen das Pokemon geschlüpft ist.
Bildlich gesprochen "vergisst ein Pokemon nie seinen ersten Trainer - respektive den Trainer, den es beim ersten Blick in die Welt gesehen hat" - so oft es auch getauscht wird.
Über die Secret-ID eines Trainers lässt sich ausrechnen, an welchen Bäume im Spielverlauf ein Munchlax (Mampfaxo) auftauchen kann, häufiger gestellt wird die Frage nach der SID jedoch im Zusammenhang mit Alternativ-Farb-Pokemon - Shinys.
Die SID spielt nämlich auch eine große Rolle, wenn es darum geht, den shiny-Status eines Pokemon zu bestimmen. Grundsätzlich kann jedes in der Wildnis auftauchende Pokemon shiny sein; erst, wenn es einen Trainer trifft, wird durch dessen SIDTID festgelegt, ob es nun shiny wird oder nicht. Selbiges lässt sich auch für Eier sagen: Jedes Ei kann als shiny schlüpfen - es muss nur vorher zum richtigen Trainer gebracht werden.
Ohne zuviel Werbung machen zu wollen: Dies ist das Prinzip der Shiny-Clique: Möglichst viele Mitspieler lassen ihre SIDTID abspeichern und für jedes Ei kann dann festgestellt werden, ob es dafür einen Mitspieler gibt, der es austragen kann. Wenn ja, wird es dorthin getauscht und der Züchter bekommt sein gezüchtetes Pokemon als Shiny zurück - jedoch mit einem anderen Originaltrainer. Je mehr Spieler mitmachen, desto besser werden die Chancen für jedes einzelne Ei - also für alle Spieler.
Inzwischen gibt es jedoch auch Verfahren, die in die umgekehrte Richtung gehen. Es gibt Möglichkeiten, sich aus den möglichen PIDs (Pokemon-ID, eigentlich zufälliger 32-Bit-Wert, der für möglichst viele Pokemon unterschiedlich ist) für ein Pokemon eine auszusuchen. Dabei wählt man beispielsweise eine, die zu einer "angenehmen" DV-Kombination führt - oder man nutzt aus, dass der Shiny-Check bekannt ist und wählt eine PID, welche zu einem Pokemon führt, welches _für_diesen_Trainer_ shiny ist.
Nur fürs Protokoll: (PID.LOW xor PID.HIGH xor TID xor SID < 8 => Pokemon shiny)
Mehr zur Mathematik:
http://www.shiny-clique.net/technical/math_de.htmDas muss man nicht von Hand errechnen - die Tools, die einem bei der Erstellung günstiger PIDs unterstützen, machen das alles von alleine - müssen aber dafür zumindest Trainer-ID und Secret-ID wissen, um diese Berechnungen durchführen zu können.
Trainer-ID kann man einfach ablesen, das Ermitteln der Secret-ID ist (wie oben schon erwähnt) etwas komplizierter. Genau darum geht es in diesem Guide.
Möglichkeiten:
1 PokeSav (oder ähnliche Tools)
1.1 Spielstand direkt mit PokeSav (oder ähnlichen Tools) ansehen:
Das PC-Programm PokeSav zeigt einem die Secret-ID eines Spielstands direkt an. Dazu muss der Spielstand natürlich auf dem PC vorliegen.
Dies ist beispielsweise automatisch der Fall, wenn man das Spiel auf einem Emulator am PC spielt. Auch wenn man auf Flash-Karte-Spielt, befindet sich der Spielstand meist als .sav-Datei auf der Karte und man kann ihn einfach auf den PC überspielen.
1.2 Pokemon direkt mit PokeSav (oder ähnlichen Tools) ansehen:
Das PC-Programm PokeSav zeigt in der Detailansicht zu den Pokemon auch die gespeicherte SIDTID des ursprünglichen Trainers an. Selbst wenn die .sav-Datei nicht der Spielstand des Trainers ist, zu dem man die SID wissen will, so kann man doch seine SID ermitteln, wenn man ein Pokemon von diesem Trainer hat.
2 Original-Spielstand auf den PC bringen:
Hat man ein Original-Spielemodul, so hat man den Spielstand nicht direkt als .sav-Datei, sondern muss den Spielstand erst einmal auslesen.
2.1 Action Replay:
Es gibt AR-Module, die exakt dieses Auslesen unterstützen. Hierbei habe ich weniger Erfahrung, aber "Action Replay Duo Max" fiel bei solchen Diskussionen schon häufiger.
-> Weiter bei 1.1 oder 1.2
2.2 Slot2-Flashmodul:
Wenn man ein Slot2-Flashmodul hat, so ist es mit entsprechender Backup-Software ("Rudolphs Slot2 Backup Tool") möglich, nach dem Start des Programms das DS-Modul zu wechseln und den Spielstand auf eine Speicherkarte in Slot2 zu schreiben. Anschließend kann der Spielstand von der Speicherkarte auf den PC kopiert werden.
-> Weiter bei 1.1 oder 1.2
2.3 Slot1-Flashmodul:
Bei Slot1-Flashmodulen hat man meist das Problem, dass man nach der Entnahme des Flashmoduls nicht erneut auf das Dateisystem zugreifen kann (ein Problem, welches bei Slot2 nicht auftritt, weil bei Slot2 die Speicherkarte nicht entnommen wird). Hier braucht man eine andere Möglichkeit, den Spielstand nach dem Auslesen "irgendwohin" zu speichern.
Das Programm meiner Wahl lautet hier "SavSender" (
http://wiki.pocketheaven.com/SavSender). Dieses sendet sie Speicherdaten per WiFi auf den PC.
Hat man den Spielstand auf den PC geschickt -> Weiter bei 1.1 oder 1.2
3 Am DS ansehen:
3.1 PokReaderDS:
Wenn man eh ein Flashmodul hat, muss man nicht unbedingt den Spielstand auf den PC schicken, sondern kann sich die Daten seiner Pokemon auch mit der Software "PokReaderDS" (
http://tccphreak.shiny-clique.net/pokreaderds/_index.htm) ansehen. Ähnlich wie bei (1.2) wird auch hier die Secret-ID von Pokemon angezeigt. Wenn man also mindestens ein Pokemon (oder Ei) des Trainers hat, dessen SID man wissen will (wenn das der Trainer ist, dessen Edition man ansieht, sollten da ein paar bei sein), kann man sich so ziemlich direkt die Secret-ID anzeigen lassen.
3.2 Action Replay
Es gibt Action Replay-Codes, die Deine geheime SID aus dem Spiel auslesen und dann auf dem Bildschirm anzeigen - beispielsweise wird der Geld-Wert damit überschrieben. Oder bei Pokemon statt der Trainer-ID die Secret-ID angezeigt.
Mangels AR bin ich in diesen Bereichen sehr schlecht ausgebildet und kenne auch nicht die Codes für die verschiedenen Spiele. Sollte sich jemand besser auskennen und die Codes in diesen Thread schreiben, kann ich das hier noch erweitern.
Nostalgiker hat geschrieben:
Code für Action Replay DS, Verwendbar auf deutscher Diamant-Edition sowie deutscher Perl-Edition
Secret ID (L+R)
94000130 fcff0000
b21c4e68 00000000
b0000004 00000000
da000000 000002e2
d6000000 000002e4
d2000000 00000000
Nach Drücken von L+R wird auf dem Trainerpass anstatt des Geldbetrages halt die SID angezeigt.
4 Tausch:
Die bisher erwähnten Methoden haben den Nachteil, dass man entweder eh auf dem PC spielt oder ein Cheatmodul oder ein Flashmodul besitzen muss. Das ist natürlich bei weitem nicht bei allen Spielern der Fall. Hier besteht aber noch die Möglichkeit, auf Kontakte zurück zu greifen.
4.1 Lokale Freunde:
Jemand in Deiner Klasse oder auf dem Schulhof hat ein Flashmodul? Dann ist die Sache einfach. Er startet den PokreaderDS und liest Dein Spielemodul ein.
-> Weiter bei 3.1
oder er leiht Dir kurz den DS oder Du tauschst ihm eines Deiner Pokemon, oder oder oder.
Jemand in Deiner Klasse hat ein Action Replay und kennt den Cheat Code? Dann kann er Dir den DS kurz leihen oder Du tauschst ihm ein Pokemon -> weiter bei 3.2
Jemand in Deiner Klasse hat ein Action Replay Duo, kann also nicht sofort bei PokReaderDS auslesen? Dann bleibt Dir zumindest noch die Möglichkeit, ihm ein Pokemon zu tauschen und er liest den Spielstand dann zu Hause aus
-> Weiter bei 2.1
Hier ließen sich auch größere Veranstaltungen wie Pokemon Days nutzen, um für Spieler ihre SID schnell auszulesen.
4.2 Ferne Freunde:
Bietet sich die lokale Möglichkeit nicht, kannst aber immer noch über das Internet tauschen. Dazu tauschst Du eines Deiner Pokemon zu einem Spieler, welcher ein Flashmodul oder Action Replay besitzt.
-> Weiter bei 3 oder 2.1
Selbst wenn dieser Freund kein solches Modul besitzt, aber in der Klasse oder auf dem Schulhof jemanden hat, welcher blablabla, kannst Du ihm das Pokemon tauschen und er macht dann bei 4.1 weiter.
Als Spezialfall möchte ich hier noch einmal kurz die Clique erwähnen: Mir ist von jedem Mitspieler in der Shiny-Clique die SID bekannt (notwendigerweise) und somit kann ich jedem Spieler auch anbieten, ihm nach Beitritt die SID mitzuteilen. Das ist einfach ein zusätzlicher Service neben den regulären Vorteilen.
5. Keine Tauschmöglichkeiten:
Du kannst nicht über das Internet tauschen und bist in einer Schule, in der Du gründligst geheim hälst, dass Du überhaupt schonmal von Pokemon gehört hast? Sprich, Du kannst mit niemandem tauschen und hast auch kein Flashmodul und kein Action Replay? Auch dann bist Du nicht völlig aufgeschmissen.
5.1 Zufallsshiny:
Der Shiny-Status wird aus der PID und der SIDTID berechnet, wenn Du also ein fertiges Shiny hast, dann weißt Du, dass die bekannte Relation bestehen muss. Wenn Du nun also nur noch Deine TID und die PID ermitteln könntest, ließe sich daraus die SID ableiten.
Die TID zu ermitteln ist eine Sache von einem Menüaufruf und die PID eines Pokemon ist auch nicht ganz geheim. Wenn Du die DVs des Pokemon ermitteln kannst (dazu gibt es Rechner im Netz), kannst Du auch auf die PID zurückrechnen und darüber dann die SID ermitteln.
Dazu ist allerdings nötig, dass es sich um ein reines Zufallsshiny handelt und nicht um ein gechaintes. Nur dann ist die Relation zwischen DV und PID so einfach, dass ein einzelnes Shiny ausreicht.
http://www.smogon.com/dp/articles/deducing_secret_idBtw: Da das Wesen des Pokemon auch öffentliche Information ist und die Menge der möglichen PIDs auf 4% reduziert, sollte man diese Filtermöglichkeit auch nutzen.
5.2 Chain-Shinys:
Bei gechainten Shinys wird der Shiny-Status nicht zufällig über die PID ermittelt. Stattdessen wird über die Kettenlänge eine Wahrscheinlichkeit auf ein Shiny ausgerechnet und bei einem "guten" Münzwurf eine shiny-PID für Deinen Trainer "erzwungen". Dabei werden die Bits der PID einzeln korrigiert und 13 weitere Zufallswürfe nötig. Die Relation zwischen DV und PID ist also nicht mehr so einfach wie bei 5.1
Damit lassen sich aus der Rückrechnung lediglich einige SIDs ausschließen, durch ein einzelnes Chain-Shiny hat man also meist noch nicht auf die richtige SID eingegrenzt.
Je mehr chain-Shinys man hat, desto mehr SIDs kann man ausschließen und inzwischen gibt es auch Möglichkeiten, mit etwa 6-7 dieser Chain-Shinys auch die SID eindeutig zu bestimmen.
http://www.eggmove.com/rngreporter/An dieser Stelle sollte ich noch kurz hinzufügen, dass man über 5.1 und 5.2 seine Secret ID nicht exakt ermittelt, sondern nur den Teil, der für shiny-Pokemon relevant ist.
5.3 Korrelation zwischen SID und TID (SEHR EXPERIMENTELL):
Das Ganze ist so experimentell, dass ich da noch absolut keine Garantie für die Richtigkeit geben kann. Dennoch wollte ich das zumindest mal irgendwo erwähnen, da das bei Smogon inzwischen wohl wieder untergegangen ist.
Ich kann inzwischen für eine gegebene SIDTID ermitteln, an welcher Stunde des Tages das Spiel des Trainers begonnen wurde. Dies ergibt sich aus der Erstellung der SIDTID (nach NeuInit der Zufallsgeneratoren der zweite Mersenne-Aufruf). Hierbei ergab sich schon jetzt, dass "einige" (mindestens drei, aber Testreihen sind noch lange nicht abgeschlossen) überhaupt nicht durch das Spiel erzeugt werden können. Andere wiederum könnten nur entstehen, wenn jemand das Spiel zwischen 24:00 und 255:59 gestartet hat - was sich als schwierig herausstellen könnte. Die Werte lassen sich mit viel Geduld - im einfachsten Fall 20 Minuten, im schwierigsten Fall 77 Stunden manipulieren, aber die meisten Trainer werden über 25:00 nicht hinaus kommen. Das bedeutet, dass die Anzahl realistischer SIDTID-Kombinationen wohl nochmals auf ein Zehntel reduziert werden kann.
Ich halte es also inzwischen für nicht mehr ausgeschlossen, dass es zu jeder TID eh nur eine "geringe" Auswahl an SID gibt, welche durch das Spiel erreicht werden konnten.
Zwar wäre es zu zeitaufwändig, alle möglichen SID für eine TID zu überprüfen (selbst bei Limitierung auf 25 Stunden oder gar auf eine Stunde), aber wenn jemand beispielsweise über 5.2 die Menge schon auf 10 Möglichkeiten reduziert hat, würde ich gerne mal gucken, welche davon noch 5.3 ausgeschlossen werden können.
Wie gesagt: Das ist sehr experimentell und kaum überprüft und zeitaufwändig bis zum Gehtnichtmehr und ich bin weit davon entfernt, komplette Listen zu haben - aber ich wollte es zumindest mal erwähnen.
Soviel erstmal dazu. Ich würde den Thread hier nun gerne noch mit ein paar Rechenbeispielen füllen (für 5.1 und 5.2), später noch ein paar Links zu den Programmen und anderen Guides sowie ins Cheatforum zu den Cheatcodes ergänzen - aber die grundsätzlichen Methoden sind erstmal drin.
btw: Anfragen wie "Wer will mein Freund nach 4.2 sein?" gehören weder in extra-Thread, noch in einen Post hierhin, sondern (soweit ich einige Rüfel richtig verstanden habe) in die Signatur. Leute, die 4.2.shiny-clique in Anspruch nehmen wollen, melden sich bitte über die zuständige Seite.
Grüße,
TCC