Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Content count

  • Joined

  • Last visited

Everything posted by vedan

  1. First of all, all credits go to Solarsnowfall, Tormentor667 and Ghastly_dragon who created this stuff and made it available to everyone visiting realm667.com. BUT unfortunately most of these plugins do not work together since same actor numbers are used or have to be inserted manually. Which I did, as well as putting them together into an fx.pk3 and using them in a map for testing. There also is a text file containing information on controlling these spawners so you can customize them without having to manually open the wad file itself for this. fx.zip
  2. vedan

    "Train" demo

    Hi, this is a demo (UDMF) of how a moving vehicle could transport the player in a level. It consists of: 6 polyobjects which make the vehicle 4 light things (two front & back each) 3 custom ambient sound things (one for each door plus the vehicle itself) The player is moved along with Scroll_Floor (using SCROLL_AND_CARRY). All TIDs (13) can be configured in the script editor, along with the distance and the vehicle speed. Downside: The floor and ceiling textures of the middle of the track are scrolling with the vehicle since the height of polyobjects cannot be limited (at least textures do not scroll with the player in the vehicle) Player movement is frozen when inside the vehicle after doors close (this is to keep the player from moving around and blocking the polyobject parts of the vehicle, I also added linedefs to push player back) Only straight tracks supported High vehicle velocity adds flickering to lights ToDo's: Replace inner track texture with bland color for better illusion effect (maybe it helps a little) Check door polyobjects if player blocks movement when opening/closing Change sound of moving vehicle Maybe implement turning mechanism (& station logic?) SCREENSHOT Download Train.zip
  3. vedan

    Electric Arcs

    Hi, here's an example of a horizontal and a vertical eletric arc which use lights, sounds and sector damage as well. I added a switch to each for (de)activation. The linedef playing the animated arc, ambient audio, lights and sectors need to be tagged. MAP format: UDMF DOWNLOAD
  4. Hi, there are far too many mods out there to keep track of, and even with famous setups (e.g. DraugraKs Build) that serve as a solid blueprint, I found that some mods I love most are missing. So here's my list of absolute must-haves of mini mods (not big ones such as Project Brutality, but compatibility is always a BIG plus): Addon-NB001-Crosshairs.wad - a very nice collection of crosshairs by the creator of Neko's HUD Precise Crosshair - the crosshair actually points to where your weapon's aiming at Laser sight v0.6 - with its beam deactivated and point only active, it accomplishes the active crosshair DamNums - floating damage numbers, what's not to love about them? Critical Hits Fixed - headshots & damage multiplier plus sound option on headshot Ultimate Classic Minimap v1.1 - highly customizable and functional As for HUDs, I like switching between Neko's Hud and the Ultimate Doom Visor. DoomHD Textures & Objects are quite nice and a good alternative to ZDHTP, the Liquid texture Pack 5.0 (or 4.0) is also a must.
  5. Thanks a lot, I'll definitely check that out! I still don't get how it worked a few weeks back, or what actually broke it. NOW I know why it does not work: -> Floor MUST go first -> Ceiling MUST go after
  6. Hi, I got a problem with raising & lowering a sector. Well, that is, something must have become a problem since it did not occur in several test maps I built way back before this occured. Now, when I load them, they are buggy. Very similar to the attached test map, check the screenshots: A thin 3d sector is supposed to go up, wait, go down, wait, repeat. When it goes up, it's fine. But when it goes back down, it stretches itself almost down to the ground. Then, the whole bloated ring goes up and down, right through the ceiling. BuggyScript.zip Here's the script, it's quite simple: #include "zcommon.acs" script 1 OPEN { int speed = 64; int sector = 2; int height = 1024; bool countup = FALSE; while (TRUE) { if (countup == TRUE) { Ceiling_LowerByValue(sector, speed, height); Floor_LowerByValue(sector, speed, height); countup = FALSE; Delay(256); } if (countup == FALSE) { Ceiling_RaiseByValue(sector, speed, height); Floor_RaiseByValue(sector, speed, height); countup = TRUE; Delay(256); } } } I have absolutely NO idea why it worked and broke. I suspect some mod, some setting, some cached stuff, yet when I re-install GZDoom and load no additional WADs or pk3, it happens. Can anybody tell me why this happened? In my latest map, not all players expirience this bug. It's just strange.
  7. Hi, for another approach to skyboxes, here's a SkyViewpoint in a hemisphere that has a moving night sky ceiling texture. I added seven layers of 3d sectors with scrolling floors and transparent cloud textures. The textures themselves are quite big in their dimensions, but not in their file size. There also is a blue additive light to compliment the colors of the sky texture (which is above the cloud layers). The code is simple, scrolling speeds can be defined easily: #include "zcommon.acs" script "sky" OPEN { // sky int skyspeed_x = 2; // x scrolling speed of sky int skyspeed_y = 1; // y scrolling speed of sky int minspeed_x = 1; // x min scrolling speed of clouds int minspeed_y = 1; // y min scrolling speed of clouds int maxspeed_x = 4; // x max scrolling speed of clouds int maxspeed_y = 4; // y max scrolling speed of clouds int cloudspeed_x = Random(minspeed_x, maxspeed_x); int cloudspeed_y = Random(minspeed_y, maxspeed_y); int scroll_start = 992; // starting sector (clouds) int scroll_end = 999; // end sector (sky) while (scroll_start <= scroll_end) { if (scroll_start < 999) { Scroll_Floor(scroll_start, cloudspeed_x, cloudspeed_y, 0); cloudspeed_x = Random(minspeed_x, maxspeed_x); cloudspeed_y = Random(minspeed_y, maxspeed_y); scroll_start += 1; } else { Scroll_Ceiling(scroll_start, skyspeed_x, skyspeed_y, 0); break; } } } In a wide, open area, distant clouds look pretty much 2d. If anybody got any ideas on how to improve this, don't hesitate^^ UPDATE: I added a second demo map with a bigger hemisphere, but clouds still look pretty 2d when far away. Things to fiddle around with to customize it a little more: height of cloud textures texture scaling of cloud textures FILE DOWNLOAD ON MEDIAFIRE Screenshots of second demo map
  8. Hi, since a projectile creates a texture on its death when hitting a wall: Is it possible to determine the z-coordinate of a projectile when hitting a wall (e.g. a script that returns a value when hitting a linedef)? Bye!
  9. I think mapping got me addicted. I wanted to take a break from the last map, yet I'm starting again to create new assets... Textures by DaveGH, another artist I like is llexandro. Pyramid outer Pyramid inner Column room ("destructible" columns) Ceilings Small bastion Arena
  10. vedan

    Destroyable column

    Hi, I saw a short clip of someone having built & scripted a destroyable column in Doom. Unfortunately, I didn't bookmark it and cannot find it anymore... But the idea seemed so interesting, that I had to try it myself. So I created a multi-ringed, fully-meshed column with 83(!) sectors and wrote a script. The script is better than the original since it did not check if the shot passed the column's inside and hit another part from the back. I managed to do just that; now, the player can stand still and shoot the column right through. There's just one thing: I (still) can't get the Z coordinate of the projectile impact. There are topics in progress on doomworld and zdoom that I created for this. That's why the appearing damage always starts in the middle of the column and increases before anything behind it can be hit (which could be improved by having the Z coordinate^^). But it's fun to play around with :P Latest Update: made script dynamic by removing almost all fixed numbers (still needed: floor- & ceiling-heights of the room the column is standing in) parameters now are sector (the outer linedef) and startsector (the first sector of the whole column) added second column to example wad To Do: get Z coordinate of projectile impact for smoother destruction spawn some kind of rubble spawner at impact coords All you need for personal use is: copy/paste or create the mesh like in the picture below number the sectors the same way right click outer linedef one by one and enter sector number and the starting sector of the column adjust the ceiling & floor height value at the top of the script Download: column destruction.zip column structure + linedef setting
  11. vedan

    Destroyable column

    I tried to describe that all vertices of the rings in the column are connected to form sectors, that's all.
  12. This is almost exactly what I need. The only thing missing is my understanding of how to pass Z into ACS_ExecuteWithResult as parameter (self.z or something similar?). I recreated a destructible column that I once saw in a clip (unfortunately, I didn't bookmark it and can't find it again). With the Z coordinate of the projectile impact, the script could be upgraded. DESTRUCTIBLE COLUMN
  13. updating my first map with some scripts. this didn't work before I learned a little scripting... now, it does^^
  14. vedan

    In-game music player

    Hi, there are many awesome music collections for Doom, yet no possibility to change a song while playing. BUT: // MUSIC PLAYER ============================================================================ bool muted = FALSE; bool fading = FALSE; int song = -1; int volume = 1.0; int percent = 100; script "SetTrack" (void) { // SetTrack if (song < 0) {song = 32;} if (song >= 33) {song = 0;} str songs[33][2] = { {"d_dm2ttl", "Doom Title"}, {"d_dead", "The Demon's Dead"}, {"d_doom2", "Doom 2"}, {"d_read_m", "Text Screen"}, {"d_stalks", "The Healer Stalks 1"}, {"d_stlks2", "The Healer Stalks 2"}, {"d_doom", "Doom 1"}, {"d_countd", "Countdown to Death"}, {"d_theda2", "In the Dark 2"}, {"d_openin", "Opening to Hell"}, {"d_shawn", "Shawn's got the Shotgun 1"}, {"d_shawn2", "Shawn's got the Shotgun 2"}, {"d_the_da", "In the Dark 1"}, {"d_ultima", "The Ultimate Challenge"}, {"d_count2", "Countdown to Death 2"}, {"d_in_cit", "Into Sandy's City"}, {"d_messag", "Message for the Archvile 1"}, {"d_runni2", "Running From Evil 2"}, {"d_messg2", "Message for the Archvile 2"}, {"d_dead2", "The Demon's Dead 2"}, {"d_tense", "Getting too Tense"}, {"d_theda3", "In the Dark 3"}, {"d_adrian", "Adrian's Asleep"}, {"d_betwee", "Between Levels"}, {"d_ddtblu", "The Dave D. Taylor Blues 1"}, {"d_ddtbl3", "The Dave D. Taylor Blues 3"}, {"d_stlks3", "The Healer Stalks 3"}, {"d_ddtbl2", "The Dave D. Taylor Blues 2"}, {"d_shawn3", "Shawn's got the Shotgun 3"}, {"d_ampie", "Bye bye American Pie"}, {"d_romer2", "Waiting for Romero to Play 2"}, {"d_romero", "Waiting for Romero to Play 1"}, {"d_evil", "Evil Incarnate"} }; print(s:"Track ", d: song + 1, s:"\n", s:songs[song][1] , s:", (", s:songs[song][0], s:")"); SetMusic(songs[song][0]); } script "NextTrack" (void) { // NextTrack if (!fading) { song += 1; muted = FALSE; ACS_NamedSuspend("FadeOut", 0); SetMusicVolume(volume); ACS_NamedExecute("SetTrack", 0, 0); } } script "UnMute" (void) { // UnMute if (muted == FALSE) { fading = TRUE; print(s:"Music muted"); ACS_NamedExecute("FadeOut", 0, 0); muted = TRUE; } else { fading = false; SetMusicVolume(volume); print(s:"Music unmuted"); muted = FALSE; } } script "PrevTrack" (void) { // PrevTrack if (!fading) { song -= 1; muted = FALSE; ACS_NamedSuspend("FadeOut", 0); SetMusicVolume(volume); ACS_NamedExecute("SetTrack", 0, 0); } } script "FadeOut" (void) { // Fade out int fadevolume = volume; while (fading) { if (fadevolume > 0.0) { fadevolume -= 0.1; SetMusicVolume(fadevolume); Delay(1); } else { fading = false; break; } } } script "IncVolume" (void) { // Increase volume muted = FALSE; if (volume <= 1.0) { volume += 0.1; percent += 10; if (volume > 1.0) { volume = 1.0; percent = 100; } SetMusicVolume(volume); print(s:"Volume now at ", i:percent, s:"%"); } } script "DecVolume" (void) { // Decrease volume muted = FALSE; if (volume > 0.0) { volume -= 0.1; percent -= 10; if (volume < 0.0) { volume = 0.0; percent = 0; } SetMusicVolume(volume); print(s:"Volume now at ", i:percent, s:"%"); } } // ========================================================================================= Create a KEYCONF.txt for your custom pk3 resource file and add this: addmenukey "PrevTrack" PrevTrack alias PrevTrack "pukename PrevTrack" defaultbind KP1 "PrevTrack" addmenukey "UnMute" UnMute alias UnMute "pukename UnMute" defaultbind KP2 "UnMute" addmenukey "NextTrack" NextTrack alias NextTrack "pukename NextTrack" defaultbind KP3 "NextTrack" addmenukey "IncVolume" Incvolume alias Incvolume "pukename Incvolume" defaultbind KP+ "Incvolume" addmenukey "DecVolume" DecVolume alias DecVolume "pukename DecVolume" defaultbind KP- "DecVolume" Thanks to Enjay for his feedback. Credits go to Naniyue (according to this zdoom forum entry) for the inspiration. ...and OF COURSE, I just found what I was originally looking for in the first place: Jimmy's Jukebox
  15. Is there an easy way to make parts of a texture glowing? I do know that some textures in doom glow by themselves, is this achieved through brightmapping? The easy way out for me would be changing textures... Example textures:
  16. UPDATE: Since several mods change or add the player TID, I added a script to handle those eventualities: script 1 OPEN { int mytid = ActivatorTID(); Thing_ChangeTID(0, mytid); } This way, porting works in every combination of Brutal Doom / Project Brutality + NekosHud / UDV.
  17. Hi, I use custom player teleporter platforms with tagged teleport destinations, so far they work fine. Not with Brutal Doom or Project Brutality, it doesn't even matter if I use Thing_Move() or Teleport() - in both cases, the player remains in place. Is there a best practise or workaround for this?
  18. My third map is (almost) done (yet released): Dungeon of Despair! Custom textures (by DaveGH), effect spawners downloaded from realms667.
  19. Hi, I want to have 2 polyobject doors that, when activated, swing open (left and right door), wait and close. So I tried this script: // poly swing doors script 994 (int poly1, int poly2, int pause) { // left door wing, right door wing, time before closing int speed = 16; int angle = 0.5; // open Polyobj_RotateLeft(poly1, speed, angle); Polyobj_RotateRight(poly2, speed, angle); Delay(30); Polyobj_Stop(poly1); Polyobj_Stop(poly2); // wait Delay(pause); // close Polyobj_RotateLeft(poly2, speed, angle); Polyobj_RotateRight(poly1, speed, angle); Delay(30); Polyobj_Stop(poly1); Polyobj_Stop(poly2); } ...which works fine so far BUT when the player collides with one of the doors, it gets blocked and "out of sync" (it's not fully opened or closed when the script is finished). I tried to counter this effect with the poly override functions and the door swing functions, too - but the polyobject still gets blocked. Is there a way to have the doors NOT to get blocked by the player and move as they are supposed to? Any help is greatly appreciated! PS: I already tried different poly anchor start spots (crush & hurt), made no difference too (except I died when it was set to "hurt"^^). PSS: I might have figured out a dirty workaround: Remove the "Impassable" flag of the poly objects while they are swinging. Still got to try that, though. Anybody knows how?
  20. vedan

    Poly double swing doors problem

    Polyobj_DoorSwing did the trick, I didn't use it correctly at first (angle was at 0.5 instead of 64). Solved it, thanks!
  21. Hi, since I did a script collection for moving actors/things does not work for all types, I wanted to enhance it. Light sources cannot be moved by SetActorPosition; they have to be destroyed and respawned at the new location. Since user defined functions only accept three parameters, I need to read the RGB values of the light thingy so I can set them when respawning the light. Nothing in the usual ACS info functions seems to help. So: How do I get the RGB values of an existing light?
  22. I don't really need it to hit a wall when an enemy is standing before it. This case can be ignored. But I also do not know how to add states to actors... or how to access attributes of said projectile when hitting the wall.
  23. vedan

    Spinning UAC logos

  24. vedan

    Spinning UAC logos

    Dude.... :D I did it. Not with Delay(1), since it wouldn't have worked correctly, but a "break". Scanlines are added, too. Anything else, sire?^^
  25. vedan

    Spinning UAC logos

    I did exactly that. Happy now?^^ (actually, i'm happy now since it received a nice rework)