Jump to content

Reznod's mannequins revision: script issue


Balakirev

Recommended Posts

I created a new base object, ReznodMannequinRedguardM, and two reference objects for it in the Reznod Holder Cell. Now, when I go to save a copy of ReznodMannequinRedguardMScript, I get the message:

 

"Invalid inventory object "ReznodMannequinRedguardM" for parameter ObjectID. Compiled script not saved!"

 

Any idea what's going on? Because, logically, I have created the base object, already. This also matches up to the way Reznod did his objects and scripts. (Not deviating from that, because I know zip about scripting in Oblivion.)

Link to comment
Share on other sites

While I'm at it, here's the script in question, in full. Please note, I take no credit for it, nor can I discuss the fine points of it. It's Reznod's. All I've done is change a couple of references.

 

ScriptName ReznodMannequinRedguardMScript

Ref MySelf
Short MessageStatus
Short MessageAnswer
Short CurrentState
Short MyAlert

Short Edit
Short Pose
Short Sneak
Short Alert
Short UpdatePose
Float Timer
Short DummyCount

Float MyX
Float MyY
Float MyZ
Float MyRot

Begin OnLoad

if ( MyX == 0 )
if ( MyY == 0 )
if ( MyZ == 0 )
if ( MyRot == 0 )
set MyX to Player.GetPos X
set MyY to Player.GetPos Y
set MyZ to Player.GetPos Z
set MyRot to Player.GetAngle Z
set Pose to 0
set Sneak to 0
set Alert to 0
endif
endif
endif
endif

SetForceSneak Sneak

if ( Pose == 0 )
PlayGroup Idle 1
elseif ( Pose == 1 )
PlayGroup BlockIdle 1
elseif ( Pose == 2 )
PlayGroup CastSelf 1			; left
elseif ( Pose == 3 )
PlayGroup CastSelfAlt 1		; right
elseif ( Pose == 4 )
PlayGroup CastTarget 1		; left
elseif ( Pose == 5 )
PlayGroup CastTargetAlt 1	; right
elseif ( Pose == 6 )
PlayGroup CastTouch 1		; two handed
elseif ( Pose == 7 )
PlayGroup CastTouchAlt 1	; right	
endif

set Timer to 0

SetGhost 1

End

Begin OnActivate

set MessageStatus to 1
set MyX to GetPos X
set MyY to GetPos Y
set MyZ to GetPos Z
set MyRot to GetAngle Z

End

Begin GameMode

if ( Edit == 0 )
if ( UpdatePose == 1 )
set MySelf to GetSelf
if ( CurrentState == 0 )
	set CurrentState to 1
endif
elseif ( UpdatePose == 2 )
set UpdatePose to 0
set ReznodMannequinPoseActiveRef.MyRef to MySelf
ReznodMannequinPoseActiveRef.MoveTo MySelf
MoveTo ReznodMannequinContainerObject
endif
endif

if ( Timer < 0.8 )
set Timer to ( Timer + GetSecondsPassed )
else
SetUnconscious 0
SkipAnim
endif

if ( GetItemCount ReznodMannequinDummyWeapon > 1 )
set DummyCount to ( GetItemCount ReznodMannequinDummyWeapon - 1 )
RemoveItem ReznodMannequinDummyWeapon DummyCount
elseif ( GetItemCount ReznodMannequinDummyWeapon == 0 )
AddItem ReznodMannequinDummyWeapon 1
endif

if ( CurrentState > 0 )
if ( CurrentState == 1 )
	RemoveAllItems ReznodMannequinContainerObject
	set CurrentState to 2
	Return
elseif ( CurrentState == 2 )
	SetUnconscious 0
	ReznodMannequinContainerObject.RemoveAllItems MySelf
	SetAV Luck 0
	set CurrentState to 3
	Return
elseif ( CurrentState == 3 )
	EvaluatePackage ReznodMannequinActorAIWearable
	set CurrentState to 4
	Return
elseif ( CurrentState == 4 )
	SetAV Luck 1
	set CurrentState to 5
	Return
