(shouting)

Help Thread

If you lost something come look for it here
S1eth
Posts: 291
Joined: 9 years ago

Re: Help Thread

Post by S1eth »

Logical2u wrote:
Willhart wrote:~snip~
You need to use npc codes to make npc act like a block for only the player.
playerblock=1, npcblock=0, nohurt=1, speed=0 and some other codes could help to make this happen.
This actually worked great, once I figured out exactly what NPC code editing meant. Thank you for the tip. For anyone else who is as confused as me...

Place the NPC you want to change in PGE, get its ID number from the properties window - e.g., Mushroom Block 1 is ID 154, and a good place to start for making a wall - make a txt file named npc-ID# in the same folder as the level, and change the properties there - e.g. using this guide http://rpgmaker.net/tutorials/381/

So for example my Mushroom Block 1 change is
npc-154.txt which contains:
name="MushroomBlock1"
grabtop=0
grabside=0
playerblock=1
playerblocktop=1
nogravity=1
nohurt=1
noyoshi=1
speed=0.00
nofireball=1
noiceball=1
npcblock=0
npcblocktop=0
noblockcollision=1
cliffturn=0


It's possible Invisible is working as intended then. Maybe once I hit the lava blocks they would appear and work properly, but it's not the sort of Invisible I had in mind!
In PGE, you can also click on any rightclick on any NPC and then select "New NPC Configuration". This creates the npc-xxx.txt file for you.

For your second question, it really depends on what your actual problem is. "NPCs who wander too far" is not very descriptive. This is the kind of case where you're asking for a specific implemention for a solution to a problem, but don't specify the actual problem, which means the implementation itself might be a suboptimal solution and not what you actually need.

You can use colliders.lua to kill certain NPCs if their hitbox overlaps with a certain area, such as another block's hitbox, or any specific rectangle (you define the coordinates). I don't remember exactly how, but I think there's a way to delete an NPC instead of killing it (skipping the death effect).
Of you could just make the entire layer the NPC is on invisible.
Image
User avatar
CloudyCloud
Posts: 234
Joined: 11 years ago

Re: Help Thread

Post by CloudyCloud »

I am curious about one thing.

So if I want an event to be triggered by having a platform touched, what is the way?

I am still not so sure about it.

Adding one more question:

So if I want an event to be triggered by having just an invisible line crossed over, what is the way? As in, after you cross a line(and this line is invisible and has no NPC), you are being forced into a boss fight.
User avatar
Dragon Fogel
Master of Pointlessness
Posts: 1415
Joined: 10 years ago

Re: Help Thread

Post by Dragon Fogel »

