Esempio n. 1
0
 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;
 }