Quick Questions -- Quick Answers, The 23rd

Post » Mon Mar 14, 2011 10:19 pm

Previous thread : http://www.gamesas.com/index.php?/topic/1087887-quick-questions-quick-answers-the-22nd/
let iSetName[setnum] := tempstring
let iSetName[setnum] := tempstring


then to get it out into a string again:
let tempstring := iSetName[setnum]


Somewhere Im losing what the original tempstring has in it (and i checked, it has infomation in it)....so what have i done wrong?
If you delete all the rest is it still missing ? - you need to post more of your script - those 2 lines should work
http://www.gamesas.com/index.php?/topic/1073222-quick-questions-quick-answers-the-twentieth/page__view__findpost__p__15754280 - if the inverse is true try iSetName[setnum] := $tempstring or iSetName[setnum] := sv_construct "%z" tempstring

EDIT : http://www.gamesas.com/index.php?/topic/1091139-relz-oblivion-script-extender-obse-0018/page__view__findpost__p__15946875 - post some of your SCR
User avatar
Amy Siebenhaar
 
Posts: 3426
Joined: Fri Aug 10, 2007 1:51 am

Post » Mon Mar 14, 2011 2:57 pm

@crimson.cosmos :
I insist you separate the scripts - you do have two separate objects anyway - otherwise this might work :
Spoiler
scriptName ccLampLightfloat timefloat hourshort dayshort firstRunshort needOilref parentbegin onactivate	if parent		disable		; parent.enable	; does this happen automatically if "set enable state to oposite of parent" ? dunno - if not uncomment this	else		if (needOil == 1)			if (player.getItemCount aS1OilBottle < 1)				message "You forgot the oil"				return			endif			player.removeItem aS1OilBottle, 1			set needOil to 0			set time to 0		endif		set hour to getCurrentTime		set day to GameDaysPassed		disable	;disabling the off lamp enables the on one.	endifendbegin GameMode ; the off lamp does not need a game mode at all - these two ifs run for no reason all the time in gamemode	if parent		if getDisabled			return		else			if (parent.day == GamedaysPassed)				set parent.time to parent.time + (GameHour - parent.hour)			else				set parent.time to parent.time + (GameHour - parent.hour) + 24			endif			set parent.hour to getCurrenttime			let parent.time := floor parent.time	; maybe not needed - and makes the sript OBSE dependent			if (parent.time < 4)				return			endif			set parent.needOil to 1			disable			; parent.enable	; does this happen automatically if "set enable state to oposite of parent" ? dunno - if not uncomment this		endif	elseif (firstRun == 0)		set parent to getParentRef		set needOil to 1		set firstRun to 1	endifend


Hey!

Thanks! I had completely forgot that both scripts are going to have their own variables. I've almost separated them by now, but I'm having trouble referencing a variable in the other script. The parent.day notation, for example, doesn't work. The CS says it's an unknown variable. I could solve this by making a quest and having the needed variables as globals, but I'd like another solution, if you know of any.

Cheers!

cc
User avatar
Aman Bhattal
 
Posts: 3424
Joined: Sun Dec 17, 2006 12:01 am

Post » Tue Mar 15, 2011 1:39 am

Thanks! I had completely forgot that both scripts are going to have their own variables. I've almost separated them by now, but I'm having trouble referencing a variable in the other script. The parent.day notation, for example, doesn't work. The CS says it's an unknown variable. I could solve this by making a quest and having the needed variables as globals, but I'd like another solution, if you know of any.
No a quest would not help as there could be many lamps - try (ON lamp)
short dayset day to parent.day

Ihateoblivionnscriptinglol

EDIT : post the scripts and check http://cs.elderscrolls.com/constwiki/index.php/Scripting_Tutorial:_Basic_Scripting_Knowledge at the bottom
User avatar
Bird
 
Posts: 3492
Joined: Fri Nov 30, 2007 12:45 am

Post » Mon Mar 14, 2011 6:29 pm

No a quest would not help as there could be many lamps - try (ON lamp)
short dayset day to parent.day

