Page 8 of 59

Re: LunaDLL help thread

Posted: 07 May 2014, 17:59
by TiKi
LukasSMBX wrote:Nope noding helped. I tryd it with a p switch type it in events. Everywhere! And nothing changed!
You type it while playing the level. Just press buttons
T
O
G
G
L
E
D
E
M
O
C
O
U
N
T
E
R
In that order while playing a level. Does anything happen?

Re: LunaDLL help thread

Posted: 07 May 2014, 18:03
by LukasSMBX
Ok! Somthing has changed TiKi! Now Demo 0/0 disapeared!!!

Re: LunaDLL help thread

Posted: 07 May 2014, 18:10
by TiKi
LukasSMBX wrote:Ok! Somthing has changed TiKi! Now Demo 0/0 disapeared!!!
Lunadll is working then.
Just type that again if you want it back.

Re: LunaDLL help thread

Posted: 07 May 2014, 19:05
by LukasSMBX
Is there a code for a stantard smb3 bowser? He spits 3 fireballs then groundpounths then spith again 3 fireballs and then again groundpound?

Re: LunaDLL help thread

Posted: 07 May 2014, 22:44
by Kil
To get that to happen you would have to do some pretty tight manipulation of a bowser's memory. I'm not really sure how you'd pull that off.

Re: LunaDLL help thread

Posted: 08 May 2014, 01:00
by TiKi
TiKi wrote:if I show a boss on a layer (I'm doing a Yoshi's Island type deal where a POW Block "magic" kills an enemy, which shows the boss), do HP modifying codes not work? I'm trying it on Larry, maybe it jus doesn't work on him?
Also excuse me for asking but what did "that explains a lot" on the last page mean?

Re: LunaDLL help thread

Posted: 08 May 2014, 03:02
by Kil
... It explains who you are on the other forum.

Re: LunaDLL help thread

Posted: 08 May 2014, 04:36
by TiKi
Okay!
Again, are enemies that aren't on the default layer and shown, not "counted" by LunaDLL?

Re: LunaDLL help thread

Posted: 08 May 2014, 06:26
by LukasSMBX
Now, sorry for asking but, whats the code for a timer of 350 Seconds?

Re: LunaDLL help thread

Posted: 08 May 2014, 07:05
by Kil
Timer,0,0,1,0,21000,0

350 seconds times 60 = 21000
TiKi wrote:Okay!
Again, are enemies that aren't on the default layer and shown, not "counted" by LunaDLL?
Don't know. LunaDLL manually checks all of the NPCs in the NPC list according to the NPC count memory location. I think it's unlikely that SMBX would hide the true NPC count from itself. Maybe something else is going on like bosses have their health resorted to default when they appear. Maybe the NPC technically doesn't exist yet. You might need to figure out a way to run the health setting code once the boss appears.

Re: LunaDLL help thread

Posted: 08 May 2014, 07:33
by LukasSMBX
Uhhm, Again a question, how to i give smb3 bowser and boom boom more health? Boom boom 15 and Smb3 bowser 66? Also how to i get my timer to 500 seconds?

Re: LunaDLL help thread

Posted: 08 May 2014, 12:31
by raocow
oh boy jumping on boom boom 15 times, that sounds like fun

Re: LunaDLL help thread

Posted: 08 May 2014, 13:18
by Kil
yeah that's too terrible of an idea for me to tell you how to do it

Also if you can't figure out the timer based on what I just said then you're kind of doomed

Re: LunaDLL help thread

Posted: 08 May 2014, 14:08
by LukasSMBX
Ok. The idea is terrible. But i want to know how to make iggy koopa (larry) with an hp of 10.

Re: LunaDLL help thread

Posted: 08 May 2014, 15:31
by TiKi
Kil wrote:Timer,0,0,1,0,21000,0

350 seconds times 60 = 21000
TiKi wrote:Okay!
Again, are enemies that aren't on the default layer and shown, not "counted" by LunaDLL?
Don't know. LunaDLL manually checks all of the NPCs in the NPC list according to the NPC count memory location. I think it's unlikely that SMBX would hide the true NPC count from itself. Maybe something else is going on like bosses have their health resorted to default when they appear. Maybe the NPC technically doesn't exist yet. You might need to figure out a way to run the health setting code once the boss appears.
Aha! So like I said once I kill an enemy in that section the boss appears. Would it be possible to trigger said SetHits after that npc (let's say 17) dies?

Re: LunaDLL help thread

Posted: 08 May 2014, 23:47
by Kil
Yeah but I don't really like that method. I think I need to figure out once and for all how to make an SMBX event trigger a lunadll event for the next update

Re: LunaDLL help thread

Posted: 10 May 2014, 02:28
by Grounder
More general question here, if I were to stuff this into SMBX's folders, where would I put it?

Re: LunaDLL help thread

Posted: 10 May 2014, 03:40
by Kil
replace your smbx.exe with the one in the zip, and put lunadll in the same place

Re: LunaDLL help thread

Posted: 10 May 2014, 06:42
by TiKi
Kil wrote:Yeah but I don't really like that method. I think I need to figure out once and for all how to make an SMBX event trigger a lunadll event for the next update
I've got an idea: once a specific SMBX event is triggered (you enter the name in the script), a custom event is also triggered. It's kind of like how the 21 sections' custom music slots are repurposed for multiple custom songs.

Re: LunaDLL help thread

Posted: 10 May 2014, 08:12
by Kil
That is how it would work. The problem is detecting when an SMBX has fired. There's no way to detect that that I can think of easily.

Re: LunaDLL help thread

Posted: 12 May 2014, 05:02
by Rixithechao
I noticed that Wohlstand's documentation of the save file format lists unused values like the health for Mario and Luigi and item slots for toad, Peach and Link.

I'm guessing 0x1E and 0x2A correspond to those things for Peach... so could they potentially be used to preserve persistent data like a counter for a secondary collectible?

Re: LunaDLL help thread

Posted: 12 May 2014, 06:30
by Kil
Good idea. If they're truly 100% unused that is. I'm not sure what you would do with those variables though.

Re: LunaDLL help thread

Posted: 12 May 2014, 15:19
by TiKi
Wait, would this mean we could give Mario hearts?

Re: LunaDLL help thread

Posted: 12 May 2014, 15:38
by Kil
nope

Re: LunaDLL help thread

Posted: 12 May 2014, 18:49
by Rixithechao
Well, I'm thinking if we can shift the data between the memory and user variables at key times then they don't need to be 100% unused, just unused at the right times. Load it from the memory after the player loads the file (assuming you can use variables or something to pull off a first-time load event in the hub/overworld), then manipulate the variable as necessary over the course of the gameplay and constantly copy the data back to the memory so it'll have the right value when the game is saved again.

As for what this could be used for, at first I was thinking just keeping track of a renewable currency, like a coin counter that goes past 100 or a dragon coin wallet. There was going to be a dragon coin shop in A2MT and/or the Radish engine, right? But then it hit me -- this is a way to measure player progress outside of levels besides just beating levels or collecting stars. Someone could, in theory, use this memory piggybacking trick as a progressive event flag counter thing for story events. They could break the typical Mario "level-to-level" style progression and go for something more nonlinear.

Maybe we could also fake bitwise operations (i.e. assign each index a power of two and have a case for every value) to use them as boolean arrays. It'd be exponentially more work with each additional thing you index, but you could set up stuff like switch palaces or character/powerup/mount unlocks.

But I'm getting ahead of myself here, this is all just speculation based on what I've read in the documentation and what I assume LunaDLL is currently capable of and could be in the future.