Quick Questions, Quick Answers Thread #9

Post » Tue Nov 20, 2012 7:23 am

Hello everyone,

Sooo for whatever reason I did not know about the "fragment file prefix" option in the CK preferences until somewhat recently. I've got a bunch of fragments inside my quest/dialogue already so I was wondering if I were to add a prefix...would it apply this prefix to things that are already made? If not, is there a right way to add this prefix to existing fragments?

Any insight would be greatly appreciated.
User avatar
Hope Greenhaw
 
Posts: 3368
Joined: Fri Aug 17, 2007 8:44 pm

Post » Mon Nov 19, 2012 11:16 pm

Is there a way to show the current polygon count of the rendered scene, either in the CK or in-game? In-game would be better but either would be useful.
User avatar
Kirsty Collins
 
Posts: 3441
Joined: Tue Sep 19, 2006 11:54 pm

Post » Tue Nov 20, 2012 5:16 am

I created a new book in the CK, but how do I get it to add to the players inventory automatically when I start the game?
User avatar
Stacyia
 
Posts: 3361
Joined: Mon Jul 24, 2006 12:48 am

Post » Mon Nov 19, 2012 8:07 pm

You can make a quest that has "Start Game Enabled" checked and then add a script to that quest that adds the book to the player when the OnInit() event is called. This will work perfectly when starting a new game using COC from the main menu, but it didn't work properly when I tried to start a new game with the vanilla start. Perhaps the player's inventory is cleared at some point between the game starting and you being able to check the inventory? You could probably fix this by registering for single updates and using update events that check for a certain quest's current stage. That way the script will add the book at a certain point when it is safe to do so.

If this mod will be released to the public, then you might want to take into account the possibility that some people might be using mods like Arthmoor's Alternate Start - Live Another Life mod.

EDIT: Tested the fix I suggested and now it seems to be working just fine with the vanilla start. Here's the script I used:

Spoiler

Book Property MyBook Auto ;The book you want to addQuest Property MyQuest Auto ;The quest to checkFloat Property RefreshInterval Auto ;The time value for RegisterForSingleUpdate()Int Property MyStage Auto ;The stage of the questEvent OnInit() RegisterForSingleUpdate(RefreshInterval)EndEventEvent OnUpdate()if MyQuest.GetCurrentStageID() >= MyStage  Game.GetPlayer().AddItem(MyBook, 1) ;Use (MyBook, 1, true) to add silently (without a notification)else  RegisterForSingleUpdate(RefreshInterval)endifEndEvent

Property values that I used were:
- MyBook: any book
- MyQuest: MQ101
- RefreshInterval: 30.0 (runs the check every 30 seconds)
- MyStage: 200 (this means that the book is added once you've entered the keep with Ralof or Hadvar)

There's probably another way to do this, but I suspect that this method will be the most compatible with other mods that edit the starting items.
User avatar
Ronald
 
Posts: 3319
Joined: Sun Aug 05, 2007 12:16 am

Post » Mon Nov 19, 2012 10:13 pm

Having a little trouble with the proper ordering of my "OR" and "AND" conditions.

The OR checkbox is used to determine how a Condition Item is evaluated with the ones that follow it. Consecutive ORs are treated like a single block when evaluating and have order preference over AND. For example, the condition items ( A AND B OR C AND D ) are evaluated as ( A AND ( B OR C ) AND D ) and not ( ( A AND B ) OR ( C AND D ) ).

By applying the distributive and other properties complex expressions can be converted into a list of Condition Items that will evaluate as intended. For example, the expression ((A AND B ) OR (C AND D)) can be represented as the list of Condition Items (A OR C AND B OR C AND A OR D AND B OR D). As described above, this evaluates as ((A OR C) AND (B OR C) AND (A OR D) AND (B OR D)) which is equivalent to the initial expression.


Just want to double check to make sure I am following this correctly. For example, if I want to set up a Location Alias to "Find Matching Location," and I want to make sure the location has a Boss and a Boss Container, and is either a draugr crypt or a dragon priest lair, would the following conditions be correct?

1. LocationHasRefType: 'BossContainer' == 1.00 AND
2. LocationHasRefType: 'Boss' == 1.00 AND
3. LocationHasKeyword: 'LocTypeDraugrCrypt' == 1.00 OR
4. LocationHasKeyword: 'LoctypeDragonPriestLair' == 1.00 OR

or should it be:


1. LocationHasRefType: 'BossContainer' == 1.00 AND
2. LocationHasRefType: 'Boss' == 1.00 AND
3. LocationHasKeyword: 'LocTypeDraugrCrypt' == 1.00 OR
4. LocationHasKeyword: 'LoctypeDragonPriestLair' == 1.00 AND
User avatar
Nichola Haynes
 
Posts: 3457
Joined: Tue Aug 01, 2006 4:54 pm

Post » Tue Nov 20, 2012 5:05 am

First one Booty :)

For multiple OR conditions, I always leave the OR in them. So for 4 conditions, with the last 2 being a choice of either of them, I use

AND
AND
OR
OR
User avatar
Brian Newman
 
