$tc = imagecolorallocate($im, 0, 0, 0);
    imagefilledrectangle($im, 0, 0, 192, 345, $bgc);
    /* Output an error message */
    imagestring($im, 1, 5, 5, 'I AM ERROR', $tc);
    imagestring($im, 1, 5, 20, "No data found", $tc);
    imagepng($im);
    imagedestroy($im);
    die;
}
$row = $q->fetch_assoc();
$internal_id = $row['internal_id'];
if (!isset($_GET['NO_CACHING'])) {
    ShowCachedImage($internal_id, 'stats', $row['last_update'], false, '2 MINUTE');
}
$id = uniqid() . rand(0, 999);
AddCacheImage($internal_id, 'stats', $row['last_update'], $id);
$row['guildname'] = '-';
$q2 = $__char_db->query("\nSELECT\n\tg.name\nFROM\n\tcharacters c\nLEFT JOIN\n\tguild_members gm\n\tON\n\t\tgm.character_id = c.id\nLEFT JOIN\n\tguilds g\n\tON\n\t\tg.id = gm.guild_id\nWHERE\n\tc.internal_id = " . $row['internal_id']);
if ($q2->num_rows == 1) {
    // Try to fetch guildname
    $row2 = $q2->fetch_row();
    if ($row2[0] !== null) {
        $row['guildname'] = $row2[0];
    }
}
$q2->free();
$stat_addition = GetCorrectStat($row['internal_id'], CURRENT_LOCALE);
$potential_stat_addition = GetItemPotentialBuffs($row['internal_id'], CURRENT_LOCALE);
$skill_stat_addition = GetSkillBuffs($row['internal_id'], CURRENT_LOCALE);
$before = array('str' => $row['str'], 'dex' => $row['dex'], 'int' => $row['int'], 'luk' => $row['luk'], 'mhp' => $row['mhp'], 'mmp' => $row['mmp']);
$level = $row['level'];
    imagestring($im, 1, 5, 20, "Not found.", $tc);
    imagepng($im);
    imagedestroy($im);
    die;
}
// Get character attributes
$character_data = $q->fetch_array();
$internal_id = $character_data['internal_id'];
$character_id = $character_data['id'];
$image_mode = isset($_GET['show_name']) ? 'avatar_ingame' : 'avatar';
if (!isset($_GET['NO_CACHING'])) {
    ShowCachedImage($internal_id, $image_mode, $character_data['last_update'], false, '1 MINUTE');
}
$id = uniqid() . rand(0, 999);
if (!isset($_GET['NO_CACHING'])) {
    AddCacheImage($internal_id, $image_mode, $character_data['last_update'], $id);
}
// Create blank template
$im = imagecreatetruecolor($image_width, $image_height);
imagesavealpha($im, true);
$trans = imagecolorallocatealpha($im, 0, 0, 0, 127);
imagefill($im, 0, 0, $trans);
// Set everything null for the hash
$skin = $face = $hair = $hat = $mask = $eyes = $ears = $top = $pants = $overall = $shoe = $glove = $cape = $shield = $wep = $nxwep = NULL;
// Coordinates for center
$mainx = 58;
$mainy = 38;
// Some other variables
$main_dir = '/var/www/maplestory_images/';
if (!is_dir($main_dir)) {
    $main_dir = 'P:/Result/';
    imagestring($im, 1, 5, 20, "Invalid Char Name", $tc);
    imagepng($im);
    imagedestroy($im);
    die;
}
$q = $__database->query("SELECT * FROM characters WHERE name = '" . $__database->real_escape_string($charname) . "'");
if ($q->num_rows == 0) {
    die("character not found");
}
$row = $q->fetch_assoc();
$internal_id = $row['internal_id'];
if (!isset($_GET['NO_CACHING'])) {
    ShowCachedImage($internal_id, 'info', $row['last_update'], false, '2 MINUTE');
}
$id = uniqid() . rand(0, 999);
AddCacheImage($internal_id, 'info', $row['last_update'], $id);
$row['guildname'] = '-';
$q2 = $__database->query("SELECT guild FROM character_views WHERE name = '" . $__database->real_escape_string($charname) . "'");
if ($q2->num_rows == 1) {
    // Try to fetch guildname
    $row2 = $q2->fetch_assoc();
    if ($row2['guild'] != null) {
        $row['guildname'] = $row2['guild'];
    }
}
$q2->free();
$image = imagecreatetruecolor(271, 162);
imagealphablending($image, false);
imagesavealpha($image, true);
$bg_image = imagecreatefrompng("../inc/img/char_bg.png");
imagecopyresampled($image, $bg_image, 0, 0, 0, 0, 271, 386, 271, 386);