Ihateoblivionnscriptinglol

EDIT : post the scripts and check http://cs.elderscrolls.com/constwiki/index.php/Scripting_Tutorial:_Basic_Scripting_Knowledge at the bottom


Hey!

I noticed that defining the variable in the local script stops the CS from giving out the error message. However, I don't think it actually works. With the code below, I got this output:
oil hour: 20.53oil day: 11.00parent oil hour: 0.00parent oil day: 0.00time passed: 44.53oil status: 0.00parent oil status: 0.00


Which, to me, looks like it doesn't actually take the variable from the parent, but rather uses its own copy.
Declaring needsOil in the on script compiles. But once that is done,
set parent.needOil to 1
is accepted just as well as
set needOil to 1set parent.needOil to needOil


I should mention that I have another variant of the script that wouldn't require referencing the day and hour variable from the parent script. However, that still requires setting the needOil variable - if you can figure a way to get rid of that, this should be settled.

Spoiler
scriptName ccLampLightOnshort dayshort needOilfloat timefloat hourref parentbegin onActivate	set parent to getParentRef		if parent		parent.enable		disable	endifendbegin GameMode	if getDisabled		return	else		set day to parent.day		set hour to parent.hour		printc "parent oil hour: %.2f", hour		printc "parent oil day: %.2f", day		if (day == GameDaysPassed)			set time to (GameHour - hour)		else			set time to (GameHour - hour) + 24		endif				printc "time passed: %.2f", time				if (time < 4)			return		endif				printc "oil status: %.2f", needOil		set needOil to parent.needOil                          ;this bit is just for testing purposes		printc "parent oil status: %.2f", needOil				set parent.needOil to 1		parent.enable		disable	endifend

scriptName ccLampLightOffshort runOnceshort needOilshort dayfloat hourbegin onActivate	if (runOnce == 0)		set needOil to 1		set runOnce to 1	endif		if needOil		if (player.getItemCount aS1OilBottle < 1)			return		else			player.removeItem aS1OilBottle, 1			set needOil to 0			set hour to getCurrentTime			set day to GameDaysPassed			printc "oil hour: %.2f", hour			printc "oil day: %.2f", day		endif	endif		disableend


User avatar
chirsty aggas
 
Posts: 3396
Joined: Wed Oct 04, 2006 9:23 am

Post » Mon Mar 14, 2011 3:50 pm

@utumno: Thanks!

Edit: I actually need it to visibly spin I am tring to use this script here but it isn't working right.

Scriptname CorPillarScript01float startrotateshort animatingshort TurnBegin OnActivateset Startrotate to 1		If StartRotate > 0 && StartRotate < 6 && Animating == 0				set StartRotate to StartRotate + getSecondsPassed				set animating to 1				rotate z, -18				set Turn to Turn + 1		EndifEndBegin Gamemode			If StartRotate >= 6				set StartRotate to 0				set animating to 0			EndIfEnd

User avatar
Bee Baby
 
Posts: 3450
Joined: Sun Jun 18, 2006 4:47 am

Post » Mon Mar 14, 2011 3:06 pm

@utumno: Thanks!

Edit: I actually need it to visibly spin I am tring to use this script here but it isn't working right.
Spoiler
Scriptname CorPillarScript01float startrotateshort animating ; used in what ?short Turn ; used in what ?Begin OnActivate ; ON ACTIVATE ONLY RUNS FOR A FRAMEset Startrotate to 1set animating to 1EndBegin Gamemode		If StartRotate > 0 && StartRotate < 6 && Animating == 1				set StartRotate to StartRotate + getSecondsPassed ; getSecondsPassedwon't reset (I think - never used it)				rotate z, -18				set Turn to Turn + 1		elsIf StartRotate >= 6				set StartRotate to 0				set animating to 0		EndIfEnd



