As you probably know, lava is just a weird "effect". It would be nice if it could be replaced with real vanilla lava. Thanks.
#2
My idea is that we can put real OB lava under the Morrowind lava pictures, so if you jump in, you'll reach to lava in the end.
#3
#4
Is it possible we could attatch a script to all the lava objects by editing the base id: 0inUlavaU512 with some sort of script?
Something like
if getdistance player < 1
player.kill
endif
(or better yet, just copy the killbox script:)
scn KillBox01SCRIPT
ref target
begin onTriggerActor
set target to getActionRef
target.kill
end
Something like this would be a quick fix (if it worked) because you are making only one edit. It wouldn't be especially pretty, as it wouldn't drain health, but it would be effective. It would make sure that people don't "jump into pools of molten lava..." by insta killing them. Which keeps the suspension of disbelief still working, a lot better than just swimming around in the lava. I mean, lava has meant instant death sense the days we all played Mario on the SNES. Besides, who doesn't love an insta kill? :D
#5
#6
Cool.
So I am working on making a mod, and both my ideas arn't working right now :/
Neither the kill box or get distance work in the script. It 'feels' like Oblivion doesn't know when you are near to or touching/triggering the lava. Is it possible this is due to a lack of collision data? I have very little experianceing with Nifskope, but if it were a collision thing, would I be able to add collision to the lava?
Thanks!
I'll keep working on it :) ......
#7
#8
You might wanna try finding someone with a bit of experience in 3dmax or any other program that can create compatible models, and just have him make a 2 dimensional square or flat cube with about the same dimensions as the morrowind one, with collision put in there, you'd only need to replace the model files as I believe the master file should redirect the texture automatically (could always use a fancier one ofcourse).
(It might also be possible to find an object of about the same dimensions as the lava square that you can't fall through and use that if you can't find anyone qualified)
This in conjunction with problems with dungeon models that you can fall through at seemingly random spaces and what appear to occasionaly be creatures without proper hit detection (hounds, netches and ever try to attack any flying creature from above?) I'd say the files did'nt convert properly from morrowind, most likely due to differences in the engine or differences in the 3d modeling program used.
This is pure conjecture ofcourse, but as most items do have hit detection and unlike the cave mesh the entire model lacks collision I'd say the issue lies in the model, perhaps a different way of coding it to suit the requirements it had to fill to work in morrowind?
#9
Gotcha.
I totally get what your saying about the 2 levels of liquid.
I found this tutorial on adding collsion: http://cs.elderscrolls.com/constwiki/index.php/NifSkope:_Adding_Collision_Model
I'll see what I can do. I'm going to try to add collision to our lava .nif files, and then I guess use the killbox script to at least let the player have the experiance of dieing.
I was thinking that you're right: it would be much cooler to have the health drain (and maybe a fire effect) then to just insta kill. I was thinking about modifing the copied killbox script to add a spell 'fire damage' or something to the character whenever he touches the lava. It would still be script, but the person would walk on the lava (who says you could swim in lava, it probably has much too high a viscosity), while taking large amounts of fire damage. This is all in theory, but I'll see what I can do.
At this point, I've grafted some lava data onto a killbox nif, and I see lava that has collision, but only in the center. I'm working on getting that collsion to spread out and cover all the lava...... Any tutorials anyone can find would be great.... This is my first time doing anyting with nifskope other than assigning texture folders.... :D
thanks!
-------------------
Woden: I agree. I'm trying to splice collision from other models, but its not working out perfectly, if someone with experiance could add collision to these models that would be wonderful!
----------------------------
Okay, I've spent like 2 plus hourse on this.... I now know how to do simple collision adding, lol. So I have added collision to a thing of lava, and it looks and feels good. He runs through it and it goes knee deep, and he doesn't fall through. Yes!
However, I've put the killbox script on the lava, and right now, that script doesn't trigger. Even though he is running on the lava, it isn't runing the trigger script.... GRRRR
If anyone has any ideas please let me know!
here's the tweaked lava file for you to play around with.
Thanks!
#11
#12
Thanks Hashmi!
So I tried different get distant values and just wasn't happy with the collisions, so I did what you said and copied the collision from killbox. At first I scaled the collision, and that did nothing, so I ended up changing each verticy on each .nif file. You were right about the ontrigger. Thanks!
I'm uploading a zip that has the meshes / mod in the right folders. The mod merely adds the killbox script to the lava script. Then there are the lava meshes with collision. The collision is far enough below the surface of the lava, that it looks like you're wading in the lava (knee deep) before you die. It looked really bad to walk on the surface of it, or die there.
Hashmi, I didn't understand that bit about normal maps, My lava seems to flow right, but I'll look into it if something is wrong.
Also, right now it is insta kill; I'd like to make a script that does fire damage instead, but I don't know how at the moment. For now I'm just stoked to get something up and working. Thanks guys!
ps. If anyone wants to improve the collision or the script so we have a nice even burn, instead of charred dudes, feel free to do so!
Attachments
#13
#14
Thanks!
I like the insta kill better than nothing, but you're totally right. It feels really odd to touch some lava and just crumple to death without even catching on fire or getting hurt....
Right now, you fall through the lava as it kills you. To do a fire damage, I'd need to add a second collsion that you can walk on (I think you can do that, but don't know). Then I'd need to find a delivery system: how do I add fire damage that goes away when you leave the pit, but stays while you're in it. This is my big problem. I'd really apprecaiate anyone's scripting ideas. Maybe if I do an 'add fire damage' thing ontrigger, and then the fire damage lasts say 1 second, and the script has a 1 second timer to refresh or something...
how much damage should be done per second?
Do you mean make fire protection protect against lava, or negate fire protection so lava still hurts you? (Like, if I say ignore fire damage 100% then should I be immune to lava? I could see it both ways...)
---------------------------
EDIT: It's done! I'm stoked. The files tagged on here are the same lava files, but a new esp. The esp has a script that does...... Fire damage! Instead of an insta kill, it does fire damage on the character at nearly the exact same rate as default lava! Step out of the lava, and the damage stops! I've tested it a bit and it works perfectly!
Soon I'll add another collision to the lava that allows you to walk in it and not fall though. For now we have lava we fall through, but if you're in it, then you get fire damage at nearly the same rate as vanilla oblivion lava. :D
#15
This file was an intermediate. Check out the next file.....
Attachments
- Lava that Kills.zip (historical attachment unavailable locally)
#16
Forget that last file. This one should have everything working the way we want. It has the right folder hiearchy and files.
It does what we want: you wade in the lava, and the lava also sets off the script. (You don't fall through the lava). The script / esp adds fire damage when you're in the lava. I beleive the dps is really close to vanilla lava. If not, you can change the magnitude of the fire damage ability aklavaspell. Its what we want.
I tested it in a testing environment and a random morroblivion lava pit and everything seems to work. Every now and again, I fall through into some black-blue hissing abyss, but it isn't repeatable... So I think we're all right.
Yup. Check it out. :D
Attachments
#17
I updated one of the files (lava256A) in order to expand its walking collision. This should make sure nobody falls into lava where the lava meshes connect.
Attachments
#18
#19
No problem! It was exciting to figure it out. :D
Cool. It would be really neat to be able to contribute to the mod. No big deal if it doesn't make it in right away. I hope it works out for you. :)
#20
Try out this script (I haven't been able to compile it in the CS so some debugging might be needed).
Note that this requires OBSE.
--------------
scn moXLavaDamage02
ref target
float Xhealth
float Xtimer
begin onTriggerActor
set target to getActionRef
set Xhealth to target.GetAV health
set timer to (timer+GetSecondsPassed)
If Xhealth<=0
Return
ElseIF Xhealth<2
target.kill
Return
ElseIF
If XTimer=>0.5
Set Xtimer to 0
target.pme FIDG 1
target.pms effectFireDamage 1
target.ModAV2 health (-Xhealth*0.5)
EndIF
EndIF
end
--------------------
#21
I apprecaite the script Hasmi, but I think i've got one that works already. But thanks for helping me with the scripting! It was your idea that got the collision to work, after all ;) It looks like your's is percentage based while mine is a straight up damage dealer (Though that damage is adjustable). I believe vanilla oblivion lava deals straight fire damage. However, if it uses a percentage, I'd jump on your script. You look like you're a lot better at scripting than myself ;)
Just for the heck of it, here's my script:
scriptName 0lava
ref target
float timer
float fQuestDelayTime
begin onTriggerActor
set target to getActionRef
;target.kill
target.addspell aklavaspell
set fQuestDelayTime to 0.001
set timer to 0
end
begin gamemode
if ( timer < 1 )
set timer to timer + getSecondsPassed
else
target.removespell aklavaspell
endif
end
aklavaspell is an ability with a constant fire damage. Right now the magnitude is set at 30. This seemed about equal to vanilla oblivion lava. I tested it with a level 4 character and a level 52 character (using Ely's uncapper).
#22
I would make it "fixed" but since David is still testing this file I will leave it in "needs review" until he says he added the mod if he does.
#23
#24
Sweet! I'm glad it worked! Uh, what update should I be getting you? The "lava that kills 2" file above was the one where I updated the one collision. It's the latest file I've done. Is that what you were talking about? Sorry I didn't get this to you before the weekend. :( Oh well.
Oh, and all the update did was update the nif file 0lava256A , which is a 256 by 256 square of lava that is cut into an octagon or such. The collision that lets you walk on it is a little small in the origional file, so its possible the occasional person, with perfect placement, could fall through some small holes in the lava, if the lava is that plate. All the other plates are good. So it really isn't a big deal, should be fine to wait until .036 or whatever. ;)
Thanks :D
#25
#26
Oh no! lol. Nope, the script remained unchanged, I was really happy with what I came up with. I'm about to download .035 now. I won't freak out if I don't die in the lava just yet.
#27
#28
Haha, no problem and thanks!

#1