Switching To Esm Terraforming Lost

Post » Thu Jun 21, 2012 3:21 pm

I just switched to .esm along with the .bsa and .bsl formats following this web page: https://creationkitadventures.wordpress.com/2012/02/25/how-to-package-a-bsa-archive-for-skyrim/

Everything seems good to go except all the land changes I made on the Tamriel land is back to original, the actual land as the new mountain and everything else is ok.

Anyone have an idea what I did wrong?

Thanks!
User avatar
Emerald Dreams
 
Posts: 3376
Joined: Sun Jan 07, 2007 2:52 pm

Post » Thu Jun 21, 2012 3:53 am

Make sure the Skyrim ESM is loading before yours.
User avatar
~Sylvia~
 
Posts: 3474
Joined: Thu Dec 28, 2006 5:19 am

Post » Thu Jun 21, 2012 11:31 am

Make sure the Skyrim ESM is loading before yours.

Yea, I made sure of that.

This whole thing is really about the navmesh bug in esp files or I wouldn't worry about switching to esm format. :(
User avatar
roxanna matoorah
 
Posts: 3368
Joined: Fri Oct 13, 2006 6:01 am

Post » Thu Jun 21, 2012 3:59 am

Won't help. You can't just blindly esmify any old ESP file or you end up with exactly what you just found. None of your edits to Tamriel will register. At all.

The only way around that is to generate an ONAM list, but you can't do that with anything other than FNVEdit, which is designed for Fallout games and isn't safe to use on Skyrim mods.
User avatar
Steeeph
 
Posts: 3443
Joined: Wed Apr 04, 2007 8:28 am

Post » Thu Jun 21, 2012 2:27 am

Won't help. You can't just blindly esmify any old ESP file or you end up with exactly what you just found. None of your edits to Tamriel will register. At all.

The only way around that is to generate an ONAM list, but you can't do that with anything other than FNVEdit, which is designed for Fallout games and isn't safe to use on Skyrim mods.

Sheesh

I guess it's back to the .esp format :(

I even tried to create a .bsa file with all the meshes and textures in it too.

Has there been any word on the next patch?
User avatar
Ice Fire
 
Posts: 3394
Joined: Fri Nov 16, 2007 3:27 am

Post » Thu Jun 21, 2012 3:37 am

Nope, nothing. I'm sort of hoping that no word means good news, but then the realist part of my brain stabs me in the eye with a log. The navmesh bug is killing everything.
User avatar
Trent Theriot
 
Posts: 3395
Joined: Sat Oct 13, 2007 3:37 am

Post » Wed Jun 20, 2012 11:50 pm

Artmoor

How did you get horses to be able to go into towns?

Is it because the towns are in the Tamriel world space instead of a cell?

I've sent emails to gamesas about this, being able to ride horses into cells, but I don't expect a reply.
User avatar
^_^
 
Posts: 3394
Joined: Thu May 31, 2007 12:01 am

Post » Thu Jun 21, 2012 3:12 am

Yes, in my case it's because the cities are in the Tamriel worldspace. You can't ride them into the vanilla closed cities because you can't interact with anything while on horseback, therefore making it impossible to open the gates.
User avatar
Sarah Evason
 
Posts: 3507
Joined: Mon Nov 13, 2006 10:47 pm

Post » Thu Jun 21, 2012 7:42 am

Artmoor

I've been thinking that there must be a way to get horses to teleport.

Afterall, your companion comes along when going from cell to cell.

I just don't know what the difference is, ya know
User avatar
Ash
 
Posts: 3392
Joined: Tue Jun 13, 2006 8:59 am

Post » Thu Jun 21, 2012 2:43 am

An AI follow package would probably be enough in that case, but you'd have to dismount first and make sure the horse was using that.
User avatar
Nick Swan
 
Posts: 3511
Joined: Sat Dec 01, 2007 1:34 pm

Post » Thu Jun 21, 2012 10:49 am

I think that's how a standard auto-load door works, isn't it?

I have a script that "almost" works. The problem is that you end up in the void riding an invisible horse after the jump.
User avatar
scorpion972
 
Posts: 3515
Joined: Fri Mar 16, 2007 11:20 am

Post » Thu Jun 21, 2012 1:10 am

Hmm. I wonder if maybe it would work if you did the following.

Scriptname HorseFollow extends ObjectReferenceActivator Property HorseLocus auto;this is going to be an activator set up where you want the horse to teleport to upon entering the cityevent OnOpen()   Actor Horse = Game.GetPlayer().GetPlayersLastRiddenHorse()   DistanceHorse = Game.GetPlayer().GetDistance(Horse)   if DistanceHorse <= 650	  Horse.MoveTo(HorseLocus)   endIf	 endEvent

I think what this would do, if placed on each city door, is make it such that when the player goes through the door, the last horse he has ridden will teleport to a marker that you can place next to the teleport marker for the player. I don't see why it wouldn't work. You have to get off your horse to get into town, but honestly a person can't really open doors well from horseback anyway (and I should now, I ride).
User avatar
tiffany Royal
 
Posts: 3340
Joined: Mon Dec 25, 2006 1:48 pm

Post » Thu Jun 21, 2012 6:01 am

i have an indoor stable set up in a faux interior (it is technicallly a worldspace, but everythiung is enclosed and it has no sky, weather or sky-lighting)

i also have a triggerbox located in tamriel that acts as a door to get into the worldspace. the player can enter the trigger on horseback, and it will fast-travel them into the new worldspace.

after the jump, the horse is placed into the stable, so i can confirm the moveto works, at least for worldspaces



the above script should work fine, but maybe you want to change the following:

game.GetPlayersLastRiddenHorse() (doesnt need the GetPlayer())

also might want to throw in a condition to see if there is a last ridden horse that exists. if you run a condition or function against lastriddenhorse, while it == none, it wil spit an error in papyrus. just an FYI


also you can use an xmarker instead of an activator for horseLocus unless you need the activator to do something to the horse after it moves there.
User avatar
Emzy Baby!
 
Posts: 3416
Joined: Wed Oct 18, 2006 5:02 pm

Post » Thu Jun 21, 2012 3:36 pm

Thanks for the response guys

Would these ideas work on auto-load doors?

Auto-load doors don't need to be "activated", just walked into. Or ridden into in my needs.
User avatar
Albert Wesker
 
Posts: 3499
Joined: Fri May 11, 2007 11:17 pm

Post » Thu Jun 21, 2012 2:07 pm

auto-load doors cannot work when on horseback, you should use a trigger box if you want to be able to teleport while on a horse. the downside is you dont get the "travel to wherever" proximity propmt
User avatar
Deon Knight
 
Posts: 3363
Joined: Thu Sep 13, 2007 1:44 am

Post » Thu Jun 21, 2012 12:00 pm

Trigger boxes have a downside though. I've tried riding through such a setup before. The player appears, the horse does not, yet you're still animated as though it did. The game gets confused shortly after and CTDs. Further complicating this is the fact that Papyrus has no functions to check if the player is on horseback or not. Indicating that Skyrim horse support was bolted on at the last minute with zero thought behind it.
User avatar
Jonny
 
Posts: 3508
Joined: Wed Jul 18, 2007 9:04 am

Post » Thu Jun 21, 2012 6:21 am

i always use game.fastTravel(), and the horse comes with you (wherever the default horse marker is if any, or you can specify in the script where you want it placed). it automatically unmounts you from the horse though. at least no CTD or ghost-riding
User avatar
Sara Johanna Scenariste
 
Posts: 3381
Joined: Tue Mar 13, 2007 8:24 pm

Post » Thu Jun 21, 2012 12:08 pm

When I tried game.fastTravel() I was immediately dismounted and then just stood there.

Scriptname LamplightteleportSCR extends ObjectReferenceObjectReference Property TeleportMarker autoEvent onTriggerEnter(ObjectReference objRef)    if(objRef == game.getplayer());Game.FastTravel(TeleportMarker)Game.GetPlayer().MoveTo(TeleportMarker)  endif EndEvent

As you can see here I was tinkering with both MoveTo() and FastTravel()
User avatar
Jenna Fields
 
Posts: 3396
Joined: Mon Dec 11, 2006 11:36 am

Post » Thu Jun 21, 2012 12:15 pm

auto-load doors cannot work when on horseback, you should use a trigger box if you want to be able to teleport while on a horse. the downside is you dont get the "travel to wherever" proximity propmt

The proximity prompt can be done with a message box though, placed just slightly ahead of the trigger.
User avatar
Sophie Miller
 
Posts: 3300
Joined: Sun Jun 18, 2006 12:35 am

Post » Thu Jun 21, 2012 11:06 am

fastTravel has a few quirks of its own. what i know so far:


if the destination is in an interior cell, it may not work at all(i think it possibly depends on whether the destination cell allows fast travel im not sure)

if the destination is in skyrim exterior, it will always work

if the destination is in a small worldspace exterior (i.e. Riften or Whiterun city bounds etc), you will be trapped in a plane of Oblivion (black screen with functional HUD but cant do anything) **see note 1

if the destination is a custom worldspace, it may CTD ***see note 2

if the origin is on a custom navmeshed cell (interior or exterior) from another esp or esm, and your destination is a custom worldspace in your esp or esm, you will float in the air after travel with no way to ever get down ****see note 3





note 1: there are 2 ways around this glitch. 1st is to use an esm for your origin, 2nd is to use a "purgatory cell" to buffer the travel so that it does not travel directly to the worldspace first. this lets the game dump ram in the purgatory cell and load the worldspace properly (user will see 2 load consecutive screens).



note 2: you can get around this by having origin on esm, or use the "reverse purgatory" trick, which means, fastTravel to tamriel exterior then immediately to the custom worldspace. no idea why this works or even necessary but somehow it works.



note 3: this one is complicated, if your origin point is finite then you can use the trick in note 2, but if the fastTravel is from something like a spell where it could be cast anywhere by the player and they happen to cast it on a custom cell from another mod, you will have to have an object in the destination worldspace that has an OnCellAttach event that forces you back out to skyrim then back in again whenever it detects that your character's z-position is higher than the ceiling of the cell.
User avatar
rebecca moody
 
Posts: 3430
Joined: Mon Mar 05, 2007 3:01 pm

Post » Thu Jun 21, 2012 3:29 am

Hmm. I wonder if maybe it would work if you did the following.
 Scriptname HorseFollow extends ObjectReference Activator Property HorseLocus auto ;this is going to be an activator set up where you want the horse to teleport to upon entering the city event OnOpen() Actor Horse = Game.GetPlayer().GetPlayersLastRiddenHorse() DistanceHorse = Game.GetPlayer().GetDistance(Horse) if DistanceHorse <= 650 Horse.MoveTo(HorseLocus) endIf endEvent 
I think what this would do, if placed on each city door, is make it such that when the player goes through the door, the last horse he has ridden will teleport to a marker that you can place next to the teleport marker for the player. I don't see why it wouldn't work. You have to get off your horse to get into town, but honestly a person can't really open doors well from horseback anyway (and I should now, I ride).

I get these errors when trying to compile:

d:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\lamplightOnEnterTeleportWithHorse.psc(5,34): GetPlayersLastRiddenHorse is not a function or does not existd:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\lamplightOnEnterTeleportWithHorse.psc(6,3): variable DistanceHorse is undefinedd:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\lamplightOnEnterTeleportWithHorse.psc(6,3): type mismatch while assigning to a none (cast missing or types unrelated)d:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\lamplightOnEnterTeleportWithHorse.psc(7,6): variable DistanceHorse is undefinedd:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\lamplightOnEnterTeleportWithHorse.psc(7,20): cannot compare a none to a int (cast missing or types unrelated)d:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\lamplightOnEnterTeleportWithHorse.psc(7,20): cannot relatively compare variables to Noned:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\lamplightOnEnterTeleportWithHorse.psc(8,16): type mismatch on parameter 1 (did you forget a cast?)d:\program files (x86)\steam\steamapps\common\skyrim\Data\Scripts\Source\temp\lamplightOnEnterTeleportWithHorse.psc(4,0): the parameter types of function onopen in the empty state on script lamplightonenterteleportwithhorse do not match the parent script objectreferenceNo output generated for lamplightOnEnterTeleportWithHorse, compilation failed.

:(
User avatar
Myles
 
Posts: 3341
Joined: Sun Oct 21, 2007 12:52 pm

Post » Thu Jun 21, 2012 10:25 am

I forgot to post the output of that hrosefollow script:

D:\Program Files (x86)\Notepad++>"D:\Program Files (x86)\Steam\steamapps\common\skyrim\Papyrus compiler\PapyrusCompiler.exe" HorseFollow.psc -f="TESV_Papyrus_Flags.flg" -i="D:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source" -o="D:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts"Starting 1 compile threads for 1 files...Compiling "HorseFollow"...D:\Program Files (x86)\Steam\steamapps\common\skyrim\Data\Scripts\Source\HorseFollow.psc(8,24): required (...)+ loop did not match anything at input 'Horse'No output generated for HorseFollow.psc, compilation failed.Batch compile of 1 files finished. 0 succeeded, 1 failed.Failed on HorseFollow.pscD:\Program Files (x86)\Notepad++>pausePress any key to continue . . .

I'm not sure what "required (...)+ loop did not match anything at input 'Horse'" means though
User avatar
Devils Cheek
 
Posts: 3561
Joined: Sun Aug 13, 2006 10:24 pm


Return to V - Skyrim