Jump to content

Quest Update Script Help


reaper9111

Recommended Posts

Hello guys, i'm getting fedup to try and retry writting my quest update scrip...its just not working...

 

Here's what ive try so far:

 

Script as a (Quest Script) attach to the quest itself (quest data page)

 

Scn ScriptName

 

Short DoOnce

 

Begin GameMode

 

If DoOnce == 0

If GetStage QuestName 20 && Player.GetDistance ThisMarkerRef <= 500

SetStage QuestName 30

Set DoOnce to 1

EndIf

EndIf

If GetStage QuestName 40 && Player.GetInCell ThisCell == 1

SetStage QuestName 50

EndIf

 

End

 

At this point those 2 updates dont have any conditions set up for them...

I also try a different script set up (Object Script) attach to an object (a script for both updates needed) above.with a lil diference in this script...

One script for update 30 and one for update 50 both seperate. Does'nt work eather.

I also try making the update via condition only (each update with they own condition requirment needed to be updated), does'nt work...

INFO:

update 30 is needed when reaching a destination in an exterior cell, and update 50 is needed when entering a interior cell the first time and will also close (Finish) this quest....

and the update 40 is triggered by the death of someone... (is working fine)

 

Why where and what i'm wrong, please help me figure it out, this is my first attemop at quest making, and i'm getting really angry... and discouraged !

 

Many thankx !

Link to comment
Share on other sites

I haven't run it through a trial, but isn't the line:

 

 

If GetStage QuestName 20 && Player.GetDistance ThisMarkerRef <= 500

 

Supposed to read:

 

 

If (GetStage QuestName == 20) && (Player.GetDistance ThisMarkerRef <= 500)

 

I'm pretty sure you have to tell the program what to do with the QuestName stage check. Leaving out the '==' probably told it an invalid command that could still compile. I dunno. Maybe I'm just being dense.

 

-edit-

 

Check out this tutorial for a good peek into the inner child of quest scripting:

Anatomy of a Quest pt.1

 

If you get lost, check out the beginning of the tutorial (links at bottom of page I linked to). Also, making quest scripts "begin onActivate" means they run every second of the game. Try to keep these types of scripts to a minimum for best performance.

Link to comment
Share on other sites

Oblivion Scripting language has many unreliable commands which are supposed to work and often do, but often fail to work.

 

If Player.GetDistance ThismarkerRef <= 500

fails often enough that I have stopped using it.

I now use:

If GetDistance Player <= 500

[Object script attached to a hidden ingredient or something. I usually put it inside a rock, or inside a wall. Sometimes it is just something worthless in plain sight like a bone.]

 

In the documentation and discussion, GetInCell is thought by some people to be unreliable for some uses. I have not formed a firm opinion. I have witnessed it not working, but that may be because the other commands it was with were faulty.

 

Setstage 30 only ever executes once, and it is impossible to go back to stage 20, so the DoOnce may waste computer power and contribute to lag. (Mainly it just takes more time to type.)

 

So I would do your script like this:

 

Scn ScriptName

; Object script placed on hidden item.

Begin GameMode

If GetStage QuestName == 20 && GetDistance Player <= 500
 SetStage QuestName 30
EndIf
If GetStage QuestName == 40 && GetDistance Player <= 3000
 SetStage QuestName 50
EndIf

End

Link to comment
Share on other sites

In regards to what David suggested, I would suggest using light bulbs. They are invisible ingame, you can reduce the light to 0 that they produce, and you can use the light radius to test in the CS the distance you want to use instead of going back and forth ingame.

 

I made great use of them in the mod Im working on now. Thats all I have to say on that matter.

Link to comment
Share on other sites

I personally like to use the following file:

Measures Modders Resource

 

It only contains 2 objects, both rulers. One is a basic, straight ruler. The other looks like a target and has measurements written on the edges of the rings. Both are very helpful. Just thought I'd share. I do like the Light bulb idea however. I'm gonna have to use that.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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