Difference between revisions of "DropAllItems"
Fixed the bottom script
imported>Scruggs (looping version) |
imported>Haama (Fixed the bottom script) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Make a quest called DropAllItems, and attach this script to it | |||
<pre>scn DropAllItemsQuestScript | |||
short DropAllItems | |||
ref ActorRef | |||
ref CurObj | |||
short CurObjNum | |||
float fquestdelaytime | |||
begin GameMode | |||
set fquestdelaytime to 0.001 | |||
if DropAllItems | |||
if ActorRef | |||
set CurObj to ActorRef.GetInventoryObject 0 | |||
if CurObj | |||
set CurObjNum to ActorRef.GetItemCount CurObj | |||
ActorRef.Drop CurObj CurObjNum | |||
else | |||
set DropAllItems to 0 | |||
endif | |||
endif | |||
endif | |||
end</pre> | |||
Whenever you want an actor to drop all of their items, use these lines in the calling script | |||
<pre>set DropAllItems.ActorRef to Actor | |||
set DropAllItems.DropAllItems to 1</pre> | |||
Note that using OBSE's loop functions may result in a crash. See [[:Category:OBSE_Flow_Control_Functions|this link]] for more information. | |||
Also, dropping quest items from the player will probably be bad, so here's a more complex script to ensure that doesn't happen | |||
<pre>scn DropAllItemsQuestScript | |||
short DropAllItems | |||
ref ActorRef | |||
ref CurObj | |||
short CurObjNum | |||
float fquestdelaytime | |||
short InvPosition | |||
begin GameMode | |||
set fquestdelaytime to 0.001 | |||
if (DropAllItems == 1) | |||
set DropAllItems to 2 | |||
set InvPosition to 0 | |||
elseif (DropAllItems == 2) | |||
if ActorRef | |||
set CurObj to (ActorRef.GetInventoryObject InvPosition) | |||
if CurObj | |||
if (IsQuestItem CurObj == 0) || (ActorRef != player) | |||
set CurObjNum to (ActorRef.GetItemCount CurObj) | |||
ActorRef.Drop CurObj CurObjNum | |||
else | |||
set | set InvPosition to (InvPosition + 1) | ||
endif | |||
else | |||
set DropAllItems to 0 | |||
endif | |||
set | |||
endif | endif | ||
endif | endif | ||
end</pre> | end</pre> | ||
[[Category: Useful Code]] |