$cript&ASM Help

Wir sammeln alle Infos der Bonusepisode von Pokémon Karmesin und Purpur für euch!

Zu der Infoseite von „Die Mo-Mo-Manie“
  • Habe mal eine Frage:
    In meine ROM (Blattgrün) wollte ich folgenden Script einbauen. Sinn, ein Rocket-Rüpel steht dirket vor dem Anfangshaus und wenn man ihn ansprichst soll er dir dein erstes Pokemon, ein Sleima, geben. Funktioniert leider nicht einwandfrei. Meine Probleme sind, dass 1., wenn man das Sleima erhält die Musik beim Erhalten eines Items nur bei dem Satz "Hey du, heiße Ware" erscheint und danach endet und somit an der eigentlichen Stelle von [Player] hat Sleima erhalten schon wieder weg.
    Problem Nummer 2 ist, dass der Rüpel bei jedem Ansprechen seinen Text 2x sagt, also wenn zB das Sleima vergeben ist und man ihn noch einmal anspricht, sagt er immer "Hau ab" "Hau ab".
    Vielleicht findet ihr ja meine Fehler:


    #dynamic 0x800000
    #org @main
    lock
    faceplayer
    checkflag 0x200
    if b_true goto @done
    fanfare 0x13E
    msgbox @text 0x6
    callstd 0x6
    waitfanfare
    givepokemon 0x58 0x1 0x0 0x0 0x0 0x0
    setflag 0x200
    setflag 0x828
    release
    end


    #org @text
    = Hey du, heiße Ware!\p[player] hat Sleima erhalten!


    #org @done
    lock
    faceplayer
    msgbox @text2 0x6
    callstd 0x6
    release
    end


    #org @text2
    = Hau ab!

  • So sollte das passen, zumindest laut meinen von Müdigkeit überfluteten Augen ;D


    lg

  • Hallo!


    Ich habe derzeit zwei Probleme:

    • Ich möchte ein Schild machen. Also habe ich es per Advance Map an die gewünschte Stelle geschoben, ein Signpost erstellt und den folgenden Skript gebrannt:
      Code
      #org $beginmessage $1 1boxset 6#raw 0xCAreleaseend#org $1$1 1 = AUSHANG\pWARNUNG!\pEs wurde bekannt, dass \nPokémon-Diebe in Alabastia ihr Unwesen\ntreiben.\pBitte seien Sie äußerst vorsichtig\nund achten Sie auf Ihre Pokémon!

      So. Wenn ich jetzt aber das Schild "anspreche", passiert gar nichts

    • Ich möchte eine Person erstellen, die nach einem Gespräch verschwindet. So eigentlich kein Problem, aber damit die Person wirklich weg ist und ich nicht gegen den unsichtbaren Sprite laufe, habe ich sie notdürftig, zum debuggen, in eine Baumgruppe verschoben. So sieht der Skript aus:

      Kommt aber doof, wenn ich eine große Gruppe an Personen am Rand der Map parke. Wie mache ich das, dass der Sprite unsichtbar ist und mir nicht im weg rumsteht?

    Danke für eure Hilfe :]

  • Ich geb dir mal einen Tipp.
    Weg von Pokescript.
    Das ist der größte mist den es gibt. Wechsle zu XSE, denn da werden Fehler auch ausgebessert.


    Ok nun zur ausbesserung:
    Wenn ich wüsste wofür das "Raw 0xCA" steht könnte ich dir beim ersten helfen, denn ich seh da keinen fehler.


    Beim zweiten kann ich dir nicht helfen denn ich kann mit pokescript einfach nichts anfangen

  • #raw 0xCA = Macht, in FR/BG/SM, aus einer normalen Box, eine "Schilderbox", inder der Text etwas anders formatiert wird.


    Naja, dann werde ich mich mal mit XSE beschäftigen... Ist der Einbau genauso wie über PokéScript, also dass ich es mit BufRite brenne? Frage geklärt, ein Tut gefunden, dass mit eXtreme Script Editor arbeitet, dass von alleine brennt.

  • Also das mit dem 0xCA und der Schilderbox mag ich zu bezweifeln, dafür gibt es bereits Boxset 0x3. Außerdem ist ein Schild auch nur ein normaler Script, da braucht es kein 0xCA, das sorgt warscheinlich dafür dass das ganze nicht funktioniert, also weg damit.


    Für das andere Problem gibt es den Befehl hidesprite, den Hex Befehl kenne ich gerade nicht, XSE lässt grüßen.


    lg

  • Gut, selbes Problem unter XSE: Ich nutze hidesprite 0x1, die Person verschwindet auch, aber sobald ich einen Schritt mache, taucht sie wieder auf: (hinter jedem Aufruf einer Nachricht habe ich mir angewöhnt, die Nachricht im Kommentar dahinter zu schreiben, damit man weiß, was überhaupt los ist). unter @done habe ich einfach einen Kommentar mit "pass" reingeschrieben, da da gar nichts passieren soll - gibt es einen pass-befehl, wie er von Python bekannt ist, auch unter XSE? Oder soll ich "if b_false goto @????" machen?

  • Wie wäre es bei @done mit einem schlichten "release" und dann "end"? oO, zu hidesprite ließt du am besten ein Tutorial, du musst der Person eine bestimmte Personen ID geben, die mit einer gesetzten Flag übereinstimmt. Am besten einfach ins Tutorial schauen.


    lg

  • So, bin nun an einem Script dran. Unzwar soll es so sein, dass wenn man das Anfangshaus verlässt eine Person auf einen zukommt und einem ein Sleima gibt. Wenn man die Map erneut betritt, soll die Person auf der alten Stelle stehen und einen mit dem Satz "Hau ab" abwimmeln. Ich habe folgenden Script erstellt (weiß jedoch leider nicht, wie ich den einfügen muss. Also sprich, ob ich einen Script feld erstellen und ihn da einfügen muss oder was auch immer. Ist mein erster applymovement script.):


    #dynamic 0x800000


    #org @main
    lock
    faceplayer
    checkflag 0x200
    if b_true goto @done
    applymovement 0x5 @go
    waitmovement 0x0
    msgbox @text 0x6
    fanfare 0x13E
    msgbox @givepokemon 0x6
    waitfanfare
    givepokemon 0x58 0xA 0x0 0x0 0x0 0x0
    setflag 0x200
    setflag 0x828
    release
    end


    #org @text
    = Hey du, heiße Ware!


    #org @givepokemon
    = [player] hat Sleima erhalten!


    #org @done
    lock
    faceplayer
    msgbox @text2 0x6
    release
    end


    #org @text2
    = Hau ab!


    #org @go
    #raw 0x12
    #raw 0x12
    #raw 0xFE

  • 1. warum haste beim applymovement ein 0x5 dahinter gesetzt?
    2. über den XSE kompilieren und dann...
    - einer Person, Script, Signalpost als Scriptoffset geben
    - Ein levelscript erstellen
    Steht aber beides auch im Tut im BB... (Pilot (XSE und Platzierung mit Methode 1) und Draginflye (Levelscript -> Methiode 2))


    driver
    stimmt...
    hatte schon etwas zulange nichts mehr mit applymovement zu tun XP

  • Hab meinen Script versucht zu optimieren, ist leider aber noch ein Fehler drin...
    Script sieht folgender Maßen aus:


    Text hab ich hier gekürzt.
    Script ist so angelegt:
    [Blockierte Grafik: http://www.pictureupload.de/originals/pictures/040910111155_1._Haus2.jpg]
    Wenn der Player die Treppe hoch kommt und einen Schritt nach unten geht startet der Script, der Vater kommt angelaufen, erzählt einem was (X1) und überreicht einem dann das Sleima. Dann muss man in diesem Fall die Treppe runter und noch einmal hochgehen, weil der Vater den Wegverperrt, werde das aber noch abändern. Aber auch nur dadurch ist mir aufgefallen, dass wenn man dann nocheinmal das Scriptfeld betritt auf einmal der Text X2 erscheint. Der sollte eigentlich nur erscheinen, wenn man den Vater anspricht.
    Habe den Script per XSE erstellt und ihn dann in das Scriptfeld und in die Person eingefügt. Beim Script feld habe ich die Var Nummer 4048 benutzt.
    kann mir einer sagen wo ich einen Fehler gemacht habe?


    Mfg Exodus


    Edit: @Auftrag habe ich extra freigelassen, da ich dort nachher noch etwas einfügen will. Weiß aber noch nicht genau was.

  • Also ohne den Script jetzt genauer anzusehen, gib der Person doch nur den halben Script, dem Scriptfeld die andere Hälfte. Dann wird das was die Person sagen soll nur ausgeführt wenn du die ansprichst, das Scriptfeld(was man durch einen Mapscript ersetzen sollte) nur wenn man drauftritt.


    lg

  • Habe keinen passenden Thread gefunden, weshalb ich die Frage einfahc mal hier stelle:
    Ich habe ein Problem mit AM, unzwar weiß ich nicht wie man Warps richtig einrichtet, habe Nr., Bank und Map eingegeben, jedoch passiert nichts, wenn ich auf den Warp trete. Es ist zusage, dass die Warps auf einer eigens erstellten Map sind. Habe zuerst einen Warp von Route 1 zu einer Höhle gemacht (funktioniert). Von der Höhle wollte ich dann wieder einen Warp auf den Berg von Route 1 machen. Klappt nur irgendwie nicht.
    Wollte fragen, ob vllt wer weiß. was ich falsch mache oder mir einen Link zu einem guten Tutorial geben kann (habe nach einem Tuorial gesucht, jedoch nach 1 stündiger Suche keins gefunden...).


    MfG Exodus

  • Darf ich eine Vermutung anstellen? xD


    Ich glaube du hast die ´Warpnummer des Warps auf Route 1 nicht in dem Warp der Höhle eingestellt, kommst duwieder auf route 1, stehst nur irgendwo anders?
    wenn ja dann is das vllt die lösung...

  • Ich wollte erst ein Video machen, aber irgendwie hat das nicht funktioniert, deswegen muss es jetzt mit Screens auch gehen:


    [Blockierte Grafik: http://www.pictureupload.de/originals/pictures/050910143512_Bild_1.jpg]
    [Blockierte Grafik: http://www.pictureupload.de/originals/pictures/050910143610_Bild_2.jpg]


    Das ist der erste Warp, der funktioniert einwandfrei.


    [Blockierte Grafik: http://www.pictureupload.de/originals/pictures/050910143705_Bild_3.jpg]
    [Blockierte Grafik: http://www.pictureupload.de/originals/pictures/050910143725_Bild_4.jpg]


    Der funktioniert merkwürdiger Weise nicht mehr...
    Wenn man auf das Warp Feld tritt, passiert nix.

  • Probier einfach mal den "Gehe zu" Button aus, wenn der Funktioniert liegt es höchstwarscheinlich an den Gehdaten(es gibt ein spezielles Behaviour Byte das dafür sorgt dass Warps anders ausgeführt werden, vorallem interessant bei höhlen)


    lg

  • Probier einfach mal den "Gehe zu" Button aus, wenn der Funktioniert liegt es höchstwarscheinlich an den Gehdaten(es gibt ein spezielles Behaviour Byte das dafür sorgt dass Warps anders ausgeführt werden, vorallem interessant bei höhlen)


    lg


    "Gehe zu" Button funktioniert.