Difference between revisions of "Organize Inventory Items Alphabetically (CMS)"
From The Official Visionaire Studio: Adventure Game Engine Wiki
(Created page with "{| class="wikitable" style="width:100%" |- ! style="text-align:left" | Name !! style="text-align:left" | Type !! style="text-align:left" | By |- | Organize Inventory Items Alp...") |
|||
| Line 28: | Line 28: | ||
--]] | --]] | ||
| − | local char, items -- empty variables | + | local char, items, order -- empty variables |
| − | |||
| − | function arrangeItems() | + | function invSort(val) |
| + | if val then order = function( a,b ) return a:getName() < b:getName() end end -- sort function (ascending A-Z, 1-10 etc) | ||
| + | if not val then order = function( a,b ) return a:getName() > b:getName() end end -- sort function (descending Z-A, 10-1 etc) | ||
| + | return order | ||
| + | end | ||
| + | |||
| + | function arrangeItems(val) | ||
char = game:getLink(VGameCurrentCharacter) -- store current character | char = game:getLink(VGameCurrentCharacter) -- store current character | ||
items = char:getLinks(VCharacterItems) -- store items | items = char:getLinks(VCharacterItems) -- store items | ||
| − | + | table.sort(items, invSort(val)) -- sort the items alphabetically | |
| − | + | char:setValue(VCharacterItems, items) -- amend new item order to the inventory | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
end | end | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{i18n|Organize_Inventory_Items_Alphabetically_(CMS)}} | {{i18n|Organize_Inventory_Items_Alphabetically_(CMS)}} | ||
Revision as of 15:50, 12 February 2014
| Name | Type | By |
|---|---|---|
| Organize Inventory Items Alphabetically | Definition | AFRLme |
This script allows you to organize your inventory items alphabetically in either ascending or descending order.
Instructions
1. Add the main script to the Visionaire Studio Script Editor & set the script as a definition script.
2. To organize the inventory items by ascending order, you should create an execute a script action containing:
arrangeItems(true)3. To organize the inventory items by descending order, you should create an execute a script action containing:
arrangeItems(false)Main Script
--[[
Organize Items Alphabetically (v2) [12/02/2014]
By AFRLme
-- + --
alternatingfrequencies@hotmail.com | skype @ AFRLme
--]]
local char, items, order -- empty variables
function invSort(val)
if val then order = function( a,b ) return a:getName() < b:getName() end end -- sort function (ascending A-Z, 1-10 etc)
if not val then order = function( a,b ) return a:getName() > b:getName() end end -- sort function (descending Z-A, 10-1 etc)
return order
end
function arrangeItems(val)
char = game:getLink(VGameCurrentCharacter) -- store current character
items = char:getLinks(VCharacterItems) -- store items
table.sort(items, invSort(val)) -- sort the items alphabetically
char:setValue(VCharacterItems, items) -- amend new item order to the inventory
end