static bool Cmd_GetTransactionInfo_Execute(COMMAND_ARGS) { char type[0x100] = { 0 }; ArrayID arrID = 0; if (ExtractArgs(PASS_EXTRACT_ARGS, type) && type[0]) { const TransactionInfo* info = NULL; if (!_stricmp(type, "buy")) { info = GetLastTransactionInfo(kPC_Buy, scriptObj->refID); } else if (!_stricmp(type, "sell")) { info = GetLastTransactionInfo(kPC_Sell, scriptObj->refID); } if (info) { arrID = g_ArrayMap.Create(kDataType_String, false, scriptObj->GetModIndex()); g_ArrayMap.SetElementFormID(arrID, "buyer", info->buyer->refID); g_ArrayMap.SetElementFormID(arrID, "seller", info->seller->refID); g_ArrayMap.SetElementFormID(arrID, "item", info->item->refID); g_ArrayMap.SetElementNumber(arrID, "price", info->price); g_ArrayMap.SetElementNumber(arrID, "quantity", info->quantity); } } *result = arrID; return true; }
static bool Cmd_GetLastTransactionQuantity_Execute(COMMAND_ARGS) { UInt32 quantity = 0; GetLastTransactionInfo(NULL, &quantity); *result = quantity; DEBUG_PRINT("GetLastTransactionQuantity >> %.0f", *result); return true; }
static bool Cmd_GetLastTransactionItem_Execute(COMMAND_ARGS) { TESForm* form = NULL; GetLastTransactionInfo(&form, NULL); UInt32* refResult = (UInt32*)result; *refResult = form ? form->refID : 0; DEBUG_PRINT("GetLastTransactionItem >> %s", GetFullName(form)); return true; }