Do you mean the player touching the platform? You can use an invisible axe NPC (either use multiple ones or make them large enough to cover the entire surface of the platform) and set the event to trigger on death. When the player jumps on the platform, they collect the axe, triggering the event. (If you use multiple axes, put them on their own layer and have the layer disappear when the event triggers, so it won't activate more than once.)

If you mean an enemy or other NPC touching the platform, I'm not sure there's a simple way.
Image
Click that banner if you like reading words.
Image
Make levels from unused MAGL X names!
S1eth
Posts: 291
Joined: 9 years ago

Re: Help Thread

Post by S1eth »

MAGLX2 had this level with the boat that can be steered by standing on specific spots.
Can that be done with Vanilla?

I know that it's pretty easy to trigger events with lua by checking if an NPC (or the player) stands in a specific spot, but I wonder if that boat was made with scripting or without.
Image
User avatar
Dragon Fogel
Master of Pointlessness
Posts: 1415
Joined: 10 years ago

Re: Help Thread

Post by Dragon Fogel »

I think invisible axes on generators could do that, not sure if that's how that level did it.
Image
Click that banner if you like reading words.
Image
Make levels from unused MAGL X names!
User avatar
FrozenQuills
hehe haha 2024
Posts: 843
Joined: 9 years ago
Location: my skull

Re: Help Thread

Post by FrozenQuills »

S1eth wrote:MAGLX2 had this level with the boat that can be steered by standing on specific spots.
Can that be done with Vanilla?

I know that it's pretty easy to trigger events with lua by checking if an NPC (or the player) stands in a specific spot, but I wonder if that boat was made with scripting or without.
It is likely done with lunalua. There is no block or NPC that could somehow tell if a player is standing on something in vanilla smbx (unless you do something extremely tricky like generating invisible axes for both standing and not standing on blocks, but I doubt that will work)

BTW, I made a very useful tool if someone needs to edit or recolor lots of individual file graphics. It's in the A2XT forum: viewtopic.php?f=36&p=324894
Image
Image
avatar by crayonchewer!
Image
Image
Image
SMBX Tileset Compiler and Separator
The boss entry that made me eat a shoe.

5th place counter: 5
(SMBX Forums CC11, SMBX Forums CC12, Endgame Madness Contest, SMWC Kaizo Contest 2016, SMWC 24hr Contest 2018)
S1eth
Posts: 291
Joined: 9 years ago

Re: Help Thread

Post by S1eth »

FrozenQuills wrote: BTW, I made a very useful tool if someone needs to edit or recolor lots of individual file graphics. It's in the A2XT forum: viewtopic.php?f=36&p=324894
This sounds like something I'd do in photoshop with "automate-->batch" and "record action". (of course, that only works if everything uses the same palette, and you won't have a preview)
Image
User avatar
CloudyCloud
Posts: 234
Joined: 11 years ago

Re: Help Thread

Post by CloudyCloud »

Dragon Fogel wrote:Do you mean the player touching the platform? You can use an invisible axe NPC (either use multiple ones or make them large enough to cover the entire surface of the platform) and set the event to trigger on death. When the player jumps on the platform, they collect the axe, triggering the event. (If you use multiple axes, put them on their own layer and have the layer disappear when the event triggers, so it won't activate more than once.)

If you mean an enemy or other NPC touching the platform, I'm not sure there's a simple way.
Yes.
Erm... err...

Well, just use one example to ask.

So the player touched the platform, then the platform moved down.
https://youtu.be/toDcU82XngE?t=2m8s
Just like this one.
User avatar
Zephyr_DragonLord
The dragon awakens...!
Posts: 1047
Joined: 8 years ago
First name: Zach
Location: Somewhere between dreams and dormancy

Re: Help Thread

Post by Zephyr_DragonLord »

I'm not completely sure if this is the proper place to be asking, but what software is typically used for making custom spritework? I want to make something for a level idea that I have...
I am prone to almost everything... except spontaneous violence.
Any questions, concerns, or aspirations you have with me can go to the PM box... Now here's a quote:
raocow wrote:I know there is a population on Earth. They like to populate. I like to gesticulate. We're friends!
Image
(It was about time)
User avatar
Imaynotbehere4long
Gone, but...yeah, pretty much forgotten.
Posts: 289
Joined: 8 years ago

Re: Help Thread

Post by Imaynotbehere4long »

Zephyr_DragonLord wrote:I'm not completely sure if this is the proper place to be asking, but what software is typically used for making custom spritework? I want to make something for a level idea that I have...
Almost everyone on the SMBX forums recommends Paint.net, but if you're used to something else, you should stick to what you're used to. I tried using Paint.net, but it's just different enough from MS Paint that I can't really get into it.
My SMBX portfolio:
Image
(includes a Sonic 3D Blast styled level.)

SOMEONE ANSWER MY CRY FOR HELP: http://www.supermariobrosx.org/forums/v ... =69&t=2026
User avatar
Zephyr_DragonLord
The dragon awakens...!
Posts: 1047
Joined: 8 years ago
First name: Zach
Location: Somewhere between dreams and dormancy

Re: Help Thread

Post by Zephyr_DragonLord »

Imaynotbehere4long wrote:
Zephyr_DragonLord wrote:I'm not completely sure if this is the proper place to be asking, but what software is typically used for making custom spritework? I want to make something for a level idea that I have...
Almost everyone on the SMBX forums recommends Paint.net, but if you're used to something else, you should stick to what you're used to. I tried using Paint.net, but it's just different enough from MS Paint that I can't really get into it.
That'll be just fine for my tastes, I think. Thanks! (now to attempt learning Lua and CinematiX...)
I am prone to almost everything... except spontaneous violence.
Any questions, concerns, or aspirations you have with me can go to the PM box... Now here's a quote:
raocow wrote:I know there is a population on Earth. They like to populate. I like to gesticulate. We're friends!
Image
(It was about time)
acrowdofpeople
Posts: 54
Joined: 8 years ago

Re: Help Thread

Post by acrowdofpeople »

So I'm trying to replace the sprites for green and red shoes (npc-35 and npc-191). It's replaced just fine when the boot is sitting around, but when I hop in, it turns back into the boot. I get the feeling that these graphics are hard-coded to replace with whatever's in the "graphics->npcs" folder when you're wearing them, since I can't find anything to replace in the effects or Yoshi folders, and there doesn't seem to be anything in the character folders related to this either.

So is there a way to override this behavior? Is it because the replacements I'm using are a different size than the original?
User avatar
Logical2u
Posts: 3
Joined: 8 years ago
Location: Canada

Re: Help Thread

Post by Logical2u »

Hi everyone,
It took me a while to get back to working on my level, so, apologies for not responding right away. Thanks for the help so far, everyone!

Here's a first draft of the level start, where I want to demonstrate to the player that 1. I'm using cheep cheep generators, and here's what they look like, and 2. These blocks (currently the ladders, though I'll do a sprite replacement later) let NPCs through but not you.

