Excellent idea Messatsu.
So how do you make conveyor belts..i think its called, having a mind melt atm.
Excellent idea Messatsu.Here's how Metal Man does it.
So how do you make conveyor belts..i think its called, having a mind melt atm.
How do I make sector-above-sector that allows free interaction between the upper and lower sectors!
Just, stop while your ahead. Believe me. While you can simulate Upper and Lower Sectors, there's about dozen + ways it could go horribly wrong.THE HOM'S OHH GOD THE HOM'S!!!!!
Well derp. I keep clicking that thing and it won't curve my sectors.(click to show/hide)
I'm trying to add Quick Beam Shooters to my stage, but I can't figure out how to make them shoot.Quick Beam Example:
Ive tried to make slippery floor's work but when i open flahsman/blizzardman's maps the script is completely empty. Any help?It's not a script. It's a sector property. Check the maps out with the sector tool.
Ive tried to make slippery floor's work but when i open flahsman/blizzardman's maps the script is completely empty. Any help?
the script isnt in the doom builder, its a script in the mm8bdm pk3, just change the special to 79 under effects and it should work
I also have one, how do you make "things", for the life of me I cant get custom things to work
all I need is an example for spikes like in bubbleman, and a simple 1 sprite thing (maby a cardboard box)
Skybox tutorial here:
http://cutstuff.net/forum/viewtopic.php?f=6&t=1673
I'll make a topic + video for that by tomorrow.Quote from: "Michael712"Skybox tutorial here:
http://cutstuff.net/forum/viewtopic.php?f=6&t=1673
Thanks! Anyone got anything for the rest? Actually I think I can figure out teleports myself. So... something for doors?
These weird sectors where the middle floor is invisible in software but look like sector above sector in OpenGLNot for long :)(click to show/hide)
Assume that I'm a total n00b and have none of the programs needed to open .wads/.pk3s,Rename them to .zip then you can open them with Windows Explorer.
Okay I'm cheating, it's not really a Doom Builder question but whatever.Best use SlumpEd IMO. That's what I always use to do stuff like special map things and skins (and classes, but I haven't done those yet).
I'd like to know how to make classes. Don't just say "lol look at Mega Man", because I really have NO IDEA how Doom coding works. Assume that I'm a total n00b and have none of the programs needed to open .wads/.pk3s, and also assume I have all the sprites and/or custom weapons ready and saved in an available location.
Dust crushers, but making it so that they crush when a player enters a sector?
mapcode dust
Is there also a way to make invisible wall that you canI made a mistake in what I said, but here is the situation:notpass but still hold things like vbuoys? I want to put them on top of water without a visible tower thing underneath them.
StuffWhy don't you want them passable? If the buoy are on top of the water, why would they block your path?
Is there also a way to make invisible wall that you cannot
Is there also a way to make invisible wall that you cannotpass but still hold things like vbuoys? I want to put them on top of water without a visible tower thing underneath them.
Inherit from the buoy actor and give it +NOGRAVITY, then set its z-height in doom builder
Quote from: "SickSadWorld"That's the best way to do it.[*] Inherit from the buoy actor and give it +NOGRAVITY, then set its z-height in doom builder
can someone please help me with my question?I don't know, where are the tiles?(click to show/hide)
I know this isnt in DB but i need to ask. how do i loop a song to make it endless in MM8BDM using Audacity> so it wont loop from the beggining all over again?Separate the part you don't want to loop into a different music file. Let it play the first part without loop, then play the second file (Rest of the song) and have it loop. I believe you can do this all within doom without audacity, other than splitting the song into two files.
Okay. Now that MM8BDM finally supports 3D floors. What am I suppose to do to add them?This.
Did you look at the 3D test level?Wait. There is?
Thank you for helping us help you help us all.Wat. It sounds confusing. Oh well. :p
#include "zcommon.acs"
Script [Any number, probably 1] OPEN
{
delay(1);
SectorDamage([This is the tag that you gave the instakill sectors], 255, [This changes what the obituary will say when the player dies from the pit. If you want it to say 'fell too far', put it as "Falling". Look at the ZDoom Wiki under Damagetypes to find more], 0, DAMAGE_PLAYERS);
restart;
}
Hopefully this helps.
k thanks, all that leaves now is gravity in a sector without a switch and what the instant death area script should look like without the extra stuff in itIt seams your DB2 is pretty buggy.
EDIT: when i try to save, it says unhandled exception and closes the editor. how am i supposed to save this?
much appreciated ^.^
So what's the secret to ladders that actually work?
Repeatable action, Upper UnpeggedAck, dat upper unpegged....what does it even mean?
windows xp, and no i havent tried a reinstall. recently i get it to save if i add a 2 at the end of the map, but the 2 doesnt show in the map name.Back up everything to a flashdrive and completely uninstall DB2. Then reinstall, and try opening some of the stuff you lost/see if the errors continue.
anyway, i really need those 2 other things :/
1. Right click the line that you want the rail to be on. Under actions, go to action 121 which is Line Identification. For the flags, tick the railing option (the flags should be 2). Also, tick Lower Unpegged under Settings. Now, add the texture you want on the line as a mid-texture. The railing should be as high as the texture is, so choose one accordingly.
2. This requires a bit of ACS scripting. Give the sectors that you want to be instakill a tag. Open Doombuilder 2's Script Editor and copy this script in and edit it accordingly.Code: [Select]#include "zcommon.acs"
Hopefully this helps.
Script [Any number, probably 1] OPEN
{
delay(1);
SectorDamage([This is the tag that you gave the instakill sectors], 255, [This changes what the obituary will say when the player dies from the pit. If you want it to say 'fell too far', put it as "Falling". Look at the ZDoom Wiki under Damagetypes to find more], 0, DAMAGE_PLAYERS);
restart;
}
The CTF music changing script is in the global acs, not the individual maps. It's near the very bottom.
"things not found in "map name"It means you fucked up. How I like to fix this is to select everything and copy it into a new blank map.
Noob question how do you make bridges that are like in the rocket base map in either IX-pack or CSCM remix?Screenshots?
Im making some new maps but Im having some trouble with some stuff.Rewrite skulltag's bot code. Duh.
How do you make it so AI players cant run off the cliff but you can like at airmans stage.
Oh and dont forget about the question above
For "Fell too far" messages when falling on pits, I use an Actor Hits Floor thing (located in Sector Actions), click the Action Tab and type 73 in the action box and make the Damage Amount 255. It should say you fell too far when you fall in the sector you placed that thing.Actually, the death message displayed using that method is simply "<player> died." with that configuration. To get it to specifically say "<player> fell too far.", a slightly different approach is needed.
You have to edit this to suit your mapSo basically, open your map, open the script editor, toss this in and edit appropriately, hit Compile Script, tag the appropriate sectors with the number you chose for SectorDamage, save, and you're good to go.
The spot with the ## make into your script number.
The spot with ### make into the tag of the sector you want to be affected.Code: [Select]#include "zcommon.acs" // This defines the DAMAGE_PLAYERS
script ## OPEN // Your script number goes here MUST CHANGE OR WONT WORK
{
delay(1);
SectorDamage(###, 255, "Falling", "BeatCallCheck", DAMAGE_PLAYERS);
// Change the ### to the sector tag you want from your map
restart;
}
Actually, the death message displayed using that method is simply "died." with that configuration.
That's perfectly normal, as Mega Man 8-Bit Deathmatch handles F_SKY1 as a "skybox" texture. Basically, you make a skybox somewhere else in the map, toss a Skybox Viewpoint in, then go back to your main area and select F_SKY1 as your ceiling/floor texture to show the skybox.
I believe your question about skyboxes was answered earlier in this very thread. :3
Quote from: "Joseph Collins"That's perfectly normal, as Mega Man 8-Bit Deathmatch handles F_SKY1 as a "skybox" texture. Basically, you make a skybox somewhere else in the map, toss a Skybox Viewpoint in, then go back to your main area and select F_SKY1 as your ceiling/floor texture to show the skybox.
I believe your question about skyboxes was answered earlier in this very thread. :3
Well, actually I wasn't talking about how to make a skybox, because I already have a skybox. I was saying that when I put F_SKY1 as my ceiling texture it works fine with my skybox, but when I do it with my floor texture the same glitch happens as the one if you had 'no texture' (!).
script 190 OPEN
{
if(GetCvar("ctf")==1){
if(BlueScore() == GetCVar("pointlimit") - 1 || RedScore() == GetCVar("pointlimit") - 1){
if(GetLevelInfo(LEVELINFO_PAR_TIME)==1){SetMusic("MM1BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==2){SetMusic("MM2BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==3){SetMusic("MM3BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==4){SetMusic("MM4BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==5){SetMusic("MM5BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==6){SetMusic("MM6BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==7){SetMusic("MM7BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==8){SetMusic("MM7OBOS");}
}
}
if(GetCvar("oneflagctf")==1){
if(BlueScore() == GetCVar("pointlimit") - 1 || RedScore() == GetCVar("pointlimit") - 1){
if(GetLevelInfo(LEVELINFO_PAR_TIME)==1){SetMusic("MM1BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==2){SetMusic("MM2BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==3){SetMusic("MM3BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==4){SetMusic("MM4BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==5){SetMusic("MM5BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==6){SetMusic("MM6BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==7){SetMusic("MM7BOSS");}
if(GetLevelInfo(LEVELINFO_PAR_TIME)==8){SetMusic("MM7OBOS");}
}
}
if(GetCvar("ctf")==0){
if(GetCvar("oneflagctf")==0){
terminate;
}
}
Delay(35*2);
restart;
}
script 1 OPEN
{
if(GetCvar("ctf")==1){
if(BlueScore() == GetCVar("pointlimit") - 1 || RedScore() == GetCVar("pointlimit") - 1){
SetMusic("MM1BOSS");
}
}
if(GetCvar("oneflagctf")==1){
if(BlueScore() == GetCVar("pointlimit") - 1 || RedScore() == GetCVar("pointlimit") - 1){
SetMusic("MM1BOSS");
}
}
if(GetCvar("ctf")==0){
if(GetCvar("oneflagctf")==0){
terminate;
}
}
Delay(35*2);
restart;
}
I just tested the script, and nothing happened until I figured out I had to click Compile Scripts. This is exactly what I was looking for, so thanks very much! :DWell, yeah, that's one thing ACS likes to trick you over. It saves nothing until you compile it, differently from your usual DECORATE coding that is actually implemented as soon as you click save...
Not really.
Just make sure you don't use Par on the level's information.
Then make another script with a different number.
For instance:Code: [Select]script 1 OPEN
{
if(GetCvar("ctf")==1){
if(BlueScore() == GetCVar("pointlimit") - 1 || RedScore() == GetCVar("pointlimit") - 1){
SetMusic("MM1BOSS");
}
}
if(GetCvar("oneflagctf")==1){
if(BlueScore() == GetCVar("pointlimit") - 1 || RedScore() == GetCVar("pointlimit") - 1){
SetMusic("MM1BOSS");
}
}
if(GetCvar("ctf")==0){
if(GetCvar("oneflagctf")==0){
terminate;
}
}
Delay(35*2);
restart;
}
Just put this on every CTF map you make and change the Music if you want.
Does anybody have any idea how to change Myrocs KOTH into a an awsome domination map(3 hills instead of 1).Actually, this is quite simple. Or at least, it is in the latest unreleased version I'm carrying around, whose code is mostly finalized, it just needs optimization. I can't remember if the currently released one supports multiple points yet, but I know this version does. I'll release it in a few and cross-reference the rather simple method in that thread.
I know this would be pretty hard.
#DEFINE controlpoints 1
...
str pointname[controlpoints] = {"Control Point 1"};
str pointname2[controlpoints] = {"Point 1"}; //I don't have the old code at hand so I don't remember exactly what I named these.
#DEFINE controlpoints 3
...
str pointname[controlpoints] = {"Control Point 1", "Control Point 2", "Control Point 3"}; //These names are mentioned when the points change owners, eg "Dr. Wily Team took control of Control Point 1"
str pointname2[controlpoints] = {"Point 1", "Point 2", "Point 3"}; //These names are located on the HUD, and state which team controls which point at the present moment.
How would you get it so that pressing use on a line gets you ammo or health?Things > Thing Heal. Then give it the Player Presses Use property below and set the amount in the boxes. Make sure to check the Repeatable Action box so you can do it more than once, if that's what you want. Also make sure the line has the front side facing the way the player is going to press use on it.
Im trying to put water in my stages but I cant get the MM8BDM style water working. Can someone please explain how u do it.Study the Dive Man or Bubble Man map by opening them in Doom Builder. It's easier that way.
Quote from: "FiniteZero"How would you get it so that pressing use on a line gets you ammo or health?Things > Thing Heal. Then give it the Player Presses Use property below and set the amount in the boxes. Make sure to check the Repeatable Action box so you can do it more than once, if that's what you want. Also make sure the line has the front side facing the way the player is going to press use on it.
I don't know why, but sometimes my texture offset looks as if it was changed when I play IG from the offset settings I configured on Doom Builder.
Any ideas why this happens occasionally?
Okay, I have a (most likely stupid) question: How can I move around in Visual Mode?That's easy.
Quote from: "Human Destroyer"Okay, I have a (most likely stupid) question: How can I move around in Visual Mode?That's easy.
E is up
D is down
S is left
F is right.
It doesn't allow me to change the file extension because it doesn't say .zip anywhere. Still, I named it KCTFv1a.pk3. You think that'll work?err use the 8bdm launcher, add your pk3, and see if it works!
Yes, it is the same script, Rozark. All you need to do is change the number values. It's actually easy to understand! I'll copy/paste it from the link Lego provided:
216:Sector_SetGravity (tag, ipart, fpart)
tag: Tag of affected sector
ipart: Integral part of the gravity multiplier
fpart: Fractional part of the gravity multiplier
Sets the amount of gravity in a sector. The actual formula used is sv_gravity * (ipart + fracpart * 0.01). sv_gravity is a cvar that defines “normal” gravity. So Sector_SetGravity(1, 0, 50) would set a sector to half normal gravity, Sector_SetGravity(1, 2, 0) would be double normal gravity, Sector_SetGravity(1, 1, 0) would be normal gravity, etc.
Which means that saying something like (sector tag, 1, 50) means that I am giving the sector with the respective tag 1.5 times the normal gravity. Thanks for this, Lego! I probably should visit that place more often and see if I can come up with some scripts of my own. :)
Ok, but will it work only when someone is underwater, or will the whole sector be affected regardless? (i dont want people jumping with low grav above the lake lol)Those are interesting questions. I theorize the following:
EDIT: is there also a set gravity im supposed to have for the map so you don't jump really far? (because at the moment you can clear a huge waterfall with a single bound >_>)
Player bumps. Thing damage (action 119). Repeatable action. Set to whatever.
Script 10 (void)
{
if(PlayerCount()<=2)
if(PlayerFrags() == GetCVar("fraglimit") - 5){
SetMusic("DEMBOSS",0);
terminate;
}
Delay(1);
restart;
}
Script 11 (void)
{
if(PlayerCount()>=3)
if(PlayerFrags() == GetCVar("fraglimit") - 1){
SetMusic("DEMBOSS3",0);
terminate;
}
Delay(1);
restart;
}
Sorry for the relatively large bump, but I felt it necessary.Answered over skype but I'll put it here for other people too.
How do I make sectors move up and down?
Hey guys! Do you know if there's a way to make a floor-switch sort of sector that can turn a Fire Trap on and off depending on whether you're standing on it?Sounds perfectly possible using an ACS script triggered by an Actor Hits Floor that lower the switch into the ground and raises a hidden wall with a Fire Trap behind (or just spawning a Fire Trap spawner actor in a certain spot).
if(turn==1){SetActorVelocity(ActivatorTID(), 40,0,0, FALSE, TRUE);}
with an argument. I think this is basically the same as how Turbo Man's Roaders work, but I set the linedef action to be triggered when "Projectile hits or crosses," instead of a monster crossing. For whatever reason, though, the tires don't seem to turn, but just keep going and disappear when they hit the wall. Does anyone have any ideas as to what the problem might be?Spawn("TurboRoader",-4190,0,216,0,64);
This code doesn't seem to do anything yet, though, and I'm not really sure why. Thanks for your help!"The typical answer is "Go look at another map". Rather than look at a large map and try to figure out what does what, we can post a map that say, has a square room, a skybox, and that's it. Make it a lot easier for newbies to see and experiment with these simple maps."I often learn how things work by extracting maps out of the core and looking at them, but that doesn't answer everything and the maps can be complex in trying to find what you need. So I support this idea. I don't remember where but I have a map showing bridges 3D floors and ramps somewhere on the forums which is simple and made solely to be reviewed for mappers to learn about them
The first post. In other words, I think our answers are getting a wee bit lazy..
Not really a Doom Builder question but it applies to maps, so...Invasion would need what ever starts the mode uses and spawns for the monsters, probably script and things that I don't know.
Is it possible to play a mode like Invasion or Survival on a Deathmatch map? Would you need anything special to do so?
(doombuilder)I think you can't make them slide sideways. Moving up and down yes.
How do I--
Create a Polyobj sliding door, using 3d floors, or create a Polyobj sliding door that doesn't require you to only use closed linedefs/walls, but like a moving "platform"?
My previous question's been answered, but now I have a new one.
Is it possible to force a player to face a certain direction through an object or a sector? For example, let's say someone was making a Sonic-themed map and they put some speed pads on the floor. Would it be possible to make a pad that thrusts the player north to force the player to face north when they touched it? And, would this sort of thing be better as a floor action (like Metal Man's conveyors or Gyro Man's jump fans) or as an actor instead?
I know it's not really a Doom Builder question but it relates to maps, and it's not exactly a weapon question either, so this seemed like the most fitting place to post.
SetActorAngle(0.25, ActivatorTID());
str BOSSSONG = "MM2BOSS"; //Put the boss music here
str VICSONG = "MM2VIC"; //And this is your victory music
int Maxfrags;
Bool BossMusic;
script 203 (void)
{
int modeofplay = ACS_ExecuteWithResult(975);
int IsTeamGame = ACS_ExecuteWithResult(975,1);
Switch(modeofplay)
{
Case 0: // DM / TDM
Case 5: //Terminator too!
if(GetCVar("fraglimit") <= 5){terminate;}
If(IsTeamGame==0)
{
if(PlayerFrags() <= maxfrags){terminate;}
maxfrags = PlayerFrags();
}
If(IsTeamGame==1)
{
If(BlueScore() <=maxfrags && RedScore()<=maxfrags){Terminate;}
If(BlueScore() > maxfrags){maxfrags=BlueScore();}
If(RedScore() > maxfrags){maxfrags=RedScore();}
}
if(MaxFrags >= GetCVar("fraglimit") - 5 && BossMusic==False)
{
SetMusic(BOSSSONG);
BossMusic=True;
}
if(MaxFrags >= GetCVar("fraglimit"))
{
SetMusic(VICSONG);
}
break;
Case 1: //possession
break;
Case 2: //LMS / TLMS
break;
Case 3: //Duel
if(GetCVar("fraglimit") <= 1 || PlayerFrags() <= maxfrags){terminate;}
maxfrags = PlayerFrags();
if(MaxFrags == GetCVar("fraglimit") - 1 && BossMusic==False)
{
SetMusic(BOSSSONG);
BossMusic=True;
}
if(MaxFrags >= GetCVar("fraglimit"))
{
SetMusic(VICSONG);
Delay(35*6);
SetMusic("*");
}
break;
Case 4: // CTF
break;
}
}
SCRIPT 1 OPEN
{
if(GetCvar("lastmanstanding") == 1 || GetCvar("teamlms") == 1)
{
//Do whatever you want to happen specifically during LMS upon the map being loaded.
}
}
int gamemode = ACS_ExecuteWithResult(975);
SCRIPT 1 OPEN
{
if(gamemode == 2)
{
//Do whatever you want to happen specifically during LMS upon the map being loaded.
}
}
5) im not exactly sure what you mean by this, if your talking about the light green pillars, simply insert a vertice into the line and change the one side of the line.
3) First you'll need to make a dummy sector( a sector outside the map that you cant get too, just make it a square) next, click on one of the walls and edit its action, select sector, and then sector 3d floor. or just put in 160.
next match the tag with the sector you want the ledge you want the platform in. the platform will be just like the dummy sector, it will be the same hight and everything. On the wall with the action, change alpha to 255 or it will be invisible, and then change type to solid.
GZDoom View is your best friend. (https://dl.dropbox.com/u/33338072/GZDoomBuilder2.zip)
Just override your DB2 folder with this one. To set it up.
Open it up as normal.
How do I make breakable windows? I've seen the option, but no idea how to handle it.And there is also an option to create poison damage that builds over time when entering a sector. I've used it before, but I don't know if I executed it correctly.
I was wondering if its possible for me to make it so if you shoot something, you get time stopper, if this is possible, how can I do this?You mean shoot a wall/switch or an actor?
Did you already have Doom Builder 2 installed? You need to override it with this one.
Okay, new question, not sure if it has been asked before. I tried checking the mm8bdm-v2c pk3, and the "unknown" map within it, and it hasn't helped he at all. How does one create a bot rush?There is no public source for the scripts in the Unknown map, I'm afraid. However, King Yamato's classes mod includes a bot rush map of its own. Prehaps you can look in there and see how he did it.
Quote from: "-FiniteZero-"Okay, new question, not sure if it has been asked before. I tried checking the mm8bdm-v2c pk3, and the "unknown" map within it, and it hasn't helped he at all. How does one create a bot rush?There is no public source for the scripts in the Unknown map, I'm afraid. However, King Yamato's classes mod includes a bot rush map of its own. Prehaps you can look in there and see how he did it.
yea like in doom2 inv mapslook in the skull tag maps^
More question:Depends, there is two kinds. shoot throughable or non-shoot throughable. One of them uses line def action (one of it's options is fence), as for the other I don't remember off the top of my head. For both click bottom unpegged to get it on the floor.
How do you make fences? If you know an answer, please tell me how to control the height as well. By the way, 'fence' means those really thin walls which have the area(in terms of size) of a line. For example, the bars in the hallway with the the E-Tank in MM1DW1 and the new railing in MM2AIR.
Another one:I don't remember the action number, but look for "Thing Thrust Z" set it to 15 force (that is what is used by vanilla maps) set to when player bumps and repeatable.
How to make ladders?
Script 1 OPEN
{
Sector_SetDamage(1, 255, MOD_FALLING);
}
str BOSSSONG = "PLUSBOS2";
str VICSONG = "RBFCLEAR";
int Maxfrags;
Bool BossMusic;
script 203 (void)
{
int modeofplay = ACS_ExecuteWithResult(975);
int IsTeamGame = ACS_ExecuteWithResult(975,1);
Switch(modeofplay)
{
Case 0: // DM / TDM
Case 5: //Terminator too!
if(GetCVar("fraglimit") <= 5){terminate;}
If(IsTeamGame==0)
{
if(PlayerFrags() <= maxfrags){terminate;}
maxfrags = PlayerFrags();
}
If(IsTeamGame==1)
{
If(BlueScore() <=maxfrags && RedScore()<=maxfrags){Terminate;}
If(BlueScore() > maxfrags){maxfrags=BlueScore();}
If(RedScore() > maxfrags){maxfrags=RedScore();}
}
if(MaxFrags >= GetCVar("fraglimit") - 5 && BossMusic==False)
{
SetMusic(BOSSSONG);
BossMusic=True;
}
if(MaxFrags >= GetCVar("fraglimit"))
{
SetMusic(VICSONG);
}
break;
Case 1: //possession
break;
Case 2: //LMS / TLMS
break;
Case 3: //Duel
if(GetCVar("fraglimit") <= 1 || PlayerFrags() <= maxfrags){terminate;}
maxfrags = PlayerFrags();
if(MaxFrags == GetCVar("fraglimit") - 1 && BossMusic==False)
{
SetMusic(BOSSSONG);
BossMusic=True;
}
if(MaxFrags >= GetCVar("fraglimit"))
{
SetMusic(VICSONG);
Delay(35*6);
SetMusic("*");
}
break;
Case 4: // CTF
break;
}
}
well see if you were paying attention THE CTF SECTION IS DUMMIED OUT and I can't ACS to save my lifei want to put a custom map prop in my map (its a infernape) how do i do that anyway?^
Quote from: "leoalex50"i want to put a custom map prop in my map (its a infernape) how do i do that anyway?^
actor
{
+CLIENTSIDEONLY
//$Category MM8BDM-
+/-SOLID
Height
radius
+DONTBLAST
scale 2.5
+/-NOGRAVITY (if you want it on the ground or to be able to be where ever)
states
{
Spawn:
A <#=/=0>
loop
}
}
Hope this helps.
and does it have to be ABCD0 or any other letters?Quote from: "leoalex50"Quote from: "leoalex50"i want to put a custom map prop in my map (its a infernape) how do i do that anyway?^add 2 lumps: SS_START and SS_END
Put actor frame in between those. (should be 4 letters as the code, an letter (starting from A) and a zero. No spaces
define actor in a decorate lump as soCode: [Select]actor
{
+CLIENTSIDEONLY
//$Category MM8BDM-
+/-SOLID what do i do with this
Height
radius
+DONTBLAST
scale 2.5
+/-NOGRAVITY (if you want it on the ground or to be able to be where ever) whats what
states
{
Spawn:A <#=/=0> ?
Hope this helps.
loop
}
}
The letter before the zero in the png is which frame is which, the letter being put in the code tells it which frames to play in which order.Quote from: "fortegigasgospel"and does it have to be ABCD0 or any other letters?add 2 lumps: SS_START and SS_END
Put actor frame in between those. (should be 4 letters as the code, an letter (starting from A) and a zero. No spaces
define actor in a decorate lump as soCode: [Select]actor
{
+CLIENTSIDEONLY
//$Category MM8BDM-
+/-SOLID what do i do with this
Height
radius
+DONTBLAST
scale 2.5
+/-NOGRAVITY (if you want it on the ground or to be able to be where ever) whats what
states
{
Spawn:A <#=/=0> ?
Hope this helps.
loop
}
}
AB 12
Code is the sprites, the A is one frame, the B would be a second frame and the 12 is how many tics between each frame.
So make sure the letter in the decorate lump matches the 5th letter in your png for which you want to use.
texture CHIRLETT, 136, 136
{
XScale 0.5
YScale 0.5
Patch CHIMER23, 0, 0
WorldPanning
}
And yes, it needs to be 136x136. Double-sized, it fits onto my circular platforms PERFECTLY.
How would I "scroll" a texture slightly off-center to work with the floor? For example, there are different teleporter textures that are scrolled sideways and such, so that no matter where you make a teleporter sector there's a texture that will make the floor look right. How do I scroll a texture like that?Maybe have to do it outside of slade. To the png itself.
For reference, this is the texture I currently have. I need to scroll it twice so the corner of the texture is the center, like the last teleporter texture I was talking about earlier.Code: [Select]texture CHIRLETT, 136, 136
And yes, it needs to be 136x136. Double-sized, it fits onto my circular platforms PERFECTLY.
{
XScale 0.5
YScale 0.5
Patch CHIMER23, 0, 0
WorldPanning
}
How would I "scroll" a texture slightly off-center to work with the floor? For example, there are different teleporter textures that are scrolled sideways and such, so that no matter where you make a teleporter sector there's a texture that will make the floor look right. How do I scroll a texture like that?Use Sector_SetFloorPanning (http://zdoom.org/wiki/Sector_SetFloorPanning)
Script 1 OPEN
{
Sector_SetFloorPanning(1, 32, 0, 32, 0);
}
This will move the floor texture 32 units to the RIGHT and 32 units UP for any sector with a tag of 1
#include "zcommon.acs"
Script 2 (int turn)
{
Delay(random(1,20));
if(turn==1){SetActorAngle(ActivatorTID(), 0.5);}
if(turn==2){SetActorAngle(ActivatorTID(), 0.25);}
if(turn==3){SetActorAngle(ActivatorTID(), 1.0);}
if(turn==4){SetActorAngle(ActivatorTID(), 0.75);}
}
#DEFINE SOUNDTIME 35
bool SandSound = false;
script X OPEN
{
while(true){
while(SandSound){
AmbientSound("sandsoundname", 255);
Delay(SOUNDTIME);
}
Delay(1);
}
}
I forgot to mention, sectors inside sectors can not be curved.(at least in my experience)
Quote from: "CStar7"I forgot to mention, sectors inside sectors can not be curved.(at least in my experience)
Sectors inside sectors CAN be curved.
int entersector[64];
script X (void)
{
int pln = PlayerNumber();
entersector[pln]++;
printbold(i:entersector[pln]);
}
-How do I make a drop a teleport?By this I guess you mean teleport locations above ground. Use Teleport Destination + Z Height and raise the actor to where you want it.
-How do I work a normal teleporter?Probably should know this one before asking the other. Use "actor hits floor" or "enters sector" actor, set the target tag to a number not used by something, place a Teleport Destination actor and give it the tag used.
-How do I make false walls/doors?Use "warp mid-texture" to make the linedef be covered by the used texture, and keep it passable.
-I don't know if my perfect circle question was answered.Yes it was. Just look at the replies after your question.
No. He's referring to something like Crystalman where a drop[a floor in a hole] is a teleporter.But, you still do the same thing. Use actor hits floor and a Destination Z Height. Unless you wanna use group teleport, which I tried once. Didn't work out for me.
bool buttonspressed[3];
script X (int which)
{
buttonspressed[which] = true;
}
This method is a bit more complex, but all you really need is to figure out how many buttons are needed for the door (my example is 3) and on that button press, you set the actor hits first argument (under action again) to 0, 1, or 2 (representing buttons 1, 2, and 3) to determine which buttons you have pressed and which ones you have not.TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(975,0)!=0,"Death")//Check game modes
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(975,2)!=0,"Death")//Check modifiers
goto Spawn+3
How the Khushnood do I get Guts Man G to work properly? He throws me once, sure, but after that I can practically walk through the guy and he doesn't so much as even turn around.
Script 1 (void)
{
SetPlayerProperty(0,0,1);
}
Script 2 ENTER
{
SetPlayerProperty(0,1,1);
Delay(1);
SetPlayerProperty(0,1,1);
}
Script 3 RESPAWN
{
ACS_ExecuteAlways(2, 0);
}
I want to add some weapons to doom builder, but when I try to use them, they aren't in the list of selectable weapons. What is going on?
Quote from: "CStar7"I want to add some weapons to doom builder, but when I try to use them, they aren't in the list of selectable weapons. What is going on?
Make sure your new weapons have a DoomED number and is loaded as a resource for your map.
actor MegaBallWep : MegaBuster 11093
Mega Ball's number is 11093. Basically, you put in some sort of unique number there[figuring out which ones are unique is the hard part, obviously], and then you just place it on a map.How do I make floating platforms?Going off of memory, LET'S DO THIS.
Quote from: "lorbog"How do I make floating platforms?
i need help putting props that serv made for my brith day map to my brith day map how do i do thisthe files are here for people to help me fix my prob props (http://www.sendspace.com/file/ibokey) and map (http://www.sendspace.com/file/s2v392)
The water script I'm using for a map I'm making is quite tedious. I can't have water with a different height in another place. If you're wondering, it's the one used for MM1DW2's pool. Isn't there a way to use the Transfer Heights dummy sector with some kind of gravity setting?
I'm bringing this here from Bugs and Suggestions, but I think it's valid since it also applies. Plus, I'm more likely to get help here, right? Right? ... :|No, no there isn't.Quote from: "Knux"The water script I'm using for a map I'm making is quite tedious. I can't have water with a different height in another place. If you're wondering, it's the one used for MM1DW2's pool. Isn't there a way to use the Transfer Heights dummy sector with some kind of gravity setting?
Scripting help!
I'd like a script that gives the player Weapon Energy while they're standing in a certain sector.
It's like Clown Man's panels, except it's always on.
actor StopAmmo : Once {}
script X (void){//Can probably be merged into a single script, but I don't want chances
while(CheckInventory("StopAmmo")<1 && GetActorProperty(0, APROP_HEALTH)>0){
While(GetActorZ(0) != GetActorFloorZ(0))Delay(1);
GiveInventory("WeaponEnergy"); //NOTE: I actually am unsure whether this is the correct actor name. Please check items.txt in MM8BDM-v3a.pk3 later.
LocalAmbientSound("item/energyup", 100);
Delay(10);
}
}
Script Y (Void)
{
GiveInventory("StopAmmo",1);
Delay(5);
TakeInventory("StopAmmo",9);
}
Huh.
I'm trying to figure out what to do, looking at DECORATE guides, but all of the guides are telling me how to edit actors, not how to put actors on things. How would I go at doing that? I apologize if such was already answered in this thread.
Wow, I skimmed through 42 pages and noticed something that hasn't been mentioned.
How do you get the Gutsman platforms in Gutsman stage to move along a path? (EX: Gutsman stage, one of the Dr. Wily's Stages)
Also speaking of it, is it possible to make them move upwards?
Script X OPEN
{
SectorDamage(tag, 255, "Falling", "BeatCallCheck", DAMAGE_PLAYERS);
Delay(1);
restart;
}
#include "zcommon.acs"
I am trying to make the gravity change, like in Gravity Man's stage. I don't see what I did wrong.If you copy pasted Gravityman's script, you should have gotten it working correctly...did you compile it? It's a button in the script editor that looks like a piece of paper...
The pit isn't killing the player when they fall in. It is activating beet.Give me a moment to experiment...I don't generally use SectorDamage.
I did copy and paste from Gravity Man's script. When the sector tag was 0, it did nothing. No gravity change or no warning sound.Well...you might have forgotten to compile then. Or you forgot to place the following line preceding your script.
Code: [Select]#include "zcommon.acs"
The pit isn't killing the player when they fall in. It is activating beet.This might be a similar problem here because that exact script works fine for me. But you must give the script a tag. Try 0. 0 is always fun and a good way to test whether the script works.
Um...alright
(http://snag.gy/9JJh8.jpg)
Hope that helps...because you had been copypasting script data, I had assumed you knew where it was.
You may want to consider using that instead of notepad to program your scripts because it automatically tries to compile when you save, I believe.
[Personally, I prefer using SLADE's code editor because Doombuilder's is sort of clunky, but Doombuilder's is good for map scripting.]
I'm making a skybox for a level, but, upon making the line horizons, it comes out like this:It looks like you forgot to include an image.
Now, this is up on an inaccessible area for the map I'm making, but if someone were to use the Fly cheat, like I did to get up there in-game, they'd see that mess up. Is there a way to keep the horizon from looking like that?
#include "zcommon.acs"
before your scripts. This should only be done if you haven't done this already in your scripts editor.
That...should do it. Let me know if you have any issues.
EDIT: I was also wondering how, in deathmatch, when the frag limit is getting close the music changes. Also the victory jingle at the end of a round.
From experience I think it changes when you're 5 frags away from the goal.
Hmmm, still not working. I am even trying it with Flame Blast. :?
EDIT: I was also wondering how, in deathmatch, when the frag limit is getting close the music changes. Also the victory jingle at the end of a round.
if(MaxFrags >= GetCVar("fraglimit") - 5 && BossMusic==False)
#include "zcommon.acs"
at the top. :lol:Awesome, have fun~
Oh, did you get those oil pits working?
2. This requires a bit of ACS scripting. Give the sectors that you want to be instakill a tag. Open Doombuilder 2's Script Editor and copy this script in and edit it accordingly.Code: [Select]#include "zcommon.acs"
Hopefully this helps.
Script [Any number, probably 1] OPEN
{
delay(1);
SectorDamage([This is the tag that you gave the instakill sectors], 255, [This changes what the obituary will say when the player dies from the pit. If you want it to say 'fell too far', put it as "Falling". Look at the ZDoom Wiki under Damagetypes to find more], 0, DAMAGE_PLAYERS);
restart;
}
#include "zcommon.acs"//Only use this if you haven't already.
str MusicNames[2] = {//The number can be changed to include more songs.
"MusicType1",
"MusicType2"
};
script X (int song)//X is your script number
{
LocalSetMusic(MusicNames[song]);//This takes the song from the array and sets it as the client's music.
}
IIRC +NOINTERACTION makes actors go through floors. I could be wrong on that, in which case make sure the sprites have the proper names.
int ItemNumbers[64];
script X (void)
{
for(int i=0; i<=63; i++){
if(PlayerInGame(i))ItemNumbers[i] = CheckActorInventory(i+1000, "InventoryItem");
}
}
I got rid of +NOINTERACTION, and doublechecked the sprites, but neither of those seemed to work.Has anyone come up with another solution for why my prop won't work?
It appears in Doom Builder but not in-game.
I named the text for my actor code "smb2props.txt" and here's the content of such:(click to show/hide)
I put that in a folder titled "actors." I also made a folder titled "sprites" in which I put the sprites for my prop, which are titled SM2VA0, SM2VB0, SM2VC0, and SM2VD0, respectively. My map .wad is in the same .pk3 file.
Map WILY6 "Lab"
{
next = "Wily7"
sky1 = "BLACK", 0
cluster = 1
music = "Wily6"
aircontrol = 0.5
forcenoskystretch
clipmidtextures
}
The music code cannot be the same as the map code.
(click to show/hide)
if(updown>1)updown=1;
SetActivatorToTarget(0);
SetActorPosition(0,GetActorX(totid),GetActorY(totid),GetActorZ(totid),0);
ThrustThingZ(0, thrustspeed, updown, 0);
SetActorAngle(ActivatorTID(),GetActorAngle(totid));
SetActorState(totid, "End");
Script 4 OPEN
{
SetLineTexture(26, SIDE_FRONT, TEXTURE_MIDDLE, "-");
SetLineTexture(26, SIDE_BACK, TEXTURE_MIDDLE, "-");
SetLineTexture(27, SIDE_FRONT, TEXTURE_MIDDLE, "-");
SetLineTexture(27, SIDE_BACK, TEXTURE_MIDDLE, "-");
Delay(35*2);
SetLineTexture(26, SIDE_FRONT, TEXTURE_MIDDLE, "ELECZZ");
SetLineTexture(26, SIDE_BACK, TEXTURE_MIDDLE, "ELECZZ");
SetLineSpecial (26, DamageThing, 15);
ThingSound(1,"misc/electrap",127);
Delay(17);
SetLineTexture(27, SIDE_FRONT, TEXTURE_MIDDLE, "ELECZZ");
SetLineTexture(27, SIDE_BACK, TEXTURE_MIDDLE, "ELECZZ");
SetLineSpecial (27, DamageThing, 15);
ThingSound(2,"misc/electrap",127);
Delay(17);
SetLineTexture(27, SIDE_FRONT, TEXTURE_MIDDLE, "-");
SetLineTexture(27, SIDE_BACK, TEXTURE_MIDDLE, "-");
SetLineSpecial (26, 0, 0);
Delay(17);
SetLineSpecial (27, 0, 0);
restart;
}
Spawn:
GLIF A 0
GLIF A 0 A_JumpIfInventory("CutterFlag",1,3)
GLIF A 0 ACS_ExecuteAlways(253,0,42,32)
GLIF A 0 A_GiveInventory("CutterFlag",1)
GLIF A 9 A_ChangeVelocity(0, 2, 0, CVF_REPLACE)
GLIF A 0 A_PlaySoundEx("misc/gutslift", "Weapon")
Loop
Script 4 OPEN
{
SetLineTexture(26, SIDE_FRONT, TEXTURE_MIDDLE, "-");
SetLineTexture(26, SIDE_BACK, TEXTURE_MIDDLE, "-");
SetLineTexture(27, SIDE_FRONT, TEXTURE_MIDDLE, "-");
SetLineTexture(27, SIDE_BACK, TEXTURE_MIDDLE, "-");
Delay(35*2);
SetLineTexture(26, SIDE_FRONT, TEXTURE_MIDDLE, "ELECZZ");
SetLineTexture(26, SIDE_BACK, TEXTURE_MIDDLE, "ELECZZ");
SetLineSpecial (26, DamageThing, 15);
ThingSound(1,"misc/electrap",127);
Delay(17);
SetLineTexture(27, SIDE_FRONT, TEXTURE_MIDDLE, "ELECZZ");
SetLineTexture(27, SIDE_BACK, TEXTURE_MIDDLE, "ELECZZ");
SetLineSpecial (27, DamageThing, 15);
ThingSound(2,"misc/electrap",127);
Delay(17);
SetLineTexture(27, SIDE_FRONT, TEXTURE_MIDDLE, "-");
SetLineTexture(27, SIDE_BACK, TEXTURE_MIDDLE, "-");
SetLineSpecial (26, 0, 0);
Delay(17);
SetLineSpecial (27, 0, 0);
restart;
}.
I have a general idea of how upper/lower sectors work. But now I'm curious as to a limitation. Is it at all possible for two sectors to both be at an upper sector of each other, giving the look of one sector being the ceiling to the other sector?You're talking portals, yes?
As for elec traps, those were discussed a bit back in the thread. Look around a bit.
Ah, I see. as I said the goal would be to make it look like one area is the ceiling to the other area. So it looks like players are running on it.Quote from: "fortegigasgospel"I have a general idea of how upper/lower sectors work. But now I'm curious as to a limitation. Is it at all possible for two sectors to both be at an upper sector of each other, giving the look of one sector being the ceiling to the other sector?You're talking portals, yes?
I don't think there is a limit, no. I would be careful with portals, though...they tend to act weirdly in Software.
I recently messed with one of Rozark's maps with these and there are literally four areas that are all connected visually with portals. It completely, utterly, and irreparably broke in Software however, so I just made a script that removed them clientside if the client is running software. No harm, no fowl.
Tsuki is totally going to yell at me for this.
I got the sound to work and the damage to the player to work, but I can't get the electric beams themselves to appear.
Quote from: "Megaman94"I got the sound to work and the damage to the player to work, but I can't get the electric beams themselves to appear.
From what it sounds like, the lines should have already been tagged due to the...OH! I know! Change the texture offsets of your linedefs that you want the beams to appear on. To be accurate, you need to lower the number by a whole lot.
EDIT: Tails, is your Gutslift script executed by monster passing over? If not, set it so it is activated by a monster walking over the line. (It's under Activation)
Delay (17);
Script 4 OPEN
{
SetLineTexture(26, SIDE_FRONT, TEXTURE_MIDDLE, "-");
SetLineTexture(26, SIDE_BACK, TEXTURE_MIDDLE, "-");
SetLineTexture(27, SIDE_FRONT, TEXTURE_MIDDLE, "-");
SetLineTexture(27, SIDE_BACK, TEXTURE_MIDDLE, "-");
Delay(35*2); Longer to fire for both.
SetLineTexture(26, SIDE_FRONT, TEXTURE_MIDDLE, "ELECZZ");
SetLineTexture(26, SIDE_BACK, TEXTURE_MIDDLE, "ELECZZ");
SetLineSpecial (26, DamageThing, 15);
ThingSound(1,"misc/electrap",127);
Delay(17); First elec beam is firing longer.
SetLineTexture(27, SIDE_FRONT, TEXTURE_MIDDLE, "ELECZZ");
SetLineTexture(27, SIDE_BACK, TEXTURE_MIDDLE, "ELECZZ");
SetLineSpecial (27, DamageThing, 15);
ThingSound(2,"misc/electrap",127);
Delay(17); Both elec beams are firing longer.
SetLineTexture(27, SIDE_FRONT, TEXTURE_MIDDLE, "-");
SetLineTexture(27, SIDE_BACK, TEXTURE_MIDDLE, "-");
SetLineSpecial (26, 0, 0);
Delay(17); The first elec beam is no longer firing, but the second one still is, even though the elec beam graphic is not there.
SetLineSpecial (27, 0, 0);
restart;
}.
'Things' not found in WILY2
Quick Beams and Yoku Blocks.You must be kidding me. You know how to do this....at least you could figure this out for yourself...you know enough ACS.
How do.
When I try to test my map after I add it to MM8BDM it saysThis issue is...either a result of no actors being placed in the map or...it's a far more complex issue with your nodebuilder which I cannot help you fix.Code: [Select]'Things' not found in WILY2
#include "zcommon.acs"
Script 1 OPEN
{
delay(1);
SectorDamage(4,255,OB_LAVA,0,DAMAGE_PLAYERS);
restart;
}
Your "Delay(1);" needs to be before the "Restart;". The script will terminate otherwise due to an infinite loop.ok..
#include "zcommon.acs"
Script 1 OPEN
{
delay(1);
restart;
SectorDamage(4,255,OB_LAVA,0,DAMAGE_PLAYERS);
}
#include "zcommon.acs"
Script 1 OPEN
{
SectorDamage(4,255,OB_LAVA,0,DAMAGE_PLAYERS);
delay(1);
restart;
}
I meant move it, like this:Code: [Select]#include "zcommon.acs"
Script 1 OPEN
{
SectorDamage(4,255,OB_LAVA,0,DAMAGE_PLAYERS);
delay(1);
restart;
}
Here's an example map on how to have two different levels of 3d floor water.
http://www.mediafire.com/download/vw5zna6tcfsu49t/uwata2.wad
Post your map here then so that we may look at it. Play around with sample map too...see if you can break it and why xyz broke it.
I need a bit of help here.
par = 2
This line would make it so that the MM2 boss theme plays. To make custom ones, you need scripts.Quote from: "TheunlosingQuint"I need a bit of help here.
-To make a map pack, you need to make a new zip on SlumpEd, then place your map wads in said zip and save the zip as a .pk3.
-To do the 5-frags-left song, add a line of code called "par" in your MAPINFO. For example:Code: [Select]par = 2
This line would make it so that the MM2 boss theme plays. To make custom ones, you need scripts.
-I don't know a video, but here is how you make a skybox. Firstly, make a sector of the map which is completely detached from the rest of the map. Naturally, you put the sky textures there. Then, in the (rough)centre of the sector, place a thing called "Skybox Viewpoint" which you can find under "Cameras and Interpolation". To make the sky visible, a floor/ceiling in the actual map should have F_SKY1 as the texture.
-To do the 5-frags-left song, add a line of code called "par" in your MAPINFO.Yeah, don't do this, as it complicates things. It's much better to simply use the following script. Remember to click Compile Scripts (page icon with a lightning bolt on it) after it's in, or it won't work. This goes in the script editor of Doom Builder while making a map (scroll page icon).
Quote from: "Messatsu"Post your map here then so that we may look at it. Play around with sample map too...see if you can break it and why xyz broke it.
What controls when you hit the water and hear the splash sound?
Here is my map:
http://www.mediafire.com/?aplcllbi34q7l42 (http://www.mediafire.com/?aplcllbi34q7l42)
Function int WaterCheck(void)
{
If(ThingCountSector(T_NONE, ActivatorTID(), 1) && GetActorZ(0) < -16.0){Return 2;}
If(ThingCountSector(T_NONE, ActivatorTID(), 2) && GetActorZ(0) < 140.0){Return 2;}
Return 1;
}
Quote from: "<*Hilman170499*>"-To do the 5-frags-left song, add a line of code called "par" in your MAPINFO.Yeah, don't do this, as it complicates things. It's much better to simply use the following script. Remember to click Compile Scripts (page icon with a lightning bolt on it) after it's in, or it won't work. This goes in the script editor of Doom Builder while making a map (scroll page icon).Making a skybox is very easy. First, make a sector outside the map and give it the textures you want everywhere (ceiling, walls and floor.) Next, go to Cameras and Interpolation on Things Mode, select a Skybox Viewpoint thing and place it in the middle of the skybox (also raise it's Zheight by 8.) Finally, you need to have the texture F_SKY1 in the ceilings of the map where you want the skybox (the sky) to be seen. For horizons, set the line property to 9 (Line Horizon) on desired borders of the map so you can see the walls of the skybox properly in the map.(click to show/hide)
Click the sectors, items etc (you can switch between modes while still maintaining a selection) and then press E. Once you do that, the menu on the right should allow you to rotate, mirror, resize etc whatever you selected.
I am trying to put Fortegigasgospel's breakable walls in my map pack (http://www.cutstuff.net/forum/viewtopic.php?f=28&t=4419), and I think I got everything ok, but when I open Doom Builder 2, it won't appear. I followed the steps he gave me exactly as he told me. What did I do wrong?I do believe the item has to be 1 word, so HeatBlock. Been a while since I've used it. If not just post here again and I'll actually double check the map I put them in.
Here is the code he provided me(click to show/hide)
EDIT: it is saying "actor is an unknown flag" when I try to open it in MM8BDM
Quote from: "Megaman94"I am trying to put Fortegigasgospel's breakable walls in my map pack (http://www.cutstuff.net/forum/viewtopic.php?f=28&t=4419), and I think I got everything ok, but when I open Doom Builder 2, it won't appear. I followed the steps he gave me exactly as he told me. What did I do wrong?I do believe the item has to be 1 word, so HeatBlock. Been a while since I've used it. If not just post here again and I'll actually double check the map I put them in.
Here is the code he provided me(click to show/hide)
EDIT: it is saying "actor is an unknown flag" when I try to open it in MM8BDM
actor HeatBlockRespawner
{
+NOCLIP
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 175
TFOG A 3
TFOG BC 2
TNT1 A 1 A_SpawnItemEx("HeatBlock")
stop
}
}
Both heatblock and heatblockrespawner need to be 1 word. Additionally, the heatblockrespawner has an error needs to be replaced with this code:Code: [Select]actor HeatBlockRespawner
{
+NOCLIP
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 175
TFOG A 3
TFOG BC 2
TNT1 A 1 A_SpawnItemEx("HeatBlock")
stop
}
}
Also, make sure you're putting this in a file called DECORATE. It is easier to place this in your map wad directly, as you'll need it when running from the launcher / on release.
Thanks Gummy.Quote from: "Gummywormz"Both heatblock and heatblockrespawner need to be 1 word. Additionally, the heatblockrespawner has an error needs to be replaced with this code:Code: [Select]actor HeatBlockRespawner
{
+NOCLIP
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 175
TFOG A 3
TFOG BC 2
TNT1 A 1 A_SpawnItemEx("HeatBlock")
stop
}
}
Also, make sure you're putting this in a file called DECORATE. It is easier to place this in your map wad directly, as you'll need it when running from the launcher / on release.
Ok
where is it in Doom Builder? I can't find it....
Quote from: "Megaman94"Thanks Gummy.Quote from: "Gummywormz"Both heatblock and heatblockrespawner need to be 1 word. Additionally, the heatblockrespawner has an error needs to be replaced with this code:Code: [Select]actor HeatBlockRespawner
{
+NOCLIP
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 175
TFOG A 3
TFOG BC 2
TNT1 A 1 A_SpawnItemEx("HeatBlock")
stop
}
}
Also, make sure you're putting this in a file called DECORATE. It is easier to place this in your map wad directly, as you'll need it when running from the launcher / on release.
Ok
where is it in Doom Builder? I can't find it....
Look for this folder at the bottom MM8BDM-DESTROYABLE WALLS. May need to make that one word too.
You need to put a Doom Editor Number on the respawner in order to get it to show up in the thing types list.
To do so, you write a number (generally in the 20000 range) to the right of your actor name.
You don't place the respawner, you place the wall, when the wall is destroyed it will automaticly spawn the respawner on its location, after a bit it will respawn the wall.
ThanksHe ment you never added the decorate or the sprite. As for the code, the HEAT has to be changed in the sprite name and the decorate. Cause HEAT is the sprite for code for Atomic Fire.
Glad to have this problem finally solved.
EDIT: and the sprite's graphic is atomic fire. Curse you heat man!!!! :evil:
And what do you mean by putting the code in the file?
Script 7 OPEN
{
if(fraglimit=10)
{
print(s:"Warning: Preparing Missile for launch!!");
}
I changed the code to HTDW and it still looks like atomic fireWell, everything for starters. There's not enough info here to even begin to hell you what's specifically wrong, but I can see a bunch of items that are potentially way off point. Can you shed a little light on what you're trying to do?
EDIT: What is wrong with this script?Code: [Select]Script 7 OPEN
{
if(fraglimit=10)
{
print(s:"Warning: Preparing Missile for launch!!");
}
The fraglimit doesn't exactly change? I don't see it ever being 7. Do you mean when a player SCORES 7 frags?
Script 7 DEATH //Called when a player dies
{
SetActivatorToTarget(0); // Sets the person running the script to the person who killed the player
If(PlayerFrags() == 7){printbold(s:"Warning: Preparing Missile for launch!!");} //If a player's frags equal 7, then display the message to ALL players (printbold prints to every player, print is only to the activator)
}
So that'd be something like this:Code: [Select]Script 7 DEATH //Called when a player dies
{
SetActivatorToTarget(0); // Sets the person running the script to the person who killed the player
If(PlayerFrags() == 7){printbold(s:"Warning: Preparing Missile for launch!!");} //If a player's frags equal 7, then display the message to ALL players (printbold prints to every player, print is only to the activator)
}
In general, this is still kinda sloppy as it will trigger whenever a player's frags equal 7 for any reason, but that's the gist anyway.
Bots count as monsters because of how they were set up for 8BDM, so adding block monster to a line [it's a checkbox in the linedef properties] will prevent bots from crossing it.
Hey anyone know what format the new maps are in? I tried opening Burner Man's map in Doom Builder 2 and it wouldn't show up. Atleast that's what i assume the problem is.
Ok, so I was playing around for a while and I still couldn't figure this out. Can you explain how to do the quickbeams?There are scripts that activate the QuickbeamShooter actors. In order to activate them, you must give them a tag under action in the thing properties.
*The answers to the following should be compatible with Hexen format.(I am aware that maps are now in UDMF but still...)
2)Can someone please remind me how to make fences and windows?
Thanks in advance.
#include "zcommon.acs"
Script 1 OPEN
{
if (T_ARACHNOTRON=0){Floor_LowerToLowest(1,70);}
}
#include "zcommon.acs"
Script 1 OPEN
{
int AracsPresent = ThingCountSector(T_ARACHNOTRON, 0,0);
}
SCRIPT 2 OPEN
{
if(T_ARACHNOTRON () == 0) {Floor_LowerToLowest(2,70);}
}
This has probably been asked before but, how do I make buttons and when pressed, have them raise or lower specific floors/sectors?
script 1 ENTER
{
int WaterType = WaterCheck();
int WaterGravity;
int i;
Switch (WaterType)
{
Case 1:
If(WaterGravity == 1)
{
WaterGravity = 0;
ThrustThingZ(ActivatorTID(),0,0,0);
ACS_ExecuteAlways(5,0,0);
If(i<=0)
{
SpawnProjectile(0, "MMSplash",0,0,0,0,0);
i=20;
}
}
break;
Case 2:
If(WaterGravity == 0)
{
ACS_ExecuteAlways(5,0,1);
ThrustThingZ(ActivatorTID(),5,0,1);
WaterGravity = 1;
If(i<=0)
{
SpawnProjectile(0, "MMSplash",0,0,0,0,0);
i=20;
}
}
break;
}
if(GetActorProperty(ActivatorTID(),APROP_HEALTH)<1){terminate;}
if(i > 0){i--;}
Delay(1);
Restart;
}
str BOSSSONG = "MM2BOSS"; //Put the boss music here
str VICSONG = "MM2VIC"; //And this is your victory music
int Maxfrags;
Bool BossMusic;
script 203 (void)
{
int modeofplay = ACS_ExecuteWithResult(975);
int IsTeamGame = ACS_ExecuteWithResult(975,1);
Switch(modeofplay)
{
Case 0: // DM / TDM
Case 5: //Terminator too!
if(GetCVar("fraglimit") <= 5){terminate;}
If(IsTeamGame==0)
{
if(PlayerFrags() <= maxfrags){terminate;}
maxfrags = PlayerFrags();
}
If(IsTeamGame==1)
{
If(BlueScore() <=maxfrags && RedScore()<=maxfrags){Terminate;}
If(BlueScore() > maxfrags){maxfrags=BlueScore();}
If(RedScore() > maxfrags){maxfrags=RedScore();}
}
if(MaxFrags >= GetCVar("fraglimit") - 5 && BossMusic==False) X
{
SetMusic(BOSSSONG);
BossMusic=True;
}
if(MaxFrags >= GetCVar("fraglimit"))
{
SetMusic(VICSONG);
}
break;
Case 1: //possession
break;
Case 2: //LMS / TLMS
break;
Case 3: //Duel
if(GetCVar("fraglimit") <= 1 || PlayerFrags() <= maxfrags){terminate;}
maxfrags = PlayerFrags();
if(MaxFrags == GetCVar("fraglimit") - 1 && BossMusic==False)
{
SetMusic(BOSSSONG);
BossMusic=True;
}
if(MaxFrags >= GetCVar("fraglimit"))
{
SetMusic(VICSONG);
Delay(35*6);
SetMusic("*");
}
break;
Case 4: // CTF
break;
}
}
#include "zcommon.acs"
Draw a sector outside of the map (apart from it) and give it the textures and stuff you want showing in horizons and skies. Then, place a Skybox Viewpoint object (located in Cameras and Interpolation) in the middle of your skybox and give it a Zheight of at least 8.
To adjust brightness, press S to enter Sectors Mode, then right click a sector and give it 255 brightness or whatever. If you wanna make everything 255 bright as it should be, just hold left click and expand the square to select all the sectors, then right click one and give it 255 brightness and click OK.
Turboroaders take curves by going over a line which activates a script for them to face a certain angle. I suggest that you look at Turbo Man's map in Doom Builder and try to copy what it does.
Quote from: "Knux"Turboroaders take curves by going over a line which activates a script for them to face a certain angle. I suggest that you look at Turbo Man's map in Doom Builder and try to copy what it does.
I don't mean to be rude, but I tried doing that by extracting the Turboman wad from the MegaMan8-bitDeathmatchv4a file, and I couldn't load it in DoomSeeker for some odd reason.
Quote from: "supershadow64ds"Quote from: "Knux"Turboroaders take curves by going over a line which activates a script for them to face a certain angle. I suggest that you look at Turbo Man's map in Doom Builder and try to copy what it does.
I don't mean to be rude, but I tried doing that by extracting the Turboman wad from the MegaMan8-bitDeathmatchv4a file, and I couldn't load it in DoomSeeker for some odd reason.
Yikes... All you had to do was copy and paste. You may have to download another MM8BDM if you can't find a way to put it back
SpawnSpot is used for spawning things, not sounds. You probably want something to do with LocalAmbientSound (http://zdoom.org/wiki/LocalAmbientSound)
As for hearing it an certain sector, I'm not sure if you mean hearing it when entering a sector, or only when someone is in that sector. For entering a sector you'd need an actor enters / leaves sector object. If you want it to play only in that sector, it's a bit trickier. You need a script that terminates if they players leave / a DECORATE flag item to control it. Look at LMSGame's King of the Red Circle (LMS28) for an example.
Ok.
How do I make a sector that damages those that stay in it too long and how do I make a Crusher?
Script 1 OPEN
{
Sector_setdamage (sector tag, amount, means of death);
}
And the crusher?
Script 2 OPEN
{
Ceiling_CrushAndRaise (sector tag, speed, crush [, crushmode]);
restart;
}
How do I add music? :cry:
I want to add music to my stage without replacing another stage. How do I do that?
Already asked in 'How do I do THAT in doom builder?', but my question was just ignored :cry:
map MM2AIR "AIR MAN"
{
next = "MM2HEA"
sky1 = "AIRSKY", 0
music = "AIRMUS"
aircontrol = 0.5
par = 2
}
3d floors are really frustrating is there an example anywhere?LEG05 in my map pack has 3 3D Floors if I remember correctly, two of which are visibly solid and one is completely transparent. This should provide a decent basis for you to work with. Remember Doom Builder has a search option through which you can find things like sector tags and linedef actions.
Open up MM8BDM.pk3 itself in Slade or SLumpEd or something like that, scroll down until you find your map of choice, right click, export to wherever, and then open it up in Doom Builder.
I mean music in the game. Not custom. Sorry for not being specific.Quote from: "crazytobuildmc"How do I add music? :cry:Quote from: "crazytobuildmc"I want to add music to my stage without replacing another stage. How do I do that?
Already asked in 'How do I do THAT in doom builder?', but my question was just ignored :cry:
Whoa sorry dude, I noticed your question but wasn't in an opportune spot to adequately answer [read: I was on my phone and phone typing is dumb.]
Alright...first off you need your music file, preferably looped and compressed (http://cutstuff.net/forum/viewtopic.php?f=44&t=3332). The music file name must be 8 characters or less in length [not including the file extension] and should preferably be in a .ogg format.
In order to add music, you will need a wad editor such as SLumpEd (http://slumped.mancubus.net/index.php?page=downloads) or SLADE (http://slade.mancubus.net/index.php?page=downloads). Open your map wad file in one of those editor and click import files at the top. Find your music file and click open.
Next, you need to make sure the music file is not in between your map marker and ENDMAP lumps. This is important. Your map will crash if anything is in between these files that is not supposed to be there.
Finally, create a new lump file, name the file MAPINFO. Again make sure it is not in between the map marker and ENDMAP files. Right click and view as text if you're using SLADE. MAPINFO handles a group of information that maps will use to work properly.
Here's an example of MAPINFO from the map MM2AIR:Code: [Select]map MM2AIR "AIR MAN"
{
next = "MM2HEA"
sky1 = "AIRSKY", 0
music = "AIRMUS"
aircontrol = 0.5
par = 2
}
the name is denoted by the map's lump name followed by the full name of the map in quotations.
music is the 8 character song file I told you to make earlier.
I mean music in the game. Not custom. Sorry for not being specific.Then you would only need to do the steps related to MAPINFO.
Doom builder then tells me to pick a list of maps on the wad of choice but there is no map listed therefore I can't open it :?Try opening the map with the game configuration set to ZDoom: Doom in UDMF Format as all the maps in 8BDM were converted to that format with v4a's update. The initial tutorial was never updated, but the method of setting it up for 8BDM is exactly the same, just in a different config.
-iwad "%WP"
to -iwad "megagame.wad"
Did you remember to include the line #include "zcommon.acs" at the top of your scripts file? I had a similar issue a while back, and it turned out I was missing that piece.
str BOSSSONG = "LDMBOSS2";
str VICSONG = "LDMVIC";
int bossMusic = 0;
script 25 DEATH
{
int musiccheck = ACS_ExecuteWithResult(972);
if(bossmusic!=musiccheck)
{
bossmusic=musiccheck;
if(bossmusic==1)
{
SetMusic(BOSSSONG);
}
if(bossmusic==2)
{
SetMusic(VICSONG);
}
}
}
script 26 (int who) DISCONNECT
{
Delay(1);
ACS_Execute(25, 0);
}
The script in LegoPack is kind of finicky, it used a modified version of Core's boss music which required a special ACS compiler to set up. Since v4b is out, try compiling using the following script instead:Code: [Select]str BOSSSONG = "LDMBOSS2";
str VICSONG = "LDMVIC";
int bossMusic = 0;
script 25 DEATH
{
int musiccheck = ACS_ExecuteWithResult(972);
if(bossmusic!=musiccheck)
{
bossmusic=musiccheck;
if(bossmusic==1)
{
SetMusic(BOSSSONG);
}
if(bossmusic==2)
{
SetMusic(VICSONG);
}
}
}
script 26 (int who) DISCONNECT
{
Delay(1);
ACS_Execute(25, 0);
}
Try loading with v4b since that's the version of the game we're using now. (http://cutstuff.net/forum/viewtopic.php?f=34&t=8527)
Make sure v4b is loaded as a resource for Doom Builder and run the game from there.
Do not load v4a alongside it.
Why is the pk3 loaded before the iwad?
I mean...that might not impact anything, but...
try changing the load order so that the iwad is first.
Hmm.
Paste full script code here, please.
Every single line. If you don't want to publicly, then PM me.
Couple things to note first.
1) Change "bool bossmusic" to "int bossmusic"
2) Remove "int servermax=32" and "int maxfrags"
Are you running the game through the launcher or through doom builder to test?
Ah ok...hrmm...
Would it be too much to ask for you to PM me the map? I'm curious as to what's wrong now and honestly asking these questions isn't getting us anywhere.
I load the mod you sent and the music works just fine.
Set the fraglimit to 6 to and try fragging a bot.
Well first off, that script will delay for ten minutes before doing anything. I recommend changing that line to say Delay(10); in the mean time.
Post about the results after you've tried that.
That's...still ten minutes. You're seriously telling me you're waiting a full ten minutes to test this?
That's absurd.
If you want to make sure a mechanic works, you don't want long delays like that, it just wastes time.
The script you have looks fine, but that doesn't necessarily mean it does what you want because ReplaceTextures applies to all instances of the texture in the map.
Make sure you're using ReplaceTextures for the area where you want the sky to show up, remove the delay and tell me if it works.
if (CheckActorFloorTexture (6, "FROFLR4"));
ReplaceTextures("CRASSKY","LIGHSMOU");
ReplaceTextures("MRXSTARS","LIGHCSKY", NOT_MIDDLE);
if(CheckActorFloorTexture (6, "LIGHGRA2"));
ReplaceTextures("CRASSKY","LIGHTMOU");
ReplaceTextures("MRXSTARS","BLIZBLU2",NOT_MIDDLE);
SetMusic("WTDW1MUS", 0);
}
if(CheckActorFloorTexture(6, "FROFLR4")){
ReplaceTextures("CRASSKY","LIGHSMOU");
ReplaceTextures("MRXSTARS","LIGHCSKY", NOT_MIDDLE);}
Two things.
First, make sure there is a map spot or some thing tagged with 6 in the sector you wish to check.
Second, your if statements are going to do nothing because you don't specify a block for them to follow.
Place your ReplaceTextures lines in braces, like the following:Code: [Select]if(CheckActorFloorTexture(6, "FROFLR4")){
ReplaceTextures("CRASSKY","LIGHSMOU");
ReplaceTextures("MRXSTARS","LIGHCSKY", NOT_MIDDLE);}
Do this for all points when you call "if."
It's used to stop the script that forces bots to move.
It's...weird to explain...
Basically bots have a script that allows them to "unstick" themselves from ledges if you approach them.
Bots naturally don't talk during combat.Don't they say something from their roaming strings?
Not while trying to attack.
if(CheckActorClass(0,classes[0,2]));
if(CheckActorClass(0,classes[0,2]));
if(CheckActorClass(0,classes[0]) || CheckActorClass(0,classes[1]) || CheckActorClass(0,classes[2]))
#DEFINE MAX_CLASSES 3 // maximum number of classes that can use weapons.
str classes [MAX_CLASSES] = {
"Megaman",
"Protoman",
"Bass"
};
Script 701 (void)
{
bool canUseWeapons = false;
// This structure iterates through all of the code within it MAX_CLASSES times.
// It also keeps track of a number that can be plugged into the array safely.
// This is a loop that's functionally equivalent to
// "while i is less than max classes and a class that can use weapons has not been found, do the following"
for(int i = 0; i < MAX_CLASSES && !canUseWeapons; i++)
{
if(CheckActorClass(0,classes[i]))
{
canUseWeapons = true;
}
}
if(canUseWeapons)
{
Print(s:"cfPlease select your weapons");
delay(35*2);
terminate;
}
else
{
Print(s:"cgYou do not need these weapons!");
DamageThing(999);
}
}
A string array in that stance can only take in one value and will give you one value.
classes[0] refers to "Megaman", classes[1] refers to "Protoman", and classes[3] refers to "Bass".
As a result, classes[0, 2] doesn't really specify anything
change the following lineCode: [Select]if(CheckActorClass(0,classes[0,2]));
toCode: [Select]if(CheckActorClass(0,classes[0]) || CheckActorClass(0,classes[1]) || CheckActorClass(0,classes[2]))
A more extendable version of this script can be made though:Code: [Select]#DEFINE MAX_CLASSES 3 // maximum number of classes that can use weapons.
str classes [MAX_CLASSES] = {
"Megaman",
"Protoman",
"Bass"
};
Script 701 (void)
{
bool canUseWeapons = false;
// This structure iterates through all of the code within it MAX_CLASSES times.
// It also keeps track of a number that can be plugged into the array safely.
// This is a loop that's functionally equivalent to
// "while i is less than max classes and a class that can use weapons has not been found, do the following"
for(int i = 0; i < MAX_CLASSES && !canUseWeapons; i++)
{
if(CheckActorClass(0,classes[i]))
{
canUseWeapons = true;
}
}
if(canUseWeapons)
{
Print(s:"cfPlease select your weapons");
delay(35*2);
terminate;
}
else
{
Print(s:"cgYou do not need these weapons!");
DamageThing(999);
}
}
To add more classes that can use weapons, you'd simply add one to MAX_CLASSES and add their name to the list of classes.
Hope this helps, sorry for getting carried away.
I'm trying to make a map that utilizes 3D floors that can fade away and reveal new textures behind them, like a 3D floor representing a pile of leaves fading away to reveal a snow texture beneath it.
Is it possible to change the "Alpha" arguement of a 3D Floor LineDef with the use of a script?
***********SYSTEM INFO***********
OS: Microsoft Windows 8.1
GPU: AMD Radeon(TM) R2 Graphics
GZDB: R2638
********EXCEPTION DETAILS********
The path is not of a legal form.
at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck)
at System.IO.Path.GetDirectoryName(String path)
at CodeImp.DoomBuilder.Compilers.AccCompiler.Run() in x:SourceCoreCompilersAccCompiler.cs:line 109
at CodeImp.DoomBuilder.Data.WADReader.CompileLump(String lumpname, Int32 lumpindex, ScriptConfiguration scriptconfig, List`1 errors) in x:SourceCoreDataWADReader.cs:line 1282
at CodeImp.DoomBuilder.Data.WADReader.CompileLump(String lumpname, ScriptConfiguration scriptconfig, List`1 errors) in x:SourceCoreDataWADReader.cs:line 1211
at CodeImp.DoomBuilder.Controls.ScriptLumpDocumentTab.Compile() in x:SourceCoreControlsScriptLumpDocumentTab.cs:line 96
at CodeImp.DoomBuilder.Controls.ScriptEditorPanel.buttoncompile_Click(Object sender, EventArgs e) in x:SourceCoreControlsScriptEditorPanel.cs:line 1069
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
#include "zcommon.acs"
script X OPEN
{
int chance = random(0, 1);
if(chance > 0)
{
// Do things
}
}
#include "zcommon.acs"
script 15 (void)
{
Log(s:"Here's where you'd wanna say something."); // feel free to change the text, it abides by \c color changes.
AmbientSound("misc/chat",127); // play the chat sound.
// optional - make the actor use its talking frames.
SetActorState(15, "Talking");
Delay(35*2);
SetActorState(15, "Spawn");
// Feel free to change the script number and actor number.
}
This script can be expanded as needed. You could just use if-else statements to separate the clauses.How do I make it snow using the SnowSpawner?
script 11 (void)
{
LocalAmbientSound("sound/something",127);
Delay(50);
}
#include "ZCommon.acs"
int m;
Script "wilyinc_extralife" (int player)
{
m = GetCVar("sv_MaxLives");
if( GetPlayerLivesLeft(player) < m )
{
Delay(14);
SetPlayerLivesLeft (player, GetPlayerLivesLeft(player) + 1);
terminate;
}
If (GetPlayerLivesLeft(Player) == m)
{
terminate;
}
}
1.How do i remove the fog when im in Visual Mode ?
2. How do i make houses and building (that doesn't touch the entire ceilings. like. small houses.)