RPG HP/MP Counter Frage

geschrieben am 30.11.2010 17:56:05
( Link )
Ich frage das mal hier, wenn jemand anders mir auch aushelfen kann:

Ich habe ein Problem damit, weil ich möche einen Sprite (oder besser Block!), der mir wie ein Pilz HP, wie ein 1UP MP oder sogar wie beides zusammen auffüllen kann

Das wäre echt cool, wenn das möglich wäre! Denn was muss der CUstom Block können, um die HP aufzufüllen?
Wie kritisch man doch gegenüber dem System wird, wenn man älter wird...
geschrieben am 30.11.2010 18:52:16
( Link )
Einfach nur die HP-/MP-Addressen aus dem Patch beschreiben.
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.

geschrieben am 30.11.2010 19:14:10
( Link )
Vielleicht bin ich blöd, aber
Code
!freeram = $0060   ; Have to be TWO Bytes!

!displayram = $0062 ; Used for Status Bar

!bowserram = $0113 ; Used for removing Mario head in Bowser Battle

!checkram = $0DC4 ; Used for loading Initial Data

!powerupram = $0DC5 ; Used for saving Powerup when you die

!HurtFlag = $0670 ; $02 means Custom Damage, anything else means Normal Damage

!FlyTimer = $0671 ; Used for reducing MP while Flying

!Health = $010D ; Adress for storing current HP, have to be TWO Bytes!


Nehmen wir an, !Health wäre das richtige:
Wie müsste ich das dann nochmal im Block hinschreiben :
LDA !Health
STA $50

So? Habe lang nix mehr ASMtechnisches gemacht, bin mir deswegen nicht sicher!
Wie kritisch man doch gegenüber dem System wird, wenn man älter wird...
geschrieben am 30.11.2010 19:22:27
( Link )
Du scheint's vertasucht zu haben. Zuerst wird die Nummer geLDAt, und zwar mit einem # davor, dann mit STA in die Adresse gespeichert. Da die "Helath"-Adresse auch noch 16 Bits umfasst, musst du zusätzlich noch in den 16-Bit-Modus wechseln.

Code
REP #$20
LDA #$0050 ; oder was auch immer die maximale Anzahl ist
STA $010D
SEP #$20
geschrieben am 30.11.2010 20:11:24
( Link )
Und hier noch Addition und Subtraktion:

Code
Add:
REP #$20
LDA $010D
CLC
ADC #$XXXX
STA $010D
SEP #$20


Code
Sub:
REP #$20
LDA $010D
CLC
ADC #$XXXX
STA $010D
SEP #$20
-Das quadratische Rad neu erfinden-
Mit das quadratische Rad neu erfinden (englisch Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.

-Slowsort-
Slowsort (von engl. slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf Teile und herrsche) arbeitet.