Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Share and discuss custom LunaLua code and content packs for SMBX2.
mariobrigade2018
Spike
Spike
Posts: 275
Joined: Wed May 24, 2023 7:00 pm
Flair: Normie in coding who dreams of making a Mario game
Pronouns: he/him

Re: Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Postby mariobrigade2018 » Mon Oct 02, 2023 12:06 am

Murphmario wrote:
Sun Oct 01, 2023 1:18 am
mariobrigade2018 wrote:
Sun Oct 01, 2023 1:11 am
I found a bug with the Bomb Bro.

Image

The bombs thrown by the Bomb Bro will only be thrown to the left. I found that using the bros.lua AI fixed that problem.
That's interesting. It probably has to do with a combination of me just copying the basegame Hammer Bro. AI for the Bomb Bros. and possibly Redigit jank since basegame Mouser has the exact same bomb problem.
Mouser is glitched? Huh... well since it looks like only the SMB2 bombs are acting weird, why not change the Bomb Bro to throw Ignited Bomb-ombs instead? Or, as mentioned before, switching to the bros.lua AI, since that also fixed that problem.

DRACalgar Law
Hoopster
Hoopster
Posts: 117
Joined: Sun Oct 16, 2022 3:59 pm
Flair: King of the Boss Makers
Pronouns: he/him
Contact:

Re: Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Postby DRACalgar Law » Mon Oct 02, 2023 8:56 am

Murphmario wrote:
Sun Oct 01, 2023 1:18 am
mariobrigade2018 wrote:
Sun Oct 01, 2023 1:11 am
I found a bug with the Bomb Bro.

Image

The bombs thrown by the Bomb Bro will only be thrown to the left. I found that using the bros.lua AI fixed that problem.
That's interesting. It probably has to do with a combination of me just copying the basegame Hammer Bro. AI for the Bomb Bros. and possibly Redigit jank since basegame Mouser has the exact same bomb problem.
Now that you say it, it bothers me to make an improved version of Mouser.

mariobrigade2018
Spike
Spike
Posts: 275
Joined: Wed May 24, 2023 7:00 pm
Flair: Normie in coding who dreams of making a Mario game
Pronouns: he/him

Re: Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Postby mariobrigade2018 » Thu Oct 05, 2023 4:09 pm

DRACalgar Law wrote:
Mon Oct 02, 2023 8:56 am
Murphmario wrote:
Sun Oct 01, 2023 1:18 am
mariobrigade2018 wrote:
Sun Oct 01, 2023 1:11 am
I found a bug with the Bomb Bro.

Image

The bombs thrown by the Bomb Bro will only be thrown to the left. I found that using the bros.lua AI fixed that problem.
That's interesting. It probably has to do with a combination of me just copying the basegame Hammer Bro. AI for the Bomb Bros. and possibly Redigit jank since basegame Mouser has the exact same bomb problem.
Now that you say it, it bothers me to make an improved version of Mouser.
Ooh, that's something I'm interested in.

Just_Thomas
Snifit
Snifit
Posts: 233
Joined: Sat Dec 16, 2023 3:32 am
Pronouns: he/him

Re: Murphmario's NPC Pack (Version 1.0.1, Bug Fixes)

Postby Just_Thomas » Tue Dec 19, 2023 5:16 am

Murphmario wrote:
Sun May 08, 2022 1:20 am
Hello, and welcome to the thread for my NPC pack! It contains many NPCs, from Enemies to Bosses to even stuff from non-Mario games. Hope you all enjoy the contents in this pack!
...
ChunkyChimp wrote:
Fri May 13, 2022 5:43 pm
Where can I find those SMW Stretch Blocks? They don't look like theyre included in the pack.
I wonder as well.
There are not listed anywhere in the SMBX2 Custom Assets Index.
At least not under that mentioned term, which should be the right one according to mariowiki.
Are they just too buggy/not finished or something like that?

Just_Thomas
Snifit
Snifit
Posts: 233
Joined: Sat Dec 16, 2023 3:32 am
Pronouns: he/him

Re: Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Postby Just_Thomas » Mon Jan 15, 2024 3:20 am

Something I want to ask about the SMB1 flagpole.
Unfortunately, the NPC is not compatible with levellist.lua (Auto-loading next level after winning).
The default exit types do work there. I know asking for compatibility between custom NPCs from different coders is not that great, but your published content would fit so well together. In any case when I used the flagpole the next level would not load, it only worked with the default ones.
LooKiCH wrote:
Sun Oct 30, 2022 11:47 am

