53 lines
1.5 KiB
Plaintext
53 lines
1.5 KiB
Plaintext
|
///////////////////////////////////////////////////////
|
||
|
// clean_store2
|
||
|
// Merchant inventory cleanup script 2.0
|
||
|
// goes in merchant object onOpenStore script handler
|
||
|
//
|
||
|
// written September 30, 2003 by NWC Snake
|
||
|
// copyright 2003 by Neverwinter Consortium
|
||
|
// Permission to use this script is granted as long
|
||
|
// as no changes are made to any portion of the script
|
||
|
//
|
||
|
//////////////////////////////////////////////////////
|
||
|
//
|
||
|
// This script will eliminate items tagged with the
|
||
|
// local integer PCItem
|
||
|
//
|
||
|
// Requires onItemAcquired script that sets PCItem
|
||
|
// to 1 when a PC picks up an item
|
||
|
//
|
||
|
// This version does not allow PC items to persist
|
||
|
// in the merchant inventory. PC items are destroyed
|
||
|
// when the store is first opened
|
||
|
//
|
||
|
// If the store is opened by a conversation, make sure
|
||
|
// you set it to No Interruption to avoid problems
|
||
|
//
|
||
|
//////////////////////////////////////////////////////
|
||
|
|
||
|
|
||
|
void main()
|
||
|
{ // start main
|
||
|
|
||
|
// create object variable for store object (self)
|
||
|
object oStore = OBJECT_SELF;
|
||
|
|
||
|
// Get first item in store inventory
|
||
|
object oItem = GetFirstItemInInventory(oStore);
|
||
|
|
||
|
// start while loop, checking for valid inventory items
|
||
|
while(GetIsObjectValid(oItem))
|
||
|
{
|
||
|
// read item's PCItem flag
|
||
|
int nItemFlag = GetLocalInt(oItem, "PCItem");
|
||
|
|
||
|
// if PCItem flag is non-zero, destroy the item
|
||
|
if(nItemFlag != 0)
|
||
|
{
|
||
|
DestroyObject(oItem);
|
||
|
}
|
||
|
// get next item in store inventory
|
||
|
oItem = GetNextItemInInventory(oStore);
|
||
|
} // end while
|
||
|
} // end main
|