elseif ( CurrentState == 5 )
	EvaluatePackage ReznodMannequinActorAIArmor
	SetAlert Alert
	set CurrentState to 6
	Return
elseif ( CurrentState < 10 )
	set CurrentState to ( CurrentState + 1 )
	Return
else
	SetUnconscious 1
	set UpdatePose to 2
	set CurrentState to 0
endif
else
SetPos X MyX
SetPos Y MyY
SetPos Z MyZ
SetAngle Z MyRot
endif

if ( MessageStatus == 0 )
Return
elseif ( MessageStatus == 1 )
MessageBox "What would you like to do?" "Return" "Modify Inventory" "Pick Up" "Pose"
set Edit to 1
set MessageStatus to 2
elseif ( MessageStatus == 2 )
set MessageAnswer to GetButtonPressed
if ( MessageAnswer == -1 )
	Return
elseif ( MessageAnswer == 0 )
	set Edit to 0
	set MessageStatus to 0
	Return
elseif ( MessageAnswer == 1 )
	RemoveItem ReznodMannequinDummyWeapon 1
	RemoveAllItems ReznodMannequinContainerObject
	ReznodMannequinContainerObject.Activate Player 1
	set UpdatePose to 1
	set MessageStatus to 1
	Return
elseif ( MessageAnswer == 2 )
	RemoveItem ReznodMannequinDummyWeapon 1
	RemoveAllItems Player
	Player.AddItem ReznodMannequinRedguardM Object 1
	set MyX to 0
	set MyY to 0
	set MyZ to 0
	set MyRot to 0
	MoveTo ReznodMannequinContainerObject
	Return
elseif ( MessageAnswer == 3 )
	set MessageStatus to 3
	Return
endif
elseif ( MessageStatus == 3 )
if ( Sneak == 1 )
	if ( Alert == 1 )
		if ( Pose == 1 )
			MessageBox "What pose would you like?" "Return" "Face" "* Toggle Sneak" "* Toggle Weapon Drawn" "* Toggle Sheild Raised" "Casting Options"
		elseif ( Pose == 0 )
			MessageBox "What pose would you like?" "Return" "Face" "* Toggle Sneak" "* Toggle Weapon Drawn" "Toggle Sheild Raised" "Casting Options"
		else
			MessageBox "What pose would you like?" "Return" "Face" "* Toggle Sneak" "* Toggle Weapon Drawn" "Toggle Sheild Raised" "* Casting Options"
		endif
	else
		if ( Pose == 1 )
			MessageBox "What pose would you like?" "Return" "Face" "* Toggle Sneak" "Toggle Weapon Drawn" "* Toggle Sheild Raised" "Casting Options"
		elseif ( Pose == 0 )
			MessageBox "What pose would you like?" "Return" "Face" "* Toggle Sneak" "Toggle Weapon Drawn" "Toggle Sheild Raised" "Casting Options"
		else
			MessageBox "What pose would you like?" "Return" "Face" "* Toggle Sneak" "Toggle Weapon Drawn" "Toggle Sheild Raised" "* Casting Options"
		endif
	endif
else
	if ( Alert == 1 )
		if ( Pose == 1 )
			MessageBox "What pose would you like?" "Return" "Face" "Toggle Sneak" "* Toggle Weapon Drawn" "* Toggle Sheild Raised" "Casting Options"
		elseif ( Pose == 0 )
			MessageBox "What pose would you like?" "Return" "Face" "Toggle Sneak" "* Toggle Weapon Drawn" "Toggle Sheild Raised" "Casting Options"
		else
			MessageBox "What pose would you like?" "Return" "Face" "Toggle Sneak" "* Toggle Weapon Drawn" "Toggle Sheild Raised" "* Casting Options"
		endif
	else
		if ( Pose == 1 )
			MessageBox "What pose would you like?" "Return" "Face" "Toggle Sneak" "Toggle Weapon Drawn" "* Toggle Sheild Raised" "Casting Options"
		elseif ( Pose == 0 )
			MessageBox "What pose would you like?" "Return" "Face" "Toggle Sneak" "Toggle Weapon Drawn" "Toggle Sheild Raised" "Casting Options"
		else
			MessageBox "What pose would you like?" "Return" "Face" "Toggle Sneak" "Toggle Weapon Drawn" "Toggle Sheild Raised" "* Casting Options"
		endif
	endif