snip
Parent is initially 0 - the logic of my script was to have the parent set in gameMode
Also the script you wrote does not update time and does not keep track of the "pause"
Spoiler
scriptName ccLampLightOFFfloat hourshort dayshort hasOil	; avoid checkbegin onactivate	if (hasOil == 0)		if (player.getItemCount aS1OilBottle < 1)			return		endif		player.removeItem aS1OilBottle, 1		set hasOil to 1	endif	set hour to getCurrentTime	set day to GameDaysPassed	disable	;disabling the off lamp enables the on one.endscriptName ccLampLightONref parentfloat timebegin onactivate	disable	;disabling the off lamp enables the on one.	; parent.enable	; is this one needed - please let me know !endbegin GameMode	if parent		if getDisabled			return		else			if (parent.day == GamedaysPassed)				set time to time + (GameHour - parent.hour)			else				set time to time + (GameHour - parent.hour) + 24			endif			set parent.hour to getCurrenttime			if (time < 4)				return			endif			set parent.hasOil to 0			set time to 0			disable			; parent.enable	; does this happen automatically if "set enable state to oposite of parent" ? dunno - if not uncomment this		endif	else		set parent to getParentRef	; or use onload block	endifend

Let me know if works - and if the enable.parent is needed
also which is the other way of keeping track of time ? the less vars the better
User avatar
Soph
 
Posts: 3499
Joined: Fri Oct 13, 2006 8:24 am

Post » Mon Mar 14, 2011 10:02 pm

@utumno Thank you so much! Some of the variables in there are going to be used in a quest that's what they are for. Thanks again!
User avatar
Pawel Platek
 
Posts: 3489
Joined: Sat May 26, 2007 2:08 pm

Post » Mon Mar 14, 2011 5:20 pm

@utumno Thank you so much! Some of the variables in there are going to be used in a quest that's what they are for. Thanks again!

:)
User avatar
Kari Depp
 
Posts: 3427
Joined: Wed Aug 23, 2006 3:19 pm

Post » Mon Mar 14, 2011 11:24 pm

snip


Thanks for the reply!

I did take your version into account - but there are some things I changed there. I don't keep track of "pause" because with the separated scripts that's not needed anymore. OFF doesn't run in GameMode at all and ON only runs when it's not disabled, that being the only time it should run anyway.

And I don't keep track of time. Your script added the time up inside a variable, and stopped the lamp when the time reached 4. I just thought its easier to simply compare the current time with the hour the oil was added and when that reaches 4 then just stop. Unless I'm missing something, it's simpler that way.

Thanks for the "hasOil" thing - it does make more sense like that. And thanks for the +24 hours for when going into the other day; don't know how I missed that.

With that said, your version of the OFF is the same as mine, with the exception that you're changing the "recorded" hour and day on every activation, while I keep the one with the oil.

On the ON side, parent.enable is required. If you have "Set Enable State Opposite of Parent" checked, then the "son" goes on when the "parent" goes off, but when the son goes off, the parent doesn't go on by itself.

Is there any reason you'd rather have the parent thing in the GameMode block instead of the onActivate one? I'd think it's better to have a minimum amount of code in GameMode as that one gets processed over and over.

The other variant for keeping track of time is borked. I looked it over again and it doesn't work right. The idea was to see when the lamp goes ON and save the hour and day inside the ON script. That would remove the necessity of going over into the other one for these values. The bad part is that there's no way of knowing if the lamp was just fueled or not.I was thinking that if I got the OFF lamp to "figure" that it became enabled not by the "onActivate" block but because the ON one went out (due to lack of oil), that would remove the last inter-script variable hassle.

I thought I'd try your script in the CS, just to see if it would work - in the way it's pasted here, I get the same error as I did with mine - it doesn't compile at "parent.day". I changed it to:

