Difference between revisions of "User:Ath/WebAPI Examples"

From Team Fortress Wiki
Jump to: navigation, search
(PHP: Add PHP non-discriminatory equip check - useful for simple backpack checking)
m (comment out category on user page)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= [[../GetPlayerItems|GetPlayerItems]] Inventory Token =
+
This page is intended as a quick reference for working with the [[WebAPI]]. As such, it is intended to provide a basic explanation of how to understand and work with certain fields, not act as a tutorial.
  
== Extracting Item Position and Equipped Classes ==
+
==[[WebAPI/GetPlayerItems|GetPlayerItems]]==
  
=== C99/C++ ===
+
===inventory===
 +
Contains a binary token encoded in denary form. The first 16 least significant bits denote an item's position within the backpack, the following 16 bits indicate which classes an item is currently equipped to. The first two most significant bits are currently unused.
  
#define CLASS_SCOUT    0
+
===contained_item===
#define CLASS_SNIPER    1
+
Contains a sub-array with the id, defindex and quality of a giftwrapped item.
#define CLASS_SOLDIER  2
 
#define CLASS_DEMOMAN  3
 
#define CLASS_MEDIC    4
 
#define CLASS_HEAVY    5
 
#define CLASS_PYRO      6
 
#define CLASS_SPY      7
 
#define CLASS_ENGINEER  8
 
 
uint32 ExtractBackpackPosition( uint32 unInventoryToken )
 
{
 
  return unInventoryToken & 0xFFFF;
 
}
 
 
bool IsEquippedForClass( uint32 unInventoryToken, uint32 unClass )
 
{
 
  return 0 != unInventoryToken & ( 1 << ( unClass + 16 ) );
 
}
 
  
=== PHP ===  
+
===attributes===
 +
Has a variable number of sub-arrays containing an attribute definition index and values. See the [[List_of_Item_Attributes|list]] for a complete overview of all attributes.
  
function is_equipped($inventory_token)
+
==[[WebAPI/GetSchema|GetSchema]]==
{
 
  return ($inventory_token & 0x0FFF0000) ? true : false;
 
}
 
function is_equipped_for_class($class, $inventory_token)
 
{
 
  return ($inventory_token & 0x80000000) && ($inventory_token & (0x00010000 << $class));
 
}
 
function extract_backpack_position($inventory_token)
 
{
 
  return $inventory_token & 0x0000FFFF;
 
}
 
  
=== Lua ===
+
===proper_name===
 +
If true, indicates the presence of a language-specific prefix, ignored when non-Unique quality is set.
  
function extract_backpack_position(inventory_token)
+
==Misc==
  return inventory_token % 2^16
+
{| class="wikitable grid"
end
+
! class="header" | №
+
! class="header" | Color
function is_equipped_for_class(inventory_token, class)
+
! class="header" | Quality Name
  return inventory_token % 2^(class+17) >= 2^(class+16)
+
|-
end
+
! 0
 
+
| style="background:#B2B2B2" | #B2B2B2
[[Category:WebAPI|Examples]]
+
| [[#Normal Items|Normal]]
 +
|-
 +
! 1
 +
| style="background:#4D7455" | #4D7455
 +
| [[#Genuine Items|Genuine]]
 +
|-
 +
! 2
 +
| style="background:#8D834B" | #8D834B
 +
| Rarity2
 +
|-
 +
! 3
 +
| style="background:#476291" | #476291
 +
| [[#Vintage Items|Vintage]]
 +
|-
 +
! 4
 +
| style="background:#CF6A32" | #CF6A32
 +
| Rarity3
 +
|-
 +
! 5
 +
| style="background:#8650AC" | #8650AC
 +
| [[#Unusual Items|Unusual]]
 +
|-
 +
! 6
 +
| style="background:#FFD700" | #FFD700
 +
| [[#Unique Items|Unique]]
 +
|-
 +
! 7
 +
| style="background:#70B04A" | #70B04A
 +
| [[#Community Items|Community]]
 +
|-
 +
! 8
 +
| style="background:#A50F79" | #A50F79
 +
| [[#Valve Weapons|Developer]]
 +
|-
 +
! 9
 +
| style="background:#70B04A" | #70B04A
 +
| [[#Self-made Items|Self-Made]]
 +
|-
 +
! 10
 +
| style="background:#476291" | #476291
 +
| Customized
 +
|-
 +
|}
 +
<!-- [[Category:WebAPI|Examples]] -->

Latest revision as of 03:50, 30 November 2011

This page is intended as a quick reference for working with the WebAPI. As such, it is intended to provide a basic explanation of how to understand and work with certain fields, not act as a tutorial.

GetPlayerItems

inventory

Contains a binary token encoded in denary form. The first 16 least significant bits denote an item's position within the backpack, the following 16 bits indicate which classes an item is currently equipped to. The first two most significant bits are currently unused.

contained_item

Contains a sub-array with the id, defindex and quality of a giftwrapped item.

attributes

Has a variable number of sub-arrays containing an attribute definition index and values. See the list for a complete overview of all attributes.

GetSchema

proper_name

If true, indicates the presence of a language-specific prefix, ignored when non-Unique quality is set.

Misc

Color Quality Name
0 #B2B2B2 Normal
1 #4D7455 Genuine
2 #8D834B Rarity2
3 #476291 Vintage
4 #CF6A32 Rarity3
5 #8650AC Unusual
6 #FFD700 Unique
7 #70B04A Community
8 #A50F79 Developer
9 #70B04A Self-Made
10 #476291 Customized