$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“
  • Bei den zweiten Movements hast du 0xFE vegessen.
    Ich hab auch mal 0xFE vergessen und die Person die die Movements ausführn sollte, is wild im Kreis gesprungen und is danach ohne Grund wie blöd ins Gebüsch gesprungen xD
    Und du hast bei den ersten Movements das Leerzeichen zwischen applymovement und 0x05 vergessen.


    mfg MOP

  • habs geändert und nun frägt er mich nicht mehr das komische^^


    Aber:


    Kein Ausrufezeichen kommt und der labert was in einer nicht deutschen Sprache, also irgendwelche Hyroglyphen.


    Und nach 2 Textboxen von Hyroglyphen ist das Sprechen vorbei und ich kann es wieder und wieder machen

  • Ich brauch hilfe:
    Ich will eine Person machen die mir ein Bisasam gibt und ich habe auch
    alles gemacht wie im Tutorial aber wenn ich sie anspreche dann friert das
    Spiel ein oder es Passiert einfach nichts
    Kann mir jemand sagen woran das liegt? :pika:

    Ich kann deine Gedanken lesen und kenne deinen Code, wenn ich das könnte hätt ich schon lang illegale Windows Kopien verkauft und wär stink reich.
    Nein ich kann dir nicht helfen!

  • Habe es schon in so vielen Foren versucht ... vielleicht kann mir ja hier endlich jemand helfen...
    Folgendes Problem:
    Ich habe in Wurzelheim vorm Labor einen vom Team Magma eingefügt. Gegen den soll man kämpfen, nachdem man Professor Birk gerettet hat und aus der Labortür geht. Danach soll der Magma weglaufen und (oh gott, bitte helf mir da einer xD der steht immer wieder da ._.)nicht wiederkommen wenn man die Map verlässt und wieder betritt.
    Ich war schonmal soweit, das er angeblich dann weg war ... aber der Player ließ sich nicht mehr steuern!
    Naja, hier mal der Script [Achtung, bei Erklärungen: Bin Anfänger^^]



    AdvanceMap hat mir den Script versaut, der sah mal gaanz anders aus -.-
    Ich hoffe jemand kann mir endlich helfen ...

  • Hab mal die meiner meinung nach Fehler markiert:


    '-----------------------
    #org 0x908161
    Hier muss ein lock, sonst kann man sich während des Scriptes bewegen
    checkflag 0x5 0x5 ist imo keine gültige Flag, nimm was ab 200
    if 0x1 goto 0x89D461A
    trainerbattle 0x1 0x1 0x0 0x89D440C 0x89D44DC 0x89D44F6
    release
    end


    '-----------------------
    #org 0x9D461A
    release
    end


    '-----------------------
    #org 0x9D44F6
    msgbox 0x89D4506 '"Grr, misch dich nicht in Team \nMag..."
    callstd 0x6
    goto 0x89D45EF
    release
    end


    '-----------------------
    #org 0x9D45EF
    applymovement 0x9 0x89D4603
    waitmovement 0x0
    goto 0x89D45EF
    setflag 0x5 Hier m uss anschließend die selbe Flag wie oben, wie gesagt ab 200
    end



    '-----------
    ' Movements
    '-----------
    #org 0x9D4603
    #raw 30 'Slide Right Sicher dass du den Typ rausrutschen lassen willst?
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw 30 'Slide Right
    #raw FE 'End of Movements



    '---------
    ' Strings
    '---------
    #org 0x9D440C
    = Was tust du hier? Geh aus dem Weg!\nIch werde den Professor mitnehmen!\pWir brauchen ihn um ES wieder einzufangen\nund unter Kontrolle zu bringen!\pWenn du nicht verschwindest muss ich \ndich eben besiegen!


    #org 0x9D44DC
    = Unmöglich!\nWer bist du?


    #org 0x9D4506



    = Grr, misch dich nicht in Team \nMagma's Angelegenheiten ein!\pDu verstehst nicht warum das Wetter\nso verrückt spielt.\pWarum solltest du auch?\pWir, Team Magma, erschaffen eine neue\nWelt! Wehe du kommst uns nochmal\pin die Quere!





    Zu deinem Problem mit dem aus der Map raus: Du hast ja die Flag(muss über 200 sein) Dann gibst du dem Typen die Personennummer von der Flag, also bei Flag 200 musst in AM die Personennummer ändern in 0200. Dann ist er beim nächsten laden der Map weg. Willst du ihn schon früher entsorgen musst du zu hidesprite greifen(hidesprite 0x9 wär das bei dir), dann ist er aber nur bis zur nächsten bewegung weg, also wieder setflag.


    lg

  • Ich hab jetzt mal das gemacht, was du gesagt hast.
    Nun habe ich aber das Problem, das er nach dem Kampf irgenteinen müll labert, ein neuer kampf mit nem Pokemaniac startet und danach stürzt das Spiel ab.

    Zitat

    Gegen den soll man kämpfen, nachdem man Professor Birk gerettet hat und aus der Labortür geht.

    Hatte ich vergessen zu sagen ... hier ist das Problem, das man schon bevor man ein Pokemon hat gegen ihn kämpfen kann


    edit: seltsamerweise schaut der script, wenn ich ihn in AM öffne nun so aus:

    Code
    '-----------------------#org 0x9D6FC0lockcheckflag 0x201if 0x1 goto 0x89D461Atrainerbattle 0x0 0x1 0x0 0x89D440C 0x89D44DC'-----------------------#org 0x9D461Arelease'---------' Strings'---------#org 0x9D440C= Was tust du hier? Geh aus dem Weg!\nIch werde den Professor mitnehmen!\pWir brauchen ihn um ES wieder einzufangen\nund unter Kontrolle zu bringen!\pWenn du nicht verschwindest muss ich \ndich eben besiegen!#org 0x9D44DC= Unmöglich!\nWer bist du?


    Hier den, den ich jetzt genutzt habe:

    Ich nehme KEINE Leute am 3DS mehr auf. Ich spiele Pokemon X/Y nicht mehr.

    Einmal editiert, zuletzt von Ruki ()

  • Such dir mal im Hexeditor einen neuen Platz, also ganz neu. Nach diesem Punkt dürfen nur noch FF's stehen. Anschließend schreibst du den Script so um dass dynamic auf deine freihe Stelle verweißt und ersetzt alle Offsets durch neue dynamische offsets, also am Anfang @main, alle Texte numerisch, beginnend mit @1 movements usw. Danach speicherst du den Script als rbc und DANN kompilierst du ihn. Danach öffnest du ihn wieder mit AM, kannst ausprobieren und Zeigst beide Scripts her. Mir ist auserdem noch aufgefallen dass du Trainerbattle 0x0 0x1 hast, ich glaub der Trainer den du her nimmst muss schon existieren, auf Platz 1 ist afaik keiner, nimm mal einen bestehenden, schau ob es geht und erst dann änderst du ihn. Achja zum man kann vorher schon kämpfen, wenn man das Pokemon bekommt ->> setflag 0x828(Pokemon Menü) und bei dem Trainer checkflag 0x828.


    lg

  • Der Trainer existiert, das ist kein Problem (habe ich mit A-Trainer gemacht...kennst du dich mit dem Prog aus?)
    Mit freier platz und dynamic ... meinst du z.B. wenn ab Zeile 823456 nur FF's stehen, soll ich dann #dynamic 0x823456 machen?
    und zum vorher kämpfen ...
    wenn man ein pokemon bekommt, in dem script soll ich setflagx828 einfügen und beim Trainer checkflagx828? kommt da nicht noch i-was mit if hin?
    Er soll, bevor man ein Pokemon hat, noch etwas sagen. Wie mache ich das?
    Sorry, bin wirklich noch ein blutiger anfänger xD

    Ich nehme KEINE Leute am 3DS mehr auf. Ich spiele Pokemon X/Y nicht mehr.

    Einmal editiert, zuletzt von Ruki ()

  • Öhm wie wärs mit Tuts? So wird das ja nix. Wenns darum geht kann man nur mit unverständlichen Begriffen rumwerfen, ich probiers einfach mit nem Zitat, das ist am einfachsten zu verstehen:




    Zitat

    Der Trainer existiert, das ist kein Problem (habe ich mit A-Trainer gemacht...kennst du dich mit dem Prog aus?) Nein ich nehm immer noch PET lol, nimm einfach mal einen der existiert, machs einfach xD
    Mit freier platz und dynamic ... meinst du z.B. wenn ab Zeile 823456 nur FF's stehen, soll ich dann #dynamic 0x823456 machen? Ja sollst du
    und zum vorher kämpfen ...
    wenn man ein pokemon bekommt, in dem script soll ich setflagx828 einfügen genau und beim Trainer checkflagx828? true kommt da nicht noch i-was mit if hin? Doch, if 0x1 goto @DU HAST SCHON EIN POKEMON und if oxo goto @DU HAST NOCH KEIN POKEMON
    Er soll, bevor man ein Pokemon hat, noch etwas sagen. Wie mache ich das? if 0x0 goto @DU HAST NOCH KEIN POKEMON, wie gesagt
    Sorry, bin wirklich noch ein blutiger anfänger xD Macht nix^^

  • Wie stellt man es an, dass die Bösewichte nach dem Kampf verschwinden? ZB der Bildschirm wird schwarz dann normal und alle sind weg..?


    Oh ach ja und wie schaltet man einen Script aus? Also man tritt auf eine Stelle und ein Script blockiert es und dann später kann man durch?

    You always wanted to be part of a circus company for the fun and death defying
    But in time you forgot; life is small in the big top and your dreams are slowly dying
    What you wanted was not a crime- you could have done it but you needed time

    Einmal editiert, zuletzt von Lil.Penguin ()

  • Endlich mal was, was ich beantworten kann^^


    Nach dem Script wo der Kampf aufhört gehts dann so weiter:


    Code
    applymovement 0x01 $move1


    (Die 1 ist die Personennummer im Spiel, musst du also verändern wenn es zum Beispiel Person 3 ist)



    Und dann am Ende des gesamten Scripts:


    Code
    #org $move1#raw 0x60 0xFE


    Des #raw musst du immer hinmachen, genauso wie 0xFE. Des 0x60 heißt dass er verschwinden soll


    Beispiel Script:




    Und dann müsste sich also Person Nummer 3 verschwinden^^


    Weitere Applymovement-Begriffserklärungen gibt es hier:


    Applymovements

  • Na, da hasste aber große Umwege gemacht, außerdem kommt die Person so bei einem Mapreload wieder. Am besten du nimmst die Hidesprite Version:
    XSE:
    hidesprite 0x1
    Pokescript:
    #raw 0x53 0x00 0x01


    Danach gibst du einfach der Person eine freihe Flag als Personennummer und nach dem aufruf von hidesprite muss diese gesetzt werden.


    Einen Script ausschalten kannst du so, du musst dem Scriptfeld immer eine Variable zuweißen(diese muss immer anders sein und zwischen 4050 und afaik 5000 liegen) Am Ende des Scriptfeldes oder in einem anderen Script einfach setvar 0xVARIABLE 0x1, jetzt ist der Script ausgeschaltet. Wenn du ihn wieder "einschalten" willst einfach setvar 0xVARIABLE 0x0, dann ist er wieder aktiv.


    lg

  • Zitat von SBird

    Na, da hasste aber große Umwege gemacht, außerdem kommt die Person so bei einem Mapreload wieder. Am besten du nimmst die Hidesprite Version:
    XSE:
    hidesprite 0x1
    Pokescript:
    #raw 0x53 0x00 0x01
    Danach gibst du einfach der Person eine freihe Flag als Personennummer und nach dem aufruf von hidesprite muss diese gesetzt werden.


    Also quasi so:


    ?? : )


    Und wie weise ich einem Script eine Variable zu? An welcher Stelle muss ich das einfügen? Kann in meinen Tuts hier nix finden..

    You always wanted to be part of a circus company for the fun and death defying
    But in time you forgot; life is small in the big top and your dreams are slowly dying
    What you wanted was not a crime- you could have done it but you needed time

    Einmal editiert, zuletzt von Lil.Penguin ()

  • #dynamic 0x800000
    #org @start
    lock
    faceplayer
    msgbox @talk
    callstd 0x6
    hidesprite 0x1
    release
    end


    #org @talk
    = Du kannst mir gar nix! Ich verschwinde!




    So xD
    Variable kannst unter AM einstellen, ehm Var Number glaub ich