Jump to content
The Dark Mod Forums

kingsal

Member
  • Posts

    1099
  • Joined

  • Last visited

  • Days Won

    40

Everything posted by kingsal

  1. That's definitely a strange bug.. If it's any help: I messed around with you files and it looks like the in-game version is playing at half the speed. Any audio file you run through a game engine is usually going to have different characteristics in-game (compression, volume ,ect). However, I've never heard anything play at half speed unless its some kind of sample rate issue.. As far as I know, the only difference between the zoned ambient sound shaders is that they play a brief silent .ogg before they start. I remember reading somewhere that it prevents audio popping when switching between ambient tracks.
  2. Fixed. I realized after a very long day of reformatting and re-installing everything, I was make a bonehead error and "extracting to" and not "extracting here" with 7zip. There's just too much zipping, unzipping, extracting, compressing, decompressing, compiling... Come on everyone, list your favorite computering gerunds!
  3. Hey Everyone, I recently reformatted and I'm getting DR back up and running. I'm having a slightly annoying problem with the entity class folder structure not being collapsed when I search for entities. I vaguely remember fixing this some how by unpacking my .pk4s? However if I unpack them and delete the original pk4s, nothing shows up in DR. Maybe its something obvious I'm just overlooking...
  4. I'm not the most tech savvy, but I would say anything anything in the Nvidia 980 or 1060 range will work great. I've been an AMD user for many years and recently switched over to a Nvidia GTX 980 (slightly older card) and I'm really happy with it. Runs BF1, Dishonored 2, all the latest really well.
  5. Sorry everyone, I fixed the links in the OP.
  6. I've had trouble with this as well as it can have some serious game play implications for things like no-kill objectives and carrying unconscious body's that can't be killed. It will be great to make the fall damage consistent across the board for all AI. I don't think it necessarily needs to align exactly with the player's fall damage, but that might be a good starting point. "If I drop this AI from here, they'll probably be killed because I (the player) would be killed." I would certainly be willing to help test out the changes, if they get implemented.
  7. Good find Sotha! I'd heard of apophenia, but I've never really thought of it in the context of level design. It could be a useful tool for finding creative story channels, shifts in tone, puzzles, ect.
  8. Thanks Greebo! Lots of really great updates and improvements here. I've already found a lot of these features useful while working.
  9. VanishedOne- Yeah it looks like you can do the same thing using the default door scripts. It would still require some setup, but I haven't tried it. Essentially a use_on_frob item works exactly like a key to a door. Sotha- No problem. Here is how I got it to work. It might be worth getting someone to try it out other than me, as I might have missed something. Custom use-on-frob item set-up. This is a custom set up for an inventory item you would like the player to use_on_frob when highlighting an object in the world. The scenario in this example is placing a skull on a pedestal, but there are many different uses/ scenarios. There are several ways to do this. Check out http://wiki.thedarkmod.com/index.php?title=Tool,_Key,_custom_used_by_inventory_actions for another method. You will need the def files and script file below. This assumes you have basic knowledge of creating .def files and .scripts. If not. PM me (kingsal) for help. Def files. Place this in your def file. //++++++++++++++++++++++++Use Inventory Item++++++++++++++++++++++++++++++ // The inventory_use_item's "inv_name" spawnarg MUST match the "item_name" spawnarg on the Altar. entityDef inventory__use_item //Change the name if you'd like { "inherit" "atdm:moveable_small_base" //editor junk "editor_displayFolder" "interactables/special" // Change to a location you'd like it to show up in DR. "editor_usage" "Custom use-on-frob item" "editor_color" "0.922 0.039 0.855" //Model "model" "models/darkmod/graveyard/bones/skull2.ase" // Change to appropriate model. Should have a collision mesh. "mass" "10" // If item can be dropped, Set this higher to avoid the player from lobbing it too far. "friction" "0.7" "solid" "0" //Inventory stuff "inv_name" "custom item name" //Rename it something fun! MUST match the name on the Altar. "inv_icon" "guis\assets\hud\inventory_icons\skull_inv_icon" // GUI icon. "inv_droppable" "1" //Allows the player to drop this. Beware they might drop it someplace where it can't be retrieved. "inv_category" "Custom Items" //Rename this to the appropiate category. "inv_stackable" "1" //This is only needed if their are multiple of these items that you want to stack in the inventory. //sound "snd_acquire" "tool_pickup" "snd_bounce" "tdm_impact_metal_med_lesser" } //++++++++++++++++++++++++Altar++++++++++++++++++++++++++++++ entityDef use_item_altar //Change the name if you'd like { "inherit" "atdm:entity_base" "spawnclass" "idStaticEntity" //editor junk "editor_displayFolder" "interactables/special" // Change to a location you'd like it to show up in DR. "editor_usage" "Altar for placing inventory_use_items" "editor_color" "0.922 0.039 0.855" //Model "model" "models/darkmod/furniture/tables/builder_pedestal01.lwo" //Change to appropriate model "solid" "1" //Must be solid //Interaction "frobable" "1" "frob_action_script" "use_altar" "item_name" "custom item name" //This must match the inv_name spawnarg of the custom item } Script. This is the script that goes in your mymap.script. Or fms/scripts which requires adding the script name to your tdm_custom_script file. /////////// EVENT SCRIPTS ////////////// //Place this in your fms/maps/ as a mymapname.script. void use_altar(entity altar) { entity curr_item = $player1.getCurInvItemEntity(); if ($player1.getCurInvItemName() == altar.getKey("item_name")) { $player1.changeInvItemCount(curr_item.getKey("inv_name"), curr_item.getKey("inv_category"), -1); //Removes item count by one. altar.activateTargets( $player1 ); //Activates the altar's targets. altar.setFrobable( 0 ); //Sets to none frobable. One time use. REMOVE THIS TO MAKE RE-USABLE. altar.startSoundShader ("mage_fireball_impact", SND_CHANNEL_VOICE ); //Play a sound you like! sys.wait( 1 ); } } Set-up By default the custom items can be found in DR under yourfms/interactables/special. Unless you changed the path 1. Add the inventory_use_item and use_item_altar to your map. 2. Be sure to change the "inv_name" spawnarg on the custom item and the "item_name" spawnarg on the altar. They must match to work. 3. Place a func_static of the item's model on the altar and set spawnarg "hidden" to "0". Have the altar target the func_static and it will appear, giving the illusion it was placed there.
  10. Hey Guys, Adding: if ($player1.getCurInvItemName() == ent.getKey("item_name") ) To the altar script did the trick. I can now put a item-name spawnarg on the altar that will only take the correct item in the inventory. The stim response and /or objectives works as well, however I want the player to use the item like a key (selected from the inventory) Thanks for the help!
  11. Hey everyone, I am working on a script and I need a little help on one aspect of it Essential this acts as an alter that you must place the right item on. I'd like to create a spawnarg "item_name" on the altar that will match up to the corresponding item, but I'm not sure how to do that. The below method works, but it requires me to make a custom script for each altar. void use_fire_altar(entity ent) { entity curr_item = $player1.getCurInvItemEntity(); if ($player1.getCurInvItemName() == "item_name") { $player1.replaceInvItem( curr_item, $null_entity ); // remove remains ent.activateTargets( $player1 ); ent.setFrobable( 0 ); } } Thanks!
  12. Hey everyone, thanks for playing the mission and for all the valuable comments and support! I'm hard at work on the next mission, but it will be some time before its ready. Also, Volta is getting a make-over with lots of bug fixes, gameplay tweaks, better voice audio, and some new stuff Taquito- You're crazy! Haha. I'm excited to give you the new version when its done.
  13. Thanks guys, I checked through the def and it turns out is_civilian was set to 1. I changed that and it did the trick. I didn't know about the health_critical, isarmed, and canattack spawnargs. Good to know!
  14. Hey everyone, I authored a new character model and have it hooked up and working. However, the AI doesn't attack me. He sees me, draws his sword, and then runs for cover. The AI inherits "atdm:ai_humanoid_newskel", is on team 2, and has a melee set. I've tried inheriting the city watch and others with no effect.. Any ideas what this could be?
  15. Oh awesome! Thanks for the detailed info Goldwell. This will be very helpful!
  16. I know I've seen this or stumbled across it before, but.. Is there a command to view the name of objects/ entities in-game? Is it possible to view and/or change their links while still in game? Thank you!
  17. Hey look at that! I'll definitely test this out. Thanks Greebo and crew.
  18. Updated. Thanks for the info, Sotha. I'm sure a lot of people will find that helpful. I will test it out myself once I have a chance.
  19. Biker- Thanks and sure thing! I'll update this thread as it grows. Toni- The .ase exporter is native to max, so that should work on newer editions. I'm still trying to get a .md5 exporter working. It looks like beserker's md5 script works with some minor caveats and should work with newer versions of max. I'll update the thread once I've fiddled with it a little more.
  20. Hello! Tracking down information on software and plug-ins that work with D3 / TDM can be a tough. So I have created a thread here where people can post what software/ plug-ins/ tutorials or other references they've had success or failure with in TDM. 3DS MAX 2013 64bit .ase - Default .ASE model exporter works. However you have to open the .ase file in text edit and manual change the *BITMAP line on each material to read something like: "//base/textures/common/collision" which allows the engine to read the correct material path. md5.mesh / animation - Beserker's md5 exporter/importers for 3dsmax. http://www.katsbits.com/tools, Importing and exporting works. The model must be textured, UV'd, with a skin modifier attached to the bones to export. PM me (Kingsal) for help with this. Imported models using the script will not be weighted appropriately, so this is not recommended if you are simply trying to edit existing tdm content. (Use blender instead) MAYA 2011 32bit md5.mesh - So far I've not had any luck with Maya 2011. I am using Greebo's MayaImportx86 for Maya 2011. I've got the importer working however I get a "Unexpected Internal Failure(kFailure)" and the import fails. This could be due to something finicky in Maya that I am not doing correctly. Will keep trying.. Blender 2.7 about - Blender is commonly used and pretty well supported on the forums/ wiki. Various versions may work as well - https://www.blender.org/download/ md5.mesh / animation Blender MD5 importer/exporter (io_scene_md5.zip): https://sourceforge.net/projects/blenderbitsbobs/files/ Sotha's guide Blender Male/ Female rigs by Arcturus - Here Edit by Dragofer: more links found in this post.
  21. Hmm, I'll take a look in there and see what I can dig out. Is there anyway to cap the maximum velocity on a projectile but still factor in a hold time? I know you can set some global variables that will change the hold time velocity factor, but that seems to break a lot of stuff. This is the projectile script I am looking at: I've set a max_velocity key, I'm just not sure how to say always make getVelocityFactorForHoldTime(holdTime) <= max_velocity. void playertools_sporebomb::inventoryUseKeyRelease(entity userEntity, entity eFrobbed, float holdTime) { entity projectile = sys.spawn(getKey("def_projectile")); //The following lines do bad things. //HOLD_TIME_MIN_VELOCITY = projectile.getFloatKey("hold_time_min_velocity"); //HOLD_TIME_MAX_VELOCITY = projectile.getFloatKey("hold_time_max_velocity"); //MIN_VELOCITY = projectile.getFloatKey("min_velocity"); //MAX_VELOCITY = projectile.getFloatKey("max_velocity"); float max_velocity = projectile.getFloatKey("max_velocity"); vector viewAngles = $player1.getViewAngles(); vector direction = sys.angToForward(viewAngles); vector velocity = direction; velocity *= getVelocityFactorForHoldTime(holdTime); vector origin = $player1.getEyePos(); origin += direction * 30; projectile.setOrigin(origin); string soundShader = projectile.getKey("snd_throw"); sys.cacheSoundShader(soundShader); // If the soundchannel argument is empty, the float defaults to 0, which is SND_CHANNEL_ANY projectile.startSoundShader(soundShader, SND_CHANNEL_BODY); // Callback to decrease the inventory stack count $player1.changeInvItemCount(getKey("inv_name"), getKey("inv_category"), -1); projectile.launch( origin, direction, velocity ); // Clear the projectile's CONTENT_PROJECTILE flag so that it doesn't collide with the player in the first few hundred msec. float savedClipMask = projectile.getClipMask(); projectile.setClipMask(PROJECTILE_LAUNCH_CLIPMASK); // Reset the clipmask back to normal after a certain amount of time sys.wait(projectile.getFloatKey("delay")); projectile.setClipMask(savedClipMask); }
  22. Update: I found a solution by removing the "angles" from my .def file. This was over-riding the projectile code that orients the model to the player's view vector. It would still be interesting to see what the code would look like in a script however..
  23. Hello! Is it possible to set the direction of a projectile's model to match that of the player view? This is an inventory item similar to a mine, but it flies out in the direction of the player view. This is the script I am using (copied from the mine) void playertools_sporebomb::inventoryUseKeyRelease(entity userEntity, entity eFrobbed, float holdTime){ entity projectile = sys.spawn(getKey("def_projectile")); vector viewAngles = $player1.getViewAngles(); vector direction = sys.angToForward(viewAngles); vector velocity = direction; velocity *= getVelocityFactorForHoldTime(holdTime); vector origin = $player1.getEyePos(); origin += direction * 30; projectile.setOrigin(origin); string soundShader = projectile.getKey("snd_throw"); sys.cacheSoundShader(soundShader); // If the soundchannel argument is empty, the float defaults to 0, which is SND_CHANNEL_ANY projectile.startSoundShader(soundShader, SND_CHANNEL_BODY); // Callback to decrease the inventory stack count $player1.changeInvItemCount(getKey("inv_name"), getKey("inv_category"), -1); projectile.launch( origin, direction, velocity ); // Clear the projectile's CONTENT_PROJECTILE flag so that it doesn't collide with the player in the first few hundred msec. float savedClipMask = projectile.getClipMask(); projectile.setClipMask(PROJECTILE_LAUNCH_CLIPMASK); // Reset the clipmask back to normal after a certain amount of time sys.wait(projectile.getFloatKey("delay")); projectile.setClipMask(savedClipMask);}And the def I am using for the projectile. entityDef projectile_sporebomb{ "inherit" "atdm:projectile_base" "spawnclass" "idProjectile" "editor_displayFolder" "playertools/base/projectiles" "fire_along_playerview" "1" "bindOnImpact" "0" "model" "models/darkmod/weapons/sporebomb.ASE" "mins" "-1 -1 -2" "maxs" "1 1 0" "cone" "3" //"def_damage" "damage_wineBottle" "has_result" "1" "def_result" "result_sporebomb" "active_surfaces" "" //"angles" "0 0 0" //This was the culprit. Setting the angles to 0 0 0 was over-riding the code that orients the projectile to the player view. //"axial_dir" "0 0 0" //"launchFromBarrel" "1" "health" "5" "velocity" "10 0 0" "angular_velocity" "0 0 0" "thrust" "0" "thrust_start" "0" "thrust_end" "0" "linear_friction" "0" "angular_friction" "0" "contact_friction" "0" "bounce" "0" "mass" "20" "gravity" "10" "fuse" "5" "detonate_on_fuse" "1" "detonate_on_death" "1" "detonate_on_world" "1" "detonate_on_actor" "1" "impact_damage_effect" "1" "impact_gib" "0" "snd_fly" "" "snd_throw" "gasbomb_flight" //TEMP "snd_drop" "" }
  24. Any progress Jim? Have you tried reinstalling your Audigy drivers and OpenAL? Fully nuking your drivers is a hassle, but I've had to do this several times to get my audio equipment working properly. It might be worth it: https://nomoregoatsoup.wordpress.com/2007/09/12/how-to-fully-uninstall-creative-vista-drivers-solve-install-problems/
  25. Anderson- What/ where is the Dx/Diag? Edit: found it Also found this site: https://hardforum.com/threads/doom-3-sound-issues.786875/page-3 Not surprising, it looks like any ATI tools will interfere with Audigy cards. I'm about to switch to nvidia
×
×
  • Create New...