The level: https://www.dropbox.com/s/vgv1ck1tqcj3n ... s.lvl?dl=0
Ladder "block": https://www.dropbox.com/s/m4r16u4135plg ... 1.txt?dl=0
Conveyor belt: https://www.dropbox.com/s/5hlp4wdyni6az ... 7.txt?dl=0

So, two problems again...

1. I'd like a "clean" way for the red cheep-cheeps up top to be "deleted". I'm currently using the lava, but that makes the lava noise right now. My first thought is "delete the noise file" and do a sprite replacement. (I hope to use this solution in more areas later)
2. Although the ladders work as intended for NPCs from the side, as the fish demonstrate, and for the player from all angles, they don't work properly for goombas from the top, even though they're not supposed to let NPCs stand on top, according to the .txt file. Is there a way I can also make the goombas fall through?
User avatar
Quiversee
Oh man, I got nothin!
Posts: 18
Joined: 8 years ago

Re: Help Thread

Post by Quiversee »

Hello people. I'm starting to learn how to use this SMBX magic and I have a couple questions...one for the level itself the other for something a little different/

1: How do you make it so the screen won't scroll until you run an event? I basically want to prevent the player to explore a part of the level until a specific event triggers, basically keeping the player confined to one screen for part of it.

2: I've been using the MaglX Lost Levels devkit that's linked in this subforum to try things out, so far I've been using the standard SMBX editor, but I went to try the PGE editor and it won't open. I keep getting this error message;

Image


I did try downloading it again but it doesn't seem to do anything. If I need to stick to the vanilla editor, I can, but I'd like to at least try PGE. Any help would be appreciated!
Quman
Posts: 31
Joined: 11 years ago

Re: Help Thread

Post by Quman »

Quiversee wrote:1: How do you make it so the screen won't scroll until you run an event? I basically want to prevent the player to explore a part of the level until a specific event triggers, basically keeping the player confined to one screen for part of it.
Exactly how you go about it depends on certain details that I don't have. Since I don't know the exact details, I'll play it safe and give you something that should work in any situation. Just note that there are likely some shortcuts you can take.

