Telefon

Dieser Artikel beschreibt die Telefon-Applikation des PokéComs. Das Telefon erlaubt es dem Spieler, eine Reihe von Telefonnummern von Trainern und wichtigen Leuten zu speichern. Zudem kann er diese anrufen und selber angerufen werden.

Weiterführende Links
  • Rückkämpfe
    • Manchmal rufen Trainer den Spieler an, um diesen zu einem Rückkampf herauszufordern.
  • PokéCom
    • Das Telefon ist eine Applikation des PokéComs.

 

Inhalt

Der Telefon-Bildschirm

Telefon

Das Telefon

Das Hintergrundbild für den Telefon-Bildschirm heißt phonebg.png und befindet sich im Ordner Graphics/Pictures. Sollte das Bild nicht existieren, ist der Hintergrund schwarz.

Jemanden registrieren

Man registriert eine Person, indem man seine Telefonnummer in das Telefon speichert. Ein neuer Kontakt wird stets am Ende der Liste gespeichert, welche nicht sortiert werden kann. Es gibt keine Begrenzung an der Länge der Liste.

Einen Trainer registrieren

Damit ein Trainer registriert werden kann, müssen mehrere Battle-Befehle in seinem Event eingefügt werden. Siehe den Artikel Trainer für mehr Informationen über Trainer-Events. Die Gesamtzahl dieser Kommentare gibt die Anzahl der Male an, die der Trainer herausgefordert werden kann (inkl. dem ersten Mal). Dies ist auch die Anzahl an Trainern, die man definieren sollte. Der Kommentar RegSpeech ist der Text, den der Trainer sagen wird, kurz bevor er den Spieler in sein Telefon registrieren wird (z.B „Wollen wir Nummern tauschen?“).

Dies ist alles, was man tun muss. Wird das Spiel compiliert, wird das Event dementsprechend angepasst. Siehe den Artikel Rückkämpfe für mehr Informationen.

Speziellen Kontakt registrieren

Um einen Nicht-Trainer zu registrieren (z.B Professor Eich oder die Mutter), nutzt man folgendes Script:

Die erste Zahl (3) ist eine eindeutige Nummer für diesen Kontakt, welcher bestimmt, welche Anruftexte verwendet werden (siehe unten). Anschließend kommt der anzuzeigende Name des Kontakts. Die zweite Nummer (27) ist die ID-Nummer der Map, in der sich der NPC befindet. Der Name der Map wird in der Kontaktliste angezeigt.

NPC-Kontakte benötigen zudem auch Overworld-Charsets, damit sie korrekt in der Kontaktliste angezeigt werden. Diese Charsets befinden sich im Ordner Graphics/Characters und lauten phoneXXX.png, wobei XXX die zu identifizierbare Nummer ist (als dreistellige Zahl). Um Grafiken zu sparen, kann das Event später dieselbe Grafik nutzen.

Die Konversation, die kommt, wenn man den Kontakt anruft, muss ebenfalls für jeden Kontakt einzeln definiert werden. Siehe unten für mehr Informationen.

Telefongespräche mit Trainern

Die Konversationen werden dieselben sein, egal ob der Spieler den Trainer anruft oder umgekehrt.

Die Anrufe können entweder normale Gespräche sein oder eine Herausforderung zum Kampf. Alle Telefongespräche bestehen aus drei verschiedene Teilen:

Dialog-Typ Beschreibung
Greetings
GreetingsMorning
GreetingsEvening
Die erste Teil eines jeden Telefongesprächs. Der Rest des Gesprächs ist eines der folgenden Optionen:
Bodies1
Bodies2
Diese zwei Teile des Dialogs werden immer zusammen benutzt.
Generics Dies ist ein komplettes Telefongespräch, außer vom Greetings-Teil.
BattleRequests Ein Text, bei den der Trainer für einen Rückkampf bereit ist.

Die möglichen Dialoge für jeden der hier erwähnten Dialogtypen werden in der PBS-Datei phone.txt definiert. Jeder Dialogtyp besitzt seinen eigenen Bereich und jeder mögliche Dialog wird in einer eigenen Zeile geschrieben (siehe den Artikel Nachrichten, um zu erfahren, wie man die Sachen richtig formatiert).

Ein Dialog kann sich auf mehrere Sachen beziehen, wie z.B der Name des Anrufers oder den Ort. Dies kann man machen, indem man folgende Sachen im Dialog einfügt:

Code Bedeutung
\TN Der Name des Anrufers.
\TP Ein zufälliges Pokémon, das dem Trainer gehört (vom letzten Aufeinandertreffen).