A script that allows you to immediately load next level after winning

gifs: show

ImageImage
(Episode: Project RW by Doki)

DOWNLOAD

how to use: show
In file "luna.lua" (and "map.lua" if worldmap in episode is enabled) paste the code:

Code: Select all

require("levellist").levels = {"level1.lvlx","level2.lvlx","level3.lvlx"}
-- in {} paste the filenames of your levels in ascending order
-- BOTH MAP.LUA AND LUNA.LUA MUST HAVE THE SAME LEVEL LIST VALUE!
I mean this one, BTW.

mariobrigade2018
Spike
Spike
Posts: 275
Joined: Wed May 24, 2023 7:00 pm
Flair: Normie in coding who dreams of making a Mario game
Pronouns: he/him

Re: Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Postby mariobrigade2018 » Sun Jan 28, 2024 1:40 am

Bug with the flagpole:
Image
If you end the level with a Yoshi (and possibly any mount) and enter the castle, the Yoshi will still be visible.

Just_Thomas
Snifit
Snifit
Posts: 233
Joined: Sat Dec 16, 2023 3:32 am
Pronouns: he/him

Re: Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Postby Just_Thomas » Sun Jan 28, 2024 12:23 pm

mariobrigade2018 wrote:
Sun Jan 28, 2024 1:40 am
Bug with the flagpole:
I think - I also have one to report
Image

NPC-771 is in main project folder, while that level in that gif has the "big castle" version to overwrite the normal one.
Looks like "npc-771-flag" is just misplaced a little bit for this npc version.

lol, I found it:

Code: Select all

	if flagpoleHelper.hasFinished == 4 then
		Graphics.draw{
			type = RTYPE_IMAGE,
			image = flag,
			x = v.x + 160,
			y = v.y + 2 - data.flagSlide,
			sceneCoords = true,
			sourceX = 0,
			sourceY = 32 * data.flagFrame,
			sourceWidth = 32,
			sourceHeight = 32,
			priority = -86
		}
	end
"x = v.x + 160" looks somehow better, used to be "x = v.x + 80"



Edit: An other smaller bug with the "SMB1 Bowser".
The soundfile "falsebowserfire" is unused, when he breathes fire, the sound does not play. But apart from that it works amazingly great.
I tried to locate the error within the code if I could find anything, but I could only find the sound entry for the hammers.

Just_Thomas
Snifit
Snifit
Posts: 233
Joined: Sat Dec 16, 2023 3:32 am
Pronouns: he/him

Re: Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Postby Just_Thomas » Wed Jan 31, 2024 6:47 am

Murphmario wrote:
Sun May 08, 2022 1:20 am
Hello, and welcome to the thread for my NPC pack! It contains many NPCs, from Enemies to Bosses to even stuff from non-Mario games. Hope you all enjoy the contents in this pack!
OK, "SMB1 Bowser and his bridge" does cause a little bit more trouble than just a missing sound effect when he breathes fire.

In general it does work, however seemingly completely random, part of the bridge, the axe and bowser (likely because of the gap in the bridge) are missing, when I am about to "meet him".
Image
Image
Image

And I really mean it, when I say RANDOM. I can simply restart and then he and the whole bridge are there and then an other time maybe not.
Your pre-built "bowser" tileset BTW is a little bit strange? It only has npc-800 - ok - bowser himself - and npc-805, which does not exist there. The bridge part and the chain were missing, well in the tileset only. Weird.

S_Koopa0
Spiny
Spiny
Posts: 29
Joined: Mon Jul 04, 2016 10:57 am
Flair: The S stands for Springboard

Re: Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Postby S_Koopa0 » Thu Feb 01, 2024 12:57 am

Just_Thomas wrote:
Wed Jan 31, 2024 6:47 am
OK, "SMB1 Bowser and his bridge" does cause a little bit more trouble than just a missing sound effect when he breathes fire.

In general it does work, however seemingly completely random, part of the bridge, the axe and bowser (likely because of the gap in the bridge) are missing, when I am about to "meet him".

And I really mean it, when I say RANDOM. I can simply restart and then he and the whole bridge are there and then an other time maybe not.
My guess is that the first bridge piece on the left spawns everything else at once, then the NPCs on the right despawn because they take too long to come onscreen (see this post for details). If that's the case, you can prevent them from despawning by forcing the NPCs' despawn timer to a value greater than 0 every frame.