Spoiler
scriptName ccLampLightONref parentfloat timefloat hour						;1short day						;2short hasOil					;3begin onactivate	disable	parent.enableendbegin GameMode	if parent		if getDisabled			return		else			set day to parent.day				;4			set hour to parent.hour				;5			printc "parent hour: %.2f", hour	;6			printc "parent day: %.2f", day		;7			if (day == GamedaysPassed)				set time to time + (GameHour - hour)			else				set time to time + (GameHour - hour) + 24			endif			printc "parent hour old (should be same as above): %.2f", parent.hour		;8			set parent.hour to getCurrenttime			printc "parent hour new: %.2f", parent.hour									;9			if (time < 4)				return			endif			printc "parent hasOil: %.2f", hasOil										;10			set parent.hasOil to 0			printc "parent hasOil (should be 0): %.2f", hasOil							;11			set time to 0			disable			parent.enable		endif	else		set parent to getParentRef	; or use onload block	endifend
but this crashes my CS when I try to save it. No idea why, it's really weird. I added comments to the new lines. And I've changed parent.* into *, where appropriate.
User avatar
clelia vega
 
Posts: 3433
Joined: Wed Mar 21, 2007 6:04 pm

Post » Mon Mar 14, 2011 8:59 pm

I need to know on what kind of script can OnHit be used? I want to make a self spell that activates its script when the player is hit, can I use OnHit with Magic Effect script?

Still wondering about this one :whistling:

Also, about GetEquippedObject: there are separate entries for upper body only (2), lower body only (3), hand only (4), foot only (5), and all of them (20). Is it possible to use the all of them (20) type to obtain all currently used object in all respective slot rather than using each of them?