1. Set the screen so that it only includes the portion of the level you want the player to be able to see at first.
2. Open the event editor (ctrl+E) and create a new event. In the bottom half of the window you should see a "Section Settings" category with three options, each containing 3 buttons. Click the "Use Current" button under "Position." "Use Current" will change to "Set," signifying that it has been set to the reduced screen area.
3. Expand the screen so that it includes everything you want the player to be able to explore after your event.
4. Repeat step 2.
5. Go into the SMB1 section of the NPC window and select the axe. Before you place the axe, look in the top right corner of the NPC window. You should see "Events: Show." Press that button and you will see five dropdown menus. Under "Death" select the event you created in step 2 (the one you created while the screen was small,) then place the axe at the start location or the spot where the player enters the section.
6. Find whatever event you wanted to use to trigger the screen getting larger, and find "Trigger Event" near the bottom of the window. Select the event you created in step 4 (while the screen was large.)
7. Optionally, you may download the invisible axe graphic (link below) and place it in your level's resource folder so the axe is invisible to the player.

https://drive.google.com/file/d/0BwdwY4 ... sp=sharing

If your level doesn't include a midpoint, and the player starts in the section that needs to change, you can skip step five and simply check the "Auto Start" box for the event you created in step 2.

If you want the changes in screen bounds to happen smoothly, make sure the player is always at a place where they won't see outside of the smaller boundary when the boundary changes. For example, if you're causing the screen to expand to the right, make sure the player is in the left half of the screen when they activate the trigger change the screen boundary.

I can't help you with your second problem. The devkit also doesn't work for me, though in my case it's SMBX that fails, not the PGE editor. So I'm still using the devkit for the contest.
User avatar
Quiversee
Oh man, I got nothin!
Posts: 18
Joined: 8 years ago

Re: Help Thread

Post by Quiversee »

Thanks Quman for the suggestion, and oddly enough it didn't work for me...but it gave me the means to solve it without any additional events! Basically I had to tie the restriction to the level start event for this to work properly, though that invisible axe thing may end up helpful for some other parts of the stage. Thanks for the advice!
Quman
Posts: 31
Joined: 11 years ago

Re: Help Thread

Post by Quman »

Quiversee wrote:Basically I had to tie the restriction to the level start event for this to work properly, though that invisible axe thing may end up helpful for some other parts of the stage.
Okay, just keep in mind that adjusting the boundary at the start of the level can create problems if you use a midpoint. Otherwise, you should be fine.
User avatar
Quiversee
Oh man, I got nothin!
Posts: 18
Joined: 8 years ago

Re: Help Thread

Post by Quiversee »

Already coming back with another question. Is there a way to break a loop of events? I have a layer moving up and down in a loop, and I want to have another event stop the movement and keep the layer still. If possible, I'd like to do this without LunaLua; but if there's no other way then of course will do.

