(Doom Builder 2) Monster Death Events Tutorial

  Рет қаралды 18,858

Chubzdoomer

Chubzdoomer

Күн бұрын

Пікірлер: 254
@Chubzdoomer
@Chubzdoomer 4 жыл бұрын
*ATTENTION: In order for the Action tab to appear, you have to choose either Hexen or UDMF format when you begin a new map (instead of just vanilla Doom format). UDMF is the best and most modern/flexible, so that's the one I recommend.*
@K-kof2000
@K-kof2000 3 жыл бұрын
Chubbz, the "Monster_Clearence2" code is not working.
@Chubzdoomer
@Chubzdoomer 3 жыл бұрын
@@K-kof2000 How isn't it working? Are you getting an error, or is nothing happening at all, or... ?
@K-kof2000
@K-kof2000 3 жыл бұрын
@@Chubzdoomer There are no errors, however, nothing happens when killing all 20 monsters (the platform with the blue chip does not go down to the ground).
@Chubzdoomer
@Chubzdoomer 3 жыл бұрын
@@K-kof2000 Oh OK, I see what's happening now. Monster_Clearance2 is a flawed example because if you kill more than one enemy with a single shot (like with the shotgun), the variable only increases by one rather than by as many monsters as you've killed. The reason for this is that the enemies have been given an action of "80 (Script Execute)," which can only ever execute a script ONCE at any given point in time. I should have instead given them an action of "226 (Script Execute Always)," which allows you to have 2+ simultaneous script calls. Most of the time if you're executing scripts, plain old Script Execute will suffice, but if you're ever dealing with killing monsters (or any situation where the same script might be called 2+ times simultaneously), you should always use Script Execute Always instead. I talk more about this in this video if you want to check it out (skip to 9m44s if the link doesn't take you to that timestamp already): kzbin.info/www/bejne/h3SlhWOQiJqroqsm44s Monster_Clearance1 is honestly a better way to handle it anyways, though, since it isn't relying on a strict count. With the Clearance2 method, adding or removing monsters would require you to always go back and change the desired killcount. Since Clearance1 is just straight up checking whether or not any monsters with a given ID are alive, all you ever have to do in that scenario is remember to tag monsters that you want to be included in the check. It's much easier and requires less maintenance.
@K-kof2000
@K-kof2000 3 жыл бұрын
@@Chubzdoomer Yes, I wanted to make a trap where upon entering a certain sector all the doors would close and only open after killing the demons, and the Monster_Clearence1 method would actually work better, but strangely, the door should close and prevent the player from escaping before of terminating the monsters, but closed / opened in 1 second ignoring the condition (unlike the wad provided where it worked perfectly). So I tried to change the line of code "delay (1);" for "delay (60);" to see what the reaction would be and it worked (I know it might not be the right way to go about it, but I was out of ideas). It's curious that whenever I kill a demon in that sector, a message appears on the hud warning the execution of the script 2 .. Thanks for the help, I'll take a look at the video in the link and see the series on ACS Script to better understand "Doom Programming".
@Rictorian
@Rictorian 12 жыл бұрын
Thanks Chubz! You are by far the best and most helpful tutorial person of any genre! Thanks for keeping the ZDoom community alive!
@MAZZEKAARTS
@MAZZEKAARTS 14 жыл бұрын
Thanks for this tut Chubz! I love your ZDoom tuts the most, they're the most helpful as they're hard to find.
@Chubzdoomer
@Chubzdoomer 11 жыл бұрын
If you want to give a script to every monster, regardless what its ID is, you could just use this method and select every monster on your map, then give it a 80 (Script Execute) or 225 (Script Execute Always) action along with the script number you want to be executed when that monster is killed. As far as tying scripts to monsters that are spawned/not already on the map: Immediately after the line of code that spawns the monster, use the SetThingSpecial function (see ZDoom Wiki).
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@DooMGo2It So what that script does, in the following order, is this: 1. Increase the count of the baronsKilled variable by 1 2. Test to see if the baronsKilled variable is greater than or equal to 2 3. If #2 is true, run a line(s) of code that opens a door and does whatever else you want it to.
@Chubzdoomer
@Chubzdoomer 12 жыл бұрын
And to further elaborate about the differences between 80 and 226: If you use 80 (Script Execute) and kill two or more monsters with a single blast, the script tied to them will only execute ONCE, so if you have a credits system, you'll receive credit for just one kill. If you use 226, on the other hand, the script executes for as many monsters are killed, giving you credit for all kills.
@Chubzdoomer
@Chubzdoomer 12 жыл бұрын
You can use any art program from MS Paint to Photoshop to create sprites, then import them via WAD editors like Slade or XWE. I'm not overly familiar with creating brand new weapons, items, and monsters, but those are the two basic steps.
@doomhakuo2107
@doomhakuo2107 7 жыл бұрын
I'm noticing something in the "counter" method of your 01/25/12 update. First, it works!!! Thanks dude. But there is an inconvenient. The counter only works with "the Player's kills". So, if you kill all monsters as possible, but only one dies by a "fella" the script fails because the number required of kills is not fulfilled. On the other hand, the "loop" method works fine, because what matter is that all monsters are dead, whatever if the player kill them or the guys kill themselves. Great work man!
@Chubzdoomer
@Chubzdoomer 12 жыл бұрын
The way you accomplish this is by including a "SetThingSpecial" line of code immediately after the one that spawns the Imp. That code gives an action special to any monster or thing with the ID you specify. You could first spawn the Imp with an ID of 666, for example, then use SetThingSpecial to give monsters with an ID of 666 an action of 226 (Script Execute Always). You can use 80 (Script Execute), too, but 226 is better for monsters if you kill more than two at once.
@altazimuth
@altazimuth 14 жыл бұрын
There are 35 tics to a second. This is amazingly useful. I've wanted to do this for years (no exaggeration) Tic A time interval of 1/35 second. There are 35 tics in one second. Actor logic (state duration) is based on tics. Octic A time interval of 1/8 second. There are 8 octics in one second. Sector logic (speed and wait for crushers, doors, lifts, raising stairs, etc.) is based on octics.
@Chubzdoomer
@Chubzdoomer 11 жыл бұрын
You could either use variables or a loop that constantly counts the number of monsters alive with a particular ID. It's not very easy to describe here in the comments section, and if you're unfamiliar with variables/loops you'll need to work with those more before you can pull it off.
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@bowserknight The stairs in "Doom in Hexen" format can be a little tricky. I use the "Generic_Stairs" script. Try that out and see how it works for you! You can visit the ZDoom Wiki and it tells you more about that function.
@Chubzdoomer
@Chubzdoomer 13 жыл бұрын
@AaranBlack Hey, thanks! There's no way to alter the "Print" command to make it stay on the screen longer. I would recommend that you use "HudMessage" instead, which allows you to exert far more control over the message with characteristics like how long it stays on the screen, how long it takes to fade in, how long it takes to fade out, and much more. The ZDoom Wiki page has more information on that command.
@Chubzdoomer
@Chubzdoomer 11 жыл бұрын
Yes. There are multiple ways to go about doing that. One way is with variables, the other is with a loop that continues indefinitely until all monsters with a given ID are killed. Visit my Personal Website (link on my channel page) then go to the Doom Files category and grab both of the "MonsterClearance" files under the Examples section. They accomplish the same feat but one uses the "variable" method, the other the "loop" method. Study them in Doom Builder and you should be good to go!
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@bowserknight Another way to do this without using variables is to assign a door a "Door Locked Raise" action, then give it a "Key Number" property that says "One of Each Color." This requires at least one red, blue, and yellow/orange key to open. This does, however, allow for keycards to be used. So if you pick up a blue and red skull key and a yellow key card, technically you have one of each color and can open it. If you're using both skull keys and key cards use the variable method.
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@Conker10382 Yes, Thing_SetSpecial is another very useful way to do it! It's really personal preference. The message I sent you shows an alternate way that's a little more complex and requires a constant loop to check if things with that new ID still exist. The SetSpecial function would probably be even better though!
@Chubzdoomer
@Chubzdoomer 13 жыл бұрын
@msdan1024 You need to make sure you're using the "ZDoom (Doom in Hexen format)" configuration when you start a new map rather than "Doom" or "Doom 2," which don't have these extra features.
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@Litox1303 Yeah, that's exactly it! I'm sorry, I thought by "actions menu" at first you were just referring to the regular "Thing" properties window. In order to access their actions, you need to use the "ZDoom (Doom in Hexen format)" configuration rather than "Doom" or "Doom 2."
@bobiszack2768
@bobiszack2768 4 жыл бұрын
Chubzdoomer has been answering our questions for 10 years. Amazing.
@Chubzdoomer
@Chubzdoomer 4 жыл бұрын
I'm still kickin'!
@Chubzdoomer
@Chubzdoomer 11 жыл бұрын
Immediately after the code that spawns the monster, use Thing_SetSpecial. This function assigns a special action to all Things with a particular ID. If you were to spawn an Imp with an ID of 10, for example, you could then use Thing_SetSpecial to assign an action of 226 (Script Execute Always) with an argument of 5 (script 5) for all Things with an ID of 10. This would cause script 5 to run the moment the spawned Imp is killed. Search the ZDoom Wiki for more info on Thing_SetSpecial.
@MadeOfPolygons
@MadeOfPolygons 7 жыл бұрын
Thanks dude! Now i can make Boss battles!
@Chubzdoomer
@Chubzdoomer 12 жыл бұрын
Also, you can check out the code in my Demon Defense project if you'd like to see the ActivatorTID checks in action during weapon purchases, monster kills, etc.
@Chubzdoomer
@Chubzdoomer 13 жыл бұрын
@joshAKAtheman Yes, just mark the walkover line as "Repeatable" in the line properties.
@Chubzdoomer
@Chubzdoomer 13 жыл бұрын
@manodelosmagistrados The best way would be to give the monsters a unique ID when you spawn them with ACS, then use the exact same looping method as in the first "Monster Clearance" example, only replace the ID of 1 (in that code) with whichever ID you assigned the newly spawned monsters.
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@Conker10382 Conker, check your messages. I've included a WAD file that shows a demonstration of exactly what you were asking for, and much more including lots of information about scripting and even another example WAD dealing with an entirely different scripting scenario, but for an important concept I've not even gone over in any of my videos yet!
@Chubzdoomer
@Chubzdoomer 12 жыл бұрын
The best way to keep credits separate for everyone is to create as many variables as you have players. If you're running a four-player map, you could have variables named p1Cash, p2Cash, p3Cash, and p4Cash. Each time someone earns or spends credits, you can run checks on ActivatorTID (the ID of the script activator) using If--Then--Else statements to determine who did what. If P1 activated the earn-credits script, increase the p1Cash variable. Else if it was P2, increase p2Cash, etc.
@Chubzdoomer
@Chubzdoomer 11 жыл бұрын
There are several ways to go about doing it for more than one monster. Two of the easiest ways are using loops and using variables. Go to my personal website (in the "About" section of my channel), click the "Doom Files" link, then check out the two "Monster Clearance" WADs for some examples.
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@spicyfruitloop Make sure you press "T" to enter [T]hing mode, then when you put your cursor over the monster and it highlights, right-click to access the actions menu.
@Chubzdoomer
@Chubzdoomer 13 жыл бұрын
@DAVID52731 When you create a new map, choose "ZDoom (Doom in Hexen format)" rather than "Doom" or "Doom 2" for your game configuration.
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@DooMGo2It There are a few ways to get around this, but one of the easiest ways is to use variables. At the top of your program, underneath the "zcommon.acs" section, you can type the following code: "int baronsKilled = 0;" Then, when a Baron is killed a script runs that looks sort of like this: baronsKilled++; //Increases count of baronsKilled by 1 if(baronsKilled >= 2) //If both barons are killed according to the variable's count.. { //Enter open door script here }
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@bowserknight Oh, OK, glad to hear it worked! I didn't know you could type "229" to do that, either.
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@doom3hell Yeah, sorry if I sounded like a jerk in my last comment. I definitely think it's better for you in a lot of ways to type the code yourself. It helps you learn about mistakes in terms of the language/script syntax, too, because if you copy and paste code that's already tested there's no chance of mistyping a line. That's part of the learning process - making syntax errors such as missing or extra semicolons, misaligned brackets, etc.
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@bowserknight There are many ways to do this. One way that I personally prefer is to create your own variables, then when the door is activated a script checks to see if all 3 variables are true. If so, the door opens. If not, it doesn't and prints a message telling you that all 3 skull keys are required. When you pick up each skull key, it calls its own separate script that turns its corresponding variable from being "false" to "true." Have you worked with variables yet?
@Chubzdoomer
@Chubzdoomer 12 жыл бұрын
It's not possible, at least not in the same way you see here. Some maps have monster death events "hard coded" into them. If you create a brand new map set on E2M8, for example, and place a Cyberdemon anywhere in it, the moment it dies the level will end. The same thing happens with E3M8 if you place a Spider Mastermind anywhere in the level. If you want complete control over death events, one of the ZDoom-related Game Configurations is just about the only way to go.
@Chubzdoomer
@Chubzdoomer 11 жыл бұрын
Yeah, the easiest way is to create an ENTER script with these lines of code: ClearInventory(); Give_Inventory("Fist",1);
@Chubzdoomer
@Chubzdoomer 11 жыл бұрын
You have to choose the "ZDoom (Doom in Hexen format)" (or "ZDoom (Doom in UDMF format)") Game Configuration when you create a new map, not "Doom" or "Doom 2."
@DoomytheGuru
@DoomytheGuru 11 жыл бұрын
Thanks a bunch Chubz!
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@CGJUGO80 Give every monster in the room the same unique ID (example: Every Imp, Former Human, Demon, etc. has an ID of 100). While the game is being played, create a script which contains a loop that is checked constantly to see if monsters with that ID have no health. If so, it moves on and performs the actions. If not (aka if at least ONE monster with an ID of 100 is still alive), nothing happens and the loop continues to, well, loop! LOL.
@Chubzdoomer
@Chubzdoomer 13 жыл бұрын
@manodelosmagistrados Check the video description. I've added a link to it there! :-P
@Chubzdoomer
@Chubzdoomer 13 жыл бұрын
@joshAKAtheman Why not make the walkover line open the door, delay for 100 tics, then close the door? You could throw all of that into a script, right? That way no matter how many times you walk over the line, it will always open the door AND close it after 100 tics. ;-)
@bowserknight
@bowserknight 14 жыл бұрын
@Chubzdoomer Okay thanks it works! That's also the point where you need to type in 229, not into the arguments as I thought before.
@rainbowsparkle30009
@rainbowsparkle30009 11 жыл бұрын
well i don't know how to use Variables. can you maybe make a tutorial just maybe?
@Chubzdoomer
@Chubzdoomer 13 жыл бұрын
@joshAKAtheman I've never created my own rain (or snow) effects before, but I would highly recommend Googling "JonnyFive's WeatherFX" for GZDoom and ZDoom. I've looked at some screenshots and it looks like he's done an excellent job creating several types of weather effects for Doom!
@Chubzdoomer
@Chubzdoomer 13 жыл бұрын
@UpsetFisherman This requires more advanced knowledge of scripting. One way is to give all monsters the same Thing ID, then use an endless While loop (in an OPEN script that runs when the map is started) to constantly check if the number of Things with that ID is equal to 0. If so, all monsters are dead and a line of code ends the level. Otherwise, nothing occurs and the loop continues re-checking if all monsters are dead/the number of Things with the ID is 0.
@joshAKAtheman
@joshAKAtheman 13 жыл бұрын
hey dude i was wondering if there something like rain you can do, through scripting maybe? i don't think there would be that but then again i never thought there could be ice movement effects
@joshAKAtheman
@joshAKAtheman 13 жыл бұрын
@Chubzdoomer no no not the part where it opens the one where it closes. it's an open script
@Chubzdoomer
@Chubzdoomer 13 жыл бұрын
@joshAKAtheman I'm sorry, I'm just not sure what you're saying. Which script is it that you want to repeat?
@Xianide
@Xianide 14 жыл бұрын
This is usefull! I will use it in my invasion map pack for Heretic. Thanks a lot!
@GuardSoul
@GuardSoul 13 жыл бұрын
@Chubzdoomer and another question: if you summon monsters with a script (map spot tutorial) how can I apply this?, I mean, kill all monsters summoned and then the plattform lowers.
@Chubzdoomer
@Chubzdoomer 12 жыл бұрын
You're probably attempting to create maps using the Doom or Doom 2 configuration rather than ZDoom (Doom in Hexen format).
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@Litox1303 Have you tried clicking the "Thing" mode button instead of pressing "T"?
@bowserknight
@bowserknight 14 жыл бұрын
@Chubzdoomer Not at all :( I've read somewhere that you have to type 229 into one of the arguments but the switch still acts like it was just a regular switch that doesn't need any keys.
@reachforacreech
@reachforacreech 12 жыл бұрын
chubz you have agreat understanding of doom builder and codeing. your imput to the doom comunity in very valuable .thank you
@Rictorian
@Rictorian 12 жыл бұрын
@Chubzdoomer Sorry to bother you again, but I have one more issue. When testing my map with friends on deathmatch, I noticed that credits earned, and spent, affect everyone. How could I keep seperate credit values? Thanks.
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@xSephironx Have you made sure the "print" statement is on one line and not separated into 2 lines like that?
@xXblazmodzXx
@xXblazmodzXx 10 жыл бұрын
theres no "action" button when i right click the monster in things mode. I'm using gzdoom builder
@realhorsegaming
@realhorsegaming 7 жыл бұрын
this is doombuilder?
@TheMarshmallowNinja
@TheMarshmallowNinja 6 жыл бұрын
4 years later... You need to be in Hexen or UDMF format
@Nixx1996
@Nixx1996 7 жыл бұрын
Great video! I have a question: How can I do some monster death events like those in Doom 1? I know that the tag 666 was used, but I don't know how to do it manually with scripts. I want to have some bars to go up when two bosses die (like when the walls go up when the 2 barons die in Doom). If I use tags the bars go up when only one boss dies. Which is the script needed to do this?
@Chubzdoomer
@Chubzdoomer 7 жыл бұрын
If you want something to happen when more than one monster dies, you'll have to either use a While loop to see if they're still alive or keep count of how many have been killed with variables. Check out my "Monster Clearance" WADs on the following page to see examples of each technique: sites.google.com/site/chubzdoomer/doom-files
@Nixx1996
@Nixx1996 7 жыл бұрын
Thanks!
@ExtremelyImpossible
@ExtremelyImpossible 13 жыл бұрын
Do you know how to make two-states switch? I mean the switch that, when I press the switch, it lower the specific platform (sector) and, after the platform reach the floor, it will keep at that state. And if I press the switch again, the platform will raise up and keep at original state (and I have to press the switch again if I want to lower the platform). I really want the switch to have these 2 conditions.
@dr.ferret5802
@dr.ferret5802 4 жыл бұрын
How do I add a custom effect like from this one nuke custom weapon I want to add that effect when the icon of sin dies
@Chubzdoomer
@Chubzdoomer 4 жыл бұрын
I'm not familiar with modifying the Icon of Sin itself, but based on this thread over on the ZDoom forums it seems like a pretty complicated task: forum.zdoom.org/viewtopic.php?f=122&t=58825 If it were up to me, I'd just handle it via my own custom monster and some scripting rather than trying to modify the original Icon of Sin. There may be better ways of going about it, though.
@bowserknight
@bowserknight 14 жыл бұрын
@Chubzdoomer Hey it's me again. I created a nice map myself but now I have another problem, I want to make a switch that needs all 3 skull keys to be activated (it will make a floor raise) but I have no idea how to achieve that. Does it have anything to do with the "Arguments"? I can't find any action which says something about keys when i change it to "doom in hexen" format :/
@bowserknight
@bowserknight 14 жыл бұрын
Your vids are really helpful! This was just what I was looking for but I have another problem. If you choose the same format as you did in this video (doom in hexen), could it be that stairs work in a different way? Because I did everything right but only the first step rises, and when I switch to Doom format it works correctly.
@SpookySkeleton738
@SpookySkeleton738 12 жыл бұрын
You are my saviour, Subbed and all...
@Chubzdoomer
@Chubzdoomer 13 жыл бұрын
@Ac1DGoD Absolutely! Check your messages.
@Chubzdoomer
@Chubzdoomer 12 жыл бұрын
@SirJimmers Correct!
@Adrenaline4real
@Adrenaline4real 11 жыл бұрын
this works well for me for 1 room. but say i want multiple rooms in a row and to create waves of monsters to kill in each individual section? so each door only opens once each wave is done consecutively? at the moment all doors are opening soon as monsters are dead in first section. even though i tagged each door with the respective section and tagged the monsters with their respective section and added the same script code underneath but changed the appropriate section tag.
@Chubzdoomer
@Chubzdoomer 14 жыл бұрын
@joemamma311 Are you sure you're using Exit_Normal(0); with the "(0)" part and semicolon at the end?
@DooMGo2It
@DooMGo2It 14 жыл бұрын
Hey, I posted before as joemamma (my brothers YT account). I had been wondering if it were possible to tag 2 monsters to 1 script so that when they both die it will run the script. For instance, lets say I have 2 Barons guarding a door, and I tag one of them the way shown here, all I would have to do is kill the tagged Baron for the door to open leaving the other alive. Any way I can make it so that the would both have to die? Thanks.
@Tanjou21
@Tanjou21 4 жыл бұрын
Is there a modern tutorial for this? Cause I'm going though Doom Builder, GZDoom Builder, and Eureka and none of those even have the action tab.
@Chubzdoomer
@Chubzdoomer 4 жыл бұрын
In order for the Action tab to appear, you have to choose either Hexen or UDMF format when you begin a new map (instead of just vanilla Doom format). UDMF is the best and most modern/flexible, so that's the one I recommend.
@Tanjou21
@Tanjou21 4 жыл бұрын
@@Chubzdoomer thank you so much! I was banging my head on the wall trying to figure it out
@joshAKAtheman
@joshAKAtheman 13 жыл бұрын
@Chubzdoomer no need to be sorry, but i got a script that goes like as follows: script 1 OPEN { delay(100); Door_Close(1, 40); } Now when it closes it can be opened again by a walkover line. what to do if i wanna make it close again after every 100 tics?
@ExtremelyImpossible
@ExtremelyImpossible 13 жыл бұрын
OK, nevermind. I know now how to do it. I use GetSectorFloorZ function to get current floor height and check if it is raised or not and then use if else statement together with Floor_LowerByValue and Floor_RaiseByValue function. Anyway, thanks for great tutorial videos :D
@dr.ferret5802
@dr.ferret5802 4 жыл бұрын
If I replace the monster, will the event still happen?
@Chubzdoomer
@Chubzdoomer 4 жыл бұрын
Yeah, just as long as the monster is still assigned the Script Execute action.
@Rictorian
@Rictorian 12 жыл бұрын
@Chubzdoomer I have an issue, could you help? I have a script that spawns imps from map spots. I need a way to have it so that if you were to kill it, you would gain credits. I tried putting a credit gaining script on a map spot, but it failed. Any ideas? Thanks.
@DJZmade
@DJZmade 5 жыл бұрын
What about when u dont want the door to open unless 2 enemies that are in the room are killed?
@assassin132132
@assassin132132 11 жыл бұрын
sry but i got another question :D how do i change monster triggers. I mean i want to change mob health when it get spawned
@turtlepig
@turtlepig 13 жыл бұрын
Okay, I was wondering if you knew a script that when all monsters are killed, it ends the level? It would be a big help.
@joshAKAtheman
@joshAKAtheman 13 жыл бұрын
can't you do this in doom format too? i mean in the original doom there were death events at the end of each episode.
@DoomytheGuru
@DoomytheGuru 11 жыл бұрын
Is this possible to do with multiple enemies for one event? What I mean is after killing the enemies an event will be triggered. For Example: After killing two Barons, a door will open. Any help?
@CGJUGO80
@CGJUGO80 14 жыл бұрын
how would you make this so every monster in the room dies and this happens..as apposed to one? Thanks Chub
@kingcoins3391
@kingcoins3391 5 жыл бұрын
doom 2 format?
@Chubzdoomer
@Chubzdoomer 5 жыл бұрын
UDMF format is the best. I think I used Hexen format here, but UDMF offers what Hexen does and much more.
@666mrsunshine
@666mrsunshine 11 жыл бұрын
Can you make this so that it only works of the player kills the monster, not if it dies out of stupidity, (i.e. Telefrags/Crushers)?
@DanTheBoogie
@DanTheBoogie 11 жыл бұрын
Awesome, I'll try that. Thanks for replying!
@DanTheBoogie
@DanTheBoogie 11 жыл бұрын
How would one make it so that SPAWNED monsters can do something like that?
@fadyserhan9537
@fadyserhan9537 8 жыл бұрын
*HELP* I'm working on a map in doom2 format....How can I change it to the UDMF format? Thanks
@Chubzdoomer
@Chubzdoomer 8 жыл бұрын
There are two methods you can try. I suggest making a backup of your WAD before attempting them, though. Method 1: 1. Open your map in GZDoom Builder (or Doom Builder, but I highly recommend GZDB instead) 2. Click Edit -> Map Options 3. Change Game Configuration to UDMF After performing this method, you'll have to manually change all of the line actions to their UDMF counterparts since the action numbers vary from vanilla DOOM to UDMF. If that doesn't work... Method 2: 1. Open your map in GZDoom Builder 2. Go into Line or Sector mode and select your entire map (every single line or sector) 3. Press CTRL + C 4. Start a new UDMF map in GZDoom Builder 5. Press CTRL + V 6. Repeat steps 1-6, only next time do Thing mode and grab all the things instead of lines/sectors In this method, you're basically just copying and pasting all of your lines/sectors and things from the old vanilla format to a brand new map using UDMF format. It's more tedious and you have to make sure you position your Things exactly where they were in the original version when you paste them in, but it should work if the first method fails you.
@fadyserhan9537
@fadyserhan9537 8 жыл бұрын
Hi both methods worked....but when I do method 1 for example I get this error: *Map has no vertices* but when I added a random sector I get into the map but with much missing things. what should I do now? must I draw the sectorrs again??? then..whats the point from copying the map if I must draw the sectors again? Thank you for fast response
@Chubzdoomer
@Chubzdoomer 8 жыл бұрын
Fady Serhan The first method can screw things up sometimes, so if you run into that I recommend just doing method 2 instead.
@joshAKAtheman
@joshAKAtheman 13 жыл бұрын
hey is it possible for scripts to be repeatable? i got a delay(100) Door_Close(1, 40) and then a walkover line triggers it to be open again. so is it possible for that script to be repeatable?
@SecretFinder52
@SecretFinder52 13 жыл бұрын
Isn't there a way to make this effect in normal Doom 2 configuration?
@RavitexOfficial
@RavitexOfficial 6 жыл бұрын
im doing this with multiple monsters (i just noticed your replies in this comments section which state exactly what i'm doing) and the whole thing is super unpredictable: sometimes it works properly, sometimes it doesn't, no idea why though. maybe its about the monsters themselves? e.g it works every time when im using barons of hell as a trigger but barely ever does anything when i use former humans.
@Chubzdoomer
@Chubzdoomer 6 жыл бұрын
Instead of using 80 (Script Execute), try using 226 (Script Execute Always). The regular version will only execute a script once if you kill multiple enemies with a single shot (like several Former Humans with a single shotgun blast). I'm assuming this is what's causing your problem. If you kill two with one shot, for example, the script will only run one time. If you were using "Script Execute Always," however, the script would run twice (one per death)!
@RavitexOfficial
@RavitexOfficial 6 жыл бұрын
neat, ill be sure to try that!
@assassin132132
@assassin132132 11 жыл бұрын
how can i apply a script to all monsters however the id ? And how can i apply a script to a monster that i have spawned by a function ?
@bowserknight
@bowserknight 14 жыл бұрын
@Chubzdoomer Ok I'll see what Wiki says about it.
@KokoRicky
@KokoRicky 12 жыл бұрын
But there are monster death events in vanilla Doom. How do you program that in Doom Builder?
@doom3hell
@doom3hell 14 жыл бұрын
@Chubzdoomer yeh but as i said u dont have to do it, and plus i said it will make scriptin a little more faster for me and some other people,but since u dont want to maybe i will just.......u know do what u told me (listen and copy) =)
@GuardSoul
@GuardSoul 13 жыл бұрын
@Chubzdoomer understood! thanks for everything!
@ElderDragonBrasil
@ElderDragonBrasil 3 жыл бұрын
Hi, man! I have a door that must be open only if the player kills a Spider Mastermind and a Cyberdemon (Medium/Hard) or 2 Barons of Hell (easy). What I have to do, to make the Script execute the openDoor only if the both monsters are killed?
@Chubzdoomer
@Chubzdoomer 3 жыл бұрын
You can either set up a loop that runs endlessly while the monsters are alive (via the ThingCount function) or set up a variable that increases by 1 each time they're killed, followed by a check to see whether or not it's equal to (and/or greater than) 2. I personally prefer the first method since it's more flexible. Here are fully commented examples of both methods: www.mediafire.com/file/02exhjo9wivb4ft/MonsterClearance_1.wad/file www.mediafire.com/file/12za780sysibtkp/MonsterClearance_2.wad/file You should also use action #226 (Script Execute Always) instead of 80 (Script Execute) if you're dealing with situations where there are several enemies with the same script tied to them. The reason for this is that if you kill several enemies with a single shot (an example being 2+ Imps with one Super Shotgun blast), #80 will only ever run the script ONCE at a time, whereas #226 will run the script as many times as the number of enemies you killed. I explain and demonstrate this in the following video: kzbin.info/www/bejne/h3SlhWOQiJqroqs (Skip to 9:44 in that video) In the example files above I used #80, so the second method (which relies on a strict counter) can be "broken" easily by killing 2+ Zombiemen with a single shotgun blast. Once all the enemies are dead the platform won't lower, because the script didn't correctly count the multikills. If you switch all the enemies to have action #226 instead, it will never break because the multkills will always be counted correctly.
@artorias-24
@artorias-24 12 жыл бұрын
I got a question. When I go in my things mode and click on any of the enemies, it only shows the properties bar, there is no "action". Why? I have the newest version. Can anyone help me out here? My comp is Windows XP btw.
@Thegoodgamerpro72jdq
@Thegoodgamerpro72jdq 2 жыл бұрын
how do you make it so that if you kill a specific amount of enemies it will do an action (Like in Phobos Anomaly, when you kill the 2 barons in any order they will lower the walls)
@Chubzdoomer
@Chubzdoomer 2 жыл бұрын
If you're using scripting, then I just recently made a tutorial that covers that exact topic: kzbin.info/www/bejne/q6fCe3SvgpmFldk
@JackJack-zo4zt
@JackJack-zo4zt 4 жыл бұрын
How do you script monster death events for spawned monsters? I would venture a Kill script, but it says it needs a special flag to activate. So do I have to add that flag to the actor's DECORATE to utilize a Kill script, or is there another way?
@Chubzdoomer
@Chubzdoomer 4 жыл бұрын
Thankfully it's pretty easy to do. I explain it starting at 16:25 in this video: kzbin.info/www/bejne/h3SlhWOQiJqroqs
@666mrsunshine
@666mrsunshine 11 жыл бұрын
Can you make this so that it only works when a player kills the monster
@goldengemgames2939
@goldengemgames2939 4 жыл бұрын
I have a case where you need to kill 8 imps. What do you do when more than 1 enemy must die?
@Chubzdoomer
@Chubzdoomer 4 жыл бұрын
You can either set up a loop that runs endlessly while the Imps are alive (via the ThingCount function) or set up a variable that increases by 1 each time an Imp is killed, followed by a check to see whether or not it's equal to (and/or greater than) 8. I personally prefer the first method since it's more flexible. The second method will "break" if you add or remove an enemy and forget to increase or decrease the desired count, for example, whereas with the loop you aren't entering a concrete number. Nonetheless, here are fully commented examples of both methods: www.mediafire.com/file/02exhjo9wivb4ft/MonsterClearance_1.wad/file www.mediafire.com/file/12za780sysibtkp/MonsterClearance_2.wad/file P.S. I forgot to add that you should use action #226 (Script Execute Always) instead of 80 (Script Execute) if you're dealing with situations where there are several enemies with the same script tied to them. The reason for this is that if you kill several enemies with a single shot (for example, 2+ Imps with one Super Shotgun blast), #80 will only ever run the script ONCE at a time, whereas #226 will run the script as many times as the number of enemies you killed. I explain and demonstrate this in the following video: kzbin.info/www/bejne/h3SlhWOQiJqroqs (Skip to 9:44 in that video) In the example files above I used #80, so the second method (which relies on a strict counter) can be "broken" easily by killing 2+ Zombiemen with a single shotgun blast. Once all the enemies are dead the platform won't lower, because the script didn't correctly count the multikills. If you switch all the enemies to have action #226 instead, it will never break because the multkills will always be counted correctly. P.P.S. You really should be using UDMF format. Don't be like me in this video (and the example files above) and use Hexen format. Hexen format works fine, don't get me wrong, but UDMF format is a more modern successor that renders it obsolete. Everything Hexen format does, UDMF can do--and so much more.
@virusinfection1
@virusinfection1 4 жыл бұрын
Idk but i don't have the action tab when i right click a monster
@Chubzdoomer
@Chubzdoomer 4 жыл бұрын
When you start a new map, choose UDMF format (or Doom in Hexen format) under Game Configuration rather than just plain old Doom format. UDMF format is the best one to use.
@ZacharyStauffer
@ZacharyStauffer 11 жыл бұрын
How can I make a script execute on an unseen monster using a hidden sector and crusher. it works but only if I see the monster die. Like its Death message. I am making a multiplayer map and want the bfg doors to open in 5min I got the timing down I think they do 30sec dmg on normal speed so a monster with 9000 health should die in 5 minutes
@Chubzdoomer
@Chubzdoomer 12 жыл бұрын
Thanks!
(Doom Builder 2) Fog and Ice-Movement Tutorial
6:25
Chubzdoomer
Рет қаралды 12 М.
(Doom) MAPINFO Tutorial (Custom Episodes & More!)
47:02
Chubzdoomer
Рет қаралды 16 М.
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 21 МЛН
I Hacked Diablo II To Use Modern Graphics
13:16
Nathan Baggs
Рет қаралды 323 М.
ZDoom ACS Scripting Tutorial #1 - Your First Script
22:29
Chubzdoomer
Рет қаралды 37 М.
(ZDoom) 3D Moving Platforms Tutorial
23:13
Chubzdoomer
Рет қаралды 16 М.
Monster Infighting
6:11
decino
Рет қаралды 1,1 МЛН
Let's Program Doom - Part 1
25:13
3DSage
Рет қаралды 455 М.
(Doom Builder) Prey-Like Portals Tutorial
26:01
Chubzdoomer
Рет қаралды 34 М.
(Doom Builder) Moving Cameras/Cutscenes Tutorial
43:01
Chubzdoomer
Рет қаралды 10 М.
RAMP 2022 - Doom mapping basics (Ultimate Doom Builder)
32:55
DavidXNewton
Рет қаралды 16 М.
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 21 МЛН