Jump to content
The Dark Mod Forums

Search the Community

Searched results for '/tags/forums/entity spawn effects teleport/' or tags 'forums/entity spawn effects teleport/q=/tags/forums/entity spawn effects teleport/&'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General Discussion
    • News & Announcements
    • The Dark Mod
    • Fan Missions
    • Off-Topic
  • Feedback and Support
    • TDM Tech Support
    • DarkRadiant Feedback and Development
    • I want to Help
  • Editing and Design
    • TDM Editors Guild
    • Art Assets
    • Music & SFX

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Lord Edgars Bathhouse By Goldwell Credits Briefing video - Crowind Briefing script revision - Moonbo Beta testers - 161803398874989, AluminumHaste, Bikerdude Splash screen - Dominus (created), MalachiAD (edited) Special thanks to Bikerdude for creating the weapon shop & blinging up the outside starting city area Voice Actors: Bikerdude, Goldwell Sound effects from Freesound.org: Headphaze (234516), unfa (157133), JimiMod (252762) sonsdebarcelona (71149), simplen00b (182331) Erokia (183881), kyles (51806), Dpoggioli (213605) rdneubauer (93783), ninebilly (173014), crcavol (154655) sangtao (189664), stereodivo (101847) Other sfx/music credits Bluedark - Invisible Figures Michael J Schumacher - E Flat Drone Speedenza - Big space drone 3 Blue Sizzle" Kevin MacLeod (incompetech.com) Licensed under Creative Commons: By Attribution 3.0 http://creativecommons.org/licenses/by/3.0/ Available via the in-game downloader Filesize: 67.73 MB
  2. Since due to the nature of this forum, file/image sharing is used quite frequently, I thought to present some alternatives to the widely used Gdrive, which I don't like so much, especially since the last TOS change. File Sharing To share large files there are several options that also do not require registration. The first is File Hosting Online, which supports files up to 25 Gb, encrypted and also includes a Virus Scan that ensures safe use Another good option is Gofile, free to use, privacy focused and unlimited Bandwith. No refistry needed. While the files are accesed or downloaded at least one time a week, they are never deleted, otherwise inactive files are deleted after 10 days. If you prefer to use P2P, that means to share files directly from PC to other, without a hoster in the middle, there are also very good options, which permits to share files and folders without limites of type and size. The most easy to use is O&O File Direct, a small Desktop app (sadly only Windows), very easy to use 1 Open the app and drag the files/folders you like to share in its window 2 Optional adjust the days and amount of permited downloads and if you want a password 3 Share the link which apears in the app Done The only limits are, that the receptor only can download your files, when your PC is online, on the other hand this permits that you can stop the download in any moment, going offline or shutting down the PC. The other limit is, that the files to share can't be in a protected folder. Her are an Example with a list of Search Enines (Html file 423,56 Kb). While I am online, you can download it https://file.direct/f/pmjVFnjfkjFTKTt5 Videos One of the best options is Streamable (need a free account, inactive videos are deleted after 90 days in the free version) Alternatively you can use Streamja, a simple Video sharer with good privacy, free account optional (nick, mail) Images Ok, there are a lot of Image sharer, most used the known Imgur, because of this I add only one which offers some advantages over Imgur. ImgBox (free account) is a reliable platform to share and host images like Imgur, but it make it very easy to upload and post dozend of images simultaneous, selecting all the images you want and drag them on the window, offering coresponding bulk codes from the selected images to post them with one click for forums (BBcode), Html and others, fullsize or thumbnails. More since Imgur used since some time the hated webm formats for gif images, hardly accepted in most forums.
  3. I'm at the beginning of a new area, where bandits fights each other. Near the end, I imagine, but I'm not going to bother finishing it. The thing is tedious. It's very obvious your focus was on telling a story. The issue is that's not my thing, and I also think this is not the right game for it. You're trying to make it do things it was never designed to, so it feels clunky. I think the game shines best in a smaller map with some backstory and little touches in the mission, like notes one character leaves for another. Here, it feels like I'm being pulled along from place to place, having to go back where enemies have artificially respawned, with locked doors everywhere, JUST to further the story, not to give me an interesting challenge. And in terms of story, it's the same thing we see all the time: Pagans are the poor, downtrodden, nice people, and the Builders, are the heartless monsters. Yawn. I don't get how the gargoyle switch works in that guy's office, even after having read your explanation. I don't even understand what the situation is supposed to be. The gargoyle looks like it's locked inside a glass case, and therefore you want to get that glass case open. The note says the gargoyle switch is behind the downstairs desk. Downstairs from this note, there is no desk. And the note calls it the "gargoyle switch", which implies it's a switch for the gargoyle, not that the gargoyle itself is a switch. It's confusing for no good reason. Random notes: Boring name, as others have mentioned. A cursive font in letters is annoying to read. Loud music and sound effects are not fun, it just hurts the player's ears. The map is a screenshot. That ruins immersion. The light issues have been covered. For me, it never felt like I was in shadows, as opposed to other missions. Almost everything looks pretty brightly lit. I saw someone mentioning rope arrows are pointless, and I agree. You asked how that player could have made it past something without using one; well, I haven't used it either. You can just mantle. Of course, that's not an issue in itself. There's not reason to cry "I'm getting review bombed" when people are just giving their opinion.
  4. The commit which introduced unconditional writing of the s_mindistance and s_maxdistance spawnargs was this one: https://github.com/codereader/DarkRadiant/commit/541f2638c810588ada12e9a28360f16df6143d45 and it appears it was intended to fix this bug: https://bugs.thedarkmod.com/view.php?id=6062 The current logic is to set the spawnargs to the same values as in the sound shader, if a shader is set: // Write the s_mindistance/s_maxdistance keyvalues if we have a valid shader if (!_spawnArgs.getKeyValue(KEY_S_SHADER).empty()) { // Note: Write the spawnargs in meters _spawnArgs.setKeyValue(KEY_S_MAXDISTANCE, string::to_string(_radii.getMax(true))); _spawnArgs.setKeyValue(KEY_S_MINDISTANCE, string::to_string(_radii.getMin(true))); } This happens in the freezeTransform method which is called after performing some manipulation of the speaker entity such as moving or resizing it. In this case _radii is the object which contains the modified speaker radii, so this code is persisting the modified radii into the relevant spawnargs. This seems to be working correctly when I manipulate a speaker with a valid sound shader. The only way I can get 0 is by creating a speaker with a sound shader like blackjack_swing which does not have radii defined. In this case the speaker has a default minimum radius of 0.0 and a default maximum radius of 10.0. We could avoid setting a radius at all, but then the speaker just appears as an entity box rather than a sphere/circle, which I assume is the original reason for setting a default value. Right now I have no idea what code path would lead to having both a minimum and a maximum of 0.0. I think we'd need more detailed reproduction steps. This is the current logic for setting the spawnargs on speaker construction (rather than manipulation, which is the previous code): // Initialise the speaker with suitable distance values auto radii = soundShader->getRadii(); entity.setKeyValue("s_mindistance", string::to_string(radii.getMin(true))); entity.setKeyValue("s_maxdistance", radii.getMax(true) > 0 ? string::to_string(radii.getMax(true)) : "10"); So there is a specific check that s_maxdistance is greater than 0 before setting it as a spawnarg. Code similar to this has existed for many years, as far as I can see, and I have to go as far back as 2009 to find something different (originally all speakers just had hardcoded 16/32 radii to make them visible).
  5. Yes this worked chakkman thank you. Much better. So far I'm enjoying the game in a very Hitman Absolution type of way. The sound effects and sound design overall is simply unpresentable to me. Lack of footstep, nice pick up loot and and satisfying lock pick sound cues makes it hard for me to give the game more than a 6 out of 10. With good sounds this game could have been a 8 or 9.
  6. For the people eager to play with the latest state of development, two things are provided: regular dev builds source code SVN repository Development builds are created once per a few weeks from the current trunk. They can be obtained via tdm_installer. Just run the installer, check "Get Custom Version" on the first page, then select proper version in "dev" folder on the second page. Name of any dev version looks like devXXXXX-YYYY, where XXXXX and YYYY are SVN revision numbers from which the build was created. The topmost version in the list is usually the most recent one. Note: unless otherwise specified, savegames are incompatible between any two versions of TDM! Programmers can obtain source code from SVN repository. Trunk can be checked out from here: https://svn.thedarkmod.com/publicsvn/darkmod_src/trunk/ SVN root is: https://svn.thedarkmod.com/publicsvn/darkmod_src Build instructions are provided inside repository. Note that while you can build executable from the SVN repository, TDM installation of compatible version is required to run it. Official TDM releases are compatible with source code archives provided on the website, and also with corresponding release tags in SVN. A dev build is compatible with SVN trunk of revision YYYY, where YYYY is the second number in its version (as described above). If you only want to experiment with the latest trunk, using the latest dev build gives you the maximum chance of success. P.S. Needless to say, all of this comes with no support. Although we would be glad if you catch and report bugs before the next beta phase starts
  7. I'm trying to get DR to work with my Godot projects, to replace TrenchBroom, but my first attempts haven't been fruitful. I need DR to see my project's textures, 3D models and entity definitions. I told DR where to find my game in the Game Setup window, but I'm having some issues. As far as entities go, I think I'm probably fine. I unpacked a few of TDM's .pk4 files and found the folder def with many .def files. I tried placing misc.def and tdm_base.def in there, to see if DR would load those entities after restarting, and it does but only if the game type is TDM. I'm probably fine with that, as it makes no difference, as far as I can tell. The Godot importer only cares about the contents of the .map file, which I know I can export in a few formats, so that should be fine (Q3 at least should work fine). However, DR is not seeing my project's textures. I don't know if DR can work with .png files, but I brought in some .tga files from TDM for testing and DR doesn't see them either. So something is missing, but I don't know what it is. I tried placing the textures in a textures folder at the project's root, but nothing happened. Although ideally I'd like to have the textures in root/assets/textures. I haven't tried to use 3D models at all yet, so I'm in complete darkness about that. I wonder what formats DR supports, though. I usually work with .obj, which bypasses Godot's import weirdness.
  8. My old friend Andreas urgently needs my help. He asked if I could meet him at the Lion's Head Inn, our favourite retreat in a quaint part of the city called Mirkway Quarter. He’s got a small apartment nearby where he makes a modest living off paintings he sells to pompous nobles and the odd merchant. Not long ago, his wife Lily was hired as a servant at the manor of the local alderman, one Lord Marlow. Now she hasn't been home for days. Andreas went to the manor looking for her, but the guards shoved him into the gutter and warned him not to return. Andreas is certain that something bad has happened, and I don’t think he’s wrong. Gallery Authors’ Notes It all started many years ago when Shadowhide laid the foundation for a sprawling and convoluted city and worked with MoroseTroll and Clearing to create a macabre storyline to befit this medieval metropolis. At some point, however, the beast grew too large to handle, so he handed the keys to the City to Bikerdude and Melan. Together, the two worked tirelessly, passing the map back and forth, each playing to their respective strengths. Notably, Melan reworked the story concept, toning down many of its darker, R-rated elements. Eventually Melan, too, moved on in 2017, but by then large swathes of the community had become involved in this map’s development. Mapping work was contributed by Baal, Grayman, Fidcal, Ubermann, Skacky, and Flanders, while Destined, nbohr1more, and Obsttorte wrote story texts. Several scripts were provided by Grayman, Baal and Obsttorte, such as an elevator with scissor gates, a TDM first. Even after all this input, the daunting task still remained to transform what had grown into the largest TDM map ever made into a playable mission. Bikerdude hammered away at this for some more years still, on and off between other projects, until in early 2020 when he deemed it ready for public viewing. It was then that Dragofer and Amadeus joined in. In the months that followed, the trio reworked, finished, and polished the mission in nearly every aspect, fully writing out and editing the story as well as adding countless scripted effects and (with help from Bienie) many new readables. The good working atmosphere and pooled creativity brought forth several new secrets, of which the largest likely hasn’t been done before in TDM (hint: check the libraries). In the very end, the name “Fractured Glass Company” was drawn up to refer to everybody who was involved in creating this very special mission. Without the hard work of all these people, most of all Bikerdude and Shadowhide, this mission would likely never have seen the light of day, let alone become what you see here before you. The mission is, as Bikerdude puts it, a homage to Thief 1 & 2, and it’s our hope that you catch these vibes as you explore and enjoy this mission. Update 1.2 (released 04/04/2021) Update 1.1 (released 11/11/2020) Credits - Mapping: Shadowhide, Bikerdude, Amadeus, Baal, Dragofer, Fidcal, Flanders, Melan, Skacky, UberMann - Original Story Concept: Clearing, MoroseTroll, Shadowhide - Story & Readables: Amadeus, Bienie, Bikerdude, Dragofer, Destined, Melan, nbohr1more, Obsttorte, Shadowhide - Editor: Amadeus - Scripting: Dragofer, Baal, Grayman, Obsttorte - Voice Acting: AndrosTheOxen (Andreas), Joe Noelker (Player) - Video Editing: Bikerdude (briefing), Goldwell (briefing intro) - Custom Models: Bikerdude, Dragofer, Dram, Epifire, Grayman, Obsttorte - Custom Textures: Airship Ballet, Dmv88, Hugo Lobo - Custom Sounds: GigaGooga, Sephy, Shadow Sneaker, alanmcki, andre_onate, Deathscyp, dl-sounds.com, Dmv88, dwoboyle, eugensid90, gzmo, lucasduff, mistersherlock, qubodup, randommynd, richerlandtv, sfx4animation, Speedenza - Betatesting: Amadeus, ate0ate, Biene, Bluerat, CambridgeSpy, Cardia, Dragofer, Garrett(Monolyth-42), JoeBarnin, Kingsal, Krilmar, ManzanitaCrow, MikeA, Noodles, S1lverwolf, s.urfer Download Note: this mission requires TDM 2.08, which is now available for download. Please be aware that old saved games will no longer work after you upgrade to 2.08's release build. Note: it’s highly recommended to run this mission using the 64-bit client (TheDarkModx64.exe), since there've been frequent reports the mission won't load on the 32-bit client (TheDarkMod.exe). Both are found in the same folder. The mission is available from the ingame downloader. In addition to that, here are some more mirrors, as well as the official screenshots for anybody uploading this mission to a FM database: Mission: Google Drive / OneDrive Mission (v1.1, slimmed down version for 32-bit clients): Google Drive / OneDrive Official Screenshots: Google Drive / OneDrive Hi-Res Map: Imgur Links Secret loot & areas walkthrough by @Lzocast
  9. @The Black Arrow That's a good analysis. I don't disagree but we're referring to different time periods with different quality aims: In the early days of 3D and low-res CRT screens when we had 256x256 textures, detail textures were used to make surfaces appear as if they have 1024x1024 textures... today in the age of 1080p monitors such texture can appear blurry from up close, we want to make 1024x1024 textures appear of 4096x4096 quality. Back then the goal was to get at least a little bit of perceived sharpness, today the goal is to see those microscopic details on every surface as if everything is real... while the concept of detail textures is old it scales to cover both aims. As you correctly pointed out, the ideal solution would be upgrading the actual textures themselves. Sadly there are two big problems with this that will likely never be possible to overcome: Someone must create or find identical textures to replace existing ones, which have to retroactively fit every old FM. That would be a huge effort for so many images, and will not look exactly the same way so people would complain how "this wall used to be made of small red bricks which are now larger and yellower which isn't what I intended and no longer line up". An advanced upscaling filter may be able to bump the resolution with good results, this would be a lot less effort and retain the exact appearance of textures. The even greater issue is storage and memory use would go through the roof. Imagine all our textures (from surfaces to entity skins) being 4096x4096 which would be the aim for decent quality today: TDM could take over 100 GB of drive space, you'd need at least 16 GB of RAM to run it, and the loading time of a FM will be 5 minutes. Detail textures are a magic solution for both problems: They're overlayed in realtime on top of the standard textures without changing their base appearance. This means you see pixels several times the scale of the image without requiring any image to actually be at that resolution, no vRAM or loading time increase. And if detail layers are disabled with distance you also don't lose FPS in per-pixels calculations when distant lights update.
  10. Thought it would be a good idea to collate a useful list for new and old mappers alike and this post will update as we go. Abandoned works: Any WIP projects that were abandoned by the original author - http://forums.thedarkmod.com/topic/12713-abandoned-works/ Darkradiant & Darkmod shortcut settings: Some example settings for new mappers - http://forums.thedarkmod.com/topic/15152-darkradiant-and-darkmod-shortcut-folder-settings/ Darkradiant howto, must knows, tips and faqs - http://forums.thedarkmod.com/topic/12558-usefull-important-editing-links/?do=findComment&comment=272581 Info for Beginners: Newbie DarkRadiant Questions - http://forums.thedar...iant-questions/ Dark Radient Must Know Basic Intro - http://wiki.thedarkm...now_Basic_Intro Editing Tips for Beginners - http://wiki.thedarkm...s_for_Beginners Editing FAQ (Troubleshooting & How-To) - http://wiki.thedarkmod.com/index.php?title=Editing_FAQ_-_Troubleshooting_%26_How-To Sotha's excellent Mapping Tutorial series: http://forums.thedarkmod.com/topic/18680-lets-map-tdm-with-sotha-the-bakery-job/ Springheel's New Mapper's Workshop: http://forums.thedarkmod.com/topic/18945-tdm-new-mappers-workshop/ Inspiration: Collection of screenshots and images people have found online - http://forums.thedarkmod.com/topic/11610-darkmod-inspiration-thread/ Mapping Resources: List of Voice actors available for voice recording - http://modetwo.net/d...6-voice-actors/ Lengthy collection of city reference pictures - http://modetwo.net/d...rence-pictures/ Collection of texture resource sites - http://modetwo.net/d...ture-resources/ Free Ambient Tracks - http://skeksisnetlabel.wordpress.com/2009/12/30/10-songs-for-free-download-vol-10-full-moon-over-noricum/ Mapping Tools: 3 useful tools for texture creation - http://forums.thedarkmod.com/topic/18581-must-have-tools-for-the-descerning-mapper/ Modular Building: What is Modular building - http://forums.thedarkmod.com/topic/14832-modular-building-techniques/ Working example tutorial on modular building - http://forums.thedarkmod.com/topic/18680-lets-map-tdm-with-sotha-the-bakery-job/ Springheels new modular models - http://forums.thedarkmod.com/topic/18683-using-springheels-205-modules/ Some related mapper recipies - Easy Vaults - http://forums.thedarkmod.com/topic/14859-easy-vault-recipe/?hl=%2Beasy+%2Brecipe Easy Outdoors - http://forums.thedarkmod.com/topic/16159-easy-outdoors-recipe/?hl=%2Beasy+%2Brecipe Easy Caverns - http://forums.thedarkmod.com/topic/14469-quick-caverns-recipe/?hl=recipe Easy Alert Ai - http://forums.thedarkmod.com/topic/17157-easy-alert-ai-recipe/?hl=%2Beasy+%2Brecipe Easy Alert Ai Custom Behavour - http://forums.thedarkmod.com/topic/17160-easy-alert-ai-custom-behavior-recipe/?hl=recipe Tutorials: Collection of video tutorials for DR - http://modetwo.net/d...in-darkradiant/ Using Lighting and detail effectively: - http://forums.thedar...l-and-lighting/ Voice Actors list: List of available voice actors - http://forums.thedarkmod.com/topic/12556-list-of-available-voice-actors/ Usefull Console commands: A list of console commands for testing in-game - http://wiki.thedarkm...Useful_Controls
  11. Interesting! Does it update all default textures so it's used on everything in the world? I should replay it and check that out: It would give us a good view of how the effect will feel in practice. Looking at the page, they seem to do it the conventional way I was thinking of trying out, which is currently supported by the engine but more limited than a proper implementation. It also looks like they're only doing it for the albedo channel, to be effective detail should be applied to all maps... the normal map is where the improvement should be most noticeable as it responds to lighting and modifies everything else. The implementation I'm thinking of should be universal like all effects and work on any FM new and old. It would be controlled by a menu setting, no one needs to enable it if they don't like how it looks or it impacts performance. Each detail pass should fade and be hidden with distance, we don't want to stress pixel lighting by having it compute thousands of dots on distant surfaces each frame. Just like the TDM ambient method, we'll likely need a special segment for materials meant to indicate what kind of detail each texture wants, then based on settings and camera position the renderer must modify each surface accordingly.
  12. Is it possble to make skins for brushes/patches by conferting them to func_static? Models are func_static when you add them in DR, but in the skin file you reference them with the model name instead of the entity name. When you convert a brush/patch though, it converts it uses a model with the same name as the entity name, so in this case func_static_1 for example. Would it be enough to use that in the skin file? Allthough the wiki article states it's important to add an extension.
  13. After some amount of work I'm happy to be able to share my Christmas gift for TDM! Or at least half of it, considering the other half is still only in design phase. I created an addon that implements detailed player functionality, inspired by the first DeusEx game (The Conspiracy). It's NOT a mission script but an addon, meaning you place the pk4 in your TDM directory to enable the system and it will automatically work in each and every FM. Note that due to using tdm_user_addons.script / user_addon_init() it may disable or get disabled by other addons you have installed... this is a design limitation which can hopefully be lifted at some point in the future. This plugin will be included in my cyberpunk total conversion The Dark Module and automatically active with it, but first I shall design it and make it available as a small independent addon for vanilla TDM. In the current initial release it implements just per-limb damage; The upcoming plan is to add a skill / augmentation system, allowing the player to use loot as skill points to enhance various body parts and gain new or improved abilities. Due to the scripting system being very limited in what it lets me modify, I'm still gathering documentation on how to implement those skills and which I can have. So until then detailed body damage with penalties remains the only part that's theoretically finished so far (further improvements are required here too)... including a HUD component above the lightgem showing the status of each body part: Green = full health, yellow = half health, red = (close to) no health, black = no health left. The individual limbs available: Head, Torso, Left Arm, Right Arm, Left Leg, Right Leg... arms and legs work in unity however. They each take damage with the player as well as healing together with them. The more damaged a group is, the more a respective penalty is applied to the player. Groups and penalties include: Head: When the head is damaged, the player begins to get dizzy and has their vision impaired. Currently the only effect replicates the flashbomb, causing white dots to appear around the player and disrupt their view until the head is healed. As the player can't live without a head, reaching 0 will cause instant death. More effects are possible and pending. Torso: Damage to the torso translates to damage to the cloak, increasing the player's lightgem and rendering them more visible even in dark spots. As the player can't live without a torso, reaching 0 will cause instant death. Given script limitations I'm unable to simulate lung damage and decrease / limit the amount of air the player has. Arms: Arm damage makes it difficult for the player to hold items: In-world objects being held will probabilistically get dropped, more often the worse your arms are hurt. When both arms reach 0 health, the player can no longer pick up anything in the world without instantly dropping it... you also become unable to use any weapons. Due to limitations in the scripting system, I'm unable to decrease the speed or accuracy of the blackjack / sword / bow as was desired. Legs: As expected leg damage will make the player walk more slowly. It was desired that when one leg is lost the player can no longer jump, whereas when both legs are gone you remain stuck in crouch mode until healed... due to limitations in the scripting system this part is also not possible at the moment. A crude limitation is the fact that limb damage is primarily based on the direction the player is walking toward... for example, increased likelihood of suffering damage to your right arm and leg if strafing right the moment you take the damage. The script system doesn't let you extract the vector direction of the last damage event, thus I can't use the real direction the hit came from when calculating which body part should absorb the most health loss. This means that even if an arrow comes from above and hits the player's head area, the player will only take damage to the legs if they're falling downward the moment they got hit... for the time being this provides a bare minimum amount of realism but is a very bitter implementation. For this reason it would be greatly appreciated if any of the code developers could join this discussion and verify if they can help with adding the necessary hooks to external scripts: With 2.09 getting periodic beta releases at this point in time, it would be a great opportunity to make changes to the builtin player script that allow an external function to modify more player variables. This includes the efficiency of weapons, if the player is allowed to jump or forced to always crouch, and I'd also really appreciate a hook to manipulate the breath so air can be lowered as if the player is underwater. I understand other priorities exist or if the work may be considered too much, however this would help in being able to finish this mod with the proper functionality and planned skill set. In the meantime let me know what you think of this idea and how I went about it! So far no new assets are included except the GUI graphics: Everything is done with less than 250 lines of script which I'd say is a good achievement I've attached the pk4 and since it's so lightweight I'll also add the main script straight in this post. player_damage_1.0.pk4 #define DAMAGE_WAIT 0.0166667 #define EXPOSURE_ARM_LEFT 2 #define EXPOSURE_ARM_RIGHT 2 #define EXPOSURE_LEG_LEFT 2 #define EXPOSURE_LEG_RIGHT 2 #define EXPOSURE_HEAD 3 #define EXPOSURE_TORSO 1 #define PENALTY_TORSO_LIGHTGEM 4 player self; float damage_gui; boolean dizzy; entity dizzy_particles; float bound(float val, float min, float max) { if(val < min) return min; if(val > max) return max; return val; } // Range based probability: Calculates a probability per frame independent of wait time (0 - 1 range at 1 chance per second) boolean prob(float x) { return sys.random(1) > x && sys.random(1) < DAMAGE_WAIT; } // Directional exposure calculator float dex(vector dir, float ex_front, float ex_back, float ex_right, float ex_left, float ex_up, float ex_down) { float maxvel = 100; float dir_front = bound(dir_x / maxvel, 0, 1) * ex_front; float dir_back = bound(-dir_x / maxvel, 0, 1) * ex_back; float dir_right = bound(dir_y / maxvel, 0, 1) * ex_right; float dir_left = bound(-dir_y / maxvel, 0, 1) * ex_left; float dir_up = bound(dir_z / maxvel, 0, 1) * ex_up; float dir_down = bound(-dir_z / maxvel, 0, 1) * ex_down; return dir_front + dir_back + dir_right + dir_left + dir_up + dir_down; } void player_damage_update_arm(float dmg_l, float dmg_r) { float hl_l = self.getFloatKey("health_arm_left"); float hl_r = self.getFloatKey("health_arm_right"); float hl = (hl_l + hl_r) / 2; if(dmg_l != 0 || dmg_r != 0) { hl_l = bound(hl_l - dmg_l, 0, 1); hl_r = bound(hl_r - dmg_r, 0, 1); hl = (hl_l + hl_r) / 2; self.setKey("health_arm_left", hl_l); self.setKey("health_arm_right", hl_r); self.setGuiFloat(damage_gui, "PlayerDamage_ItemArmLeft", hl_l); self.setGuiFloat(damage_gui, "PlayerDamage_ItemArmRight", hl_r); // Penalty #1: Disable the weapon once the arm are damaged to minimum health if(hl == 0) { self.selectWeapon(WEAPON_UNARMED); self.disableWeapon(); } else { self.enableWeapon(); } } // Penalty #2: Probabilistically drop held items based on arm damage if(hl == 0 || prob(hl)) if(self.heldEntity() != $null_entity) self.holdEntity($null_entity); } void player_damage_update_leg(float dmg_l, float dmg_r) { float hl_l = self.getFloatKey("health_leg_left"); float hl_r = self.getFloatKey("health_leg_right"); float hl = (hl_l + hl_r) / 2; if(dmg_l != 0 || dmg_r != 0) { hl_l = bound(hl_l - dmg_l, 0, 1); hl_r = bound(hl_r - dmg_r, 0, 1); hl = (hl_l + hl_r) / 2; self.setKey("health_leg_left", hl_l); self.setKey("health_leg_right", hl_r); self.setGuiFloat(damage_gui, "PlayerDamage_ItemLegLeft", hl_l); self.setGuiFloat(damage_gui, "PlayerDamage_ItemLegRight", hl_r); // #Penalty #1: Make movement slower self.setHinderance("health", 0.25 + hl * 0.75, 1); } } void player_damage_update_head(float dmg) { float hl = self.getFloatKey("health_head"); float time_current = sys.getTime(); if(dmg != 0) { hl = bound(hl - dmg, 0, 1); self.setKey("health_head", hl); self.setGuiFloat(damage_gui, "PlayerDamage_ItemHead", hl); // Penalty #1: Without a head the player dies if(hl == 0) self.damage(self, self, self.getOrigin(), "damage_suicide", 1); // Penalty #2: Simulate dizzyness starting at half health if(hl <= 0.5) { if(!dizzy) { dizzy_particles = sys.spawn("func_emitter"); dizzy_particles.setModel("flashbomb.prt"); dizzy_particles.setOrigin(self.getEyePos()); dizzy_particles.bind(self); dizzy = true; } } else { if(dizzy) { dizzy_particles.remove(); dizzy = false; } } } } void player_damage_update_torso(float dmg) { float hl = self.getFloatKey("health_torso"); if(dmg != 0) { hl = bound(hl - dmg, 0, 1); self.setKey("health_torso", hl); self.setGuiFloat(damage_gui, "PlayerDamage_ItemTorso", hl); // Penalty #1: Without a torso the player dies if(hl == 0) self.damage(self, self, self.getOrigin(), "damage_suicide", 1); // Penalty #2: Torso damage negatively affects the lightgem self.setLightgemModifier("damage", (1 - hl) * PENALTY_TORSO_LIGHTGEM); } } void player_damage() { sys.waitFrame(); self = $player1; damage_gui = self.createOverlay("guis/player_damage.gui", 1); float health_old = 100; // Init by sending a heal event filling the limbs to full health player_damage_update_arm(-1, -1); player_damage_update_leg(-1, -1); player_damage_update_head(-1); player_damage_update_torso(-1); while(1) { // sys.waitFrame(); sys.wait(DAMAGE_WAIT); float health_current = self.getHealth(); float dmg = (health_old - health_current) / 100; float dmg_arm_left = dmg * EXPOSURE_ARM_LEFT; float dmg_arm_right = dmg * EXPOSURE_ARM_RIGHT; float dmg_leg_left = dmg * EXPOSURE_LEG_LEFT; float dmg_leg_right = dmg * EXPOSURE_LEG_RIGHT; float dmg_head = dmg * EXPOSURE_HEAD; float dmg_torso = dmg * EXPOSURE_TORSO; // If this is damage and not healing, apply directional damage to each limb if(dmg > 0) { // Currently we estimate damage direction based on the player's velocity, we should fetch the real direction of a damage event when this becomes possible vector dir = self.getMove(); vector ang = self.getViewAngles(); // Protections based on the player's position and relation to the environment // protection_look: 1 when looking up, 0 when looking down // protection_low: Higher as the lower part of the body is exposed float protection_look = 1 - (90 + ang_x) / 180; float protection_low = 1; if(self.AI_CROUCH) protection_low = 0; else if(self.AI_ONGROUND) protection_low = 0.75; // Use the dex function to calculate directional exposure patterns, direction order: Front, back, right, left, up, down // Arms: Somewhat likely to be hit, no added protection // Legs: Somewhat likely to be hit, added protection when the player is crouching // Head: Unlikely to be hit, added protection when the player is looking down // Torso: Likely to be hit, no added protection float exposure_arm_left = bound(sys.random(0.375) + dex(dir, 0.5, 0.25, 0.0, 1.0, 0.0, 0.25), 0, 1); float exposure_arm_right = bound(sys.random(0.375) + dex(dir, 0.5, 0.25, 1.0, 0.0, 0.0, 0.25), 0, 1); float exposure_leg_left = bound(sys.random(0.375) + dex(dir, 0.75, 0.5, 0.0, 0.5, 0.0, 1.0) * protection_low, 0, 1); float exposure_leg_right = bound(sys.random(0.375) + dex(dir, 0.75, 0.5, 0.5, 0.0, 0.0, 1.0) * protection_low, 0, 1); float exposure_head = bound(sys.random(0.25) + dex(dir, 0.25, 0.75, 0.5, 0.5, 1.0, 0.0) * protection_look, 0, 1); float exposure_torso = bound(sys.random(0.5) + dex(dir, 0.75, 1.0, 0.0, 0.0, 0.0, 0.0), 0, 1); // Apply the exposure to damage, multiplied to simulate the sensitivity / resistance of each limb dmg_arm_left = exposure_arm_left * dmg * EXPOSURE_ARM_LEFT; dmg_arm_right = exposure_arm_right * dmg * EXPOSURE_ARM_RIGHT; dmg_leg_left = exposure_leg_left * dmg * EXPOSURE_LEG_LEFT; dmg_leg_right = exposure_leg_right * dmg * EXPOSURE_LEG_RIGHT; dmg_head = exposure_head * dmg * EXPOSURE_HEAD; dmg_torso = exposure_torso * dmg * EXPOSURE_TORSO; } player_damage_update_arm(dmg_arm_left, dmg_arm_right); player_damage_update_leg(dmg_leg_left, dmg_leg_right); player_damage_update_head(dmg_head); player_damage_update_torso(dmg_torso); health_old = health_current; } }
  14. I'll try that: I remember now there's an entity used to call script functions on other entities... show / hide are universal events at the core of the base entity, if that doesn't work something must be very broken. Another option I thought of: What if I teleport the atdm:mover_multistate_position entity instead? However I doubt that will work since to my knowledge, dmap compiles elevator positions to some extent so changing them in realtime will likely not work or break stuff, but just in case let me know if that might be safe.
  15. DarkRadiant 3.9.0 is ready for download. What's new: Feature: Add "Show definition" button for the "inherit" spawnarg Improvement: Preserve patch tesselation fixed subdivisions when creating caps Improvement: Add Filters for Location Entities and Player Start Improvement: Support saving entity key/value pairs containing double quotes Improvement: Allow a way to easily see all properties of attached entities Fixed: "Show definition" doesn't work for inherited properties Fixed: Incorrect mouse movement in 3D / 2D views on Plasma Wayland Fixed: Objective Description flumoxed by double-quotes Fixed: Spinboxes in Background Image panel don't work correctly Fixed: Skins defined on modelDefs are ignored Fixed: Crash on activating lighting mode in the Model Chooser Fixed: Can't undo deletion of atdm_conversation_info entity via conversation editor Fixed: 2D views revert to original ortho layout each time running DR. Fixed: WX assertion failure when docking windows on top of the Properties panel on Linux Fixed: Empty rotation when cloning an entity using editor_rotatable and an angle key Fixed: Three-way merge produces duplicate primitives when a func_static is moved Fixed: Renderer crash during three-way map merge Internal: Replace libxml2 with pugixml Internal: Update wxWidgets to 3.2.4 Windows and Mac Downloads are available on Github: https://github.com/codereader/DarkRadiant/releases/tag/3.9.0 and of course linked from the website https://www.darkradiant.net Thanks to all the awesome people who keep creating Fan Missions! Please report any bugs or feature requests here in these forums, following these guidelines: Bugs (including steps for reproduction) can go directly on the tracker. When unsure about a bug/issue, feel free to ask. If you run into a crash, please record a crashdump: Crashdump Instructions Feature requests should be suggested (and possibly discussed) here in these forums before they may be added to the tracker. The list of changes can be found on the our bugtracker changelog. Keep on mapping!
  16. To the "Path Nodes" wiki article, I've added a few sentences about path_follow_actor. It mentions that it currently doesn't support the actor being the player, and has pointers to the new bug report and the workaround given in this thread. The entry for path_follow_actor in the Entity Database now reads "... actor (= other AI, not player)...
  17. I have an elevator with a button: When the button is pressed it tells the lift move to an atdm:mover_multistate_position entity, which it does by targeting the elevator while having the spawnarg "position atdm_mover_multistate_position_1" to tell it where to go. This works well but I need it to do something special: When an objective is completed, the button needs to make the elevator go to a different position when pressed from that point on. I don't know how to do this: If I target the trigger_relay that runs when the objective is completed to the button, that will only make the button press itself. I can't use an atdm:target_changetarget either since it's not the button's target I need to change but its position spawnarg. I don't want to make a script for something this simple so I'm hoping there's a special entity I can use to get the job done. One solution would be two buttons: Completing the objective makes the first one invisible and unfrobable while making the second one visible and frobable. But I'm not aware of a way to make buttons visible / invisible either. At worst I'll use an atdm:teleport to swap the buttons, that's an ugly solution so making sure there's no better option first.
  18. The TDM Unofficial Patch is a personal project of mine to modify some small details that annoyed me in the core game. It wouldn't be possible without many others, so thanks to the whole TDM community for discussions and help, but especially to friendly modders who directly contributed code for it, like Obsttorte, Dragofer, Kingsal, Goldwell, Destined, and snatcher! You can find it under the link below and while over the years there was little progress, in recent times many things have been improved that I never even thought of when I started and some might be worth to be included in the core game. https://www.moddb.com/mods/the-dark-mod/addons/the-dark-mod-unofficial-patch Version Changelog: ------------------ v1.7 20.08.2022 ---- Made loot icon change right back to last tool icon, thanks snatcher. Added new whistle player skill to distract NPCs, thanks to snatcher. Made more lights extinguishable and added info for 4 beta missions. Corrected container bottom fix messing up drawers, thanks Dragofer. Improved unlit behaviour of moveable light sources, thanks snatcher. Corrected lit lamps set to extinguished in maps, thanks to Dragofer. Changed western empire maps so the location of Bridgeport is vague. Added several major city names to the small map, thanks to Kukutoo. Fixed frobing animation not working with bound and carried entities. v1.6 23.07.2022 ---- Improved extinguishing oil lamps, thanks to Dragofer and Obsttorte. Added frobing animation, thanks to Obsttorte, Goldwell and snatcher. Fixed container bottoms and training mission chest, thanks Dragofer. Made doors open faster when running, thanks Obsttorte and snatcher. Added more player tools to training mission and improved text there. Fixed Holy Water doing no damage and Hazard Pay not starting at all. Made all five oil lamps in Sotha's "The Bakery Job" extinguishable. Added blow player skill to snuff out small flames, thanks snatcher. Changed Unarmed icon to make clear that the player always has a bow. v1.5 02.07.2022 ---- Created Invisibility Potion out of cut Speed Potion, thanks Kingsal. Increased arrow head shot damage to both living and undead enemies. Replaced slow matches with easier to handle flints, thanks Kingsal. v1.4 10.03.2022 ---- Replaced Frob Helper with dark Frob Outline and updated to TDM 2.10. Made electric mine stun elite guards too and improved mission names. Renamed mission installation/selection UI mishmash to "activation". v1.3 21.02.2021 ---- Changed flashmine to stunning electric mine and updated to TDM 2.09. Edited more mission names and made threefold candles extinguishable. v1.2 26.08.2020 ---- Updated to TDM 2.08 and fixed custom holywater script compatibility. Added Numbers Scroll showing stealth and loot info, thanks Dragofer. Edited more mission names to avoid truncated descriptions in menus. Added default keys info to training mission and repaired cut lines. v1.1 03.02.2019 ---- Moveable candles can be extinguished directly by frobing the candle. More blackjack immune enemies and inextinguishable candles modified. The key frob distance has been decreased to be that of lockpicking. Holy Water bottles must be thrown directly, but they do more damage. The controls settings menu additions have been updated for TDM 2.07. New mission names have been fixed to fix format and spacing issues. Added looking up and looking down controls for people without mouse. Pointed bad prefabs container open/close sounds to existing effects. Added version info to starting screen and edited some new missions. v1.0 06.05.2018 ---- Many enemies will not become immune to blackjacking when alerted. Oil lamps can be snuffed by frobing, thanks Destined and Obsttorte. The controls settings menu lists that "use" can work on held items. Mission names were syncronized between download and online lists. The controls settings menu lists that "frob" can get or drop items. Astericks were added to official missions to move them to list top. Minor text and format bugs have been fixed in some mission infos.
  19. I'm happy to present my first FM, The Spider and the Finch. There may be a spider, but no ghosts or undead. It should run a couple hours. It's now available on the Missions page or the in-game downloader. Many thanks to the beta testers Acolytesix, Cambridge Spy, datiswous, madtaffer, Shadow, and wesp5 for helping me improve and making the mission to the best of my abilities. This would not be have been possible without Fidcal's excellent DarkRadiant tutorial. Thanks also to the many people who answered my questions in the TDM forums. Cheers! 2023-12-13 Mission updated to version 3. Fixed a bug where the optional loot option objective was not actually optional. Updated the animations for Astrid Added a hallway door so the guards are less likely to be aggroed en masse.
  20. I'm not using the Quake 3 engine, I'm using the Godot engine. The results seem ok, except when faces are slanted, but I'm not sure why it happens. I'm trying to find out. I don't know anything about the Q3 engine, so I'm not the one to say what's correct and what isn't about the map format. When I said "correct", I just meant that it's the same value that is displayed in the editor. But there are differences between the Q3 format from DR and from other editors I've tested, like TrenchBroom and NetRadiant Custom. They keep the texture values as they are in the editor. One other difference is that DR exports entity brushes with coordinates relative to the `origin` spawnarg, for example. Though DR is also the only editor that enforces the `origin` spawnarg. (I know there are two Q3 formats, and I'm using the equivalent one on all editors.) I'm importing maps into Godot using a plugin. I've made some changes to it to accommodate for the differences in the map format and some editor specific stuff (e.g. DR uses "rotation" matrices instead of euler "angles").
  21. Looks great, thank you! That looks even better: It's where DeusEx had its player status screen, feels even more like TDM with DX characteristics now I think I placed it above the light gem as that's where player info was technically being stored, with the new subtitles covering that position the move is a great decision. By the way: If anyone wishes to continue and improve this mod, I'd appreciate seeing your remixes of it. I had it mostly finished last time on my end; I think the main issue was upgrades require items to be placed on maps, augmentations may not work on every FM without a way for them to automatically spawn in random places... my imagined solution was to also offer upgrades based on loot gathered or other achievements but I never got around to adding that.
  22. @Petike the Taffer Well that was challenging, but I managed to get it to work with a dummy AI (but with a warning message). Using hide doesn't work on the dummy, as each time it moves it un-hides. You need to use an invisible model. I used the atdm:ai_base, which surprisingly worked with these spawn args so it doesn't interfere with the player position and is inert as possible. Then you just need to trigger a follow script, e.g.: void follow_dummy() { $dummy.setOrigin($player1.getOrigin()); $dummy.hide(); //not sure why this is needed, but it stopped working when I deleted it sys.wait(0.2); //needed to prevent game from hanging thread follow_dummy(); } Alternatively, I tried to just bind the dummy to the player instead, but then the follower ai wouldn't follow me.
  23. Is there something wrong with the forums lately, or is it my browser? I've been having trouble formatting posts, and just now I couldn't format anything at all.

    I'm using Vivaldi.

    Usually I have to: select text, click bold, nothing happens, select again, click bold, then it works. 

    Same for other stuff, like creating spoilers, bullet points, links. Nothing works the first time. 

    1. datiswous

      datiswous

      I have no problem. I use Firefox. @Zerg Rush also uses Vivaldi. Have you tried without extensions, or in another browser?

      (btw. bold, italic and underline have shortcut keys: Ctrl B, Ctrl I and Ctrl U, you could try that)

       

  24. In order for the keys to spawn, you have to get hit by the elementals in the correct order (the order of the mushrooms lined up). So if the first elemental didn’t work (because you’re running an older version of TDM), you won’t get any keys. So you had no choice but to skip the whole thing.
  25. So I was using older version of TDM (not sure about the number) but that's the thing - After getting hit by one - the key didn't spawn. Hence, why I had to "skip" it. Will there be a follow-up, where we discover that our "host" is an ancestor to Cave Johnson/SAW?
×
×
  • Create New...