Nicht verwenden, wenn der Anrufer kein Trainer mit einem Pokémon ist.

\TE Ein zufälliges Pokémon, das man auf der Map begegnen kann, auf der sich der Anrufer befindet.

Nicht verwenden, wenn der Anrufer kein NPC ist, der in einer Map herumsteht (d.h nicht bei speziellen NPCs verwenden, wie z.B Professor Eich).

\TM Der Name der Map, in der der Anrufer steht.

Nicht verwenden, wenn es sich bei dem Anrufer nicht um einen NPC handelt, der in einer Map herumsteht.

Will man diese bearbeiten, sollte man sich vorher anschauen, wie die in den bereits vorhandenen Texten verwendet werden, sodass man sie richtig verwenden kann.

Häufigkeit der Anrufe

Das Intervall zwischen zwei Anrufen liegt zwischen 20 und 40 Minuten. Die Zeit, wenn eine Nachricht angezeigt wird oder der Spieler durch Set Move Route bewegt wird, wird nicht mitgezählt. Der Anrufer wird zufällig von der Liste ausgewählt (von denen, die anrufen können).

Man kann nicht von jemandem angerufen werden, der sich auf derselben Map befindet.

Telefongespräche mit speziellen Kontakten

Jeder spezielle Kontakt in der Telefonliste kann jederzeit angerufen werden, indem man sie in der Liste auswählt. Sie werden jedoch nie von sich aus den Spieler anrufen.

Die Nachrichten, die angezeigt werden, wenn man einen speziellen Kontakt anruft, ist ein Common Event, dessen Nummer auch die Nummer des Kontaktes angibt (z.B 3 im Beispiel oben). Diese Nachrichten beinhalten das Geklingel und das Auflegen am Anfang und am Ende eines Anrufes.

Da diese Konversationen über ein Common Event gesteuert werden, lassen sie sich leicht anpassen (z.B kann der Professor den Pokédex vom Spieler bewerten). Die können dabei komplex werden und sich auch den gegebenen Umständen (z.B der Tageszeit oder dem Fortschritt des Spielers) anpassen.

Technische Details

Die Nummern im Telefon werden im Array $PokemonGlobal.phoneNumbers gespeichert. Jedes Element in diesem Array ist ein Array selbst, welches diverse Werte für diesen Kontakt auflistet. Die Länge und der Inhalt hängen davon ab, ob es sich um einen Trainer handelt oder nicht.

Für Trainer-Kontakte:

Index Wert Beschreibung
0 Ist sichtbar Ist entweder true oder false. Ist dieser Wert auf true, wird der Kontakt in der Telefonliste angezeigt (sodass der Spieler diesen anrufen kann).

Es ist wichtig, dass die Details des Kontakts gespeichert bleiben, auch wenn wieder „gelöscht“ wird, da diese Details für Rückkämpfe wichtig ist. Löscht man einen Kontakt, taucht dieser nicht mehr in der Telefonliste auf und kann auch nicht mehr angerufen werden oder zu einen Rückkampf herausgefordert werden. War er aber vor der Löschung schon zu einem Rückkampf bereit, kann er auch dann herausgefordert werden.

1 Trainertyp Der Trainertyp des Kontaktes (in der Form PBTrainers::CAMPER).

Beachte, dass alle Trainerkontakte einen gültigen Trainertypen besitzen müssen, selbst wenn der Trainer nie herausgefordert wird.

In der Kontaktliste ist dies der erste Teil des Namens, der angezeigt wird, z.B Camper in Camper Andrew.

2 Trainername Der Name des Kontaktes.

Beachte, dass alle Trainerkontakte einen gültigen Trainernamen besitzen müssen, selbst wenn der Trainer nie herausgefordert wird.

In der Kontaktliste ist dies der zweite Teil des Namens, der angezeigt wird, z.B Andrew in Camper Andrew.

3 Zeit bis zum nächsten Kampf Ist der Trainer registriert und wurde in einem Kampf besiegt, wird dieser Wert auf 2000+rand(2000) gesetzt und wird alle 1/4 Sekunden um 1 verringert (außer wenn Nachrichten angezeigt werden oder der Spieler durch Set Move Route bewegt wird). Erreicht dieser Wert 0, dann wird der „Kann kämpfen“-Wert von 1 zu 2 geändert.

Nach 8 Minuten 20 Sekunden bis 16 Minuten 40 Sekunden wird dieser Wert 0 erreichen (nicht mitgezählt wird die Zeit, in der Texte angezeigt werden usw.).