Just_Thomas
Snifit
Snifit
Posts: 233
Joined: Sat Dec 16, 2023 3:32 am
Pronouns: he/him

Re: Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Postby Just_Thomas » Thu Feb 01, 2024 2:16 am

S_Koopa0 wrote:
Thu Feb 01, 2024 12:57 am
Just_Thomas wrote:
Wed Jan 31, 2024 6:47 am
OK, "SMB1 Bowser and his bridge" does cause a little bit more trouble than just a missing sound effect when he breathes fire.

In general it does work, however seemingly completely random, part of the bridge, the axe and bowser (likely because of the gap in the bridge) are missing, when I am about to "meet him".

And I really mean it, when I say RANDOM. I can simply restart and then he and the whole bridge are there and then an other time maybe not.
My guess is that the first bridge piece on the left spawns everything else at once, then the NPCs on the right despawn because they take too long to come onscreen (see this post for details). If that's the case, you can prevent them from despawning by forcing the NPCs' despawn timer to a value greater than 0 every frame.
I am able to write relatively simple lines of code for my project, but something like this looks a bit too big for me. I actually thought "extendeddespawntimer=true" in an NPC-*.txt would solve the problem (saw that in the NPC config by chance), but somehow it didn't change anything.

Edit: I am not sure if this is fortune or if I could find a workaround:

I did this for now and it is working better:

Code: Select all

function onEvent(calledEvent)
	if calledEvent == "BowserDeathAxe" then
	moveToGoal = moveToGoal + 1
	end

	if calledEvent == "BowserDeathTrigger" then
	moveToGoal = moveToGoal + 1
	end
end
so basically the axe from his pack triggers upon "death" and I also placed a "NPC-465" also at the same location, triggering the other thing.
So only after "moveToGoal = 2", the door opens, the other stuff happens.

... nope I celebrated too early.

S_Koopa0
Spiny
Spiny
Posts: 29
Joined: Mon Jul 04, 2016 10:57 am
Flair: The S stands for Springboard

Re: Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Postby S_Koopa0 » Thu Feb 01, 2024 3:22 am

Just_Thomas wrote:
Thu Feb 01, 2024 2:16 am
I am able to write relatively simple lines of code for my project, but something like this looks a bit too big for me. I actually thought "extendeddespawntimer=true" in an NPC-*.txt would solve the problem (saw that in the NPC config by chance), but somehow it didn't change anything.
That's because currently the extendeddespawntimer config only works with line-guided NPCs and can only be changed by code. What I described isn't anything too complex actually, you just have to open your level's luna.lua file, loop over the NPCs and set their despawn timer like this:

Code: Select all

function onTick()
	for _,npc in ipairs(NPC.get({800, 802, 803, 804})) do
		npc.despawnTimer = 180
	end
end
Added in 18 minutes 11 seconds:
Also I didn't see your edit while I was writing but does it work if you check the axe and Bowser's death events?

Just_Thomas
Snifit
Snifit
Posts: 233
Joined: Sat Dec 16, 2023 3:32 am
Pronouns: he/him

Re: Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Postby Just_Thomas » Thu Feb 01, 2024 4:53 am

S_Koopa0 wrote:
Thu Feb 01, 2024 3:40 am
Just_Thomas wrote:
Thu Feb 01, 2024 2:16 am
I am able to write relatively simple lines of code for my project, but something like this looks a bit too big for me. I actually thought "extendeddespawntimer=true" in an NPC-*.txt would solve the problem (saw that in the NPC config by chance), but somehow it didn't change anything.
That's because currently the extendeddespawntimer config only works with line-guided NPCs and can only be changed by code. What I described isn't anything too complex actually, you just have to open your level's luna.lua file, loop over the NPCs and set their despawn timer like this:

Code: Select all

function onTick()
	for _,npc in ipairs(NPC.get({800, 802, 803, 804})) do
		npc.despawnTimer = 180
	end
end
Added in 18 minutes 11 seconds:
Also I didn't see your edit while I was writing but does it work if you check the axe and Bowser's death events?
Nope, my attempt was BS.
Thank you for your piece of code. I will accept it with thanks and will simply believe it will fix the issue.
However still hope Murphmario will fix the missing sound for the bowser flame issue.

mariobrigade2018
Spike
Spike
Posts: 275
Joined: Wed May 24, 2023 7:00 pm
Flair: Normie in coding who dreams of making a Mario game
Pronouns: he/him

Re: Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Postby mariobrigade2018 » Thu Feb 01, 2024 3:02 pm

