Ergebnis 1 bis 6 von 6
Thema: [TUT] Neuer Pokemon TUT
-
16.04.2010, 14:15 #1yugi_fan
[TUT] Neuer Pokemon TUT
Inhalt
1. Advance Map
2. Neue Tiles in Advance Map einfügen
3. XSE
Was ihr braucht:
1. Advance Map:Advance Map
2. Neus Tiles in Advance Map:
1. Paint und GraphicsGale (kostenlos)
2.Adobe Photoshop
3.Advance Map
4.evtl. Irfanview
3. Für XSE:eXtreme Script Editor
1. Advance Map:
Advance Map Guide
Ihr braucht als Erstes Advance Map
Advance Map 1.92
Als Zweites brauchen wir nur noch eine Pokemon-Rom.Die Müsst ihr per Google Finden!
Nun könnt ihr Anfangen.
Maps Bearbeitn
Geh Daten Infos
Header-Infos
Wilde Pokemon Infos
Event Infos
Schritt 1:
Öffnet das gewünschte Tile in Paint. Ihr könnt auch eins erstellen. Die Größe ist egal. Geht dann auf Ansicht -> Zoom-> Benutzerdefiniert -> 800%.
Schritt 2:
Ihr müsst dem Tile einen transparenten Hintergrund hinzufügen. Ich nehme jetzt mal ein Schwarz, das dunkelste Schwarz das es gibt. Klickt zuerst auf den Farbfüller und dann oben auf das dunkelste Schwarz. Jetzt klickt ihr auf den Hintergrund eures Tiles. Wenn ihr fertig seit, speichert euer Tile als .png irgendwo ab, wo ihr es auch findet.
[align=center]
[align=left]Schritt 3:
Ihr habt die Wahl zwischen Photoshop und GraphicsGale. Ich empfehle aber ausdrücklich Photoshop zu benutzen. Ich werde aber beide Varianten erklären.
Photoshop:
Startet Photoshop und öffnet euer Tile mit STRG+O. Dann geht ihr oben auf Image -> Mode -> Indexed Color.
So, jetzt müsste sich ein Fenster öffnen. Hier werdet ihr (hoffentlich) den Punkt Colors sehen und daneben eine Zahl. Dies ist dia Anzahl der Farben in eurem Tile. Habt ihr weniger oder genau 16 Farben benutzt, habt ihr euch ein wenig Arbeit erspart. Habt ihr mehr 16 Farben benutzt, müsst ihr die Farbanzahl mit Irfanview "herunterschrauben". Das ist leider bei mir der Fall. Klickt nun auf OK. Jetzt geht ihr wieder zu Image -> Mode und dieses Mal geht ihr auf Color Table. Jetzt seht ihr eure Palette für das Tile. Klickt rechts auf Save und speichert es als .ACT-Datei.
Für alle dessen Tile mehr als 16 Farben hat:
GraphicsGale:
Diese Methode ist fast unbrauchbar, da durch einen Bug in GraphicsGale die Farben in der Palette dunkler gespeichert werden, als sie sind. Aber wer es trotzdem ausprobieren will:
Öffnet euer Tile mit GraphicsGaleund klickt oben auf Image -> Count Colors Used.
Nun öffnet sich ein Fenster in dem ihr sehen könnt, wie viele Farben euer Tile hat. Wenn ihr maximal 16 Farben habt, dann habt ihr euch ein wenig Arbeit erspart. Habt ihr aber mehr als 16 Farben benutzt, lest etwas weiter unten weiter. Klickt nun auf den kleinen schwarzen Pfeil im Palettenfenster.
Dann klickt ihr auf Save Pallet und speichert die Palette ab, wo ihr sie findet.
Für alle dessen Tile mehr als 16 Farben hat:
Schritt 4:
Startet Advance Map und ladet mit STRG+O eure ROM. Drückt STRG+B auf eurer Tastatur um den Block-Editor zu öffnen.
In der Mitte seht ihr eine Dropdown-Liste mit den Paletten.
Klickt auf eine der Paletten, die nicht benutzt wird, z.B. Palette 7. Klickt oben auf Paletten -> Aktuelle Palette aus Datei laden. Jetzt ladet eure Tile-Palette, die ihr bei Schritt 3 gespeichert habt. Habt ihr das getan, klickt ihr wieder oben auf Paletten und dann auf Paletten-Änderungen ins ROM schreiben.
Jetzt müsst ihr euer Tileset speichern und zwar so: Bild -> Tileset 1/Tileset 2 speichern. Welches Tileset ihr speichern wollt, bleibt euch überlassen.
Schritt 5:
Startet GraphicsGale, drück STRG+O und öffnet euer zuvor gespeichertes Tileset. Nun öffnet das Raster mit 16x16. Wie das geht, siehe Spoiler.
Jetzt fügt euer Tile in das Tielset ein, indem ihr euer Tile in Paint kopiert und dann mit STRG+V in GraphicsGale einfügt. Nun speichert das neue Tileset ab.
Schritt 6:
Geht zurück zum Block-Editor von Aadvance Map. Klickt wieder oben auf Bild -> Tileset 1/Tileset2 laden. Habt ihr das getan, klickt ihr wieder oben auf Paletten und dann auf Paletten-Änderungen ins ROM schreiben.
-
-
16.04.2010, 14:20 #2yugi_fan
AW: [TUT] Neuer Pokemon TUT
3. XSE
Inhaltsverzeichnis:
1. Einführung/ Funktionen
2. Text - Script
2.1 callstd Extras
3. Giveitem/Pokemon/Egg - Script
3.1 Flag
3.2 Giveegg
4. AdvanceMap Script einfügen
5. Applymovement - Script
5.1 Besondere Movements
6. Trainer/ Kampf - Script
6.1 Trainerbattle 0
6.2 Trainerbattle 1
6.3 AdvanceMap und A-Trainer
6.4 Besondere Trainer - Scripts
7. Sonstige
7.1 Setmaptile
7.2 Tür - Scripts/ Warp
7.3 Wildbattle
7.4 Wetter - Scripts
7.5 Pokemart
7.6 Hidesprite/ Showsprite
7.7 Erdbeben
7.8 Countpokemon
7.9 Buffer - Scripts
7.9.1 bufferpokemon
7.9.2 bufferfirstpokemon
7.9.3 bufferitem
7.9.4 bufferattack
7.9.5 buffernumber
8. Extras/ Listen
9. Nachwort
10. Credits
1. Einführung/ Funktionen
Benötigte Programme:
eXtreme Script Editor
AdvanceMap (Ich glaube das haben alle )
Anfangs öffnen wir XSE:
Nun gibt es verschiedene Funktionen:
Wir öffnen am besten mal eine Rom:
Datei -> Öffnen:
Dann können wir einen Script eingeben und wenn wir ihn in die Rom (brennen) wollen,
drücken wir einfach auf diese Taste:
Dann erscheint das und mit der Taste kopieren, kann man sogar das Offset in die Zwischenablage kopieren, toll oder?:
Rechts kann man sogar Dezimalzahlen in Hexzahlen umwandeln und anders herum, weil auch bei givepokemon Befehlen nicht wie in Poke(t)script givepokemon 11 5 0 im Dezimalsystem steht, sondern in Hex -> givepokemon 0xB 0x5 0x0 0x0 0x0 0x0
Hier kann man auch Scripts dekompilieren. Dazu muss man nur das Offset des Scriptes angeben oder man lädt sich den XSE.exe als Script-Editor in AdvanceMap und drückt dann entsprechend auf Script-Öffnen:
AdvanceMap:
Wer mehr Fragen zu den Funktionen hat, kann das gerne Posten! Oder per PN!
2. Text - Script:
So nun haben wir die einfachste Variante um einen Script zu schreiben. Einen ganz normalen Text - Script:
Beginnen wir mit den ersten Befehlen, die erklärt werden
Code:#dynamic 0x800000 #org @main lock faceplayer msgbox @text callstd 0x6 release end #org @text = Hallo, ich heiße Nils und mache \ndieses Tutorial...
Code:#dynamic 0x800000
Code:#org @main
Code:lock
Code:faceplayer
Code:msgbox @text
Code:msgbox @text 0x6
Code:callstd
callstd öffnet verschiedene Arten von Textboxen. Hier eine Kleine Liste:
Code:release
Code:end
Code:#org @text =
= Bla Bla Bla...
Es gibt aber auch noch verschiedene Farben, womit man die Schrift schöner machen kann!
Dazu seht euch am besten das Tut von driver an:
Hier
Auch wenn es mit Poke(t)script-Befehlen ergänzt wurde übertragt einfach nur das "\c\..." Also womit man die Farben ändert.
Das war ein normales Beispiel zu einem callstd 0x6 Script, aber wie funktioniert er mit callstd 0x5, also Ja/Nein Box?
2.1 callstd Extras:
Das klären wir anhand dieses Beispieles:
Code:#dynamic 0x800000 #org @main lock faceplayer msgbox @text callstd 0x5 Compare LASTRESULT 0x1 if b_true goto @ja compare LASTRESULT 0x0 if b_true goto @nein #org @ja lock faceplayer msgbox @text2 callstd 0x6 release end #org @nein lock faceplayer msgbox @text3 callstd 0x6 release end #org @text = Möchtest du mich begleiten? #org @text2 = Das finde ich toll. #org @text3 = Das ist schade
Code:Compare LASTRESULT 0x1
Code:Compare LASTRESULT 0x0
Code:if b_true goto @ja
Code:if b_true goto @nein
In diesem Fall spaltet sich der Script also. Das kennst man auch von Programmen oder vom Essen.
Falls Spinat = Bäääääähhhhhh. Und kotz.
Falls Pommes = Mmmmhhhhhhh. Und genieß.
xD
Wichtig ist nur, dass man bei #org @ja oder #org @nein einen neuen Script anfängt wie bei #org @main (start, ...)
Ein kleines Erkenntnis habe ich auch gemacht, z. B., dass man nach 35 Buchstaben oder Zahlen oder so, besser ein \n setzt um in die nächste Zeile zu gelangen und wenn dann wieder 35 Buchstaben oder Zahlen kommen nicht wieder \n sondern \p kommen sollte! WICHTIG!
Aber nach den 35 Buchstaben, Zahlen wieder \n dann wieder \p usw...
Mein Erkenntnis war aber das mit den 35 Buchstaben oder Zahlen xD.
Ich glaube das wars auch schon zu den Text - Scripts
Für besondere Fragen, PN an mich...
3. Giveitem/ Pokémon - Script
Ich werde hier einfach wieder einen typischen Script hinzufügen, wo ich dann die Befehler erklaren werde:
Code:#dynamic 0x800000 #org @main lock faceplayer msgbox @text callstd 0x4 giveitem 0xD 0x1 0x0 0x0 0x0 0x0 release end #org @text = Hier nimm einen Trank.
Code:giveitem 0xItem 0xAnzahl 0x0 0x0 0x0
Im giveitem-Befehl ist die fanfare + Du erhältst... mit eingebaut.
Hier eine List von mir:
So schwer ist das doch gar nicht. Aber es gibt ein Problem, wenn wir die Person nochmal ansprechen, kriegen wir das Item nochmal, hmm...
Hier kommen wir zum Unterthema
3.1 Flag:
Was soll das sein? Flag...
Flag kann man sich wie eine Fahne vorstellen. Man hisst eine Fahne und der Script weiß, aha jetzt muss ich das machen.
Es gibt 3 Befehle von Flag
1. setflag
2. clearflag
3. checkflag
Beginnen wir mit 1. setflag und 3. checkflag
Dazu nehmen wir unser Item Beispiel:
Code:#dynamic 0x800000 #org @main lock faceplayer checkflag 0x200 if b_true goto @done msgbox @text callstd 0x4 giveitem 0xD 0x1 0x0 0x0 0x0 0x0 setflag 0x200 release end #org @text = Hier nimm einen Trank. #org @done lock faceplayer msgbox @text2 callstd 0x6 release end #org @text2 = Hey, du hast schon einen Trank!
Code:checkflag
Code:if b_true goto @done
Code:setflag
Ich glaube zuCode:clearflag
Dieser Befehl macht die Fahne wieder start bereit. Also wenn z.B. eine andere Person den Script mit einem clearflag 0x200 beinhaltet, kann man wieder einen Trank bekommen.
Das war ein Beispiel für einen Flag-Befehl. Man benutzt die Flags nur einmal. Man darf aber keine X-Beliebigen nehmen, sondern nur Freie! Hier eine Liste mit Flags, die es gibt und wo man das bekommt. Freie gibts ab 200 bis 2A0 und 600 bis 6A0, aber da wäre ich vorsichtig.
Tipp: Macht euch ne Liste mit den Flags, die ihr benutzt und wo ihr sie benutzt!
Liste: Pokescript Scripting Tutorial
In diesem Tut findet ihr alle Flags in verschiedenen Editionen.
Nun kommen wir zum Givepokemon - Befehl, der ja dem Give - Item Befehl ziemlich ähnlich ist.
Hier nun wieder unser Beispiel:
Code:#dynamic 0x800000 #org @main lock faceplayer fanfare 0x13E msgbox @text callstd 0x6 waitfanfare givepokemon 0x1 0x64 0xD 0x0 0x0 0x0 setflag 0x200 release end #org @text = [Player] hat ein Bisasam erhalten.
Code:fanfare 0x13E
Code:waitfanfare
Code:givepokemon 0xPokemon 0xAnzahl 0xItem 0x0 0x0 0x0
Liste:
[TUT] Scripten via POKéScript
Da bekommt ihr eine Liste mit Pokemon, leider Englisch, hatte keine Zeit ein deutsche zu erstellen, aber die mit den Items hatte ich schon vor Jahren gemacht...
3.2 Giveegg:
Code:#dynamic 0x800000 #org @main lock faceplayer giveegg 0x1 fanfare 0x13E msgbox @text 0x6 waitfanfare release end #org @text = [player] hat ein Ei mit \nBISASAM erhalten.
Code:giveegg 0xPokemon-Nr. (in Hex)
Aber was im allgemeinen bei givepokemon und giveegg fehlt sind die Prüfer! Lest einfach bei 7.8 weiter, wenn ihr das wissen wollt.
Das wars auch schon über Item/ Pokemon/ Egg - Scripts
Für besondere Fragen, PN an mich...
4. AdvanceMap Script einfügen
Es ist ja auch wichtig Scripts mit AdvanceMap zu den Leuten zu bringen. Das ist einfach:
Erstellen wir einfach eine neue Person in AdvanceMap und geben wir ihr das Offset vom Script:
Nun kann man die Person ansprechen und der Script startet sofort.
Aber manchmal möchte man, dass ein Script losgeht, wenn man zu einer bestimmten Stelle geht. Wie das geht beschreibe ich hier kurz:
Erst erstellen wir neue Events auf der Map:
Wir erhöhen einfach die Anzahl der Scripts um einen und drücken auf Events ändern. Dann haben wir dieses Event (grünes S). Es erscheint genau wie auch bei allen anderen Events am Anfang ganz oben links in der Map. Wir verschieben es da hin, wo der Script starten soll, wenn man auf das Feld kommt:
Nun kommt die Flag, ohne die kann man den Script nicht starten, aber hier ist das nicht 200 oder so sondern alles unter 4050, sind meine ich Frei. Hier würde ich auch wieder 'ne Liste mit den Flags machen. Dann fehlt natürlich noch das Offset:
Ich habe noch eine Person hinzugefügt, die einen Applymovement - Script hat, also dazu kommen wir aber später. Jetzt habe wir es geschafft, nur wie soll die Person zu dir oder du zu ihr. Das wird später geklärt. Jetzt sollten wir aber vorher noch einen Script unten einsetzen:
Es gibt da den Befehl setvar. Mit dem kann man verhindern, dass der Script ein zweites mal startet, wenn man die Fläche betritt, also einfach:
Code:setvar 0xFlag 0x1
Das war ein Script mit einer bestimmten Stelle, es geht aber auch so, dass, wenn man die Map gerade betritt, der Script sofort beginnt. Den nennt man Levelscript.
Tut
Für besondere Fragen, PN an mich...
5. Applymovement - Script
Jetzt kommen wir zu einem Teil, der sehr wichtig ist und oft verwendet wird!
Hier wieder ein Beispiel:
Code:#dynamic 0x800000 #org @main lock faceplayer applymovement 0x1 @go waitmovement 0x0 msgbox @text callstd 0x6 release end #org @text = Blabla #org @go #raw 0x13 #raw 0x13 #raw 0x13 #raw 0x13 #raw 0xFE
Code:applymovement 0xPersonennummer @go
Code:waitmovement 0x0
Code:#raw 0x13
Hier eine Liste von den Movements aus Feuerrot:
Ich habe die Liste aus dem Script-Tut von thethethethe
Und die Liste für Rubin/Saphir/Smaragd:
Auch aus dem Tut von thethethethe
Also wir haben einen grünen S Script in AdvanceMap mit einer Var-Nummer als Flag und eine Pers. mit einer Pers.-Nr. Dann müssen wir nur noch einen Script damit machen. Was kann man dazu noch groß sagen.
5.1 Besondere Movements
Schön jetzt können wir alles mit Applymovements. Ok, aber wie bewege ich die eigene Figur, also Player? Diese Pers.-Nr. findet man auf der Map nicht...
Das kann man so sagen:
Die Pers.-Nr. für den Player ist in jeder Map 0xFF. (Danke an driver!)
Ok, das wissen wir jetzt auch, aber was ist mit der Ansicht. Es ist möglich die Kamera zu verschieben, also die Ansicht bewegen. Wie geht das? Nicht sehr schwer:
Code:#dynamic 0x800000 #org @main lockall special 0x113 applymovement 0x7F @go pause 0x60 applymovement 0x7F @go2 pause 0x0 special 0x114 releaseall end #org @go #raw 0x13 #raw 0xFE #org @go3 #raw 0x12 #raw 0xFE
Code:lockall
Code:special 0x113
Code:0x7F
Code:special 0x114
Code:releaseall
6. Trainer/ Kampf - Script
Das ist eine Scriptart, wo es einfache und erweiterte Kämpfe gibt. Der einfache ist, wenn man in die Sichtweite eines Trainers reinläuft beginnt der Kampf, man besiegt ihn und das wars...
Bei der anderen Scriptart kann man den Script nach dem Kampf weiterlaufen lassen.
Wir beginnen mit der ersten:
6.1 Trainerbattle 0
Ich werde wieder ein Beispiel zeigen und dann weiter erklären:
Code:#dynamic 0x800000 #org @main trainerbattle 0x0 0x1 0x0 @before @after msgbox @text callstd 0x6 release end #org @before = Ich besiege dich... #org @after = Ich habe verloren... #org @text = Du warst einfach zu stark!
Code:trainerbattle 0xArt des Kampfes 0xTrainer-ID 0x0 @before @after
Was macht dasCode:msgbox @text
Nachdem der Trainer besiegt wurde, wird der Trainerbattle-Befehl beim Ansprechen übersprungen, also würde die Rom crashen, wenn wir nichts dahinter setzen würden.
Das wars zum Script, aber wie man das in AdvanceMap einstellt, erkläre ich später.
6.2 Trainerbattle 1
Der Script ist nicht viel anders als Trainerbattle 0 seht her:
Code:#dynamic 0x800000 #org @main trainerbattle 0x1 0x1 0x0 @before @after @later msgbox @text callstd 0x6 release end #org @before = Ich besiege dich... #org @after = Ich habe verloren... #org @text = Du warst einfach zu stark! #org @later lock faceplayer msgbox @text2 callstd 0x6 release end #org @text2 = Du hast mich zwar besiegt, \naber du wirst das Ewige Eis \ptrotzdem nicht bekommen...
Code:trainerbattle 0x1 0x1 0x0 @before @after @later
Wie wir sehen können ist der Script nicht viel anders.
6.3 AdvanceMap und A-Trainer
Nun kommen wir zum Interessanteren. Zuerst zeige ich was man in AdvanceMap einstellen muss, wenn es Trainerbattle 0 ist:
Bei Trainer muss ein Haken sein, es muss die Sichtweite angegeben sein, die bestimmt wie viele Schritte man im Kampf gefangen ist, also in dem Bild habe ich die beiden Felder neben dem Trainer markiert um zu zeigen, dass, wenn man nur Sichtweite 1 hätte, der Player ganz rechts einfach vorbei gehen kann. Die Richtung, wo er hinschaut muss man natürlich auch bestimmen.
Und nun die Einstellungen bei Trainerbattle 1:
Kaum Einstellungen, keine Sichtweite. Da nimmt man meistens einen "Grünen S" - Script (xD). Auf diesem Bild, aber ist das Offset bei der Person. (Danke an Driver!)
Und nun zu A-Trainer:
Download
Wir wollen jetzt also die Trainer-ID und den Trainer bestimmen, welche Pokémon er haben soll usw...
Fangen wir an:
Ok Name dürfte sich von selbst klären. Sex ist das Geschlecht, auch logisch. Bildnummer 72 ist die Bildnummer die zum Trainer passen muss. Man soll ja nicht einen Matrosen Ryu mit einem Team Aqua Bild machen xD. In deutschen Feuerrot Roms ist es hier so, dass man bei Trainer Class einen weiter unten nehmen muss, also wenn da ist:
Code:Teenager Matrose Pokm-Trainer
Bei Money-Rate kann man einstellen, wie viel Geld man bekommen soll. Bei Items nimmt man nur Tränke oder so, damit die Pokémon von Ryu sich auch erholen können. Wenn man aber einen Ball nimmt, ähh, wirft Ryu einen Ball, hmmm, Blödsinn! Schauen wir nun zur Pokémon-Data, aber vorher "Save":
Ok, hier kann man Pokémon auswählen, alles wunderbar. Beispiel: Ich erhöhe die Zahl der Pokémon bei Pokémon Amount wähle fröhlich meine Pokémon und plötzlich kann er nicht abspeichern. Hier brauchen wir einen Re-Point. Dazu drücken wir Repoint und machen das:
Falls der OK-Button nicht frei wird, ist zu wenig Platz in dem Offset, also müssen wir per Hex-Editor nach freien Offsets suchen. Denkt dran nicht nach 00 sondern FF.
Ich hoffe, dass ihr es Verstanden habt. Die Trainer-ID steht bei Trainer Selection links neben dem Trainer. Man kann auch PET benutzen, aber damit hatte ich oft Probleme!
Das wars zu diesem Thema!
6.4 Besondere Trainer - Scripts
OK, dann mal los:
Code:#dynamic 0x800000 #org @main checktrainerflag 0x002 compare 0x800D 0x1 if b_true goto @done msgbox @text 0x6 release end #org @text = Was du hast noch nicht \ngegen HANS gekämpft? \pDann solltest du das tun! #org @done msgbox @text2 0x6 release end #org @text = Du hast HANS besiegt, Super!
Code:checktrainerflag 0xTrainer-ID
Code:compare 0x800D 0x1
Nächster Befehl:
Code:#dynamic 0x800000 #org @main trainerbattle 0x0 0x002 0x0 @before @after @later msgbox @text 0x5 compare 0x800D 0x1 if b_true goto @ja compare 0x800D 0x0 if b_true goto @nein release end #org @before = Ich besiege dich... #org @after = Ich habe verloren... #org @text = Willst du nochmal kämpfen? #org @nein faceplayer msgbox @text2 0x6 release end #org @text2 = Dann nicht... #org @ja cleartrainerflag 0x002 repeattrainerbattle release end
Code:cleartrainerflag 0xTrainer-ID
Code:repeattrainerbattle
Und den letzten:
Jetzt mal ohne Beispiel.
Code:settrainerflag 0xTrainer-ID
Das wars zu diesem Thema!
7. Sonstige
Hier werde ich ein paar andere Befehle vorstellen.
7.1 Setmaptile:
Tja, ok, ich werde mal die Funktion dieses Script-Befehls erklären. Setmaptile ersetzt in der Map z.B. einen Baum mit gewöhnlichem Gras. Beispiel mal wieder (xD):
Code:#dynamic 0x800000 #org @main lock fcaeplayer msgbox @text callstd 0x6 setmaptile 0x1 0x0C 0x07 0x0 setmaptile 0x1 0x0D 0x07 0x0 setmaptile 0x1 0x0C 0x06 0x0 setmaptile 0x1 0x0D 0x06 0x0 setmaptile 0x26 0x0C 0x05 0x1 setmaptile 0x27 0x0D 0x05 0x1 special 0x8E release end #org @text = Hallo, wir sind der \nMotorsägenvertrieb Müller. \pIch zersäge diesen Baum.
Code:setmaptile 0xBlock 0xX-Kordinate 0xY-Kordinate 0xBegehbar?
Code:special 0x8E
Nun dazu, wie ich den Block und die X- und Y-Kordinate herausfinde. Dies geht auch mit AdvanceMap!
Hier ein Bild davon:
Ja das wars auch dazu, ich hoffe, dass ihr alles verstanden habt, falls nicht Post oder PN, wie immer.
7.2 Tür-Scripts/ Warp:
Dieser Befehl ist eigentlich ganz simpel. Gehen wir das einfach wie immer durch.
Code:#dynamic 0x800000 #org @main lock faceplayer #raw 0xAC 0x09 0x00 0x0D 0x00 #raw AE applymovement 0x1 @go waitmovement 0x0 applymovement 0xFF @go2 waitmovement 0x0 #raw 0xAD 0x09 0x00 0x0D 0x00 #raw AE setflag 0x267 warp 0x0 0x3 0x48 release end #org @go #raw 0x11 #raw 0x60 #raw 0xFE #org @go2 #raw 0x12 #raw 0x11 #raw 0x60 #raw 0xFE
Code:#raw 0xAC 0x09 0x00 0x0D 0x00
Code:#raw 0xAE
Code:#raw 0xAD 0x09 0x00 0x0D 0x00
Nun noch:
Code:warp 0xWarp-Nummer in Hex 0xMap-Bank in Hex 0xMap in Hex
Code:warp 0xMapbank 0xMap 0xFF 0xX-Kordinat 0xY-Kordinat
Das wars auch schon.
7.3 Wildbattle:
Nun kommen wir zu einem recht simplen Befehl, der einen Wild-Pokemon-Kampf enthält, also kämpft man gegen wilde Pokemon xD.
Ich stelle wieder ein Beispiel rein:
Code:#dynamic 0x800000 #org @main lock faceplayer checkflag 0x200 if b_true goto @done msgbox @text callstd 0x4 cry 0x1 0x0 wildbattle 0x1 0x1E 0x0 0x0 fadescreen 0x1 fadescreen 0x0 setflag 0x200 release end #org @done lock faceplayer msgbox @text callstd 0x6 release end #org @text = Bisa, Bisasam...
Code:cry 0xPokemon 0xPlatzhalter
Code:wildbattle 0xPokemon 0xLevel 0xItem 0xArt des Kampfes
Hier eine Liste zu Fadescreen:
Ich glaube, das ist erklärt!
7.4 Wetter - Scripts:
Dieser Befehl ist einfacher, als man sich ihn vorstellt...
Beginnen wir wieder mit einem Beispiel:
Code:#dynamic 0x800000 #org @main checkflag 0x200 if b_true goto @done setweather 0x3 doweather setflag 0x200 release end #org @done setweather 0x2 doweather clearflag 0x200 release end
Code:setweather 0xWetterart
Code:doweather
Dieser Befehl startet das vorbereitete Wetter.
Hier eine Liste mit Wettern:
7.5 Pokémart:
Dieser Befehl ist auch ganz simpel. Mit dem Befehl kann man einen Pokémarkt erstellen. In dem Befehl steckt, das "Guten Tag, was möchten sie", die Liste zum Kaufen, "Kaufen, Verkaufen, Tschüssi!". Man muss praktisch nur angeben, was man Kaufen kann.
Ein Beispiel:
Code:#dynamic 0x800000 #org @main lock faceplayer pokemart @markt release end #org @markt #raw word 0x1 #raw word 0x2 #raw word 0x3 #raw word 0x4 #raw word 0x5 #raw word 0x6 #raw word 0x7 #raw word 0x8 #raw word 0x9 #raw word 0xA #raw word 0xB #raw word 0xC #raw word 0x13 #raw word 0x14 #raw word 0x0
Code:pokemart @markt
Code:#raw word 0xItem
Hier eine Liste mit ein paar Items:
Ich glaube das wars hierzu.
7.6 Hide-/ Showsprite:
Dieser Befehl ist wieder etwas komplexer, aber trotzdem gut zu verstehen.
Nehmen wir wieder ein Beispiel:
Code:#dynamic 0x800000 #org @main lock faceplayer showsprite 0x2 msgbox @text callstd 0x6 hidesprite 0x2 release end #org @text = Hallo, wie geht's?
Code:showsprite 0xPers-Nr.
Code:hidesprite 0xPers.-Nr.
Andere:
Code:hidesprite 0x800F
Das wars auch schon dazu.
7.7 Erdbeben:
Dieser Befehl ist simpel und einfach:
Code:#dynamic 0x800000 #org @main lock faceplayer special 0x136 setvar 0x8004 0xF setvar 0x8005 0xF setvar 0x8006 0xF setvar 0x8007 0xF release end
Code:special 0x136
Code:setvar 0x8004 0xF setvar 0x8005 0xF setvar 0x8006 0xF setvar 0x8007 0xF
Man kann die Stärke und die Zeit ändern, aber genaueres weiß ich darüber nicht, aber eigentlich ist es egal. Erdbeben ist Erdbeben.
Das wars auch schon dazu!
7.8 Countpokemon:
Ein sehr nützlicher Befehl:
Code:#dynamic 0x800000 #org @main countpokemon compare 0x800D 0x6 if b_true goto @done fanfare 0x13E msgbox @text 0x6 waitfanfare givepokemon 0x1 0x1 0xD 0x0 0x0 0x0 setflag 0x200 release end #org @text = [player] erhält ein BISASAM! #org @done msgbox @text2 0x6 release end #org @text2 = Du musst ein Pokemon in \ndie Box bringen!
Code:countpokemon
Code:compare 0x800D 0xAnzahl der Pokemon
Das wars hierzu.
7.9 Buffer:
Es gibt verschiedene Buffer-Befehle. Beginnen wir mit:
7.9.1 Bufferpokemon
Beispiel:
Code:#dynamic 0x800000 #org @main faceplayer bufferpokemon 0x00 0x1 msgbox @text 0x6 release end #org @text = Wie geht's denn dir \nund [buffer1]?
Code:bufferpokemon 0xVariabel 0xPokemon ID (in Hex)
Wenn wir mehrere Pokemon in so ein Buffer laden wollen nehmen wir beim nächsten Mal 0x01 und im Text [buffer2].
7.9.2 Bufferfirstpokemon
Beispiel:
Code:#dynamic 0x800000 #org @main faceplayer bufferfirstpokemon 0x00 msgbox @text 0x6 release end #org @text = Wie geht's denn dir \nund [buffer1]?
Code:bufferfirstpokemon
7.9.3 Bufferitem
Beispiel:
Code:#dynamic 0x800000 #org @main faceplayer bufferitem 0x00 0x0D msgbox @text 0x6 release end #org @text = Willst du einen \n[buffer1]?
Code:bufferitem 0x00 0xItem-Nr. (in Hex)
7.9.4 Bufferattack
Beispiel:
Code:#dynamic 0x800000 #org @main faceplayer bufferpokemon 0x00 0x01 bufferattack 0x01 0x002 msgbox @text 0x6 release end #org @text = Dein [buffer1] kann kein \n[buffer2] erlernen!
Code:bufferattack 0x00 0xAttack-Nr.
7.9.5 Buffernumber
Beispiel:
Code:#dynamic 0x800000 #org @main faceplayer setvar 0x800D 0x64 buffernumber 0x00 0x800D bufferitem 0x01 0x0D msgbox @text 0x6 release end #org @text = Das Item [buffer2] \nkostet [buffer1] Pokedollar!
Code:setvar 0x800D 0xZahl (in Hex)
Code:buffernumber 0x00 0x800D
So schwer war das nicht, aber diese Variabeln und Valuen können eine verwirren, oder? Naja heiter weiter!
8. Extras/ Listen:
Hier eine Liste mit Flags, die im Spiel schon benutzt wurden (Feuerrot/Blattgrün):
Anhang 1517
Alternativ:
Hier
Falls ihr bestimmte Tuts sucht um Ähnliches zu machen, hat Aeonos ein Inhaltsverzeichnis gemacht:
Hier
Ein Super XSE Tut, leider Englisch:
Hier
Die Attackenliste:
Das wars zu Extras und Listen, nicht viel, aber etwas.
9. Nachwort:
Ich danke allen in RHW/RR, die mich immer wieder unterstützt haben, Tipps zu diesem Tut usw.
Besonders danke an:
driver
red-ex (Gruß nach Italien)
Agi (Wegen dem Tut, der Anzahl der Zeichen usw.)
10.Credits:
diegoisawesome
HackMew
Lu-Ho
Pilo11
Hoffe ich konnt euch helfen
MfG
tamilboy
-
16.04.2010, 14:39 #3Mr.S
AW: [TUT] Neuer Pokemon TUT
Außerdem hättest du auch einfach auf das Original verlinken können. Das wäre auch wesentlich kürzer gewesen.
-
16.04.2010, 14:46 #4Dr. Cox
AW: [TUT] Neuer Pokemon TUT
Was meinst du überhaupt mit neuer? NeuE Pokémon Edition, neueS Pokémon.. Was meinst du? Ich meine nicht es ist falsch, aber was meinst du mit neuer? Oder wars nur ein Tippfehler?
Jedenfalls sollte man immer Links zum Original geben. Sonst könnte es Beschwerden hageln^^
-
16.04.2010, 16:25 #5GoldSilver
AW: [TUT] Neuer Pokemon TUT
und es stimmt den Verfasser sollte man immer angeben
-
16.04.2010, 19:34 #6nolight
AW: [TUT] Neuer Pokemon TUT
Kann mich Mr. S nur anschließen. Es ist zwar gut gemeint, auf ein fremdes Tutorial hinzuweisen, um anderen zu helfen, dennoch bitte ich dich das mittels Verlinkung (nicht Zitieren!) im Tutorial Thread zu tun.
Closed und unter Vorbehalt der Löschung.
Ähnliche Themen
-
Neuer Computer oder nur Neuer Prozessor: Hey Leute, und schon wieder stellt sich mir eine Frage in den Weg. Soll ich mir einen neuen PC oder nur einen neuen Prozessor kaufen. Mein... -
Neuer Zelda und neuer Mario Titel BESTÄTIGT!!: Die Mitteilung kommt etwas spät, sry. War nich da.... xD Endlich! Die Nachricht auf die wir uns solange gefreut haben ist nun endlich da! Vorhin... -
Pokemon Diamnat AR code neuer nickname: So wollt mal fragen ob jmd ein AcitionReplay code für diamant hat wo mann sein namen ändern kann , falls namen schon vorgeben sind als beispiel... -
pokemon mystery doungeon ( oder wie es geschrieben wird ) team rot pokemon freunde: also ich habe mir pokemon team rot geholt hab mir solche "freunschafts orte" geholt und geguckt welche pokemon ich da kriegen kann. die hab ich dann... -
Suche alle Legends und starke pokemon lv 90-100! Biete: Ich klone für euch Pokemon!: Hey Leutz! Richtig gehört Ich suche wie immer Legenäre Pokemon und starke lv 90.100! Als gegenleistung klne ich euch jedes Pokemon! PS: Weist mich...
Hab gelesen Daima wird nur 20 Folgen haben? Dann haben wir ja 25% schon durch. Und jede Staffel dazu die nachträglich kommt, wäre ja dann schon kein...
Dragon Ball: Daima