Also, how do you allow the Lava Lotus pollen to spawn by itself via generator? And, last question this time I promise, how do you get a friendly NPC to spawn inside a "?" block? Ideally, one that could activate an event. (that last one I wouldn't be surprised if Luna is required)

Thanks in advance!
Quman
Posts: 31
Joined: 11 years ago

Re: Help Thread

Post by Quman »

Quiversee wrote:Is there a way to break a loop of events? I have a layer moving up and down in a loop, and I want to have another event stop the movement and keep the layer still. If possible, I'd like to do this without LunaLua; but if there's no other way then of course will do.
I assume you already have your events set up to cause the movement and activate each other in an infinite loop. So, starting from there...

1. Create two new layers. Name them whatever you want, but I'll refer to them as 'Layer X' and 'Layer Y' here.
2. Create two new events (I'll call them 'Event X' and 'Event Y'.) Event X should show Layer X. Event Y should show Layer Y.
3. Open the two events that you use to cause the movement. Cause one of the events to hide Layer X and trigger Event Y, while the other hides Layer Y and triggers Event X. Change the Delay to 0.1 seconds (not instant.) Whatever the delay had previously been set to will be plugged back into something else in step 5. Anyway, while you're editing these events, make sure you click the 'No Smoke' box at the top of the event editor.
4. Select an NPC in the NPC window. It doesn't matter which. In the top right corner of the events menu is 'Events: Show'. Open that menu and select one of your two layer movement events in the 'Activate' drop down menu.
5. Just to the left of 'Events: Show' button is the 'Generator: Show' button. Open that menu and turn this NPC into a generator. Set the delay timer to whatever the delay had previously been for your layer movement events.
6. Now open the layers menu. If the NPC you're working with activates the event that hides Layer X, then select Layer X and place the generator someplace where nothing can block it from generating its NPC. Create copies of this generator throughout the area that you want the layers to move. Make sure that all of the copies are on the same layer.
7. Once those generators have been placed, open up the 'Events: Show' menu and select your other movement event. Open the layers menu and select the other layer. Now place copies of this generator throughout the area with moving layers.
8. Hide both of the layers, and when you test the level it should behave basically the same as it did before you took any of these steps. The bad news is that your layer movements can now be messed up if the player ever enters an area that doesn't have any unblocked generators. The good news is that you can easily disable the layer movement with the next step.
9. Create an event (I'll call this one 'Halt 1') that causes the moving layer to stop moving and hides both Layer X and Layer Y. Set the event to be triggered whenever you want the layers to stop moving.
10. If you want to be extra sure that the layers stop moving, create another event (I'll call it 'Halt 2') that stops the layer from moving and hides the two layers. Cause the Halt 1 to trigger this event with a 0.2 second delay.

How this works: As soon as the generator starts to create an NPC, the 'Activate' event will fire. This will hide the layer that is generating the NPC. Since the NPC hasn't fully initialized, it will disappear before the player even sees it, but not before causing the layer to move. 0.1 seconds later, the other layer will become active. That layer will eventually spawn an NPC that will likewise vanish before being seen by the player, but after causing the moving layer to change direction.

When both layers are hidden, the NPCs will no longer spawn, so the events that cause the layer to move will no longer be triggered. There can be a problem if Halt 1 activates during the 0.1 seconds after one layer has been hidden, but before the other layer has been shown. But if you follow step 10, that problem will be cleared up 0.2 seconds later.
Quiversee wrote:Also, how do you allow the Lava Lotus pollen to spawn by itself via generator?
The pollen is in a hidden category. It'd be easy to access if you had the PGE editor, but since it's not working for you, this tutorial should help you access the category in the normal editor.
Quiversee wrote:How do you get a friendly NPC to spawn inside a "?" block? Ideally, one that could activate an event.
The best non-lua solution I can think of is going to be slightly wonky, but should work.

1. Create a new layer. I'll call this one 'Friend Layer.'
2. Create a new event that causes Friend Layer to show.
3. Open the blocks and tiles menu and select the ? block you want to use. The content should be a single coin. You might consider using the large ? block if the NPC is larger than the small ? block.
4. In the bottom of the Blocks and Tiles menu is 'Events: Show.' Open that menu, and in the 'Hit' drop down menu select the event you just created.
5. Make your friendly NPC a generator and set it on top of the ? block. Make sure the friendly NPC is in Friend Layer.
6. Hide Friend Layer.

If the NPC moves, you may need to take extra steps to prevent the NPC from infinitely spawning, but leaving the generator on permanently shouldn't be a problem as long as the NPC stands still.
User avatar
Quiversee
Oh man, I got nothin!
Posts: 18
Joined: 8 years ago

Re: Help Thread

Post by Quiversee »

Thanks again Quman. With any luck this should be all I need to get this level rolling; though I still wish there was a way to use the PGE editor to ease the pollen use...especially since I see Rinkas on there and could really have fun with that. Ah well, it all works and that's what matters!
Post Reply