Quick Questions -- Quick Answers, The 22nd

Post » Thu Jul 22, 2010 11:04 am

hi!

i'd like to make a plugin deleting spells in CS. maybe sounds dumb but will these spells actually disappear from the game? i mean if i load this created esp after the oblivion.esm (which still contains these spells) will these spells "overwrited" and be gone?

thx in advance
I think yes - but keep it for your personal use :)
User avatar
Ryan Lutz
 
Posts: 3465
Joined: Sun Sep 09, 2007 12:39 pm

Post » Thu Jul 22, 2010 10:54 am

I think yes - but keep it for your personal use :)

:)
i'm actually making a spell (not magic!) overhaul for myself (making spellcasting a viable option in the harsh world of TIE) although if it works as i want i risk a release :)
i know there already are several magic overhaul: i find all of them overpowered. something similar to OOO magic overhaul is my goal. better spells but sticking to the original feeling (as TIE does in its own area).
User avatar
Yvonne Gruening
 
Posts: 3503
Joined: Mon Apr 23, 2007 7:31 pm

Post » Thu Jul 22, 2010 8:07 am

short question: how can you force a npc to talk to the player?
bethasda used package ambush, nut when I tried this it doesn't workl can somebody help me?
thank you for reading,

appelboom
User avatar
Marie Maillos
 
Posts: 3403
Joined: Wed Mar 21, 2007 4:39 pm

Post » Thu Jul 22, 2010 2:10 am

short question: how can you force a npc to talk to the player?
bethasda used package ambush, nut when I tried this it doesn't workl can somebody help me?
thank you for reading,

Ambush package makes them seek out the player. Use http://cs.elderscrolls.com/constwiki/index.php/StartConversation to initiate the actual dialog.
User avatar
Sun of Sammy
 
Posts: 3442
Joined: Mon Oct 22, 2007 3:38 pm

Post » Thu Jul 22, 2010 12:53 am

I have a question regarding AI Schedules and how it can affect the game's performance.
I have a 1000 random NPCs. Does it eat a lot of performance to have the game keep track of these 1000 NPC's schedules? :P

