Quick Questions -- Quick Answers, The 23rd

Post » Tue Mar 15, 2011 12:23 am

I'm having a bit of trouble with both NifSkope and the CS. I recently had to get my hard drive replaced. Before I did, I backed up my Meshes and Textures folders so I could easily re-install mo mods. I've set up my file directory exactly the way it was on my old hard drive. However, Nifskope will not display the unpacked textures of some meshes and the CS keeps giving me the Missing Mesh icon even though the CS is pointing exactly where the required meshes are. How do I fix this?

Was this the only hard drive? I.e. do you need to re-configure the software for user folders because it was re-installed to default settings?

IIRC NifSkope has a list of folders to look in, set from the Render menu, and it defaults to the Data sub-folders only. I usually add a set of WIP folders for new versions of things I haven't yet copied into the game's folders. If the Meshes and Textures folders you're referring to are outside the Data folder, you'd have to add them again. You probably did it so long ago, you don't remember doing it!

The CS only uses the same folder set as the game, so that one has me confused, although the re-installation could have !@#$'ed something. Do you run more than one version of CS (e.g the old one for lip-sync, and the newer one for everything else?)
User avatar
Eduardo Rosas
 
Posts: 3381
Joined: Thu Oct 18, 2007 3:15 pm

Post » Mon Mar 14, 2011 8:26 pm

I'm hoping someone on this board can answer this question!
I'm building a mod (BFG's Enhanced Armorer on TESNexus if you want to check it out) that, among other things, will alter the amount of repairing that can be done, as follows:
--Out in the wilderness/dungeon - can't repair higher than 50% (Journeyman or below) or 75% (Expert/Master)
--When near an anvil/forge (in other words, in town) - normal limits apply
--Dwemer Forge - makes repairs to 150% possible

The only thing is, I've done quite a bit of research and can't figure out any way to override Oblivion's repair defaults. As far as I can tell it's hard-coded in Oblivion's programming, and if that's the case I have no idea how to effect these changes. Does anyone know if there's a variable that controls the limit, or at least point me in the right direction to figure out how to do this?
User avatar
Jarrett Willis
 
Posts: 3409
Joined: Thu Jul 19, 2007 6:01 pm

Post » Mon Mar 14, 2011 2:15 pm

Was this the only hard drive? I.e. do you need to re-configure the software for user folders because it was re-installed to default settings?


This was a complete factory replacement. I had to return the old hard drive. I've already set NifSkope to use the correct folders.

IIRC NifSkope has a list of folders to look in, set from the Render menu, and it defaults to the Data sub-folders only. I usually add a set of WIP folders for new versions of things I haven't yet copied into the game's folders. If the Meshes and Textures folders you're referring to are outside the Data folder, you'd have to add them again. You probably did it so long ago, you don't remember doing it!


Before removing the old hard drive, I backed up everything with TES4Files, which preserves the file directory for the selected mod. I re-installed everything to the data folder in the correct locations (I even took notes to make sure I could do this), but it's still not reading them for some reason.

The CS only uses the same folder set as the game, so that one has me confused, although the re-installation could have !@#$'ed something. Do you run more than one version of CS (e.g the old one for lip-sync, and the newer one for everything else?)

That's the most confusing part: I look up the folder path for all my items in the CS and it points to exactly where the meshes/textures are currently placed. Even so, it just displays the 'missing mesh' icon. And when I try to open one of the meshes in NifSkope, it displays it without the texture. I guess I'm going to have to start from scratch, which really svcks because I had added almost 1,000 objects to the CS when this happened.
User avatar
Jonathan Braz
 
Posts: 3459
Joined: Wed Aug 22, 2007 10:29 pm

Post » Tue Mar 15, 2011 4:12 am

This might seem as a stupid question, so I wont bother making a new thread just for that:

When I "try" to save my (very simple) script it won't save it. Not as in, there is an error in the script. It wont save a name, so when I try to close the script window, it asks me if I want to save the script. Then I do it again, nothing happens... Am I missing something very obvious here? <_<

Oh, and here is the script
Spoiler
ScriptName AAFireNecroDeathScrips

