1.0 Vorwort:
Dieses Tutorial setzt das bereits existierende Tutorial von ShinyGiratina fort da
meiner Meinung nach der PSKV-Editor aber in Sachen Anfängerfreundlichkeit und Syntaxhervorhebung( Bestimmte Wörter und Zeichenkombinationen in einem Text abhängig von ihrer Bedeutung in unterschiedlichen Farben darzustellen. ) dem XSE weit voraus ist werde ich das Tutorial weiterführen.
1.1 Meine Einstellungen in PSKV-UI
2.0 Basic-Scripting
2.1 Der Anfang
Bevor man mit irgendeiner Funktion beginnen kann muss folgendes stehen:
Also nochmal im Detail:
Das heißt dass das Script das Offset 800000 benutzt das Offset wird später beim Importieren in
Advance map sehr wichtig sein! Wenn ihr keine Ahnung habt welches Offset ihr
benutzen sollt benutzt 740000 (also 0x740000) da sich dieses automatisch ein
freies Offset sucht (wenn also 740000 benutzt ist sucht es das nächste
unbenutzte, 750001 zum Beispiel!)
Das wird
benötigt um das richtige Start-Offset zu finden (start kann durch eine beliebige
Zeichenfolge ersetzt werden!)
2.2 Hallo Welt! / Eine einfache Nachricht
Hier gibt es zwei Vorgehensweisen, über den Script-Generator oder von Hand
2.2.1 Der Script-Generator
Den Script-Generator könnt ihr Ganz einfach aufrufen indem ihr auf das Blatt mit dem Stift klickt!
Dann öffnet sich ein Fenster indem ihr einige Optionen habt unteranderem: Person Talking, darauf klickt ihr und bekommt ein Fenster Bei dem ihr Text eingeben könnt.
Es gibt einige "Add-Ons" für den text:
\c -Wird für Farben etc. benutzt:
\c\h01\h00 -Weiß
\c\h01\h01 -Weiß
\c\h01\h02 -Schwarz
\c\h01\h03 -Beage
\c\h01\h04 -Rot
\c\h01\h05 -Orange
\c\h01\h06 -Grün
\c\h01\h07 -Ein anderes Grün
\c\h0\h08 -Blau
\c\h0\h09 -Blau
und so weiter ....
\c\h03\h0(1//2/3/4/5/6/7/8/9) - Ist für den Schatten
\c\h02\h0(1/2/3/4/5/6/7/8/9) Das ist für den Text-Hintergrund
\c\h06\h0(1/2/3/4/5..) Und das für das Font
\hF8\h00-A Knopf ,
01 B-Knopf,
02 - L-Knopf,
03 - R-Knopf,
04 - start-Knopf,
05 - select-Knopf,
06 - Oben-Knopf(Bei mir verbuggt!),
79 Pfeil nach oben,
7A Pfeil nach unten,
7B und 7C Pfeile nach rechts und links
Wenn ihr weitere findet bitte posten!
\n Neue Zeile
\l Neue Zeile (nur wenn \n schon benutzt wurde!)
\p Neue Box
\h Hex Zeichen Hier eine Liste mit allen
00=
01=À
02=Á
03=Â
04=Ç
05=È
06=É
07=Ê
08=Ë
09=Ì
0B=Î
0C=Ï
0D=Ò
0E=Ó
0F=Ô
10=Æ
11=Ù
12=Ú
13=Û
14=Ñ
15=ß
16=à
17=á
19=ç
1A=è
1B=é
1C=ê
1D=ë
1E=ì
20=î
21=ï
22=ò
23=ó
24=ô
25=æ
26=ù
27=ú
28=û
29=ñ
2A=º
2B=ª
2C=•
2D=&
2E=+
34=[Lv]
35==
36=;
51=¿
52=¡
53=[PK]
54=[MN]
55=[PO]
56=[Ke]
57=[BL]
58=[OC]
59=[K]
5A=Í
5B=%
5C=(
5D=)
68=â
6F=í
79=7A=[D]
7B=[L]
7C=[R]
A1=0
A2=1
A3=2
A4=3
A5=4
A6=5
A7=6
A8=7
A9=8
AA=9
AB=!
AC=?
AD=.
AE=-
AF=•
B0=[...]
B1="
B2=["]
B3='
B4=[']
B5=[m]
B6=[f]
B7=$
B8=,
B9=[x]
BA=/
BB=A
BC=B
BD=C
BE=D
BF=E
C0=F
C1=G
C2=H
C3=I
C4=J
C5=K
C6=L
C7=M
C8=N
C9=O
CA=P
CB=Q
CC=R
CD=S
CE=T
CF=U
D0=V
D1=W
D2=X
D3=Y
D4=Z
D5=a
D6=b
D7=c
D8=d
D9=e
DA=f
DB=g
DC=h
DD=i
DE=j
DF=k
E0=l
E1=m
E2=n
E3=o
E4=p
E5=q
E6=r
E7=s
E8=t
E9=u
EA=v
EB=w
EC=x
ED=y
EE=z
EF=[>]
F0=:
F1=Ä
F2=Ö
F3=Ü
F4=ä
F5=ö
F6=ü
F7=
F8=[d]
F9=[l]
FA=\l
FB=\p
FC=\c
FD=\v
FE=\n
FF=\x
\v -Eingespeicherten Text abrufen:
\v\h01 - Spieler-Name
\v\h06 - Name des Rivalen
Danach kommt ein Fenster dass die Auswahl der TextBox ermöglicht. Hier seht ihr was die einzelnen Optionen bedeuten:
MSG_FIND -Sieht aus wie die box beim bekommen von Versteckten Items.
MSG_NOCLOSE -Schließt sich nicht automatisch closemsg wird benötigt.
MSG_NORMAL/MSG_LOCK Normale Nachricht mit lock Funktion (Die lock Funktion ist nur während der Text angezeigt wird aktiv! ).
MSG_OBTAIN Wird verwendet wenn man ein Item geschenkt bekommt/kauft.
MSG_SIGN Für Schilder.
MSG_STANDART/MSG_FACEPLAYER Text-box mit Faceplayer (Die Faceplayer Funktion ist nur während der Text angezeigt wird aktiv! ).
MSG_YESNO Text mit JA/NEIN Funktion.
2.2.1 Von Hand
Erst einmal das Komplett-Skript:
Im Detail:
Lock verhindert dass sich der Spieler eigenständig bewegen kann (applymovement funktioniert trotzdem!
Lässt das Event zum Spieler schauen (NUR BEI PERSONEN VERWENDEN! SONST PASSIERT ES DASS DAS SPIEL EINFRIERT! )
Das Kommando um eine TextBox zu öffnen (text kann durch eine beliebige Zeichenfolge ersetzt werden!)
Definiert den Typ der Nachricht. Hier eine Liste:
MSG_FIND -Sieht aus wie die box beim bekommen von Versteckten Items.
MSG_NOCLOSE -Schließt sich nicht automatisch closemsg wird benötigt.
MSG_NORMAL/MSG_LOCK Normale Nachricht mit lock Funktion (Die lock Funktion ist nur während der Text angezeigt wird aktiv! ).
MSG_OBTAIN Wird verwendet wenn man ein Item geschenkt bekommt/kauft.
MSG_SIGN Für Schilder.
MSG_STANDART/MSG_FACEPLAYER Text-box mit Faceplayer (Die Faceplayer Funktion ist nur während der Text angezeigt wird aktiv! ).
MSG_YESNO Text mit JA/NEIN Funktion.
Gegenteil von lock. Macht es dem Spieler wieder möglich sich zu bewegen
Beendet das Script. (Vergesst NIE "end" EINZUFÜGEN ODER EUER GAME CRASHT! )
Definiert @text mit "Lala" (nach = immer ein Leerzeichen!)
So dass sollte euer erstes Text-Script sein jetzt Seht ihr wie ihr es in Advance map bringt!
3.0 Importieren in Advance Map
Öffnet euer Rom dazu geht ihr auf rom---> Open Rom
Dann drückt ihr auf das eingekreiste Zahnrad
Als nächstes sucht ihr den Compiler log nach Errors. Wenn ihr ganz unten seid wird #org: data stehen und danach die Offsets dort kopiert ihr Das Erste Offset (die Zahlen nach 0x)
Jetzt geht ihr in Advance Map und in die Map die ihr wollt, ins Events Tab und klickt auf die Person/Das Schild/Das Script die/das das Script bekommen soll. (Neue Personen könnt ihr bei Eventmenge hinzufügen) Fügt das Offset ein lasst aber lasst die ersten 2 Nullen. (Bei Advance Map 1.9.2 könnt ihr alle Nullen löschen!)
Dann drückt ihr auf Script öffnen und schaut ob es richtig ist. WENN NICHT IST EIN FEHLER IM SCRIPT! Schaut im Compiler log nach!
Hier mein das Ergebnis (Habe Lala mit Test vertauscht)
4.0 Flags
4.1 Was sind Flags?
Flags sind Werte im Spiel gespeichert werden. Sehr nützlich für Events die nur einmal passieren sollen.
Hier gibt es 2 Scriptgenerator vorlagen Flag Skeleton 1&2 Welche das gleiche sind nur anders geschrieben sind!
4.2 Ziel:
Eine Person die immer abwechselnd sagt "Dialgia ist cool!" und dann "Mewtu ist cooler"
4.3 Umsetzung:
Geht auf Skript-generator und dann auf Flag Skeleton 1! Dann Klickt auf Flags und dann scrollt bis ganz nach unten um zu sehen welcher der letzte benutzte Flag ist dann schreibt in die TextBox eine höhere Zahl (bei mir 900!) Selektiert es und schreibt rechts Name und Bedeutung hinein. Dann klickt Close und gebt das entsprechende in den Textfeld ein (0x900 bei mir) dann klickt auf Ok.
Für mein Beispiel füge ich noch
ein um die Flag wieder zurückzusetzen
wenn
richtig
dann springe zu @flag-2
wenn nicht ...
Sollten verständlich sein (Überprüfen und setzten)
Schafft ihr es den Text zu ersetzen? Wenn nicht scrollt nochmal hoch zu Hallo Welt.
Also hier ist das End-Produkt:
5.0 addpokemon,checkgender,compare,storepokemon
- #dyn 0x740000'-----------------------------------#org @startlockfaceplayercheckgendercompare LASTRESULT BOYif == jump 0x874002E ' Equal Toaddpokemon NIDOQUEEN 0x5 0 0 0 0storefirstpokemon NIDOQUEENend#org 0x8740039#org@start'-----------------------------------addpokemon NIDOKING 0x5 0 0 0 0storepokemon NIDOKINGend
Im detail:
checkgender -schreiben des Geschlechtes in LASTRESULT
compare LASTRESULT BOY überprüfen ob in LASTRESULT BOY also Junge steht
if == jump 0x874002E wenn positiv(wenn nicht dann nächste Zeile) dann springe zu 0x874002E (normallerweise @Junge )
Jetzt weiter:
addpokemon NIDOQUEEN 0x5 0 0 0 0 Pokémon Level5 ohne Items hinzufügen
storepokemon NIDOQUEEN speichert das Pokémon
Resultat: