Unable to unlock door via console or script?

Post » Fri Jul 29, 2011 4:51 am

Hi,

I'm having a little problem unlocking the door to the docks in the Seyda Neen customs building. I've double checked the ID:

ex_nord_door_01

(I even tried changing it to see if it would make a difference - it did not).

Basically, if I set:

"ex_nord_door_01"->unlock

on a script, or even in the console, the door remains locked. The only way to unlock it via the console seems to be to select the door with the console open and type 'unlock'.

The other internal door in the building works fine. Neither door has a script set on it. The only difference between the two is that the one I want to unlock has teleport set on it as it is an 'external' door.

I'm sure I'm just doing something wrong here - any ideas??

Thanks!
User avatar
Shelby Huffman
 
Posts: 3454
Joined: Wed Aug 08, 2007 11:06 am

Post » Fri Jul 29, 2011 5:14 pm

nevermind again
User avatar
A Boy called Marilyn
 
Posts: 3391
Joined: Sat May 26, 2007 7:17 am

Post » Fri Jul 29, 2011 2:35 pm

nevermind again


erm....thanks....I think.... ;)
User avatar
Charlie Ramsden
 
Posts: 3434
Joined: Fri Jun 15, 2007 7:53 pm

Post » Fri Jul 29, 2011 5:00 pm

erm....thanks....I think.... ;)

I actually thought what I posted was working but I tried and I was wrong :spotted owl:
User avatar
Amelia Pritchard
 
Posts: 3445
Joined: Mon Jul 24, 2006 2:40 am

Post » Fri Jul 29, 2011 12:36 pm

Well I figured you had made a suggestion, but I only saw the edited post so I wasn't sure what it was ;)

Thanks for checking it out though :)
User avatar
Trevor Bostwick
 
Posts: 3393
Joined: Tue Sep 25, 2007 10:51 am

Post » Fri Jul 29, 2011 6:04 am

Anyway the problem is that if you want to unlock a door using a script, you have to assign that door an unique id like "ex_nord_door_01_seraph".
Because that door id is used many times, with other doors.
The other door you tried had an unique ID, I assume
User avatar
Laurenn Doylee
 
Posts: 3427
Joined: Sun Dec 03, 2006 11:48 am

Post » Fri Jul 29, 2011 5:13 pm

Anyway the problem is that if you want to unlock a door using a script, you have to assign that door an unique id like "ex_nord_door_01_seraph".
Because that door id is used many times, with other doors.
The other door you tried had an unique ID, I assume


Yeah I assumed that was the case, and renamed the door to have a unique id - but it still doesn't work :(

Any other ideas?
User avatar
Robert DeLarosa
 
Posts: 3415
Joined: Tue Sep 04, 2007 3:43 pm

Post » Fri Jul 29, 2011 6:31 pm

Yeah I assumed that was the case, and renamed the door to have a unique id - but it still doesn't work :(

Any other ideas?

to me it works!

Begin UnlockUnlock "ex_nord_door_01_mo"end Unlock

User avatar
Manny(BAKE)
 
Posts: 3407
Joined: Thu Oct 25, 2007 9:14 am

Post » Fri Jul 29, 2011 8:21 am

sorry for doublepost, I'm from my phone, internet connection has some problems
User avatar
NAkeshIa BENNETT
 
Posts: 3519
Joined: Fri Jun 16, 2006 12:23 pm

Post » Fri Jul 29, 2011 7:49 am

to me it works!

Begin UnlockUnlock "ex_nord_door_01_mo"End Unlock



Weird....Thanks Kingpix I'll test it again now using a different unique name.
User avatar
Laura-Jayne Lee
 
Posts: 3474
Joined: Sun Jul 02, 2006 4:35 pm

Post » Fri Jul 29, 2011 12:13 pm

edit:

I'm an idiot. I'll try again using your script. I was simply using:

"ex_nord_door_01"->unlock

Now this works for the internal door just fine. I'll try it using your 'begin unlock' method (which I wasn't aware of - the benefit of being a noob!) :D

I just tried:

Begin Unlock     Unlock "ex_nord_door_01_FM"     Unlock "CharGen Door Hall"End Unlock


This actually failed to unlock *either* of the doors - but then I could have made a mistake specifying both doors in the same 'begin unlock...' statement. The wife tells me my food is ready, so I'll do some more work on this in an hour or so.

Thanks for your help so far :)
User avatar
Monika Fiolek
 
Posts: 3472
Joined: Tue Jun 20, 2006 6:57 pm

Post » Fri Jul 29, 2011 5:30 am

edit:

I'm an idiot. I'll try again using your script. I was simply using:

"ex_nord_door_01"->unlock

Now this works for the internal door just fine. I'll try it using your 'begin unlock' method (which I wasn't aware of - the benefit of being a noob!) :D

I was on phone and I forgot some parts lol (sorry, I was in a hurry)
Here's the correct one:

begin Unlockif ( MenuMode == 1 )	returnendifif ( OnActivate == 1 )        "ex_nord_door_01_mo"->unlockendifend Unlock


This is a script to give to an activator. Is this what you need? Simply place it on an activator and It'll open the door when you activate it.
Obviously you can make other things, like if you get near the door opens, etc.
User avatar
Kristina Campbell
 
Posts: 3512
Joined: Sun Oct 15, 2006 7:08 am

Post » Fri Jul 29, 2011 4:17 am

Basically, I'm having a few issues with the official 'Siege at Firemoth' plugin.

When talking to the captain the doors do not unlock, so without using a spell/picking locks/using levitation it's impossible to get to the dock to board the boat.

I'm not sure if it's a bug - I'd be tempted to say it's a conflict if I didn't remember it happening from my old playthrough which was plain unmodded vanilla Morrowind - but I thought I'd work around it. I wanted to make a couple of little tweaks to it anyway (for example, changing the boat that's used, as when using MGE with water reflections you get a permanent reflection of the tiny boat, not to mention that it's visible with distant land on until you get close - which looks a bit odd....).

I've been adjusting the 'CharGenDialogueMessage' script (which is assigned to the captain) as follows:

begin CharGenDialogueMessage;give message before captian for dialogue, script goes on captainshort doneShort NoLoreshort state 			;set to -1 when you give him papers, used in dialogueshort firemothshort fm_doneif ( menumode == 1)	returnendifif ( done == 0 )	if ( GetDistance, Player < 300 )		if ( Xbox == 1 )			MessageBox "Press A to talk to the Captain. Select topics to ask about them. Don't try persuasion on him. If you're not good at it, he'll start to dislike you.", "Ok"		else				MessageBox "Press ^ActionActivate to talk to the Captain. Select topics to ask about them. Don't try persuasion on him. If you're not good at it, he will start to dislike you.", "Ok"		endif		set done to 1	endifendif; Unlock internal doors to allow player passage through the building to docks for Firemoth quest.if ( CharGenState == -1 )	if ( done == 1 )		if ( fm_done == 0 )			if ( firemoth == 1 )                                Begin Unlock					Unlock "ex_nord_door_01_FM"					Unlock "CharGen Door Hall"				End Unlock				set fm_done to 1			endif		endif	endifendif


I've adjusted the Firemoth dialogue to set the 'firemoth' variable to 1 when the quest is accepted.

Using the above script neither door unlocks, however if I use:

		if ( firemoth == 1 )				"ex_nord_door_01_FM"->unlock			        "CharGen Door Hall"->unlock				set fm_done to 1


then the 'CharGen Door Hall' unlocks just fine, but the 'ex_nord_door_01_FM' does not.
User avatar
no_excuse
 
Posts: 3380
Joined: Sun Jul 16, 2006 3:56 am

Post » Fri Jul 29, 2011 4:04 am

Well, if I remember correctly a Firemoth script opens the gates at the side of the docks, those wooden gates that were lock.
I can't explain myself better, I'll take a screen. Just a minute :)

EDIT: here it is ! This gate is opened when you talk to Sellus about Firemoth and you accept the quest. http://img594.imageshack.us/img594/9880/morrowind20110728223833.jpg
User avatar
Amanda savory
 
Posts: 3332
Joined: Mon Nov 27, 2006 10:37 am

Post » Fri Jul 29, 2011 5:12 am

Well, if I remember correctly a Firemoth script opens the gates at the side of the docks, those wooden gates that were lock.
I can't explain myself better, I'll take a screen. Just a minute :)

EDIT: here it is ! This gate is opened when you talk to Sellus about Firemoth and you accept the quest. http://img594.imageshack.us/img594/9880/morrowind20110728223833.jpg


wow....that's just....wow. Sheesh.

Thanks for that....at least I know it's defo not a conflict and that I am just completely unobservant!

Doesn't seem that intuitive to me to be honest, but oh well.

I really want to get this bloody script working anyway now - it's refusing to do what I'm telling it to do, and that's irritating ;)
User avatar
Vickey Martinez
 
Posts: 3455
Joined: Thu Apr 19, 2007 5:58 am

Post » Fri Jul 29, 2011 6:15 am

wow....that's just....wow. Sheesh.

Thanks for that....at least I know it's defo not a conflict and that I am just completely unobservant!

Doesn't seem that intuitive to me to be honest, but oh well.

I really want to get this bloody script working anyway now - it's refusing to do what I'm telling it to do, and that's irritating ;)