Begin OnDeath

If ( GetStage AATheFireofHate < 20 )
SetStage AATheFireofHate 20

elseif
( GetStage AATheFireofHate => 21 )
SetStage AATheFireofHate 22
endif
endif
end

User avatar
Anthony Santillan
 
Posts: 3461
Joined: Sun Jul 01, 2007 6:42 am

Post » Tue Mar 15, 2011 2:22 am

This might seem as a stupid question, so I wont bother making a new thread just for that:

When I "try" to save my (very simple) script it won't save it. Not as in, there is an error in the script. It wont save a name, so when I try to close the script window, it asks me if I want to save the script. Then I do it again, nothing happens... Am I missing something very obvious here? <_<

Oh, and here is the script
Spoiler
ScriptName AAFireNecroDeathScrips

Begin OnDeath

If ( GetStage AATheFireofHate < 20 )
SetStage AATheFireofHate 20

elseif
( GetStage AATheFireofHate => 21 )
SetStage AATheFireofHate 22
endif
endif
end





Yes, there:

Begin OnDeath    If ( GetStage AATheFireofHate < 20 )        SetStage AATheFireofHate 20       elseif ( GetStage AATheFireofHate => 21 ) <---------------------          SetStage AATheFireofHate 22        endif  endifend

User avatar
Elena Alina
 
Posts: 3415
Joined: Sun Apr 01, 2007 7:24 am

Post » Mon Mar 14, 2011 2:28 pm

@The Vyper

The only possibility I can think of is that something in the path is now a reparse point (like a UNIX symlink, but a bit different). You know how "MyDocuments" isn't the real name of the folder, but Windows Explorer treats it as if it was? CS wants real folder names, but you may be seeing a "false map" in Explorer. If you hit the button in the CS to select a new mesh and re-do the navigation, does it fix it? You might get a clue from the way that folder tree unfolds when you do that, too. The same effect would also account for NifSkope.

If that turns out to be the case, you'll probably find out which path node is bogus, and be able to re-establish a real one of the same name and fix the paths without having to re-point every item in the CS.
User avatar
Ymani Hood
 
Posts: 3514
Joined: Fri Oct 26, 2007 3:22 am

Post » Mon Mar 14, 2011 11:15 pm

Yes, there:

Begin OnDeath    If ( GetStage AATheFireofHate < 20 )        SetStage AATheFireofHate 20       elseif ( GetStage AATheFireofHate => 21 ) <---------------------          SetStage AATheFireofHate 22        endif  endifend


OMG Thank you so much. :hugs:

So I the "elseif" stage can't be higher than the "if" stage?
User avatar
yessenia hermosillo
 
Posts: 3545
Joined: Sat Aug 18, 2007 1:31 pm

Post » Tue Mar 15, 2011 1:06 am

I have a question. I'm not even sure who or where to ask, but I'd like to find out how to combine the best parts of 2 mods. The 2 mods are http://www.tesnexus.com/downloads/file.php?id=6021 and http://www.tesnexus.com/downloads/file.php?id=24498. Redecoration does everything better (and more) in a way I prefer than Decorator Assistant except for one thing: Decorator Assistance can lock items in place permanently anywhere, interiors or exteriors, where Redecoration can only do it in interiors.

I thought this would be something easy to find and change, but after looking through the scripts I see it's beyond my abilties.

Maybe someone in this thread can help or at least direct me where I can ask for help.

Thank you.
User avatar
Chloe Botham
 
Posts: 3537
Joined: Wed Aug 30, 2006 12:11 am

Post » Mon Mar 14, 2011 5:24 pm

OMG Thank you so much. :hugs:

So I the "elseif" stage can't be higher than the "if" stage?

I think you might have an extra endif in there as well. I could be wrong though. I'm still a mediocre scripter. :confused:
User avatar
jesse villaneda
 
Posts: 3359
Joined: Wed Aug 08, 2007 1:37 pm

Post » Mon Mar 14, 2011 10:34 pm

OMG Thank you so much. :hugs:

So I the "elseif" stage can't be higher than the "if" stage?

Wait, I didn't saw other parts of your script, yea, there're some mistakes:

Here's right:

Begin OnDeath    If ( GetStage AATheFireofHate < 20 )        SetStage AATheFireofHate 20   elseif ( GetStage AATheFireofHate => 21 )        SetStage AATheFireofHate 22   endifend

There's no need for second endif.
User avatar
Flutterby
 
Posts: 3379
Joined: Mon Sep 25, 2006 11:28 am

Post » Mon Mar 14, 2011 9:19 pm

Wait, I didn't saw other parts of your script, yea, there're some mistakes:

Here's right:

Begin OnDeath    If ( GetStage AATheFireofHate < 20 )        SetStage AATheFireofHate 20   elseif ( GetStage AATheFireofHate => 21 )        SetStage AATheFireofHate 22   endifend

There's no need for second endif.

Okay thanks, no need for a "endif" for "elseif"? I have completely redone the script, anyway, but at least I know that now :)

Here is the new one if your interested.
Spoiler
ScriptName AAFireNecro

Begin OnDeath

SetStage AATheFireofHate 19

If ( GetStage AATheFireofHate == 19 )
SetStage AAFireSecrets 5

endif

end

User avatar
Far'ed K.G.h.m
 
Posts: 3464
Joined: Sat Jul 14, 2007 11:03 pm

Post » Mon Mar 14, 2011 7:24 pm

Here's my question:
I making overhaul and want every weapon speed to be affected by some factors, I already did it and tested and it worked, but I noticed one interesting function - GetWeight, I tryed to use it, but I'm not sure how it's working, after 1 test attempt it simply did nothing in formula, I mean it was counted as 0.
In wiki it says:
(weight:float) reference.GetWeight objectID:ref


why do I need 2nd reference there, and what's that reference? An actor who's holding that weapon? It's useless reference then, but if it's something else, then... it's again useless, because all I need is just a reference of a weapon and I need to get it's weight.

I tryied to use it in the same way as set speed, wiki shows 2 references too, but I use only one and it's working ok...
In wiki it's:
(nothing) reference.SetWeaponSpeed nuSpeed:float obejctID:ref

In my script:
weapon.SetWeaponSpeed weaponspeed
where weapon is a reference and weapon speed is short (by the way, not float as in wiki says, but probably both will work) real number as a result of formula, and it's working perfectly, but using GetWeight function always counts it as 0.

So here's a question:

Weapon has a weight of X.

How do I get that X in my script?
User avatar
Robert
 
Posts: 3394
Joined: Sun Sep 02, 2007 5:58 am

Post » Mon Mar 14, 2011 2:11 pm

The notation "reference.FunctionName objectID:ref" usually means that you may use one of two formats, either using a reference or a base Object.

Examples
set value to MyWeaponRef.GetWeight 

or
set value to GetWeight MyWeaponBaseObject

User avatar
Tracey Duncan
 
Posts: 3299
Joined: Wed Apr 18, 2007 9:32 am

Post » Tue Mar 15, 2011 4:04 am

The notation "reference.FunctionName objectID:ref" usually means that you may use one of two formats, either using a reference or a base Object.

Examples
set value to MyWeaponRef.GetWeight 

or
set value to GetWeight MyWeaponBaseObject


Well first time when I tried to use this I used it exactly how you said, and it returned 0... but I'll try to do it again.



Other question:
You creating your plugin.
You doing something, then pressing "Save", it says how you want to name you plugin, you write something.
Then you quiting CS, going to sleep or something.
Then you turning on you PC, running CS, loading Oblivion.esm and your .esp, changing something again, and then pressing "Save" button, but this **** says to you how you want to name your other plugin.
So here's a question:
How do I continue my work on my mod, without creating other plugins?
I found only one way, which doesn't have any problems, probably, but if there's other way, may someone tell it to me?
I currently use this:
1) Load my .esp
2) Combine it with nothing.
3) So it creates the same esp, which I can edit, because pressing "Save" will save it, not create other plugin.
Is there any other, more easier way?

Nevermind... one guy helped to me, it was so easy... I simply didn't know what "Active File" is...
User avatar
Floor Punch
 
