//:://///////////////////////////////////////////// //:: inc_tavern //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* */ //::////////////////////////////////////////////// //:: Created By: Lysandius //:: Created On: 12-07-2002 //::////////////////////////////////////////////// int INT_STOCKLIMIT_LOW = 5; object OBJ_KEG_ALE = GetNearestObjectByTag("item_keg_ale"); object OBJ_CRATE_WINE = GetNearestObjectByTag("item_crate_wine"); object OBJ_CRATE_SPIRITS = GetNearestObjectByTag("item_crate_spirits"); object OBJ_CRATE_STORAGE = GetNearestObjectByTag("item_crate_storage"); object OBJ_WAYPOINT_BAR = GetNearestObjectByTag("waypoint_bar"); object OBJ_WAYPOINT_STORAGE = GetNearestObjectByTag("waypoint_storage"); object OBJ_WAYPOINT_STAIRS = GetNearestObjectByTag("waypoint_stairs"); int TransferItem(object oObjectTo, object oObjectFrom, string sItemTag, int nAmount); void ActionCreateItemOnObject(string sItemTemplate, object oTarget); // Transfer nAmount items from oObjectFrom to oObjectTo. // Returns the amount of items that could NOT be transferred. int TransferItem(object oObjectTo, object oObjectFrom, string sItemTag, int nAmount) { int nCount; object oItem = GetFirstItemInInventory(oObjectFrom); while (GetIsObjectValid(oItem)) { string sTag = GetTag(oItem); if (sTag == sItemTag) { nCount += GetNumStackedItems(oItem); DestroyObject(oItem); } oItem = GetNextItemInInventory(oObjectFrom); } int nNeeded; while (nCount > 0 && nAmount > nNeeded) { nNeeded++; nCount--; } while (nNeeded > 0) { CreateItemOnObject(sItemTag, oObjectTo); nNeeded--; nAmount--; } while (nCount > 0) { DelayCommand(0.1, ActionCreateItemOnObject(sItemTag, oObjectFrom)); nCount--; } return nAmount; } void ActionCreateItemOnObject(string sItemTemplate, object oTarget) { CreateItemOnObject(sItemTemplate, oTarget); }