4 Kann kämpfen Ist eines der folgenden Werte:

  • 0 – Der Trainer kann nicht erneut herausgefordert werden und sein „Zeit bis zum nächsten Kampf“ muss zurückgesetzt werden.
  • 1 – Der Trainer kann noch nicht erneut herausgefordert werden und es zählt runter.
  • 2 – Der Trainer kann erneut herausgefordert werden, hat dem Spieler aber noch nicht Bescheid gesagt.
  • 3 – Der Trainer kann erneut herausgefordert werden und hat den Spieler Bescheid gesagt.

Der Wert wird auf 0 zurückgesetzt, nachdem der Spieler den Trainer besiegt hat und dann auf 1, sobald der „Zeit bis zum nächsten Kampf“ zu einem Wert gesetzt wurde. Es wird auf 2 gesetzt, wenn „Zeit bis zum nächsten Kampf“ den Wert 0 erreicht. Es wird dann von 2 auf 3 umgeändert, nachdem der Trainer den Spieler angerufen hat und Bescheid gesagt hat.

Ist dieser Wert auf 2, wird der Trainer dem Spieler, wenn er diesen anruft, sagen, dass er bereit für einen Rückkampf sei. Ist dieser Wert auf 3 und der Trainer ruft den Spieler an (oder umgekehrt), dann gibt es eine 50% Chance, dass der Trainer dem Spieler daran erinnern wird. Bei den anderen 50% kommt der übliche zufällige Monolog.

Beachte, dass der Trainer den Spieler nicht unbedingt vorher angerufen haben muss, um erneut herausgefordert zu werden. Der Rückkampf ist bereit, sobald „Zeit bis zum nächsten Kampf“ die 0 erreicht.

5 Nächste Trainerversion Diese Zahl gibt an, gegen welche Version des Trainers als nächstes gekämpft wird (0 ist der Originalkampf, 1 ist der erste Rückkampf usw.). Diese Zahl wird jedes Mal um 1 erhöht, wenn der Trainer besiegt wurde.

Dieser Wert kann nicht auf einen Wert erhöht werden, der über die Anzahl der Battle-Befehle im Event liegt. Sobald alle verschiedene Versionen des Trainers besiegt wurden, werden alle weiteren Kämpfe gegen diesen Trainer gegen dieselbe finale Version sein.

6 Map-ID Die ID der Map, auf der sich das Event befindet. Ist dieser definiert, wird der Name der Map mit in der Kontaktliste angezeigt.

Befinden sich Trainer und Spieler auf derselben Map oder in zwei verschiedene Regionen, kann dieser Trainer nicht angerufen werden.

7 Event-ID Die ID des Events vom Trainer auf der oben erwähnten Map.

Wird dieser zusammen mit der Map-ID definiert und ist der „Ist sichtbar“-Wert auf true, dann wird dessen Self Switches ausgelöst, um weitere Rückkämpfe zu ermöglichen. Dieser Wert hat sonst keine anderen Effekte.

Für Nicht-Trainer-Kontakte (Spezielle Kontakte):

Index Wert Beschreibung
0 Ist sichtbar Ist entweder true oder false. Ist dieser Wert auf true, wird der Kontakt in der Telefonliste angezeigt (sodass der Spieler diesen anrufen kann).
1 Nummer Eine einzigartige Nummer für jeden Kontakt. Wird dazu benutzt, zu bestimmen, welches Charset in der Kontaktliste angezeigt wird und welches Common Event benutzt wird, um die Nachrichten für diesen Kontakt anzuzeigen.
2 Angezeigter Name Der volle Name des Kontakts (z.B Professor Eich).
3 Map-ID Die ID der Map für diesen Kontakt. Wird nur dazu benutzt, den Ort des Kontakts in der Liste anzuzeigen.

Der Kontakt kann immer angerufen werden, egal wo man sich befindet. Eventuell möchte man eine passende Nachricht einfügen, abhängig vom Standort des Spielers.

Wenn der Spieler einen Anruf erhält, ist es ein zufälliger Trainer aus der Kontaktliste. Potenzielle Anrufer sind die Trainer, die sich auf einer anderen Map befinden, aber dafür in derselben Region wie der Spieler.

Die Zeit zwischen erfolgreichen Anrufen wird auf 20*60*Graphics.frame_rate + rand(20*60*Graphics.frame_rate) gesetzt und wird alle 1/40 Sekunden um 1 verringert (außer wenn Nachrichten angezeigt werden oder der Spieler per Set Move Route bewegt wird). Erreicht diese Zahl 0, dann wird ein Anruf von einem Trainer erstellt. Die Länge zwischen solchen Anrufen beträgt zwischen 20 und 40 Minuten.