Advertisement
Guest User

Untitled

a guest
Sep 26th, 2011
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.32 KB | None | 0 0
  1. <?php
  2.     //header('Content-type: image/png');
  3.     mysql_connect("192.168.1.100", "root", "root");
  4.     mysql_select_db("RSCEmulation");
  5.  
  6.     $query = mysql_query("SELECT `user`, `haircolour`, `topcolour`, `trousercolour`, `skincolour`, `headsprite`, `bodysprite`, `avatar_items` FROM `rscd_players` WHERE `avatar_items` IS NOT NULL");
  7.  
  8.     while ($r = mysql_fetch_assoc($query)) {
  9.         $avatar_items = explode(";", $r['avatar_items']);
  10.         foreach ($avatar_items as $item) {
  11.             $temp = explode(":", $item);
  12.             if ($item != null)
  13.                 $items[$temp[0]] = $temp[1];
  14.         }
  15.         $items = array_flip($items);
  16.  
  17.  
  18.        
  19.        
  20.         $config['sprite_path'] = './';
  21.  
  22.         $config['appear_tpl'] = 'Sprite-{sprite}-SkinColor-{skin_colour}-Overlay-{overlay}';
  23.  
  24.         $char_props = array(
  25.             'appearance' => array(
  26.                 'skin_colour' => $r['skincolour'],
  27.                 'hair_colour' => $r['haircolour'],
  28.                 'top_colour' => $r['topcolour'],
  29.                 'trouser_colour' => $r['trousercolour'],
  30.                 'head_sprite' => $r['headsprite'],
  31.                 'body_sprite' => $r['bodysprite']
  32.             ),
  33.             'wield' => $items
  34.         );
  35.        
  36.        
  37.         $skin_armour = array(308, 309, 310, 311, 312, 313, 407);
  38.         $char_image = imagecreatetruecolor(64, 102);
  39.  
  40.         if (isset($char_props['wield'][11]))
  41.             add_sprite($config['sprite_path'] . '/wield/' . $char_props['wield'][11] . '.png');
  42.  
  43.         if (isset($char_props['wield'][1])) {
  44.             if (in_array($char_props['wield'][1], $skin_armour))
  45.                 add_sprite($config['sprite_path'] . '/wield/special/' . $char_props['wield'][1] . 'sc' . $char_props['appearance']['skin_colour'] . '.png');
  46.             else
  47.                 add_sprite($config['sprite_path'] . '/wield/' . $char_props['wield'][1] . '.png');
  48.         } else
  49.             add_sprite($config['sprite_path'] . '/appearance/' . format_tpl(array($char_props['appearance']['body_sprite'], $char_props['appearance']['skin_colour'], $char_props['appearance']['top_colour'])) . '.png');
  50.  
  51.         if (isset($char_props['wield'][6]))
  52.             add_sprite($config['sprite_path'] . '/wield/' . $char_props['wield'][6] . '.png');
  53.  
  54.         if (isset($char_props['wield'][10]))
  55.             add_sprite($config['sprite_path'] . '/wield/' . $char_props['wield'][10] . '.png');
  56.  
  57.         if(isset($char_props['wield'][2]))
  58.             add_sprite($config['sprite_path'] . '/wield/' . $char_props['wield'][2] . '.png');
  59.         else
  60.             add_sprite($config['sprite_path'] . '/appearance/' . format_tpl(array(3, 0, $char_props['appearance']['trouser_colour'])) . '.png');
  61.  
  62.         if (isset($char_props['wield'][9]))
  63.             add_sprite($config['sprite_path'] . '/wield/' . $char_props['wield'][9] . '.png'); 
  64.  
  65.         if (isset($char_props['wield'][7]))
  66.             add_sprite($config['sprite_path'] . '/wield/' . $char_props['wield'][7] . '.png'); 
  67.  
  68.         if (isset($char_props['wield'][8]))
  69.             add_sprite($config['sprite_path'] . '/wield/' . $char_props['wield'][8] . '.png'); 
  70.  
  71.         if (isset($char_props['wield'][0]))
  72.             add_sprite($config['sprite_path'] . '/wield/' . $char_props['wield'][0] . '.png');
  73.         else
  74.             add_sprite($config['sprite_path'] . '/appearance/' . format_tpl(array($char_props['appearance']['head_sprite'], $char_props['appearance']['skin_colour'], $char_props['appearance']['hair_colour'])) . '.png');
  75.  
  76.         if (isset($char_props['wield'][5]))
  77.             add_sprite($config['sprite_path'] . '/wield/' . $char_props['wield'][5] . '.png');
  78.  
  79.         if (isset($char_props['wield'][4]))
  80.             add_sprite($config['sprite_path'] . '/wield/' . $char_props['wield'][4] . '.png');
  81.  
  82.         if (isset($char_props['wield'][3]))
  83.             add_sprite($config['sprite_path'] . '/wield/' . $char_props['wield'][3] . '.png'); 
  84.  
  85.         imagecolortransparent($char_image, imagecolorallocate($char_image, 0, 0, 0));
  86.        
  87.        
  88.         ob_start(); imagepng($char_image); $pngimagedata = ob_get_contents(); ob_end_clean();
  89.         //echo imagepng($char_image);
  90.         echo "UPDATE `rscd_players` SET `avatar` = '0x" . bin2hex($pngimagedata) . "' WHERE `username` = 'Kryptix'";
  91.        
  92.         mysql_query("UPDATE `rscd_players` SET `avatar` = '0x" . bin2hex($pngimagedata) . "' WHERE `username` = 'Kryptix'");
  93.        
  94.         imagedestroy($char_image);
  95.     }
  96.    
  97.         function add_sprite($loc) {
  98.             global $char_image;
  99.            
  100.             $spr_add = imagecreatefrompng($loc);
  101.             imagecopy($char_image, $spr_add, 0, 0, 0, 0, 64, 102);
  102.             imagedestroy($spr_add);
  103.         }
  104.  
  105.         function format_tpl($prop) {
  106.             global $config;
  107.            
  108.             $search = array('{sprite}', '{skin_colour}', '{overlay}');
  109.             $tpl = str_replace($search, $prop, $config['appear_tpl']);
  110.            
  111.             return $tpl;
  112.         }  
  113. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement