Protips to build faster ? "Share your tips"
#32 Posted 27 January 2014 - 05:06 PM
1. Include a.m32 and enable all events
2. select the sprites or sectors of which some you would like to change
3. write the following into the console: "do for i selsprites/selsectors ife sprite/sector.(some aspect like picnum, [i]lotag, height etc) XXX (e.g some value), set sprite/sector[i].(another aspect) XXX (some other height)"
The first time I used it was to create some 3D collapsible spritework without having to manually put hitags on all the sprites. I selected all the sprites with shift, and went "do for i selsprites, set sprite[i].hitag 100" for example.
Another example is when I wanted to create lots of different identical rotating sectors. Normally you'd have to change all the hitags of the SEs for every new rotating bit, which would normally take a really long time depending on the complexity of the sectors and how many you want to make. If only you could do it all at once eh? Well you can .
I selected all the sprites in the sectors, including speed sprites, and went "do for i selsprites, ife sprite[i].picnum 1 (i.e if it's an SE), set sprite[i].hitag 10". And when you do the next set of rotating sectors, when you press UP in the console, it brings back the last thing you typed in, so ALL you have to do is select the new sprites, press up, and since the last value is already there, just add 1. So change 10 to 11, and then 11 to 12. Soooo easy, imagine doing it the old way; it could easily chew up half an hour. Same with the collapsible sprites; now you can create lots of different sets of spritework, and have them each collapse separately to explosions with just a few seconds work instead of a minute or two per spritework.
It works for sectors too. So for example you could change the shade/pal/heights of just the floors, ceiling etc. I don't think there's a way to change things with that much precision normally within the editor. So you can see what a good thing it is.
Since mapster scripting is derived from con, you can use its documentation somewhat. Apparently the things after the dot are structure members, so for the full list of what you can control, see this page here (specifically sprite, wall and sector pages): http://wiki.eduke32....ructure_members
That's pretty much all I know about it. The next thing I want to learn is how to increment things in each iteration of the for loop, but I'm not sure how to go about that.
This post has been edited by Micky C: 27 January 2014 - 05:09 PM
#33 Posted 29 January 2014 - 07:01 AM
Micky C, on 27 January 2014 - 05:06 PM, said:
I'd love to use that, but I get errors. I'm completely new to this. I've double check I've typed it as in your example.
#34 Posted 29 January 2014 - 07:04 AM
#35 Posted 29 January 2014 - 10:05 AM
Micky C, on 29 January 2014 - 07:04 AM, said:
Nope. It's only after there was an error from an event that it's disabled so as not to spam the log.
EDIT: by the way, you can create an m32_autoexec.cfg that will execute every line contained therein at Mapster32 startup.
#36 Posted 05 February 2014 - 07:13 PM
I'm looking for something like- do for i selsprites, GTFO
#38 Posted 29 April 2014 - 08:14 AM
- I just realized Mapster has an "undo" feature. it's in the main menu with saving, loading etc. A real time saver.
This post has been edited by MetHy: 29 April 2014 - 08:15 AM
#39 Posted 29 April 2014 - 09:01 AM
MetHy, on 29 April 2014 - 08:14 AM, said:
Ctrl+Z in 2D mode.
#40 Posted 03 May 2014 - 04:01 AM
This can be very useful if you're making an effect that requires tons of effects sprite; or if you're checking a map and want to know what a switch does etc ; or, when you're making a map and you're not sure anymore if a tag has been used, just hold right shit on it and you'll know for sure if the tag is free or not.
The feature has its limits (don't do it on something tagged 0) but it can be very time saving.
This post has been edited by MetHy: 03 May 2014 - 04:02 AM
#41 Posted 03 May 2014 - 05:57 AM
MetHy, on 03 May 2014 - 04:01 AM, said:
This can also be rephrased as a recommendation: don't tag anything with 0. Being a border case, it may behave subtly differently than any of the "linking numbers" in the recommended range [1 .. 16383]. There was even one regression around precisely this corner case (hitag of zero for fire extinguishers, or the like).
#42 Posted 03 May 2014 - 05:58 AM
MetHy, on 29 April 2014 - 08:14 AM, said:
By the way, this can also be achieved by holding SPACE. There may be issues in combination with some of the a.m32 features, though.
#43 Posted 03 May 2014 - 05:25 PM
#44 Posted 03 May 2014 - 06:29 PM
Daedolon, on 03 May 2014 - 05:25 PM, said:
Seems like some M32Script could do the job.
#45 Posted 03 May 2014 - 07:01 PM
#46 Posted 04 May 2014 - 12:18 PM
MetHy, on 03 May 2014 - 04:01 AM, said:
This can be very useful if you're making an effect that requires tons of effects sprite; or if you're checking a map and want to know what a switch does etc ; or, when you're making a map and you're not sure anymore if a tag has been used, just hold right shit on it and you'll know for sure if the tag is free or not.
The feature has its limits (don't do it on something tagged 0) but it can be very time saving.
Also I just realized it doesn't link to walls sharing the same lowtag/effects. For example, if you have a switch disabling a forcefield, this feature won't show you that both are linked (even when trying it on the switch).
This post has been edited by MetHy: 04 May 2014 - 12:18 PM
#47 Posted 11 May 2014 - 09:29 AM
Do you build the sos part somewhere else in the map and then move it on top of the other part and connect it once everything is finished?
#48 Posted 11 May 2014 - 09:35 AM
This post has been edited by Mark.: 11 May 2014 - 09:36 AM
#50 Posted 11 May 2014 - 10:48 AM
Automatic grey out of sectors outside the current TROR layer.
#52 Posted 11 May 2014 - 11:20 AM
It would be nice if there was a way to "lock" a layer of SoS so that any work you do can't affect the other SoS layer. It could ask you which layer you want to "lock" kinda like now in mapster, if you want to join sectors with J in a part with SoS, it asks you inside which layer you want to join the sectors.
#53 Posted 11 May 2014 - 11:56 AM
#54 Posted 11 May 2014 - 12:23 PM
MetHy, on 11 May 2014 - 11:20 AM, said:
It would be nice if there was a way to "lock" a layer of SoS so that any work you do can't affect the other SoS layer. It could ask you which layer you want to "lock" kinda like now in mapster, if you want to join sectors with J in a part with SoS, it asks you inside which layer you want to join the sectors.
That already exists, select a sector or a bunch of sectors and press CTRL+R to lock editing to those sector's Z ranges (and press it again to remove that lock)
#55 Posted 11 May 2014 - 12:31 PM
#56 Posted 11 May 2014 - 01:18 PM
Mark., on 11 May 2014 - 11:20 AM, said:
Yep, I had it wrong.
Methy, have you looked at mapster 2d mode 3d view. You can see your map from the side and other angles. From memory I think its F3 in 2d mode to enter 3d view. Q &W to rotate view angle
#57 Posted 11 May 2014 - 01:25 PM
Drek, on 11 May 2014 - 01:18 PM, said:
Yeah I know about it. It's pretty cool but, I just couldn't get used to it, like, from most angles, what LOOKS like the place your 'character' cursor is isn't actually the real place ? Starting from that, it's pretty hard to get any building done... then again I have to admit I didn't really try very hard at it.
I have found some good use to it though, like when I want to select a sector in particular and it's not possible in the normal top down 2D view (because due to the shape or angle of the sector and due to how you can only select things using a rectangle selection, you'd be selecting sprites or vertices next to the sector etc), then it can be possible from a certain angle to select only that sector I want using this new viewpoint; so that's convenient.
btw - I also made a good use of the feature showing textures and sprites in 2D mode (=backspace in 2D mode). It made me gain a lot of time when looking for particular sprites in maps not made by me in a certain project.
This post has been edited by MetHy: 11 May 2014 - 01:30 PM
#58 Posted 11 May 2014 - 01:42 PM
James, on 11 May 2014 - 12:23 PM, said:
thanks for sharing, that's a good tip. for years my solution to differenciate between several overlapping layers of room-over-room had been to insert vertices (in 2d mode) onto the outer white walls of the sector i wanted to work within the boundaries of, then build things so that any new inner sector i would create from then on would be connected to the corresponding vertices somehow, starting from the vertices, to ensure that the engine would recognize the new sector as part of the correct bigger sector. not sure of how hard it is to picture if you haven't done it yourself before but basically it (obviously) often resulted in a waste of ressources due to the unnecessary creation of invisible sectors (as ways to link up the various elements) and splitting of walls. needless to say my solution wasn't working too well with spritework either.
This post has been edited by ck3D: 11 May 2014 - 01:43 PM