The schedules are very simple and each task is given a long duration. (It's only Eat, Travel and Wander actually)

These NPCs are only inside cities and do not go wander in the Tamriel worldspace.
Because I would like to give them a schedule and not go with the "No Level Processing" option, as it leads to very odd behaviour.
User avatar
N Only WhiTe girl
 
Posts: 3353
Joined: Mon Oct 30, 2006 2:30 pm

Post » Thu Jul 22, 2010 3:44 am

I've been wondering when you'll be updating Vector- I noticed your previous forum is locked due to post limit but I haven't seen a new one around.
User avatar
Kelsey Anna Farley
 
Posts: 3433
Joined: Fri Jun 30, 2006 10:33 pm

Post » Thu Jul 22, 2010 1:51 am

I have a question regarding AI Schedules and how it can affect the game's performance.
I have a 1000 random NPCs. Does it eat a lot of performance to have the game keep track of these 1000 NPC's schedules? :P

When the player is in a cell, the game runs through its list of NPC's to see who should also be around, and what they're supposed to be doing. So having a very large number to consider will potentially lengthen the list it has to run through. What I don't know is if there is any optimization done to pre-determine a smaller list for a cell of which NPC's need to be checked - i.e only those whose schedules reach that cell. If it is done, then the fact that your NPCs are rooted to their city locations will help. It's not entirely clear if an NPC whose travel takes them through the area has their position estimated for this purpose. If you MoveTo a specific NPC, then that estimation is done, but there the game is focused on a single character, and can afford the work. I suspect it is not done in general.

Plain time dependencies are the most reliable for this. The game engine doesn't make other checks, like distance from a marker, or item in inventory, etc. unless the player is near. So guards start their patrol when the player approaches, and just goof off and do nothing when you're not watching. If there's no "this place at this time" info in the schedule, the NPC will (I think) stay at editor location until triggered by an approaching player. This is based on what I see happening when I "Fast Travel" around. I don't believe NPCs are recorded in your save game unless they're dead or en/disabled (not the same state as initially created).

Quests can cause an NPC to be tracked, and increase the work the game needs to do for them, but it appears you're just adding background NPC's without quest interactions (unless you have a crazy number of quests!) so that won't come into play.

It's probably more of a concern how much of a crowd you're going to get for the CPU to run animations on when you're in a city. If the AI keeps them indoors most of the time there probably won't be an issue, but riots on the streets will slow you down!
User avatar
Russell Davies
 
Posts: 3429
Joined: Wed Nov 07, 2007 5:01 am

Post » Thu Jul 22, 2010 11:25 am

How about this :
Spoiler
scn UDUNobjectSCRonBook1float xAngfloat yAngfloat zAngshort swappingbegin OnActivate	if UDUNQUEST.condition == 0		;...	else		set swapping to 1	; to swap with book2	endifendBegin gameMode	if swapping == 1		set	xAng to book1REF.getangle x		set	yAng to book1REF.getangle y		set	zAng to book1REF.getangle z		book2REF.moveto book1REF		book2REF.SetAngle x xAng		book2REF.SetAngle y yAng		book2REF.SetAngle z zAng		book2REF.activate player 1		let swapping +=1	elseif swapping == 2		book1REF.disable		book1REF.moveto UDUNtestCellXMarkerREF		book2REF.enable		let swapping +=1	elseif swapping == 3		book2REF.disable		let swapping +=1	elseif swapping == 4		set UDUNconjurationTomeQUEST.added to 2		book2REF.enable		let swapping := -3		; book2REF.activate player 1	; doesn' make any difference if I activate it here while enabled	endifend

The script (snip) above works exactly as it should, I make the condition true via the console and then when I activate book1 lying on the ground, book2 opens and when I exit the book menu the book flashes for an instant and gets replaced. Great.
Then I reload the same save, and it doesn't work - meaning the book gets activated but when I close the book menu there is no book - the habitual moveto bug. Quitting the game and reloading it fixes this. PCB does nothing.
Now this is rather serious, no ?
I have OSR - I don't know if this related - and OBSE 18.5
EDIT : deleted the obse\plugins folder and I still get the exact same behavior. Please confirm
User avatar
Farrah Lee
 
Posts: 3488
Joined: Fri Aug 17, 2007 10:32 pm

Post » Thu Jul 22, 2010 6:52 am

Snippery!


Thanks Ghastley! You're ressourceful as always! :goodjob:
Somehow I was certain the game keeped track of every single NPC's schedule in the game. (Who is not Low Level Processing)
That's a relief!

Most NPCs will indeed spend time indoors and go outside if they have to travel to a location. Like you mentioned the hardest part will be to make sure I don't create some sort of a street fiesta when the NPCs decide to change location! :D
User avatar
..xX Vin Xx..
 
Posts: 3531
Joined: Sun Jun 18, 2006 6:33 pm

Post » Thu Jul 22, 2010 4:24 am

Hey!

A quick question for ya: is there a way to have an object enabled when its parent is disabled as well as when the said parent is enabled?
Or, saying it another way - I have this activator that's supposed to trigger a light, so I've set the light as the activator's parent and I'm using this script on the activator:
scriptName ccSimpleLightToggleref meref lightbegin onActivate	set me to getSelf	set light to me.getParentRef		if (light != 0)		if (light.getDisabled)			light.enable		else			light.disable		endif	endifend


Problem is that when the light is off, the activator is "disabled" as well.

Cheers!

cc
User avatar
Kim Kay
 
Posts: 3427
Joined: Fri Oct 13, 2006 10:45 am

Post » Thu Jul 22, 2010 11:47 am

A quick question for ya: is there a way to have an object enabled when its parent is disabled as well as when the said parent is enabled?

No. I think the developers only realized later that a parent ref can be useful for more than controlling enable/disable state (hence the term "enable parent") but the behavior is hard-coded.
If it's just one or a handful of lights consider referencing the light directly in the activator script. Or instead of disabling the light, move it.
User avatar
Nancy RIP
 
Posts: 3519
Joined: Mon Jan 29, 2007 5:42 am

Post » Thu Jul 22, 2010 11:51 am

No. I think the developers only realized later that a parent ref can be useful for more than controlling enable/disable state (hence the term "enable parent") but the behavior is hard-coded.
If it's just one or a handful of lights consider referencing the light directly in the activator script. Or instead of disabling the light, move it.

You may also want to check out the http://cs.elderscrolls.com/constwiki/index.php/Light_switch_tutorial on the CS Wiki.
User avatar
Charles Weber
 
Posts: 3447
Joined: Wed Aug 08, 2007 5:14 pm

Post » Thu Jul 22, 2010 12:23 pm

How about this :
Spoiler
scn UDUNobjectSCRonBook1float xAngfloat yAngfloat zAngshort swappingbegin OnActivate	if UDUNQUEST.condition == 0		;...	else		set swapping to 1	; to swap with book2	endifendBegin gameMode	if swapping == 1		set	xAng to book1REF.getangle x		set	yAng to book1REF.getangle y		set	zAng to book1REF.getangle z		book2REF.moveto book1REF		book2REF.SetAngle x xAng		book2REF.SetAngle y yAng		book2REF.SetAngle z zAng		book2REF.activate player 1		let swapping +=1	elseif swapping == 2		book1REF.disable		book1REF.moveto UDUNtestCellXMarkerREF		book2REF.enable		let swapping +=1	elseif swapping == 3		book2REF.disable		let swapping +=1	elseif swapping == 4		set UDUNconjurationTomeQUEST.added to 2		book2REF.enable		let swapping := -3		; book2REF.activate player 1	; doesn' make any difference if I activate it here while enabled	endifend

The script (snip) above works exactly as it should, I make the condition true via the console and then when I activate book1 lying on the ground, book2 opens and when I exit the book menu the book flashes for an instant and gets replaced. Great.
Then I reload the same save, and it doesn't work - meaning the book gets activated but when I close the book menu there is no book - the habitual moveto bug. Quitting the game and reloading it fixes this. PCB does nothing.
Now this is rather serious, no ?
I have OSR - I don't know if this related - and OBSE 18.5
EDIT : deleted the obse\plugins folder and I still get the exact same behavior. Please confirm

Still same with OBSE 18.6 - on first load script runs as should and on subsequent loads book2 never appears - :confused: :confused: :confused:
User avatar
Rude_Bitch_420
 
Posts: 3429
Joined: Wed Aug 08, 2007 2:26 pm

Post » Thu Jul 22, 2010 12:57 pm

Anyone happen to know what fPathMinimalUseDoorPenalty does? While poking through the Frostcrag Spire ESP I noticed this GMST but have no idea what it's supposed to do. Vague guess at modifying how the game deals with minimal use doors, but can't find any info on it.
User avatar
Milagros Osorio
 
Posts: 3426
Joined: Fri Aug 25, 2006 4:33 pm

Post » Thu Jul 22, 2010 4:35 am

Would someone please show mercy on a windows 7 equipped fool ? I just got Oblivion and I have tried using wrye bash, installing python separately and all the UAC shebang to no avail and it seems there is no other way.

So could someone please take the face from the save file and port it unto the .ESP for me or give me another idea on how to do so? (I've tried face exchanger lite and TES4Edit combined but it apparently doesnt work that way)

link (http://rapidshare.com/files/389307842/Saves.rar.html) - contains save game and .esp

Thanks!
User avatar
vanuza
 
Posts: 3522
Joined: Fri Sep 22, 2006 11:14 pm

Post » Thu Jul 22, 2010 3:29 am

hi again!

i have a problem understanding these formulas from CS wiki:
http://cs.elderscrolls.com/constwiki/index.php/Category:Spell_Cost

it says the the Unscaled Effect Cost = Effect Factor * Magnitude Factor *
Duration Factor * Area Factor * Range Factor (minimum 1) and the
Scaled Effect Cost = Effect Factor * Magnitude Factor *
Duration Factor * Area Factor * Range Factor * Skill Factor (minimum 1)

where

Effect Factor = Base Cost * fMagicDurMagBaseCostMult
Magnitude Factor = Magnitude ^ fMagicCostScale (minimum of 1)
Duration Factor = Duration (minimum of 1)
Area Factor = Area * fMagicAreaBaseCostMult (minimum of 1)
Range Factor = if Target, fMagicRangeTargetCostMult; else, 1
Skill Factor = fMagicCasterSkillCostBase + fMagicCasterSkillCostMult * (1 - Effective Skill/100)

first, i don't understand what that sign means in "Magnitude ^ fMagicCostScale" (between the texts) :)

second: no matter how i calculate these values i don't get the Unscaled Spell Cost values that (as wiki says) is the value listed in the Construction Set as "spell cost"

can someone explain these equations for a dumb like me? :D
User avatar
Joanne
 
Posts: 3357
Joined: Fri Oct 27, 2006 1:25 pm

Post » Thu Jul 22, 2010 12:47 am

first, i don't understand what that sign means in "Magnitude ^ fMagicCostScale" (between the texts) :)


Magnitude to the fMagicCostScale power - (2^3 = 8, 2^4 = 16, 3^2 = 9 etc)
User avatar
lucy chadwick
 
Posts: 3412
Joined: Mon Jul 10, 2006 2:43 am

Post » Thu Jul 22, 2010 12:39 pm

How about this :
Spoiler
scn UDUNobjectSCRonBook1float xAngfloat yAngfloat zAngshort swappingbegin OnActivate	if UDUNQUEST.condition == 0		;...	else		set swapping to 1	; to swap with book2	endifendBegin gameMode	if swapping == 1		set	xAng to book1REF.getangle x		set	yAng to book1REF.getangle y		set	zAng to book1REF.getangle z		book2REF.moveto book1REF		book2REF.SetAngle x xAng		book2REF.SetAngle y yAng		book2REF.SetAngle z zAng		book2REF.activate player 1		let swapping +=1	elseif swapping == 2		book1REF.disable		book1REF.moveto UDUNtestCellXMarkerREF		book2REF.enable		let swapping +=1	elseif swapping == 3		book2REF.disable		let swapping +=1	elseif swapping == 4		set UDUNconjurationTomeQUEST.added to 2		book2REF.enable		let swapping := -3		; book2REF.activate player 1	; doesn' make any difference if I activate it here while enabled	endifend

The script (snip) above works exactly as it should, I make the condition true via the console and then when I activate book1 lying on the ground, book2 opens and when I exit the book menu the book flashes for an instant and gets replaced. Great.
Then I reload the same save, and it doesn't work - meaning the book gets activated but when I close the book menu there is no book - the habitual moveto bug. Quitting the game and reloading it fixes this. PCB does nothing.
Now this is rather serious, no ?
I have OSR - I don't know if this related - and OBSE 18.5
EDIT : deleted the obse\plugins folder and I still get the exact same behavior. Please confirm

Still same with OBSE 18.6 - on first load script runs as should and on subsequent loads book2 never appears - :confused: :confused: :confused:
http://www.gamesas.com/index.php?/topic/1089574-script-processing-when-object-unloaded-the-script-runs-once/page__view__findpost__p__15959294. Worked around.
Now I am having a new one : I drop my book in an exterior cell, go into a (linked via door) interior cell, reload (or call pcb) and go to the exterior again - the book is nowhere to be seen. Is this a vanilla issue also ? Is this already reported ? please someone :bowdown: explain this to me, I am going crazy :sad:
Book is a persistent ref added to the player by :
UDUNconjurationTomeApprenticeREF.activate UDUNnpcContainerREF 1		UDUNnpcContainerREF.removeallitems player
I drop it just after I get it
If I drop it in interior nothing strange happens.
:shakehead:
User avatar
George PUluse
 
Posts: 3486
Joined: Fri Sep 28, 2007 11:20 pm

Post » Thu Jul 22, 2010 1:31 pm

Magnitude to the fMagicCostScale power - (2^3 = 8, 2^4 = 16, 3^2 = 9 etc)

ok, so it is like 2x2x2=8, 3x3=9...thx
User avatar
Danielle Brown
 
Posts: 3380
Joined: Wed Sep 27, 2006 6:03 am

Post » Thu Jul 22, 2010 2:54 am

I have a question concerning my mod "Morrowind Lockpicking". Currently, when I make a lockpick attempt with it and my character is invisible, he stays invisible - I want to change that, he should turn visible as soon as the animation starts.

Now the question is, how can I achieve that? I thought "CrosshairRef.activate player 1" would do the trick, but that doesn't seem to work. :(
Is there any other way to make the player become visible out of a (quest) script? Or am I using the activate function wrong?
User avatar
electro_fantics
 
Posts: 3448
Joined: Fri Mar 30, 2007 11:50 pm

Post » Thu Jul 22, 2010 5:18 am

Are someone know a good tutorial for learning something about Particle Effects? I will create some particle with 3DS Max 7. A fountain or something else.
User avatar
Charleigh Anderson
 
Posts: 3398
Joined: Fri Feb 02, 2007 5:17 am

Post » Thu Jul 22, 2010 3:31 am

I have a question concerning my mod "Morrowind Lockpicking". Currently, when I make a lockpick attempt with it and my character is invisible, he stays invisible - I want to change that, he should turn visible as soon as the animation starts.

Now the question is, how can I achieve that? I thought "CrosshairRef.activate player 1" would do the trick, but that doesn't seem to work. :(
Is there any other way to make the player become visible out of a (quest) script? Or am I using the activate function wrong?

http://cs.elderscrolls.com/constwiki/index.php/HasMagicEffect : check if has invisibility (INVI)

http://cs.elderscrolls.com/constwiki/index.php/Dispel --> not sure if it can dispel a particular MagicEffect though - check OBSE
User avatar
Jessica Lloyd
 
Posts: 3481
Joined: Fri Aug 25, 2006 2:11 pm

Post » Thu Jul 22, 2010 5:23 am

http://cs.elderscrolls.com/constwiki/index.php/HasMagicEffect : check if has invisibility (INVI)

http://cs.elderscrolls.com/constwiki/index.php/Dispel --> not sure if it can dispel a particular MagicEffect though - check OBSE

No, Dispel only works on spells, not on a certain magic effect in general.
Player.SetAV Invisibility 0 doesn't work either, that value probably gets overwritten by the active invisibility effect.
User avatar
Andrea P
 
Posts: 3400
Joined: Mon Feb 12, 2007 7:45 am

Post » Thu Jul 22, 2010 10:19 am

obse then ? DispelNthActiveEffect ?
if you have the player cast a dummy spell ?
User avatar
Sara Johanna Scenariste
 
Posts: 3381
Joined: Tue Mar 13, 2007 8:24 pm

Post » Thu Jul 22, 2010 9:34 am

There's no DispelNthActiveEffect function. I'm not even sure if I can find a magic effect and then find the spell that added it so that I can remove that one... but even if I could I wouldn't do that, because spells can include many magic effects, and those other possible effects should remain active.

What I'd need is a way of making the game believe that the player just did something that would remove the invisibility from him, like activating a door or attacking someone.
User avatar
flora
 
Posts: 3479
Joined: Fri Jun 23, 2006 1:48 am

PreviousNext

Return to IV - Oblivion