function get_item($i) { global $schema; $i['id'] = sprintf("%u", $i['id']); $it = $schema['items'][$i['defindex']]; if (is_array($it['attributes'])) { foreach ($it['attributes'] as $a) { $indexed[$a['name']] = $a; } } $it['attributes'] = $indexed; if ($i['attributes']) { foreach ($i['attributes'] as $a) { // Remove existing attrs with this index $v = $schema['attributes'][$a['defindex']]; $v['value'] = $a['value']; $v['float_value'] = $a['float_value']; $it['attributes'][$v['name']] = $v; } } foreach ($i as $key => $var) { if ($key != 'attributes') { $it[$key] = $var; } } $it['position'] = $i['inventory'] & 0xffff; //$e = get_equipped($i['inventory']); //$e = equipped_convert($i['equipped']); $it['equipped'] = $i['equipped']; // language keys /*$it['type'] = get_lang_key('ItemTypeDesc',array( 1 => ($it['level'] > 0) ? $it['level'] : 1, 2 => get_lang_key($it['item_type_name']) ));*/ $it['type'] = sprintf("Level %s %s", isset($it['level']) ? $it['level'] : 1, get_lang_key($it['item_type_name'])); $it['name'] = htmlspecialchars(get_item_name($it)); $it['name_url'] = rawurlencode(preg_replace("/[^a-zA-Z0-9]/", "-", $it['name'])); $it['desc'] = $it['item_description']; if ($i['custom_desc']) { $it['desc'] = htmlspecialchars($i['custom_desc']); } //$it['attributes'] = $it['attributes']['attribute']; $dd = 0; if ($it['attributes']) { foreach ($it['attributes'] as $a) { $a_class = get_attribute($a['name']); if ($a['class'] == 'set_item_tint_rgb') { $it['color'] = attribute_value($a); //echo $a['value']."<br>"; } if ($a['name'] == 'set supply crate series') { $series = attribute_value($a); $it['crate_series'] = $series; $it['tooltip_tail'] .= get_crate_tooltip($series); //echo $it['tooltip_tail']; } if ($a['name'] == 'kill eater') { $it['kill_eater_kills'] = attribute_value($a); $it['kill_eater_rank'] = get_kill_eater_rank($a); } $value = $a['value']; //echo $a_class['description_string']; //$description = sprintf($format_string,$value); if ($a['hidden'] == "1" || $a_class['hidden'] == "1") { continue; } $desc = get_attribute_text($value, $a_class, $a['float_value']); $it['attrs'][] = $desc; // Colors use format imagename.color.png //var_dump($a); //die(); } } $bits = explode('/', $it['image_url']); $it['image'] = $bits[count($bits) - 1]; $it['tooltip'] = backpack::generate_tooltip($it); if ($it['color'] && $it['image_inventory'] == 'backpack/player/items/crafting/paintcan') { $it['image'] = str_replace('.png', '.' . $it['color'] . '.png', $it['image']); } if ($it['equipped']) { foreach ($it['equipped'] as $e) { $cn = int_to_class($e['class']); $it['equipped_by'][$cn] = true; $this->equipped[$cn][int_to_slot($e['slot'])] = $it; } } return $it; }