TransactSell Script: Difference between revisions
New page: {{context|Kit Reference|Script Types}} ==Technical Details== :{| class="scripttable" |class="leftnormal"|Initial Context: |Pick |- |Alternate Context: |None |- |Fields F... |
No edit summary |
||
Line 30: | Line 30: | ||
==Description== | ==Description== | ||
The | The TransactSell script is invoked at the completion of a "sell" transaction. The purpose of the script is to appropriately complete the sale. It achieves this by retrieving the details of the transaction from the special "transaction" pick. Once the information is retrieved, whatever actions comprise the sale can be performed, such as adding the proceeds of the sale to the cash possessed by the character. | ||
When invoked, the initial context is the | When invoked, the initial context is the pick that is being sold. However, this script will primarily be interested in the contents of the "transaction" pick, which can be accessed via the "transaction" context. The transaction pick will contain all of the particulars specified by the user for the sale. | ||
The contents of the transaction pick will depend entirely on the " | The contents of the transaction pick will depend entirely on the "sell" template utilized. Whatever portals are presented within the sell template will dictate the values of fields within the transaction pick. | ||
The engine will retrieve the final quantity | The engine will retrieve the final quantity sold from the "xactQty" field of the transaction pick. The value of this field will dictate the actual quantity deducted from the pick that is sold. If the entire quantity of the pick is sold, the pick is deleted. | ||
Please see the separate documentation for further details on [[Transactions|using transactions]]. | Please see the separate documentation for further details on [[Transactions|using transactions]]. | ||
Line 42: | Line 42: | ||
==Example== | ==Example== | ||
The | The TransactSell script below shows the behavior of the Sample data files for handling gear transactions. The cash value specified by the user is retrieved and added back to the usage pool the manages the character's cash. | ||
<pre> | <pre> |
Revision as of 10:41, 15 December 2008
Context: HL Kit … Kit Reference … Script Types
Technical Details
Initial Context: Pick Alternate Context: None Fields Finalized? Yes
The TransactSell script utilizes the following special symbols:
reject Entry: The empty string to indicate success.
Exit: If non-empty, indicates the transaction was rejected, with the contents being shown to the user as the explanation for the failure.
special Entry: Value specified with the definition of the portal to allow different behaviors based on usage.
Exit: Ignored.
Description
The TransactSell script is invoked at the completion of a "sell" transaction. The purpose of the script is to appropriately complete the sale. It achieves this by retrieving the details of the transaction from the special "transaction" pick. Once the information is retrieved, whatever actions comprise the sale can be performed, such as adding the proceeds of the sale to the cash possessed by the character.
When invoked, the initial context is the pick that is being sold. However, this script will primarily be interested in the contents of the "transaction" pick, which can be accessed via the "transaction" context. The transaction pick will contain all of the particulars specified by the user for the sale.
The contents of the transaction pick will depend entirely on the "sell" template utilized. Whatever portals are presented within the sell template will dictate the values of fields within the transaction pick.
The engine will retrieve the final quantity sold from the "xactQty" field of the transaction pick. The value of this field will dictate the actual quantity deducted from the pick that is sold. If the entire quantity of the pick is sold, the pick is deleted.
Please see the separate documentation for further details on using transactions.
Example
The TransactSell script below shows the behavior of the Sample data files for handling gear transactions. The cash value specified by the user is retrieved and added back to the usage pool the manages the character's cash.
~get the cash amount specified by the user var cash as number cash = hero.transact.field[xactCash].value ~add the amount to the current pool of cash perform hero.usagepool[TotalCash].adjust[cash]