Difference between revisions of "Organize Inventory Items Alphabetically (CMS)"
From The Official Visionaire Studio: Adventure Game Engine Wiki
m (Text replacement - "wikitable" to "ts") |
m |
||
Line 1: | Line 1: | ||
{| class="ts" style="width:100%" | {| class="ts" style="width:100%" | ||
|- | |- | ||
− | ! style="text-align:left" | Name !! style="text-align:left" | Type !! style="text-align:left" | By | + | ! style="text-align:left" | Name !! style="text-align:left" | Type !! style="text-align:left" | By {{lee_PP}} |
|- | |- | ||
| Organize Inventory Items Alphabetically || Definition || AFRLme | | Organize Inventory Items Alphabetically || Definition || AFRLme | ||
Line 49: | Line 49: | ||
char:setValue(VCharacterItems, items) -- amend new item order to the inventory | char:setValue(VCharacterItems, items) -- amend new item order to the inventory | ||
end | end | ||
− | </syntaxhighlight> | + | </syntaxhighlight>{{toc}} |
Revision as of 19:06, 6 January 2015
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)
Written by AFRLme [Lee Clarke]
-- + --
alternatingfrequencies@hotmail.com | skype @ AFRLme
-- + --
This script is donation optional. In game credit is non-negotiable.
You are free to: ¹ use it in your game(s). ² modify the script.
Do not remove - or edit - this comment block.
--]]
-- * local variables * --
local char, items, asc, desc -- empty variables
-- * function for toggling between ascending & descending order * --
function invSort(val)
asc = function( a,b ) return a:getName() < b:getName() end -- ascending (A-Z, 1-9)
desc = function( a,b ) return a:getName() > b:getName() end -- descending (Z-A, 9-1)
if val then return asc else return desc end
end
-- * function for updating inventory items alphabetically * --
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