Posts: 3568
Joined: Tue May 29, 2007 7:18 am

Post » Tue Mar 15, 2011 1:08 am

So I installed version 1.0.0.303, and renamed it. But I still get the "Do you want to uninstall" message when I try to install version 1.2.404. Help?
User avatar
Lauren Dale
 
Posts: 3491
Joined: Tue Jul 04, 2006 8:57 am

Post » Tue Mar 15, 2011 3:45 am

So I installed version 1.0.0.303, and renamed it. But I still get the "Do you want to uninstall" message when I try to install version 1.2.404. Help?

Renaming will never help, copy your oblivion somewhere, then view registry entry and search it there, but don't delete something useful, use it on your own risk ^_^ And don't say something like "Argh, I had to reinstall my OS 'cause of your stupid advice!!1" after.
User avatar
Alkira rose Nankivell
 
Posts: 3417
Joined: Tue Feb 27, 2007 10:56 pm

Post » Mon Mar 14, 2011 4:40 pm

I got it working.
User avatar
Emma-Jane Merrin
 
Posts: 3477
Joined: Fri Aug 08, 2008 1:52 am

Post » Mon Mar 14, 2011 2:17 pm

What wrong with this script? It works fine, but one variable, which always counts as 0:

ScriptName RRWeaponTestref userref weaponshort actorspeedshort actorsrengthcheckfloat weaponweightshort weaponspeedBegin GameMode	Set user to GetContainer	Set weapon to GetSelf	Set actorspeed to user.GetActorValue Speed	Set actorsrengthcheck to user.GetActorValue Strength / 2	Set weaponweight to weapon.GetWeight	if actorsrengthcheck >= weaponweight		Set weaponspeed to 0.9 + actorspeed / 100 - weaponweight / 60		weapon.SetWeaponSpeed weaponspeed	else		Set weaponspeed to 0.9 - weaponweight / 60		weapon.SetWeaponSpeed weaponspeed	endifEnd


If an actor has atleast 6 STR, then: Iron Dagger has weight of 3, so with speed of 30 he should swing it with a speed of 0.9+30/100-3/60=1.25
If an actor has atleast 56 STR, then: Iron Battleaxe has weight of 28, so with speed of 30 he should swing it with a speed of 0.9+30/100-28/60=0.73

BUT, ingame he always counts weapon.GetWeight as 0.
Script works fine 100%, because changing character's speed with a console forces him to swing faster, but he doesn't care about weapon's weight, he swings a dagger and an axe with the same speed not taking in account it's weight.

Further testing I made this:
Begin OnEquipPlayer.ModActorValue Armorer actorspeedPlayer.ModActorValue Athletics actorsrengthcheckPlayer.ModActorValue Acrobatics weaponweightEnd

Just to see what numbers it'll show, he showed "actorspeed" and" actorsrengthcheck" normally, but weaponweight was 0.
User avatar
sally coker
 
Posts: 3349
Joined: Wed Jul 26, 2006 7:51 pm

Post » Mon Mar 14, 2011 5:59 pm

GetWeaponWeight uses the base object. So it needs to be

GetWeight weapon

And 'weapon.SetWeaponSpeed weaponspeed' needs to be

SetWeaponSpeed weaponspeed weapon

SetWeaponSpeed also modifies the base object, so if you modify a silver dagger with this script then all silver daggers in the game will have the new speed value. Not sure whether the new weight for the base object is stored in the save game as most OBSE things aren't stored and you need to reset them on each game load.

I also see that you use a short for weaponspeed, it needs to be float. Otherwise you end up with either 0 or 1 speed.

What wrong with this script? It works fine, but one variable, which always counts as 0:

[...]

User avatar
[ becca ]
 
Posts: 3514
Joined: Wed Jun 21, 2006 12:59 pm

Post » Mon Mar 14, 2011 4:50 pm

GetWeaponWeight uses the base object. So it needs to be

GetWeight weapon

And 'weapon.SetWeaponSpeed weaponspeed' needs to be

SetWeaponSpeed weaponspeed weapon

