Jump to content

Need script to make a crafted Item a Quest Object.


Masterofnet

Recommended Posts

There is another issue. When I pick up any object at the start of the game it triggers the quest.

 

 

Scriptname A1TQPlayerForceAliasScript extends ReferenceAlias
Armor Property MyObject Auto
ReferenceAlias Property RefAlias Auto
Event OnItemAdded(Form akBaseItem, Int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)
if (A1TQCraft1.GetStage() == thestagethatthequestiscurrrentlyat)
Utility.Wait(0.1)
ObjectReference MyObjectRef = Game.GetPlayer().DropObject(MyObject)
RefAlias.ForceRefTo(MyObjectRef)
Game.GetPlayer().AddItem(MyObjectRef, abSilent = True)
A1TQCraft1.SetObjectivedisplayed(10)
A1TQCraft1.SetStage(20)
endif
EndEvent
Quest Property A1TQCraft1 Auto

the item can't drop?

-is it due to registering itself without detection of quest stages? OR

-top left message say that it can't be dropped? is the playable checkbox of the item form ticked?

 

might need the item checked as well or else anything you add to inventory when your quest is at that stage might just give the quest item.

 

Clear() should be enough to get it working wihout using removeitem()

Edited by fantasy19
Link to comment
Share on other sites

The item will not drop. The message says you can not drop quest items. The other items from the quest can be removed.

 

Do you happed to know the Script for Quest is running??

 

if (akActivator == game.GetPlayer() && HelgenTestQuest.GetStage() >= 100)

 

 

I would like to set the HelgenTestQuest to is running 0. Instead of getstage. To make sure the HelgenTestQuest is not running before it triggers the next stage.

 

I know it is a simple script but I can not find it .

Link to comment
Share on other sites

is the quest item playable under its own armor tab? if it is, can you " debug.messagebox(Alias_AliasName) " after the line " Alias_AliasName.Clear() " at your stage script fragment Xander mentioned to check whether the alias still contains anything after being cleared?

 

Which quest are you talking about?

Edited by fantasy19
Link to comment
Share on other sites

I finally came up with a solution. This code forces the alias and the item can be dropped after the quest.

 

 

alias_Gauntlets.ForceRefTo(Game.GetPlayer().PlaceAtMe(Gauntlets))
Game.GetPlayer().AddItem(Alias_Gauntlets.GetRef())

 

 

I craft and item and when it is placed in the player it is immediately removed and the code above places the item in the player inventory.

 

 

There is only one small problem.

 

 

absilent will not work on this script Game.GetPlayer().AddItem(Alias_Gauntlets.GetRef()). So the screen shows the player receiving 2 items.

 

 

Does anyone know how I could place absilent on the item coming out of the forge or get absilent to work on this script? Game.GetPlayer().AddItem(Alias_Gauntlets.GetRef())

 

 

The problem is when the item is received from the forge it has already been added so I do not know how to get absilent to work there.

Link to comment
Share on other sites

This solution works perfectly.

 

The forge adds the item. You use absilent to remove it and the code below to place it back. (You must set up the alias and add the items to the quest script.)

The item is forced into the alias as a quest item and it can be dropped after the quest. And with the help of Fantasy19's script it only shows one item being added to the players inventory.

 

 

alias_Gauntlets.ForceRefTo(Game.GetPlayer().PlaceAtMe(Gauntlets))
Game.GetPlayer().AddItem(Alias_Gauntlets.GetRef(),1,true)

Link to comment
Share on other sites

  • Recently Browsing   0 members

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