Also, if I have an armor that covers all of them (for example, Dark Brotherhood's Shrouded Armor), should I use the all of them type (20) to get the correct object value or simply using a part of it (either upper body or lower body or hand or foot) is enough?
User avatar
benjamin corsini
 
Posts: 3411
Joined: Tue Jul 31, 2007 11:32 pm

Post » Mon Mar 14, 2011 3:48 pm

If you delete all the rest is it still missing ? - you need to post more of your script - those 2 lines should work
http://www.gamesas.com/index.php?/topic/1073222-quick-questions-quick-answers-the-twentieth/page__view__findpost__p__15754280 - if the inverse is true try iSetName[setnum] := $tempstring or iSetName[setnum] := sv_construct "%z" tempstring

EDIT : http://www.gamesas.com/index.php?/topic/1091139-relz-oblivion-script-extender-obse-0018/page__view__findpost__p__15946875 - post some of your SCR


well the entire thing is huge, so ill just post the parts with this string stuff. I know the tempstring is being filled, Ive tested that, but then i need to store that string into an array so that i can use it again later, and in future parts of the script. Is it posible ot not use the tempstring at all, just the array location? I tried but it didnt like anything i put in.

array_var iSetNamestring_var tempstringshort setnumbegin gamemode...	elseif menu == 113		OpenTextInput "Name: |Done" 0 25		set menu to 113.5	elseif (menu == 113.5)		set button to GetButtonPressed		if (button == 0)			set tempstring to GetInputText			let iSetName[setnum] := tempstring			sv_destruct tempstring			CloseTextInput			set storeinfo to 1			set menu to 114		else			UpdateTextInput		endif...if storeinfo == 1...	let tempstring := iSetName[setnum]	setname $tempstring curset	sv_destruct tempstring	let SetMade[setnum] := 1...endifend

User avatar
Nancy RIP
 
Posts: 3519
Joined: Mon Jan 29, 2007 5:42 am

Post » Mon Mar 14, 2011 9:55 pm

well the entire thing is huge, so ill just post the parts with this string stuff. I know the tempstring is being filled, Ive tested that, but then i need to store that string into an array so that i can use it again later, and in future parts of the script. Is it posible ot not use the tempstring at all, just the array location? I tried but it didnt like anything i put in.
I cannot spot any problems with your code, so I would guess the problem is elsewhere. Are you sure the "setnum" variable is correct?

For the record, here is a copy from Map Marker Overhaul where I use a TextInput message box to read a string and store it in an array. Later on, I retrieve it with just "let str1 := player_markers[marker_index][2]"
		if button == -1			UpdateTextInput		else			if button == 0 ;OK				set marker_name to GetInputText				if eval(sv_Length marker_name) > 0					DebugPrint "MMO:Change name to: %z", marker_name					marker.SetName $marker_name					let player_markers[marker_index][2] := marker_name					...				endif			endif			CloseTextInput			let menu := 0		endif

User avatar
Juan Cerda
 
Posts: 3426
Joined: Thu Jul 12, 2007 8:49 pm

Post » Tue Mar 15, 2011 4:23 am

I don't keep track of "pause" because with the separated scripts that's not needed anymore.And I don't keep track of time. Your script added the time up inside a variable, and stopped the lamp when the time reached 4. I just thought its easier to simply compare the current time with the hour the oil was added and when that reaches 4 then just stop. Unless I'm missing something, it's simpler that way.
With that said, your version of the OFF is the same as mine, with the exception that you're changing the "recorded" hour and day on every activation, while I keep the one with the oil.

It should be the way I did it - think the scenario light at 15 turn off at 16 light again at 23 it will go immediately off

On the ON side, parent.enable is required. If you have "Set Enable State Opposite of Parent" checked, then the "son" goes on when the "parent" goes off, but when the son goes off, the parent doesn't go on by itself.

True, thanks

Is there any reason you'd rather have the parent thing in the GameMode block instead of the onActivate one?

Yes, in your script initially parent == 0 as I said (think about it the On_Activate does not run initially)- solution is OnLoad block as I said but in testing it's safer to have it in gmode

Dunno about the crash

Well fun part :
apparently the syntax :
set refVar to persistentRef ; I used getParentRef, but probably even an explicit editorID would not make a diffset var2 to refVar.var1
compiles and does nothing while :
set refVar to persistentRef  ; I used getParentRef, but probably even an explicit editorID would not make a diffset refVar.var1 to var2
doesn't even compile
I'd like to have this confirmed by our scripters :)

Once confirmed - quest script
User avatar
sas
 
Posts: 3435
Joined: Thu Aug 03, 2006 8:40 am

Post » Mon Mar 14, 2011 3:56 pm

..., about GetEquippedObject: there are separate entries for upper body only (2), lower body only (3), hand only (4), foot only (5), and all of them (20). Is it possible to use the all of them (20) type to obtain all currently used object in all respective slot rather than using each of them?

Also, if I have an armor that covers all of them (for example, Dark Brotherhood's Shrouded Armor), should I use the all of them type (20) to get the correct object value or simply using a part of it (either upper body or lower body or hand or foot) is enough?

IIRC the GetEquippedObject function is looking for an exact match, so GetEquippedObject 20 will only find a full-body item, and GetEquippedItem 2 won't find it if worn. That's the purpose of GetEquipmentSlotMask which has a bit for each slot and you get a match on any overlap between your mask and the item's.

To put it another way, GetEquippedObject answers the "Is the character wearing a...?" question, but GetEquipmentSlotMask answers the "Is the character wearing anything on her ...?"
User avatar
Brandon Bernardi
 
Posts: 3481
Joined: Tue Sep 25, 2007 9:06 am

Post » Mon Mar 14, 2011 11:38 pm

Hey scripters - can you confirm what I say in the codeboxes in my http://www.gamesas.com/index.php?/topic/1094908-quick-questions-quick-answers-the-23rd/page__view__findpost__p__16026686 :confused:

@ crimson.cosmos - this works :
Spoiler
scn cclampsQuestSCRarray_var hourarray_var dayarray_var hasOilshort initscriptName ccLampLightOFFref selfshort initstring_var strbegin GameMode	; change to an onLoad though it in't work very well (didn't test much)if init == 0	if (cclampsQuest.init == 0)		let cclampsQuest.hour := ar_Construct StringMap		let cclampsQuest.day := ar_Construct StringMap		let cclampsQuest.hasOil := ar_Construct StringMap		let cclampsQuest.init := 1	elseif cclampsQuest.init == 1		let init := 1		set self to getself		let str := sv_construct "%i" self		let cclampsQuest.hasOil[str] := 0	endifendifendbegin onactivateif eval(cclampsQuest.hasOil[str] == 0)	if (player.getItemCount Arrow1Iron < 1)	;aS1OilBottle		return	endif	player.removeItem Arrow1Iron, 1	let cclampsQuest.hasOil[str] := 1endifdisableendscriptName ccLampLightONref parentfloat timeshort dayfloat  hourstring_var strbegin onactivate	disable	parent.enableendbegin GameMode	if parent		if getDisabled			return		else			let hour := cclampsQuest.hour[str]			let day := cclampsQuest.day[str]			if eval(cclampsQuest.day[str] == GamedaysPassed)				set time to time + (GameHour - hour)			else				set time to time + (GameHour - hour) + 24			endif			let cclampsQuest.hour[str] := getCurrentTime			if (time < 4)				return			endif			let cclampsQuest.hasOil[str] := 0			set time to 0			disable			parent.enable		endif	else		set parent to getParentRef	; or use onload block		let str := sv_construct "%i" parent	endifend
Should test it with multiple lamps - and try to use non gameMode blocks (maybe buggy) - and replace those iron arrows I used :D
and embelish it a bit - hour var is superfluous for instance (probably) :
let time += GameHour - cclampsQuest.hour[str]
I used those vars in printCs which don't work nice with arrays (as far as I know)
and next time post a thread - this is the quick questions one :whistling:
User avatar
Samantha Jane Adams
 
Posts: 3433
Joined: Mon Dec 04, 2006 4:00 pm

Post » Mon Mar 14, 2011 3:33 pm

IIRC the GetEquippedObject function is looking for an exact match, so GetEquippedObject 20 will only find a full-body item, and GetEquippedItem 2 won't find it if worn. That's the purpose of GetEquipmentSlotMask which has a bit for each slot and you get a match on any overlap between your mask and the item's.

To put it another way, GetEquippedObject answers the "Is the character wearing a...?" question, but GetEquipmentSlotMask answers the "Is the character wearing anything on her ...?"

Well, I must have done something wrong. I tried this script:
ref playerequipbegin scripteffectstartset playerequip to player.getequipmentslotmask 4message "%2f" playerequipend

And it returns 0.00000, is it expected? Can a reference not be displayed? Only for script purposes?
User avatar
Rob Smith
 
Posts: 3424
Joined: Wed Oct 03, 2007 5:30 pm

Post » Mon Mar 14, 2011 2:05 pm

Well, I must have done something wrong. I tried this script:
ref playerequipbegin scripteffectstartset playerequip to player.getequipmentslotmask 4message "%2f" playerequipend

And it returns 0.00000, is it expected? Can a reference not be displayed? Only for script purposes?


message "%i" playerequip

User avatar
Jimmie Allen
 
Posts: 3358
Joined: Sun Oct 14, 2007 6:39 am

Post » Mon Mar 14, 2011 4:37 pm

Hi! This is my first post on this forum(!) and I'm not so skilled in using the Construction Set (I've read a couple of guides for modding for Oblivion).
And it is a question (that probably been answered somewhere already).