endif
set MessageStatus to 4
elseif ( MessageStatus == 4 )
set MessageAnswer to GetButtonPressed
if ( MessageAnswer == -1 )
	Return
elseif ( MessageAnswer == 0 )
	set MessageStatus to 1
	Return
elseif ( MessageAnswer == 1 )
	set MyRot to ( Player.GetAngle Z - 180 )
	set UpdatePose to 1
	set MessageStatus to 3
	Return
elseif ( MessageAnswer == 2 )
	if ( Sneak == 0 )
		set Sneak to 1
	else
		set Sneak to 0
	endif
	set UpdatePose to 1
	set MessageStatus to 3
	Return
elseif ( MessageAnswer == 3 )
	if ( Alert == 0 )
		set Alert to 1
	else
		set Alert to 0
	endif
	set UpdatePose to 1
	set MessageStatus to 3
	Return
elseif ( MessageAnswer == 4 )
	if ( Pose == 1 )
		set Pose to 0
	else
		set Pose to 1
	endif
	set UpdatePose to 1
	set MessageStatus to 3
	Return
elseif ( MessageAnswer == 5 )
	set MessageStatus to 5
	Return
endif
elseif ( MessageStatus == 5 )
if ( Pose == 2 || Pose == 3 )
	MessageBox "What type of casting would you like to pose?" "Return" "* Self" "Target" "Touch"
elseif ( Pose == 4 || Pose == 5 )
	MessageBox "What type of casting would you like to pose?" "Return" "Self" "* Target" "Touch"
elseif ( Pose == 6 || Pose == 7 )
	MessageBox "What type of casting would you like to pose?" "Return" "Self" "Target" "* Touch"
else
	MessageBox "What type of casting would you like to pose?" "Return" "Self" "Target" "Touch"
endif
set MessageStatus to 6
elseif ( MessageStatus == 6 )
set MessageAnswer to GetButtonPressed
if ( MessageAnswer == -1 )
	Return
elseif ( MessageAnswer == 0 )
	set MessageStatus to 3
	Return
elseif ( MessageAnswer == 1 )
	set MessageStatus to 7
	Return
elseif ( MessageAnswer == 2 )
	set MessageStatus to 9
	Return
elseif ( MessageAnswer == 3 )
	set MessageStatus to 11
	Return
endif
elseif ( MessageStatus == 7 )
if ( Pose == 2 )
	MessageBox "What variation of cast on self would you like to pose?" "Return" "* Left Handed" "Right Handed"
elseif ( Pose == 3 )
	MessageBox "What variation of cast on self would you like to pose?" "Return" "Left Handed" "* Right Handed"
else
	MessageBox "What variation of cast on self would you like to pose?" "Return" "Left Handed" "Right Handed"
endif
set MessageStatus to 8
elseif ( MessageStatus == 8 )
set MessageAnswer to GetButtonPressed
if ( MessageAnswer == -1 )
	Return
elseif ( MessageAnswer == 0 )
	set MessageStatus to 5
	Return
elseif ( MessageAnswer == 1 )
	set Pose to 2
	set UpdatePose to 1
	set MessageStatus to 7
	Return
elseif ( MessageAnswer == 2 )
	set Pose to 3
	set UpdatePose to 1
	set MessageStatus to 7
	Return
endif
elseif ( MessageStatus == 9 )
if ( Pose == 4 )
	MessageBox "What variation of cast on target would you like to pose?" "Return" "* Left Handed" "Right Handed"
elseif ( Pose == 5 )
	MessageBox "What variation of cast on target would you like to pose?" "Return" "Left Handed" "* Right Handed"
else
	MessageBox "What variation of cast on target would you like to pose?" "Return" "Left Handed" "Right Handed"
