Quick Questions, Quick Answers Thread #9

Post » Tue Nov 20, 2012 8:48 am

The other Cell is just a basic 'aaamerkersduplicate001' for now, I'll be re-naming that closer to the end. The only thing I can think of is perhaps the problem lies with the original model I'm using (it's the Solitude manhole static, by the name of 'SManhole'); it's a flat texture that can only be seen from one side, maybe there's some kind of issue relating to that? Sounds unlikely, but I'm really not sure what else could be going wrong. But anyway, https://www.dropbox.com/s/fi6pnxvcu0xc2tj/SolitudeSewers.esp if you want to have a look.
Had a look and couldn't see why the door wasn't showing any rollover text. It worked if activating with the console, yet just wouldn't show "Open Marker Test Cell" as it should. Might be something about the NIF as a guard was walking through it. Sorry. I'll let you know if I can get it to budge.
User avatar
Avril Louise
 
Posts: 3408
Joined: Thu Jun 15, 2006 10:37 pm

Post » Mon Nov 19, 2012 8:58 pm

Is there a way to open dialogue via script command? I mean for inventory is "OpenInventory", is there something for dialogue menu/tab?

Is it possible to start AI package via script?
User avatar
Sebrina Johnstone
 
Posts: 3456
Joined: Sat Jun 24, 2006 12:58 pm

Post » Mon Nov 19, 2012 9:58 pm

It's your teleportation marker.
I would suggest never resting such markers on the floor (coc, door, etc) . What I do is floor them with "F" then use "Z" to raise them up a bit.
Yep, tried that. Tried navmesh below floor, navmesh above floor, teleport marker from 0 to 64(!) units above the floor. If the door works properly, it's often the case that reloading the autosave will spawn the player under the floor. I never had this problem with 1.7 and the corresponding CK. I'm thinking this is a bug that was introduced with the new CK. Just need some confirmation from other people.

I have created a new thread to track this.
User avatar
DeeD
 
Posts: 3439
Joined: Sat Jul 14, 2007 6:50 pm

Post » Tue Nov 20, 2012 4:11 am

Yep, tried that. Tried navmesh below floor, navmesh above floor, teleport marker from 0 to 64(!) units above the floor. If the door works properly, it's often the case that reloading the autosave will spawn the player under the floor. I never had this problem with 1.7 and the corresponding CK. I'm thinking this is a bug that was introduced with the new CK. Just need some confirmation from other people.

I have created a new thread to track this.

Given that doors are persistent references is it possible that you aren't testing with a clean save?
User avatar
Naomi Ward
 
Posts: 3450
Joined: Fri Jul 14, 2006 8:37 pm

Post » Mon Nov 19, 2012 11:31 pm

No, I fire up the game and immediately open the console from the main menu and COC to the cell where I am testing to ensure a completely clean game. I'm also running no mods except Dawnguard (which my mod is dependent upon) and the official high-res textures.

Also, Skyrim and the CK are clean installs as of today, to eliminate any install issues as a possibility.
User avatar
Thomas LEON
 
Posts: 3420
Joined: Mon Nov 26, 2007 8:01 am

Post » Mon Nov 19, 2012 8:59 pm


Yep, tried that. Tried navmesh below floor, navmesh above floor, teleport marker from 0 to 64(!) units above the floor. If the door works properly, it's often the case that reloading the autosave will spawn the player under the floor. I never had this problem with 1.7 and the corresponding CK. I'm thinking this is a bug that was introduced with the new CK. Just need some confirmation from other people.

I have created a new thread to track this.

You can't coc to a teleportation marker or door marker. Can only coc to a cocmarkerheading.

Sounds stupid, but it sounds like you're not using one, as you never mention it. Have you placed one??
User avatar
CArla HOlbert
 
Posts: 3342
Joined: Wed Feb 21, 2007 11:35 pm

Post » Mon Nov 19, 2012 11:05 pm

I have a number of wild animals which are placed within a number of jail-cells in the editor, between which is a corridor. These animals don't appear in their cells in-game if the Navmesh in the jail is connected to the Navmesh outside in the corridor (but if the Navmesh is not connecting they will appear and stay in their jail). I presume it has something to do with whatever the blue line that I have seen on Bethesda's navmesh surrounding jails means, but I can find no information on what these are exactly. Can someone help me with keeping these animals in their jail, but without sacrificing their ability to move from the jail to the corridor when needed? Thanks.
User avatar
Monika Fiolek
 
Posts: 3472
Joined: Tue Jun 20, 2006 6:57 pm

Post » Tue Nov 20, 2012 12:08 pm

Is there any way to concatenate multiple string variables into one using papyrus?
User avatar
flora
 
Posts: 3479
Joined: Fri Jun 23, 2006 1:48 am

Post » Tue Nov 20, 2012 3:52 am

Is there some kind of issue with adding new doors? I've taken a mesh from the game that wasn't a door, made a new door object and used the other mesh for it's model, but when I get to it in game I can't activate the door. Anyone have any advice?

The model you have taken (smanhole.nif) has no collision. Objects without a collision can not be activated.
The other model you are using in your test cell is a door with collision (smddoorholecei01.nif) so no problems there.
User avatar
Arrogant SId
 
Posts: 3366
Joined: Sat May 19, 2007 11:39 am

Post » Mon Nov 19, 2012 8:35 pm

I'm not at home to test, but would this script work?

Spoiler

Keyword property WeaponTypeBow autoActor property PlayerREF autoEvent SomeEvent()kWeap = PlayerREF.GetEquippedWeapon()If kWeap.HasKeyword(WeaponTypeBow);do somethingEndifEndEvent
User avatar
Jason Wolf
 
Posts: 3390
Joined: Sun Jun 17, 2007 7:30 am

Post » Mon Nov 19, 2012 8:55 pm

You can't coc to a teleportation marker or door marker. Can only coc to a cocmarkerheading.

Sounds stupid, but it sounds like you're not using one, as you never mention it. Have you placed one??
I don't. I simply COC to the cell in which my changes have been made (eg. whiterunexterior14) so that I don't have to go through the tutorial dungeon and walk to the location. In-game this sets up a default character named "Prisoner".
User avatar
Claire Jackson
 
Posts: 3422
Joined: Thu Jul 20, 2006 11:38 pm

Post » Mon Nov 19, 2012 10:03 pm

I don't. I simply COC to the cell in which my changes have been made (eg. whiterunexterior14) so that I don't have to go through the tutorial dungeon and walk to the location. In-game this sets up a default character named "Prisoner".

What B1gBadDaddy was getting was if there even is a coc marker in your cell? If there isn't, it's still possible to coc in but I have no idea how player placement is determined.
User avatar
Christine
 
Posts: 3442
Joined: Thu Dec 14, 2006 12:52 am

Post » Tue Nov 20, 2012 10:24 am

General testing methodology for testing from wayshrine A to wayshrine B:

COC to cell that contains wayshrine A (or a nearby named cell).
Player.addspell #custom spell to activate wayshrine#
Fire spell at wayshrine A - wayshrine activates.
COC to cell that contains wayshrine B (or a nearby named cell).
Fire spell at wayshrine B - wayshrine activates and portal between wayshrines A and B opens.
Activate portal at B - sometimes on exiting at wayshrine A the player will end up in the floor. If not...
Quit game. Reload last autosave at the point where wayshrine A was exited. More often than not the player will spawn inside the floor.

This has only started happening since the 1.8 update. I had no issues with 1.7. Interestingly, I loaded and saved a teleport mod that I had made prior to version 1.6 in the 1.8 creation kit. After saving, this mod still worked flawlessly in-game, so this seems to be an issue with load doors that are added by the 1.8 creation kit.
User avatar
luis ortiz
 
Posts: 3355
Joined: Sun Oct 07, 2007 8:21 pm

Post » Mon Nov 19, 2012 7:47 pm

Interesting, that is really interesting. Well, its got me baffled.

I've been holding off modding since the update came out. I'm yet to update either my Skyrim or Creation Kit, now I'm kinda scared to.
User avatar
Nicole Mark
 
Posts: 3384
Joined: Wed Apr 25, 2007 7:33 pm

Post » Tue Nov 20, 2012 11:11 am

The model you have taken (smanhole.nif) has no collision. Objects without a collision can not be activated.

That's a pain in the back-end. All righty then, I guess I'll either change the surface model or just shelve the mod (not too bad, it was a minor project anyway); thanks for the tip.
User avatar
Lucy
 
Posts: 3362
Joined: Sun Sep 10, 2006 4:55 am

Post » Tue Nov 20, 2012 2:59 am

Hey Thomsom, check your PM, I sent you something :biggrin:
User avatar
lucile
 
Posts: 3371
Joined: Thu Mar 22, 2007 4:37 pm

Post » Tue Nov 20, 2012 3:44 am

Hey Thomsom, check your PM, I sent you something :biggrin:

Read it, and once again thank you so much!
User avatar
djimi
 
Posts: 3519
Joined: Mon Oct 23, 2006 6:44 am

Post » Tue Nov 20, 2012 4:46 am

That's a pain in the back-end. All righty then, I guess I'll either change the surface model or just shelve the mod (not too bad, it was a minor project anyway); thanks for the tip.
Just put an activator marker over the top of it (like with weapon plaque's/racks) and point activation to door. Not sure on follower compatibility with this one, if the door is properly navmeshed NPC's may have some magical ability to activate the door itself without hassle.

*EDIT: If the above doesn't work for NPC's needing to use this door, simply make a duplicate set using roughly the same Cartesian coordinates and set their scale really low so as to be innocuous. Once navmeshed these doors will be perfectly functional for any AI. You may want to make sure they are hidden from the local map as well.
User avatar
Everardo Montano
 
Posts: 3373
Joined: Mon Dec 03, 2007 4:23 am

Post » Mon Nov 19, 2012 10:47 pm

Is there a way to make an onActivate event only happen once within a given period of time. For instance, a script that will give the player on object on activation, but only once every 24 hours?
User avatar
D IV
 
Posts: 3406
Joined: Fri Nov 24, 2006 1:32 am

Post » Tue Nov 20, 2012 10:19 am

Is there a way to make an onActivate event only happen once within a given period of time. For instance, a script that will give the player on object on activation, but only once every 24 hours?
Float fTimeLastActivatedActor Property PlayerREF AutoForm Property kWidget AutoGlobalVariable Property GameDaysPassed AutoEvent OnActivate(ObjectReference akActionRef)	If akActionREF = PlayerREF		Float fCurrentTime = GameDaysPassed.GetValue()		If fTimeLastActivated < (fCurrentTime - 1.0)			fTimeLastActivated = fCurrentTime			PlayerREF.AddItem(kWidget)		EndIf	EndIfEndEvent
GameDaysPassed is maintained by the engine, so you could use it as a means to throttle activation/dispensing of widgets.
User avatar
Crystal Birch
 
Posts: 3416
Joined: Sat Mar 03, 2007 3:34 pm

Post » Mon Nov 19, 2012 7:54 pm

I should add, is there any way to do it without the overhead of a quest to keep track? Thanks.
User avatar
Phillip Brunyee
 
Posts: 3510
Joined: Tue Jul 31, 2007 7:43 pm

Post » Tue Nov 20, 2012 2:30 am

Thanks, http://www.gamesas.com/user/408976-justinother/! Our posts just crossed.

I have one more question. How would the script know what fTimeLastActivated is?
User avatar
Darian Ennels
 
Posts: 3406
Joined: Mon Aug 20, 2007 2:00 pm

Post » Tue Nov 20, 2012 12:14 am

I should add, is there any way to do it without the overhead of a quest to keep track? Thanks.
Just make the script extend ObjectReference, then glue it to the reference or base object and you'll not need a quest.
Thanks, http://www.gamesas.com/user/408976-justinother/! Our posts just crossed.

I have one more question. How would the script know what fTimeLastActivated is?
No prob :) The first time activated, fTimeLastActivated will be 0.0, less than the required value, in which case it'll be set to whatever GameDaysPassed is. Until the check is true, nothing should happen as the fTimeLastActivated value will be remembered and not altered until at least one day has passed and the player activates it again.
User avatar
Chad Holloway
 
Posts: 3388
Joined: Wed Nov 21, 2007 5:21 am

Post » Tue Nov 20, 2012 10:22 am

Works beautifully! Thank you so much for your help. Once you see an elegant solution to a problem, it makes you feel silly for not seeing it earlier.

Only one thing, in case someone is looking for same type of script, fCurrentGameTime kept setting to 0 by referencing the global. So instead I used Float fCurrentTime = Utility.GetCurrentGameTime().

Thanks again!
User avatar
sas
 
Posts: 3435
Joined: Thu Aug 03, 2006 8:40 am

Post » Mon Nov 19, 2012 9:42 pm

Was the global's property filled? It should never have a 0.0 value.
User avatar
Chad Holloway
 
Posts: 3388
Joined: Wed Nov 21, 2007 5:21 am

PreviousNext

Return to V - Skyrim