Yeah it's not so intuitive but we could just change the dialogue a bit to explain it better :P
We can edit the firemoth script to get that door open anyway, here's the first part of it:

begin Firemoth_sail_script;Local script on the sailor that checks local variable “sail” for warping the whole party to the island and back. ;Does the checking for who’s alive and the coordinates they get warped to. ;Sets variable "firemoth_at_island" to 1 when at the island.short state short sailshort firemoth_at_island;startup, disable it allif ( state == 0 )	"firemoth_sailor"->disable	"firemoth_warrior"->disable	"firemoth_archer"->disable	"firemoth_mage"->disable	"fm_boat_dock"->disable	"fm_boat_island"->disable	set state to 10	returnendif;check for journal entry and turn everything onif ( GetJournalIndex "ms_firemoth" == 10 )	if ( state != 20 )		"firemoth_sailor"->enable		"firemoth_warrior"->enable		"firemoth_archer"->enable		"firemoth_mage"->enable		"fm_boat_dock"->enable		"firemoth_gate_1"->unlock		"firemoth_gate_2"->unlock		"firemoth_nord_door_01"->unlock		"CharGen Door Hall"->unlock		set state to 20		return	endifendifif ( menumode == 1 )	returnendif;disable everything again now that quest is overif ( GetJournalIndex "ms_firemoth" == 100 )	if ( state != 100 )		"firemoth_sailor"->disable		"firemoth_warrior"->disable		"firemoth_archer"->disable		"firemoth_mage"->disable		"fm_boat_dock"->disable		"fm_boat_island"->disable		set state to 100		return	endifendifif ( sail == 0 )	returnendif


I simply added
		"firemoth_nord_door_01"->unlock		"CharGen Door Hall"->unlock

along with those 2 gates. Obviously you have to give an unique id (firemoth_nord_door_01 in my case) to the door in the cs :)
I can't test it now, but it should work and it's a much more simple solution!
User avatar
laila hassan
 
Posts: 3476
Joined: Mon Oct 09, 2006 2:53 pm

Post » Fri Jul 29, 2011 8:16 pm

; Unlock internal doors to allow player passage through the building to docks for Firemoth quest.if ( CharGenState == -1 )        if ( done == 1 )                if ( fm_done == 0 )                        if ( firemoth == 1 )                                Begin Unlock                                        Unlock "ex_nord_door_01_FM"                                        Unlock "CharGen Door Hall"                                End Unlock                                set fm_done to 1                        endif                endif        endifendif


The Begin statement indicates the start of a script file, and dictates the script's name. You can't add this "call" in the middle of a script. If you want to call a script from another script, use

StartScript "Unlock"


(though I would avoid using a script name as generic as "Unlock")
User avatar
Quick draw II
 
Posts: 3301
Joined: Thu Nov 08, 2007 4:11 pm

Post » Fri Jul 29, 2011 4:51 pm

How did you get the door to unlock?

I once again renamed the door - only this time I chose to create a *new* object (do'h - I didn't realise that it would change all instances of it if you did not...gah...)

Either way, after reviewing what you wrote I altered my code about so that it should work, but once again the door fails to unlock for me :(

EDIT:

@Chesko:

Yeah I'm starting to get to grips with this now and I figured that out when I was playing around. Thanks for the input :)

@KP
I'm going to start with a clean copy of the esp just in case I stuffed something up and I'll try your solution and post back in a bit - thanks for your help! :)
User avatar
casey macmillan
 
Posts: 3474
Joined: Fri Feb 09, 2007 7:37 pm

Post » Fri Jul 29, 2011 3:49 pm

How did you get the door to unlock?

I once again renamed the door - only this time I chose to create a *new* object (do'h - I didn't realise that it would change all instances of it if you did not...gah...)

Either way, after reviewing what you wrote I altered my code about so that it should work, but once again the door fails to unlock for me :(


checked the "references persist" box?
User avatar
Chris Johnston
 
Posts: 3392
Joined: Fri Jul 07, 2006 12:40 pm

Post » Fri Jul 29, 2011 1:02 pm

If you still want to do something with the Sellus' script these would be the right lines I think.
It basically checks for the journal entry. Again, not tested but should work ;)

; Unlock internal doors to allow player passage through the building to docks for Firemoth quest.	if ( done == 1 ) 		if ( GetJournalIndex "ms_firemoth" ==10 )                       "firemoth_nord_door_01"->unlock                       "CharGen Door Hall"->unlock                else                       return                endif         endif

User avatar
Adriana Lenzo
 
Posts: 3446
Joined: Tue Apr 03, 2007 1:32 am

Post » Fri Jul 29, 2011 7:12 am

Yeah it's not so intuitive but we could just change the dialogue a bit to explain it better :P
We can edit the firemoth script to get that door open anyway, here's the first part of it:

I simply added
		"firemoth_nord_door_01"->unlock		"CharGen Door Hall"->unlock

along with those 2 gates. Obviously you have to give an unique id (firemoth_nord_door_01 in my case) to the door in the cs :)
I can't test it now, but it should work and it's a much more simple solution!


Once I started from a clean copy of the esp this idea worked like a charm!


checked the "references persist" box?


Nope? What does it do?
User avatar
Kay O'Hara
 
Posts: 3366
Joined: Sun Jan 14, 2007 8:04 pm

Post » Fri Jul 29, 2011 3:57 am

Once I started from a clean copy of the esp this idea worked like a charm!

Nice!
Could you try the other one I posted ?
I'm just courious, should work anyway. ^^

Full script:

begin CharGenDialogueMessage;give message before captian for dialogue, script goes on captainshort doneShort NoLoreshort state 			;set to -1 when you give him papers, used in dialogueif ( menumode == 1)	returnendifif ( done == 0 )	if ( GetDistance, Player < 300 )		if ( Xbox == 1 )			MessageBox "Press A to talk to the Captain. Select topics to ask about them. Don't try persuasion on him. If you're not good at it, he'll start to dislike you.", "Ok"		else				MessageBox "Press ^ActionActivate to talk to the Captain. Select topics to ask about them. Don't try persuasion on him. If you're not good at it, he will start to dislike you.", "Ok"		endif		set done to 1	endifendif; Unlock internal doors to allow player passage through the building to docks for Firemoth quest.        if ( done == 1 )                if ( GetJournalIndex "ms_firemoth" ==10 )                       "firemoth_nord_door_01"->unlock                       "CharGen Door Hall"->unlock                else                       return                endif         endifend CharGenDialogueMessage

User avatar
Bereket Fekadu
 
Posts: 3421
Joined: Thu Jul 12, 2007 10:41 pm

Post » Fri Jul 29, 2011 5:31 pm

Nice!
Could you try the other one I posted ?
I'm just courious, should work anyway. ^^

Full script:

begin CharGenDialogueMessage;give message before captian for dialogue, script goes on captainshort doneShort NoLoreshort state 			;set to -1 when you give him papers, used in dialogueif ( menumode == 1)	returnendifif ( done == 0 )	if ( GetDistance, Player < 300 )		if ( Xbox == 1 )			MessageBox "Press A to talk to the Captain. Select topics to ask about them. Don't try persuasion on him. If you're not good at it, he'll start to dislike you.", "Ok"		else				MessageBox "Press ^ActionActivate to talk to the Captain. Select topics to ask about them. Don't try persuasion on him. If you're not good at it, he will start to dislike you.", "Ok"		endif		set done to 1	endifendif; Unlock internal doors to allow player passage through the building to docks for Firemoth quest.		if ( done == 1 ) 			if ( GetJournalIndex "ms_firemoth" ==10 )				"firemoth_nord_door_01"->unlock               	"CharGen Door Hall"->unlock			else				return                endif		endifend CharGenDialogueMessage



Yeah I'll give it a shot now :)
User avatar
Dawn Porter
 
Posts: 3449
Joined: Sun Jun 18, 2006 11:17 am

Post » Fri Jul 29, 2011 2:16 pm

I omitted the 'else...' as it's not really needed, but yeah that works fine :)

No idea why it would only unlock one of them for me before - I think the esp must have gotten screwed up some how.

Thanks for your help - very much appreciated!!

Where do we stand on releasing edited versions of the bethesda plugins? Is it a big nono or is it ok (as they're free) as long as we maintain credit for the original work?

I don't know if I can be bothered to post it in any case, but I wouldn't like to do it on a whim and upset anyone....

:)
User avatar
{Richies Mommy}
 
Posts: 3398
Joined: Wed Jun 21, 2006 2:40 pm

Post » Fri Jul 29, 2011 7:41 pm

I omitted the 'else...' as it's not really needed, but yeah that works fine :)

No idea why it would only unlock one of them for me before - I think the esp must have gotten screwed up some how.

Thanks for your help - very much appreciated!!

Where do we stand on releasing edited versions of the bethesda plugins? Is it a big nono or is it ok (as they're free) as long as we maintain credit for the original work?

I don't know if I can be bothered to post it in any case, but I wouldn't like to do it on a whim and upset anyone....

:)

No problem ;)
Anyway you can release them, there are already some http://planetelderscrolls.gamespy.com/View.php?view=Mods.Detail&id=9133, so I think that it's ok :)
User avatar
Guinevere Wood
 
Posts: 3368
Joined: Mon Dec 04, 2006 3:06 pm

Next

Return to III - Morrowind