Posts: 3466
Joined: Tue Oct 16, 2007 3:36 pm

Post » Mon Nov 19, 2012 10:40 pm

First one Booty :smile:

For multiple OR conditions, I always leave the OR in them. So for 4 conditions, with the last 2 being a choice of either of them, I use

AND
AND
OR
OR

Wow, thanks very much B.D. - will try this now!
User avatar
kirsty joanne hines
 
Posts: 3361
Joined: Fri Aug 18, 2006 10:06 am

Post » Tue Nov 20, 2012 12:30 am

You can make a quest that has "Start Game Enabled" checked and then add a script to that quest that adds the book to the player when the OnInit() event is called. This will work perfectly when starting a new game using COC from the main menu, but it didn't work properly when I tried to start a new game with the vanilla start. Perhaps the player's inventory is cleared at some point between the game starting and you being able to check the inventory? You could probably fix this by registering for single updates and using update events that check for a certain quest's current stage. That way the script will add the book at a certain point when it is safe to do so.

If this mod will be released to the public, then you might want to take into account the possibility that some people might be using mods like Arthmoor's Alternate Start - Live Another Life mod.

EDIT: Tested the fix I suggested and now it seems to be working just fine with the vanilla start. Here's the script I used:

Spoiler

Book Property MyBook Auto ;The book you want to addQuest Property MyQuest Auto ;The quest to checkFloat Property RefreshInterval Auto ;The time value for RegisterForSingleUpdate()Int Property MyStage Auto ;The stage of the questEvent OnInit()RegisterForSingleUpdate(RefreshInterval)EndEventEvent OnUpdate()if MyQuest.GetCurrentStageID() >= MyStage  Game.GetPlayer().AddItem(MyBook, 1) ;Use (MyBook, 1, true) to add silently (without a notification)else  RegisterForSingleUpdate(RefreshInterval)endifEndEvent

Property values that I used were:
- MyBook: any book
- MyQuest: MQ101
- RefreshInterval: 30.0 (runs the check every 30 seconds)
- MyStage: 200 (this means that the book is added once you've entered the keep with Ralof or Hadvar)

There's probably another way to do this, but I suspect that this method will be the most compatible with other mods that edit the starting items.

Thanks for the response.
User avatar
Tracey Duncan
 
Posts: 3299
Joined: Wed Apr 18, 2007 9:32 am

Post » Mon Nov 19, 2012 10:42 pm

What's the difference between a peak value modifier and a value modifier? Haven't been able to find that anywhere.
User avatar
Lizbeth Ruiz
 
Posts: 3358
Joined: Fri Aug 24, 2007 1:35 pm

Post » Tue Nov 20, 2012 3:50 am

How do I make an overlapping armor like the Hooded Robes in vanilla? Is there some kind of requirements?
User avatar
Kortniie Dumont
 
Posts: 3428
Joined: Wed Jan 10, 2007 7:50 pm

Post » Tue Nov 20, 2012 3:26 am

How would I access the entries of an array of forms from a different script. I was an easy object assign with formlists, but not so much for me in this case.
User avatar
Cathrine Jack
 
Posts: 3329
Joined: Sat Dec 02, 2006 1:29 am

Post » Tue Nov 20, 2012 7:40 am

How would I access the entries of an array of forms from a different script. I was an easy object assign with formlists, but not so much for me in this case.
YourOtherScriptName Property OtherScript AutoOtherScript.YourArray[0].DoStuff()
You'll have to point the script property to an object with YourOtherScriptName glued to it.
User avatar
Umpyre Records
 
Posts: 3436
Joined: Tue Nov 13, 2007 4:19 pm

Post » Tue Nov 20, 2012 10:01 am

Thanks For the response. Also, does anyone know where i can find a good example of the find and rfind array functions, the ones on the ckwebsite only show syntax for strings and i need to search and array of spells (or forms).
User avatar
Caroline flitcroft
 
Posts: 3412
Joined: Sat Nov 25, 2006 7:05 am

Post » Tue Nov 20, 2012 6:20 am

Nvm, was a different issue all together. :biggrin:
User avatar
Lexy Dick
 
Posts: 3459
Joined: Mon Feb 12, 2007 12:15 pm

Post » Tue Nov 20, 2012 9:00 am

Is it possible to change hair color through a script?
User avatar
Jason King
 
Posts: 3382
Joined: Tue Jul 17, 2007 2:05 pm

Post » Tue Nov 20, 2012 6:56 am

Is it possible to change hair color through a script?

Yes, with SKSE there is a function to do exactly that:
http://www.creationkit.com/SetHairColor_-_ActorBase

Without it, probably not, and if you could it would take a lot of excess just for such a minimal result.
User avatar
Amanda savory
 
Posts: 3332
Joined: Mon Nov 27, 2006 10:37 am

Post » Tue Nov 20, 2012 10:12 am

How do I put some blood splatters on the ground next to a corpse?
User avatar
Vickytoria Vasquez
 
Posts: 3456
Joined: Thu Aug 31, 2006 7:06 pm

Post » Tue Nov 20, 2012 3:28 am

Yes, with SKSE there is a function to do exactly that:
http://www.creationkit.com/SetHairColor_-_ActorBase

Without it, probably not, and if you could it would take a lot of excess just for such a minimal result.

Thanks for that. :)
User avatar
Code Affinity
 