Just_Thomas wrote:
Thu Feb 01, 2024 4:53 am
S_Koopa0 wrote:
Thu Feb 01, 2024 3:40 am
Just_Thomas wrote:
Thu Feb 01, 2024 2:16 am
I am able to write relatively simple lines of code for my project, but something like this looks a bit too big for me. I actually thought "extendeddespawntimer=true" in an NPC-*.txt would solve the problem (saw that in the NPC config by chance), but somehow it didn't change anything.
That's because currently the extendeddespawntimer config only works with line-guided NPCs and can only be changed by code. What I described isn't anything too complex actually, you just have to open your level's luna.lua file, loop over the NPCs and set their despawn timer like this:

Code: Select all

function onTick()
	for _,npc in ipairs(NPC.get({800, 802, 803, 804})) do
		npc.despawnTimer = 180
	end
end
Added in 18 minutes 11 seconds:
Also I didn't see your edit while I was writing but does it work if you check the axe and Bowser's death events?
Nope, my attempt was BS.
Thank you for your piece of code. I will accept it with thanks and will simply believe it will fix the issue.
However still hope Murphmario will fix the missing sound for the bowser flame issue.
Here’s how to fix the SFX issue:
1. Use the find feature to search for “NPC.spawn” and find the one that points to the fireball ID
2. Put the typer thing on that line and press enter
3. Type “SFX.play(n)” on that new line (“n” is a number)

Just_Thomas
Snifit
Snifit
Posts: 233
Joined: Sat Dec 16, 2023 3:32 am
Pronouns: he/him

Re: Murphmario's NPC Pack (Version 1.0.3.1, Bug Fixes)

Postby Just_Thomas » Thu Feb 01, 2024 3:50 pm

mariobrigade2018 wrote:
Thu Feb 01, 2024 3:02 pm
Just_Thomas wrote:
Thu Feb 01, 2024 4:53 am
S_Koopa0 wrote:
Thu Feb 01, 2024 3:40 am

That's because currently the extendeddespawntimer config only works with line-guided NPCs and can only be changed by code. What I described isn't anything too complex actually, you just have to open your level's luna.lua file, loop over the NPCs and set their despawn timer like this:

Code: Select all

function onTick()
	for _,npc in ipairs(NPC.get({800, 802, 803, 804})) do
		npc.despawnTimer = 180
	end
end
Added in 18 minutes 11 seconds:
Also I didn't see your edit while I was writing but does it work if you check the axe and Bowser's death events?
Nope, my attempt was BS.
Thank you for your piece of code. I will accept it with thanks and will simply believe it will fix the issue.
However still hope Murphmario will fix the missing sound for the bowser flame issue.
Here’s how to fix the SFX issue:
1. Use the find feature to search for “NPC.spawn” and find the one that points to the fireball ID
2. Put the typer thing on that line and press enter
3. Type “SFX.play(n)” on that new line (“n” is a number)
Awesome, yes I could find it:
npc-800 wrote:
if v.ai2 == 30 then
v.ai2 = 0
v.ai1 = 2
v.ai5 = 80
z = NPC.spawn(801, v.x, v.y)
SFX.play("falsebowserfire.wav")
z.speedX = 2.5 * v.direction
z.speedY = RNG.randomEntry(fireangles)
end
however just checked a SNES SMB playthrough: the "falsebowserfire" does get played during the direct confrontation,
"big fireball" when bowser starts with his flame breath from the "distance"."Big Fireball" would be simply: SFX.play(42)
https://youtu.be/HMhpYth6DTA?t=1428
Most player get past bowser really fast and thus it was difficult to find gameplay of these differences at all.
I will most likely stick with "Big Fireball" - as the other sound can get annoying if you hear it all the times.

I would prefer it - however - if the author of the pack could update his work for all, so we would have all the same standard.


Edit:
Well, the youtube thumbnail for "SMBX2 Beta 5 | Release Trailer" is already "spoiling" it, the flagpole will end up as a component integrated in the vanilla content. I suppose it is your own. This is good, I mean, it really does belong there.

Edit 2: I was mistaken, it is NOT your version, but your one is actually better as the one in the base game of beta 5 does not work with the timer at all and does use some weird animations. So I stick with your one.


Return to “LunaLua”

Who is online

Users browsing this forum: No registered users and 3 guests

SMWCentralTalkhausMario Fan Games GalaxyKafukaMarioWikiSMBXEquipoEstelari