The question is:

Is it possible to add ground to an interior cell?
Like the ground your walking on in all the exterior cells.
Or can I somehow make a new exterior cell that I can use as an interior cell with ground in (like you gets teleported there when you walk through a door, and you can't access it any other way?

An example of a case where you might want to use this is if you're going to have an underground house, with garden, that you can access from a well in, for example Bruma, and another example can be an oblivion world, which you access through a gate.

/Komposten
User avatar
Kira! :)))
 
Posts: 3496
Joined: Fri Mar 02, 2007 1:07 pm

Post » Tue Mar 15, 2011 4:52 am

Is there any way to recover dead NPCs who have been purged from a cell? Example:

I killed Alawen. I fast travelled away, waited for 5 days, and went back. As expected, her body is gone. Now, is there a way to get it back? I tried using her reference ID to enable and resurrect her, but that didn't seem to help, there was nothing to be found. And using player.moveto just moved me to where she died.

Is there a way to do this through a script?


Edit: Actually, after waiting for a few game hours Alawen re-appeared. So it seems my script is working. Awesome.
User avatar
Queen of Spades
 
Posts: 3383
Joined: Fri Dec 08, 2006 12:06 pm

Post » Mon Mar 14, 2011 2:56 pm

message "%i" playerequip


DOH! :facepalm:
Thanks! Works wonders! :foodndrink: Now I'm halfway done
User avatar
K J S
 
