Albertoni Posted February 11, 2017 You need a small sector with F_SKY1 and normal height around it, like this: If my knowledge of software mode is correct, that will technically cause a HOM, but the HOM will contain only the sky, so it will be exactly what you want. That sector in the middle with F_SKY1 can be as small as 1 unit, but it must be there and both the floor and the ceiling must be visible at all times. 0 Quote Share this post Link to post
Misty Posted February 11, 2017 Albertoni said:You need a small sector with F_SKY1 and normal height around it, like this: http://i.imgur.com/hrB5xgR.png If my knowledge of software mode is correct, that will technically cause a HOM, but the HOM will contain only the sky, so it will be exactly what you want. That sector in the middle with F_SKY1 can be as small as 1 unit, but it must be there and both the floor and the ceiling must be visible at all times. Your method worked perfectly. I`ll change ceiling textures a bit later,when I don't feel so tired. Thanks a lot. Spoiler 0 Quote Share this post Link to post
Mr.Rocket Posted February 11, 2017 And I was just writing up the same thing heh. I was going to say to add a transparent texture also however, but I'm not sure if that would have worked out. Cheers 0 Quote Share this post Link to post
Gez Posted February 12, 2017 Albertoni said:If my knowledge of software mode is correct, that will technically cause a HOM, but the HOM will contain only the sky, so it will be exactly what you want. No, it's the sky hack, not a HOM. A HOM is when nothing is drawn, so whatever was drawn in the previous frame is kept; typically some pixels from nearby elements but sometimes you can get transient objects (like a fireball) leaving a trace, or even parts of the menu. In ZDoom with the menu dim effect (background is tinted with a color, yellow by default in Doom games, to give greater contrast to menu items) they end up becoming solid yellow blocks as during every frame the area of the HOM gets made more yellower without ever being redrawn from scratch, accumulating the dimming effect until becoming a solid block of coior. 0 Quote Share this post Link to post
Misty Posted February 12, 2017 It`s me again with another editing question. Which linedef actions lets me lower platforms and floors only pressing "use" in boom format without making any switch. For the newbish reasons I can`t get them work,flipping lines sometimes lowers parts that shouldn`t be lowered in game. I don`t remember if tags can help solve this random problem. 0 Quote Share this post Link to post
grommile Posted February 12, 2017 MysteriousHaruko said:It`s me again with another editing question. Which linedef actions lets me lower platforms and floors only pressing "use" in boom format without making any switch. For the newbish reasons I can`t get them work,flipping lines sometimes lowers parts that shouldn`t be lowered in game. I don`t remember if tags can help solve this random problem. There are four kinds of linedef trigger: Switch (S), Push (P a.k.a. Door, D), Walk (W), and Gun (G). It sounds like you want the "Push" type, which operates on the sector referred to by the linedef's rear sidedef. The other three types operate on all the sectors whose tag matches the linedef's tag. To get Push on anything other than doors, I think you have to use the Generalized linedef system. 0 Quote Share this post Link to post
snapshot Posted February 12, 2017 Is it possible to prevent player from turning left/right using ACS (while keeping his current angle) ?, If so, How, thx. 0 Quote Share this post Link to post
Mr.Rocket Posted February 13, 2017 @MysteriousHaruko You're probably wanting to have the lift move when the player presses use? For this use action 62 SR lift lower wait raise. It should be the same for both doom and boom. SW = switch repeatable. It is a switch, just don't apply a switch texture. Usually a lift has a basic support texture. Depending on which way the linedef is facing, you might need to flip the linedef so it is facing the player, for example where the center line of the linedef is facing outward towards the player. Make sure to give the linedef and sector (which it's no doubt attached to) the same tag number. 0 Quote Share this post Link to post
Spocks_Beard Posted February 13, 2017 I've looked everywhere and can't find any tutorial that explains how to save/export your map wads with all the custom textures. What am I supposed to be doing? 0 Quote Share this post Link to post
Mr.Rocket Posted February 13, 2017 @Spocks_Beard, it sounds like you'll need to add the textures to your map? Use something like Slade or XWE. Make a backup of your map before doing things like this of course. Either that or include the texture wad or a link to it, if you use a separate texture resource wad while creating your map? And above all give credit where credit is do! :) ------------------ @DMGUYDZ64, hmm, Iv never tried this at home but, you might be better off adding user input key binding instead of removing them. I'm guessing it would be something like:addmenukey "noturn1" PlayerControl alias PlayerControl "pukename "PlayerStatus_noturn"" defaultbind X PlayerControl Otherwise, you'd never know what key bindings a player might have so it would be better to add them specifically for what you plan to do. Good luck 0 Quote Share this post Link to post
snapshot Posted February 13, 2017 What i'm looking for is some kind of script that stores player current angle and applies it on player :/. 0 Quote Share this post Link to post
Sick Bow Posted February 13, 2017 DMGUYDZ64 said:What i'm looking for is some kind of script that stores player current angle and applies it on player :/. Like to record the facing angle of a player, then when called upon rotate the player to face said angle, more or less? 0 Quote Share this post Link to post
Kappes Buur Posted February 13, 2017 Spocks_Beard said:I've looked everywhere and can't find any tutorial that explains how to save/export your map wads with all the custom textures. What am I supposed to be doing? How exactly are you using the custom textures? If you have integrated them into your pwad, then you could try Slade3's Maintence feature If you use an addon texture pack, then you could either copy all textures into your pwad and then use the above process, or load the pwad into Deepsea and have it create a list of all used textures and flats and then add the custom textures/flats manually 0 Quote Share this post Link to post
scifista42 Posted February 13, 2017 DMGUYDZ64 said:What i'm looking for is some kind of script that stores player current angle and applies it on player :/. Make a map scope variable, one script to call GetActorAngle and store the result into this variable, and another script to call SetActorAngle with this variable as a parameter. Whenever the second script will be executed, it will set the angle to the value that was stored the last time when the first script was executed. 0 Quote Share this post Link to post
Dragonfly Posted February 13, 2017 @DMGUYDZ64 Script 1 ENTER { // This assigns the player with a unique TID upon entering the map Thing_ChangeTID(0, 1000 + PlayerNumber()); } int actorForcedAngle; script 2 (void) { // Take note of the activating player's Angle actorForcedAngle = GetActorAngle(1000 + PlayerNumber()); // Use a while loop to check if a condition has been met, this part's up to you based on your map. while(scriptActive == 1) { SetActorAngle(1000 + PlayerNumber(), actorForcedAngle); Delay(1); } } Above is an untested ACS solution for you. I have commented what everything does for your learning benefit. 0 Quote Share this post Link to post
snapshot Posted February 13, 2017 @scifista42 : Thanks, haven't dealt with Map scopes very much, should learn more about those, ZDoom wiki probably got some infos. @Dragonfly : Great, all I have to do is call a script to change actorforcedangle to 1, Thank you :). 0 Quote Share this post Link to post
Albertoni Posted February 13, 2017 Dragonfly said:@DMGUYDZ64 int playerID; script 1 ENTER { // This assigns the player with a unique TID upon entering the map playerID = UniqueTID(); //playerID[PlayerNumber()] = UniqueTID(); // You'd need to use something like this to support multiplayer. Thing_ChangeTID(0, playerID); } int actorForcedAngle; script 2 (void) { // Take note of the activating player's Angle actorForcedAngle = GetActorAngle(playerID); // Use a while loop to check if a condition has been met, this part's up to you based on your map. while(scriptActive == 1) { SetActorAngle(playerID, actorForcedAngle); Delay(1); } } This modified version fixes a potential bug in case some gameplay mod decides to add more than 1000 thing IDs before the player enters the map. The ENTER function also has a small example of how to convert things to an array in case the map is intended for coop. 0 Quote Share this post Link to post
snapshot Posted February 13, 2017 ThrustThing(GetActorAngle(0) >> 8, 50, 0, 0)doesn't want to thrust at player angle, keeps throwing at random angles ... wat. 0 Quote Share this post Link to post
scifista42 Posted February 13, 2017 Make the second parameter lesser or equal 30, or set the third parameter to 1.ThrustThing">ThrustThing said:nolimit: Must be set to 1 if the thrust is larger than 30 0 Quote Share this post Link to post
Mr.Rocket Posted February 14, 2017 Oh I see I misunderstood. Sorry about that, for some reason I was thinking that you wanted the player to not have any control for a given time. Its been awhile since I've done any sort of scripting like this since that quake3 remake map I did years ago with all the jump pads. That particular map you had control after being thrusted however. 0 Quote Share this post Link to post
snapshot Posted February 14, 2017 scifista42 said:Make the second parameter lesser or equal 30, or set the third parameter to 1. Oh I see, thanks, that solves alot of problems. 0 Quote Share this post Link to post
Dragonfly Posted February 14, 2017 Albertoni said:This modified version fixes a potential bug in case some gameplay mod decides to add more than 1000 thing IDs before the player enters the map. The ENTER function also has a small example of how to convert things to an array in case the map is intended for coop. Albertoni, thanks for the lesson! I wasn't aware of the UniqueTID function, and (through lack of need) I've never made arrays in that way, but it's impressive :) 0 Quote Share this post Link to post
Lz_erk Posted February 15, 2017 I love this thread, I've read it halfway already and it's helpful, but I'm stumped so here's a pile of unanswered things, sorry. GZDB throws an error about a missing semicolon in line 5 ["script 1 (void)"] when I try to compile my first code, which is supposed to make a down-stay/up-stay lift activated by buttons around the level. What's wrong here? Spoiler #include "zcommon.acs" int BigLift = 0 script 1 (void) { if(BigLift == 0) { print(s:"This lift is under construction!"); Floor_LowerByValue (4, 4, 232); Delay (116); int BigLift = 1; } else { print(s:"What? Is it working?"); Floor_RaiseByValue (4, 4, 232); Delay (116); int BigLift = 0; } } After the players go down the lift and into the next area, I'm going to send the lift back up, spawn hellspawn on it and Thing_Hate on them, and send it back down to flank them, which I hope will be surprisingly outside their knowledge of the lift's abilities, and should allow them time and warning to make strategic adjustments. I think I want to make more heavily scripted events too, but I've read ACS tutorials and found them too brief and general for my experience. Is there a long ACS tutorial or guide anywhere that I missed? A slow beginner's guide to ACS? And will the delays prevent the lift from breaking as we spam it with scripts and switch uses? I'm hoping that the delay function stops the script in its tracks and makes it ignore other things that try to call it while it's procrastinating, but I'm very new to all this. Just let me know if I ramble across anything I'm dead wrong about or if my compiler needs troubleshooting. I can't find a lot of resources I want, especially ambient sound effects like crickets and creeks or even machine noises, and night skies. Is it alright if I make sound packs from freesound.org CC0-type licensed sounds, get them properly Doomified, and upload them to the Doom repositories with proper accreditation? It seems like it would be easy to bulk up mappers' resources like this, so if I'm not missing anything about that situation, then can I pick anything up for anyone while I'm there? And does anyone want to help lazily play with such a sound project over the next few months, maybe trade ideas and playtest the sounds? Lastly, since all this stuff is going to take me a long time, can I map for Zandronum 3.0? I'd like to use vertex slopes since it's one of the few things I feel I'm already versatile with. And why does GZDoom Builder ask me if I want to use Zandronum ACS format or GZDoom ACS format, what's the difference? 0 Quote Share this post Link to post
Gez Posted February 15, 2017 Lz_erk said:I love this thread, I've read it halfway already and it's helpful, but I'm stumped so here's a pile of unanswered things, sorry. GZDB throws an error about a missing semicolon in line 5 ["script 1 (void)"] when I try to compile my first code, which is supposed to make a down-stay/up-stay lift activated by buttons around the level. What's wrong here? It's very simple: you are missing a semicolon. And it reports the error on line 5 because that's where it notices that a semicolon should have been there somewhere; but it's actually missing earlier. On line 3: #include "zcommon.acs" int BigLift = 0 Whitespace has no special value so technically this would be correct: #include "zcommon.acs" int BigLift = 0 ; That's why it doesn't notice that the semicolon is missing from line 3, and only notice the problem when it arrives at line 5 and a script declaration starts. When you have an error message about a problem on line X, and you don't see anything wrong with line X, you should always check the previous lines because it's often actually an error carried over from a previous line. 0 Quote Share this post Link to post
Dragonfly Posted February 15, 2017 Lz_erk said:Lastly, since all this stuff is going to take me a long time, can I map for Zandronum 3.0? I'd like to use vertex slopes since it's one of the few things I feel I'm already versatile with. Vortex slopes are probably one of my favourite new-school features for sure. Now, I will be one of the few to say 'yes, go ahead and use Zandronum 3.0 beta' but beware that is may never get released or changes may be made to it. I released Skulldash for Zandronum 3 all the way back in 2015 - it's still not been marked as a stable build yet, so I wouldn't hold your breath for a release. To combat that issue I packaged the Zandronum Build I felt was most applicable as an optional alternative download on my website. :) 0 Quote Share this post Link to post
Lz_erk Posted February 16, 2017 It works! It looks so simple now that I'm figuring out the syntax, and it makes a good sturdy lift! Thanks for the help! Spoiler #include "zcommon.acs" int BigLift = 0; script 1 (void) { if(BigLift == 0) { Floor_LowerByValue (4, 4, 232); Delay (500); BigLift = 1; } else { Floor_RaiseByValue (4, 4, 232); Delay (500); BigLift = 0; } } Edit: Dragonfly, thanks for the advice, that sounds good. I'll use 3.0 features sparingly during design and then do compatibility stuff after. Another overexcited edit: I'll answer my own question now about the "slow beginner's guide to ACS". This link was in my notes all along and I forgot to revisit it. https://zdoom.org/wiki/ACS Also to anyone else looking to get into ACS, Xaser's stuff has some very readable scripts [Dead.Air has been helpful]. And I must remember to look at ZPack too. 0 Quote Share this post Link to post
Powerhouse Willington Posted February 16, 2017 Is it possible to design a wall that the player can see through, but not shoot, while creatures cannot get through, but can shoot and see the player through? I want to build a map around a puzzle idea involving this. If it helps, think of a turret behind an invisible wall where you can see it, but only it can shoot you. 0 Quote Share this post Link to post
Marlamir Posted February 16, 2017 Yes is possible, just give the wall action: translucent line and enable block players,monsters, floating monsters and impassable. 0 Quote Share this post Link to post
Dragonfly Posted February 16, 2017 Mr. Trotl I think you misunderstood the request - They want the walls to be one-way, so the monsters CAN SHOOT through, but the players CANNOT SHOOT through. For this, you will likely need the UDMF format, and to set the linedef flags to block hitscan weapons, but allow projectiles. Then, ensure all monsters you use are projectile based such as the imp and do not give the player the rocket launcher, plasma rifle, or BFG9000. EDIT: Another solution is to use ACS to make the monster(s) in these areas invulnerable: Script 1 (void) { SetActorProperty(1, APROP_Invulnerable, 1); } 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.