Posts: 3325
Joined: Wed Jun 13, 2007 11:11 am

Post » Tue Nov 20, 2012 3:15 am

how to make the Time Stop shout leave player unaffected?
User avatar
Laura Wilson
 
Posts: 3445
Joined: Thu Oct 05, 2006 3:57 pm

Post » Tue Nov 20, 2012 10:32 am

also, where Stamina usages can be edited?
User avatar
Amy Masters
 
Posts: 3277
Joined: Thu Jun 22, 2006 10:26 am

Post » Tue Nov 20, 2012 12:09 am

how to make the Time Stop shout leave player unaffected?

Do you mean without the Image Space Modifier?

I'd suggest to start by duplicating the existing Slow Time magic effect and review the attached papyrus script and settings. I believe the slow time image space modifier will be listed on one of the dropdown boxes for visual effects, and you should be able to select "NONE" in the dropdown box.

Then make a new duplicate version of the VoiceSlowTime1, VoiceSlowTime2 and VoiceSlowTime3 and change the magic effect to the new one you created, and set the SlowTimeShout to use those versions instead of vanilla (or make a duplicate a duplicate SlowTimeShout formID)
User avatar
Spencey!
 
Posts: 3221
Joined: Thu Aug 17, 2006 12:18 am

Post » Mon Nov 19, 2012 10:37 pm

Complete noob here.

How do I make essential NPC's non-essential? I went into the Actor window, and unticked "Essential". "Protected" and "Invulnerable" are also unticked. But the NPC's,
who are
Spoiler
http://www.uesp.net/wiki/Skyrim:Jaree-Ra and http://www.uesp.net/wiki/Skyrim:Deeja
are still unkillable.

Is this because of the quest they're part of, that normally controls their essential status? Or is there another way you're supposed to make NPC's non-essential?
I don't care about breaking the quest, I just want to be able to kill them on an existing character (without resorting to other people's mods!).
User avatar
LuBiE LoU
 
Posts: 3391
Joined: Sun Jun 18, 2006 4:43 pm

Post » Tue Nov 20, 2012 4:43 am

Yes, if those actors are in a quest alias they could be flagged as essential in the alias. You will have to find the quests they are part of and change the aliases so the actors are not essential.
User avatar
ashleigh bryden
 
Posts: 3446
Joined: Thu Jun 29, 2006 5:43 am

Post » Mon Nov 19, 2012 8:17 pm

Do you mean without the Image Space Modifier?

I'd suggest to start by duplicating the existing Slow Time magic effect and review the attached papyrus script and settings. I believe the slow time image space modifier will be listed on one of the dropdown boxes for visual effects, and you should be able to select "NONE" in the dropdown box.

Then make a new duplicate version of the VoiceSlowTime1, VoiceSlowTime2 and VoiceSlowTime3 and change the magic effect to the new one you created, and set the SlowTimeShout to use those versions instead of vanilla (or make a duplicate a duplicate SlowTimeShout formID)
I mean without slowing the player as well :smile: ala Time STop of Neverwinter nights.
User avatar
Damien Mulvenna
 
Posts: 3498
Joined: Wed Jun 27, 2007 3:33 pm

Post » Tue Nov 20, 2012 8:43 am

Hey guys I need some script help.

I have a quest that runs when the player kills an animal. The following script is in the stage frag for one of the animals:

Spoiler

;Deer Carcass		 Alias_Animal.GetActorReference().RemoveAllItems()				Alias_Animal.GetActorReference().AddItem(Carcass, 1)SetStage(20)

The issue I have now, thanks to not realising at the time, is that the arrows the player uses to kill the animal also get removed. I don't want that, just the items the animal has (like pelt, meat ect).

Is there a way to RemoveAllItems, except those with a keyword VendorItemArrow perhaps?

Appreciate the help as always :smile:

EDIT2
Almost every time a post a problem, I figure out a workaround. It's possible to remove all item that are arrows, move them to a container, then remove all items on the animal, and transfer the arrows back isn't it?

How would the line of code look, to remove all arrows to a container somewhere?

EDIT3

NVM, just made a formlist with all the arrows in it. Works great :smile:

Spoiler

;Deer Carcass	AnimalREF.GetActorRef().RemoveItem(HISARFL, AnimalREF.GetActorRef().GetItemCount(HISARFL), True, ArrowChest)		AnimalREF.GetActorRef().RemoveAllItems()				AnimalREF.GetActorRef().AddItem(Carcass, 1)				  ArrowChest.RemoveAllItems(akTransferTo = AnimalREF.GetActorRef())SetStage(20)

I would still like to use Keywords instead though, for mods that add new arrows not included in my formlist. If anyone has that solution please let me know :)
User avatar
Beulah Bell
 
Posts: 3372
Joined: Thu Nov 23, 2006 7:08 pm

PreviousNext

Return to V - Skyrim