Posts: 3326
Joined: Thu Apr 05, 2007 11:50 am

Post » Mon Mar 14, 2011 1:51 pm

Okay, here's an interesting question. I have a script that adds a permanent +10 bonus to intelligence, with the command 'modpcattribute intelligence 10'. My tester claims that he did not get the full 10 points, because his intelligence was damaged by a Will-o-the-Wisp before the script was activated. So when he restored his intelligence, he only had 3 more than before the script was activated.

Did he miss something or is this really an issue that could happen?

Edit: Tried it myself and couldn't reproduce the bug. Either he was wrong or he's using a levelling mod that has this problem.
User avatar
kevin ball
 
Posts: 3399
Joined: Fri Jun 08, 2007 10:02 pm

Post » Mon Mar 14, 2011 11:01 pm

Never mind my other post here. I managed to do that myself.

I made a couple of other changes in Cyrodiil, and one of them was adding a door.
I want to link that door to my interior cell, but I can't get it to work!
I double-klicked on the door so the menu opened. I changed to the "teleport"-tab, and clicked in the box that activates the "teleport" function. In the list of cells, I found my interior cell, and klicked on it. But nothing appears in the reference box!!!! I can't link it to my door! And the same thing happens on all the other doors that I want to link.

What am I doing wrong?

Thanks in advance / Komposten
User avatar
Marcin Tomkow
 
Posts: 3399
Joined: Sun Aug 05, 2007 12:31 pm

Post » Mon Mar 14, 2011 2:50 pm

Never mind my other post here. I managed to do that myself.

I made a couple of other changes in Cyrodiil, and one of them was adding a door.
I want to link that door to my interior cell, but I can't get it to work!
I double-klicked on the door so the menu opened. I changed to the "teleport"-tab, and clicked in the box that activates the "teleport" function. In the list of cells, I found my interior cell, and klicked on it. But nothing appears in the reference box!!!! I can't link it to my door! And the same thing happens on all the other doors that I want to link.

What am I doing wrong?

Thanks in advance / Komposten

You must go to your interior and make that door a persistent reference - double-clicki on the interior door so the menu opens and check the box persistent - how did you add ground to the interior ?
User avatar
gemma king
 
Posts: 3523
Joined: Fri Feb 09, 2007 12:11 pm

Post » Mon Mar 14, 2011 8:02 pm

You must go to your interior and make that door a persistent reference - double-clicki on the interior door so the menu opens and check the box persistent - how did you add ground to the interior ?


Thanks for the help with the "teleporters"! I really appreciate the fast reply.
But let's go on to your question (1), and my new one (2).

1. I did not really add ground into an interior cell, I made a new worldspace, using "World -> World Spaces" in the menu-row on the top of the editor.

2. This time it is my Height editor, that I can't get working. I press H, but what should I do next, to get the grid appear over the ground (so I manually can change the terrain, using my mouse and the grid), and how do I do to raise/lower the ground? In the Beginners guide, I read that I only need to press down the mouse button and move the mouse up/down, but I can't get it to work! Did I miss something?

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

Post » Tue Mar 15, 2011 3:40 am

Is there any way to simulate an OnHit block on a token or by other means? I need to know whether an actor was hit by the player directly after he was hit (like 'OnHit player' would work on a script directly put on the actor). It needs to work for any actor in the game so best would be if it could work from a token.

EDIT: Tejon answered my question, there is no way. If one of the OBSE guys reads this: make it happen!
User avatar
Astargoth Rockin' Design
 
Posts: 3450
Joined: Mon Apr 02, 2007 2:51 pm

Next

Return to IV - Oblivion