SetWeaponSpeed also modifies the base object, so if you modify a silver dagger with this script then all silver daggers in the game will have the new speed value. Not sure whether the new weight for the base object is stored in the save game as most OBSE things aren't stored and you need to reset them on each game load.

I also see that you use a short for weaponspeed, it needs to be float. Otherwise you end up with either 0 or 1 speed.

But... everything is working ok as I showed at previous post... I don't have speed 0 or 1, it's changing normally, with really high speed I swing battle axe with much more speed than 1.0, so everything is ok as it is now and I don't need to change that, the only problem is GetWeight, but if you said that it'll change every base object, then... I failed ^_^ because it's not ok if you meet someone with the same weapon as you and you both will have the same weapon speed which will be changed every frame to someone's of some of you speed and strength. So.. I had to leave this feature then.
Anyway "weapon.SetWeaponSpeed weaponspeed" works normally and I don't need to change it to how you said, GetWeight probably will work with base object ID, but if it'll change speed of every object ID, then this script is useless and I don't need it anymore.
User avatar
Michelle Serenity Boss
 
Posts: 3341
Joined: Tue Oct 17, 2006 10:49 am

Post » Tue Mar 15, 2011 12:54 am

I made an NPC. I gave him the merchant class, the default offer wares package, checked what I wanted him to buy and sell, unchecked the auto-calc thing, and gave him a merchant container. Yet the barter option doesn't appear when I talk to him. Help?
User avatar
Noraima Vega
 
Posts: 3467
Joined: Wed Jun 06, 2007 7:28 am

Post » Mon Mar 14, 2011 2:34 pm

Anyway "weapon.SetWeaponSpeed weaponspeed" works normally and I don't need to change it to how you said, GetWeight probably will work with base object ID, but if it'll change speed of every object ID, then this script is useless and I don't need it anymore.


Probably because the regular speed value shows up (which is a float) and you only think it was changed. The way you use the function it will simply do nothing, that's why you don't even see the change to 0 or 1 speed because of your short variable. If you used the function correctly it would end up setting the speed to either 0 or 1, just try it with SetWeaponSpeed weaponspeed weapon and leave weaponspeed as a short.

I made an NPC. I gave him the merchant class, the default offer wares package, checked what I wanted him to buy and sell, unchecked the auto-calc thing, and gave him a merchant container. Yet the barter option doesn't appear when I talk to him. Help?


What package does he have while offering services? If it's a travel package with 'must reach location' or 'must complete' checked it won't work since for some reason NPCs will not offer services while the 'must' do something.
User avatar
jaideep singh
 
Posts: 3357
Joined: Sun Jul 08, 2007 8:45 pm

Post » Mon Mar 14, 2011 4:35 pm

tiny scripting issue, i don't see the problem but it's probably a small syntax thing i've overlooked, it's refusing to save

what's wrong with this?

scn scriptnamehereBegin OnDeath	if		GetStageDone questnamehere 40 == 0			SetStage questnamehere 30	endifEnd


basically if this guy dies and stage 40 hasn't been done, advance to stage 30. what's wrong with this?
User avatar
kat no x
 
Posts: 3247
Joined: Mon Apr 16, 2007 5:39 pm

Post » Mon Mar 14, 2011 7:59 pm

The if and its condition must be on the same line.

The way it's working is that the if is treated as if (false) ... because the rest of the line - i.e. nothing - evaluates that way. If you got past it that, then the GetStageDone would have been evaluated, but the result discarded. So the syntax is strictly valid, which is why you could save it OK, but it just doesn't work.
User avatar
~Amy~
 
Posts: 3478
Joined: Sat Aug 12, 2006 5:38 am

Post » Mon Mar 14, 2011 10:12 pm

What package does he have while offering services? If it's a travel package with 'must reach location' or 'must complete' checked it won't work since for some reason NPCs will not offer services while the 'must' do something.

Cool, got it. Thanks. :)
User avatar
Eileen Müller
 
Posts: 3366
Joined: Fri Apr 13, 2007 9:06 am

PreviousNext

Return to IV - Oblivion