endif
set MessageStatus to 10
elseif ( MessageStatus == 10 )
set MessageAnswer to GetButtonPressed
if ( MessageAnswer == -1 )
	Return
elseif ( MessageAnswer == 0 )
	set MessageStatus to 5
	Return
elseif ( MessageAnswer == 1 )
	set Pose to 4
	set UpdatePose to 1
	set MessageStatus to 9
	Return
elseif ( MessageAnswer == 2 )
	set Pose to 5
	set UpdatePose to 1
	set MessageStatus to 9
	Return
endif
elseif ( MessageStatus == 11 )
if ( Pose == 6 )
	MessageBox "What variation of cast on touch would you like to pose?" "Return" "* Two Handed" "Right Handed"
elseif ( Pose == 7 )
	MessageBox "What variation of cast on touch would you like to pose?" "Return" "Two Handed" "* Right Handed"
else
	MessageBox "What variation of cast on touch would you like to pose?" "Return" "Two Handed" "Right Handed"
endif
set MessageStatus to 12
elseif ( MessageStatus == 12 )
set MessageAnswer to GetButtonPressed
if ( MessageAnswer == -1 )
	Return
elseif ( MessageAnswer == 0 )
	set MessageStatus to 5
	Return
elseif ( MessageAnswer == 1 )
	set Pose to 6
	set UpdatePose to 1
	set MessageStatus to 11
	Return
elseif ( MessageAnswer == 2 )
	set Pose to 7
	set UpdatePose to 1
	set MessageStatus to 11
	Return
endif
endif

End

Link to comment
Share on other sites

I remember getting a similar error once when trying to modify the reznod esp, and it was because I wasn't launching the CS with OBSE. If that's not it then I'm out of ideas. Good luck.

 

-Razorpony

 

How would one even go about launching the CS with OBSE? I haven't any idea, at all.

Link to comment
Share on other sites

Are you sure that ReznodMannequinRedguardM is object's ID? Because i think that you called it ReznodMannequinRedguardMObject or am i wrong? See, this is part of your script:

 

 

         elseif ( MessageAnswer == 2 )
               RemoveItem ReznodMannequinDummyWeapon 1
               RemoveAllItems Player
               Player.AddItem ReznodMannequinRedguardM [Object] 1

 

See, there is space between "M" and "O". I think there should not be any spaces, right? So try this:

 

         elseif ( MessageAnswer == 2 )
               RemoveItem ReznodMannequinDummyWeapon 1
               RemoveAllItems Player
               Player.AddItem ReznodMannequinRedguardM[Object] 1

Link to comment
Share on other sites

Are you sure that ReznodMannequinRedguardM is object's ID? Because i think that you called it ReznodMannequinRedguardMObject or am i wrong? See, this is part of your script:

 

 

         elseif ( MessageAnswer == 2 )
               RemoveItem ReznodMannequinDummyWeapon 1
               RemoveAllItems Player
               Player.AddItem ReznodMannequinRedguardM [Object] 1

 

See, there is space between "M" and "O". I think there should not be any spaces, right? So try this:

 

         elseif ( MessageAnswer == 2 )
               RemoveItem ReznodMannequinDummyWeapon 1
               RemoveAllItems Player
               Player.AddItem ReznodMannequinRedguardM[Object] 1

 

I did try that, as well. Still didn't work. But hey, I'll try it again.

Link to comment
Share on other sites

Try loading in OBSE. To do that:

 

Browse to your oblivion folder, NOT data. In the folder you should see OBSE_Loader. Right click and make a shortcut out of this.

 

In the new OBSE_Loader shortcut, right click and go to properties. In the target field, add -Editor to the very end of the line, so it'll look something like this:

 

"E:\Games\Bethesda Softworks\Oblivion\obse_loader.exe" -Editor

 

Then use the modified shortcut to launch the CS with OBSE capabilities.

 

 

It's been a while since I've looked at the mannequin requirements, but I believe it /does/ require OBSE, and if that's the case you won't be able to save the script at all since the vanilla CS wouldn't recognize the new functions.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...