42 lines
1.4 KiB
Plaintext
42 lines
1.4 KiB
Plaintext
|
/****************************************************
|
||
|
Action Taken Script : Open Store Script
|
||
|
ats_at_openstore
|
||
|
|
||
|
Last Updated: August 24, 2002
|
||
|
|
||
|
***Ambrosia Tradeskill System***
|
||
|
Created by Mojo(Allen Sun)
|
||
|
|
||
|
This script belongs to the conversation file for
|
||
|
a crafting NPC. It is used to create the store
|
||
|
if one doesn't exist and then opens it.
|
||
|
****************************************************/
|
||
|
#include "ats_inc_common"
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
string sNPCTag = GetTag(OBJECT_SELF);
|
||
|
int iTagLength = GetStringLength(sNPCTag);
|
||
|
string sStoreTag = "ATS_STORE_" + GetStringRight(sNPCTag, iTagLength - 8);
|
||
|
|
||
|
// Either open the store with that tag or create the store.
|
||
|
object oStore = GetLocalObject(OBJECT_SELF, "ats_object_store");
|
||
|
|
||
|
if(GetIsObjectValid(oStore) == FALSE)
|
||
|
{
|
||
|
oStore = CreateObject(OBJECT_TYPE_STORE, ATS_GetResRefFromTag(sStoreTag), GetLocation(OBJECT_SELF));
|
||
|
SetLocalObject(OBJECT_SELF, "ats_object_store", oStore);
|
||
|
object oCurrentItem = GetFirstItemInInventory(oStore);
|
||
|
while(oCurrentItem != OBJECT_INVALID)
|
||
|
{
|
||
|
SetLocalInt(oCurrentItem, "ats_onstore_original", TRUE);
|
||
|
oCurrentItem = GetNextItemInInventory(oStore);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
if(GetObjectType(oStore) == OBJECT_TYPE_STORE)
|
||
|
OpenStore(oStore, GetPCSpeaker());
|
||
|
else
|
||
|
ActionSpeakStringByStrRef(53090, TALKVOLUME_TALK);
|
||
|
}
|