Strength Posted November 3, 2009 Posted November 3, 2009 I was looking for this script on this forum but could not found it. A did a shot of converting the script from L2 OFF to L2J. While browsing for some help, I found the already converted version. Happy to share it with you! Greetings Str3ngth! crest.php ----------- <? if(!empty($_GET['clan_crest'])){ $name = 'Crest'; $crest = $_GET['clan_crest']; } else if(!empty($_GET['ally_crest'])){ $name = 'AllyCrest'; $crest = $_GET['ally_crest']; } else die('No Crest!'); $file = fopen('ftp://localhost/'.$name.'_'.$crest.'.bmp', 'r'); //fopen($filename,'rb'); $dds = fread($file,4); if ($dds!=='DDS ') die("Error: no hay imagen DDS"); //DDS header $hdrSize = readInt($file); $hdrFlags = readInt($file); $imgHeight = readInt($file)-4; $imgWidth = readInt($file); $imgPitch = readShort($file); //DXT1 header fseek($file, 84); $dxt1 = fread($file,4); if ($dxt1!=='DXT1') die("Error: no es formato DX1"); //here we go fseek($file, 128); header ("Content-type: image/png"); $img=imagecreatetruecolor($imgWidth,$imgHeight); for ($y=-1; $y<$imgHeight/4; $y++) { for ($x=0; $x<$imgWidth/4; $x++) { $color0_16 = readShort($file); $color1_16 = readShort($file); $r0 = ($color0_16 >> 11) << 3; $g0 = (($color0_16 >> 5) & 63) << 2; $b0 = ($color0_16 & 31) << 3; $r1 = ($color1_16 >> 11) << 3; $g1 = (($color1_16 >> 5) & 63) << 2; $b1 = ($color1_16 & 31) << 3; $color0_32 = imagecolorallocate($img,$r0,$g0,$b0); $color1_32 = imagecolorallocate($img,$r1,$g1,$b1); $color01_32 = imagecolorallocate($img,$r0/2+$r1/2,$g0/2+$g1/2,$b0/2+$b1/2); $black = imagecolorallocate($img,0,0,0); $data = readInt($file); for ($yy=0;$yy<4;$yy++) { for ($xx=0;$xx<4;$xx++) { $bb = $data & 3; $data = $data >> 2; switch ($bb) { case 0: $c = $color0_32; break; case 1: $c = $color1_32; break; case 2: $c = $color01_32; break; default: $c = $black; break; } imagesetpixel($img,$x*4+$xx,$y*4+$yy,$c); } } } } imagepng($img); ## Functions needed function readInt($file) { $b4 = ord(fgetc($file)); $b3 = ord(fgetc($file)); $b2 = ord(fgetc($file)); $b1 = ord(fgetc($file)); return ($b1<<24)|($b2<<16)|($b3<<8)|$b4; } function readShort($file) { $b2 = ord(fgetc($file)); $b1 = ord(fgetc($file)); return ($b1<<8)|$b2; } ?> heroes.php ----------- <html> <head> <title>Heroes</title> <style> body { margin: 0px; padding: 0px; background: #2E0601; color: #ffffff; font-family: tahoma, verdana; font-size: 8pt; } td { font-family: tahoma, verdana; font-size: 8pt; margin: 0; color: #ffffff; } b { font-weight: bold; color: #84c3f8; } A { color: #ffe155; text-decoration: none; } A:link { color: #ffe155; } A:visited { color:#e8a400; } A:active { color: #ffff99; } A:hover { color: #ffff99; text-decoration: underline; } .tabletitle { color: #FFFFFF; background-color: #4B150E; border-width: 2; border-style: solid; border-color: #000000; } </style> </head> <body> <center> <table class='info'> <tr class='info'><td align='center'><b>Current Heroes</b></td></tr> </table> <? $class_list=array( 0=>"Fighter",1=>"Warrior",2=>"Gladiator",3=>"Warlord",4=>"Knight",5=>"Paladin",6=>"Dark Avenger",7=>"Rogue", 8=>"Treasure Hunter",9=>"Hawkeye",10=>"Mage",11=>"Wizard",12=>"Sorcerer",13=>"Necromancer",14=>"Warlock",15=>"Cleric", 16=>"Bishop",17=>"Prophet",18=>"Elven Fighter",19=>"Elven Knight",20=>"Temple Knight",21=>"Swordsinger",22=>"Elven Scout",23=>"Plains Walker", 24=>"Silver Ranger",25=>"Elven Mage",26=>" Elven Wizard",27=>" Spellsinger",28=>"Elemental Summoner ",29=>"Oracle", 30=>"Elder",31=>"Dark Fighter",32=>"Palus Knightr",33=>"Shillien Knight",34=>"Bladedancer",35=>"Assasin",36=>"Abyss Walker", 37=>"Phantom Ranger",38=>"Dark Mage",39=>"Dark Wizard",40=>"Spellhowler",41=>"Phantom Summoner",42=>"Shillien Oracle",43=>"Shilien Elder", 44=>"Orc Fighter",45=>"Orc Raider",46=>"Destroyer",47=>"Orc Monk",48=>"Tyrant",49=>"Orc Mage",50=>"Orc Shaman",51=>"Overlord", 52=>"Warcryer",53=>"Dwarven Fighter",54=>"Scavenger",55=>"Bounty Hunter",56=>"Artisan", 57=> "Warsmith", 88=>"Duelist",89=>"Dreadnought",90=>"Phoenix Knight",91=>"Hell Knight",92=>"Sagittarius",93=>"Adventurer",94=>"Archmage",95=>"Soultaker", 96=>"Arcana Lord",97=>"Cardinal",98=>"Hierophant",99=>"Evas Templar",100=>"Sword Muse",101=>"Wind Rider",102=>"Moonlight Sentinel", 103=>"Mystic Muse",104=>"Elemental Master",105=>"Evas Saint",106=>"Shillien Templar",107=>"Spectral Dancer",108=>"Ghost Hunter", 109=>"Ghost Sentinel",110=>"Storm Screamer",111=>"Spectral Master",112=>"Shillien Saint",113=>"Titan",114=>"Grand Khavatari", 115=>"Dominator",116=>"Doomcryer",117=>"Fortune Seeker",118=>"Maestro", 123=>"Male Soldier",124=>"Female Soldier",125=>"Trooper",126=>"Warder",127=>"Berserker", 128=>"Male Soulbreaker",129=>"Female Soulbreaker",130=>"Arbalester",131=>"Doombringer", 132=>"Male Soulhound",133=>"Female Soulhound",134=>"Trickster",135=>"Inspector",136=>"Judicator" ); // db config $db_user = "root"; //your sql username goes here $db_pass = ""; //your sql password goes here $db_name = "l2jdb; //your database name goes here $db_serv = "localhost"; //the address of the database goes here // db connection! $db = mysql_connect ( $db_serv, $db_user, $db_pass ) or die ("Coudn't connect to [$db_serv]"); mysql_select_db ( $db_name ); function do_query($query) { $arr = array(); $result = mssql_query($query) or die("Error SQL: ".mssql_get_last_message()); for ($x=0; $arr[$x] = mssql_fetch_assoc($result); $x++); unset($arr[count($arr)-1]); return $arr; } $query = mysql_query("SELECT char_name,olympiad_nobles.class_id as 'class_id',clan_name as 'pname', ally_name as 'aname', clan_data.crest_id as 'pcrest',ally_crest_id as 'acrest',competitions_won as 'win_count' FROM characters LEFT JOIN clan_data ON clan_data.clan_Id = characters.clanId INNER JOIN olympiad_nobles ON olympiad_nobles.charId = characters.charId WHERE competitions_won > 0 ORDER BY class_id "); $heroes_actuales = mysql_query($query); if (sizeof($heroes_actuales) == 0) echo "No heroes found."; else { echo " <table class='info'><tr bgcolor='333333' align='center'>\n <tr bgcolor='333333' align='center'> <td width='24%' align='left'><b>Name</b></td> <td width='24%' align='left'><b>Class</b></td> <td width='24%' align='left'><b>Clan</b></td> <td width='24%' align='left'><b>Alliance</b></td> <td width='4%' align='left'><b>Wins</b></td> </tr> "; $i=0; foreach($heroes_actuales as $hero) { if (!($i%2)) echo "<tr bgcolor='000000' align='center'>"; else echo "<tr bgcolor='333333' align='center'>"; echo " <td align='left'>".$hero['char_name']."</td> <td align='left'>".$class_list[$hero['class_id']]."</td> <td align='left'> "; if ($hero['pcrest'] != 0) echo "<img height='12' src='crest.php?clan_crest=".$hero['pcrest']."'> "; echo $hero['pname']."</td><td align='left'>"; if ($hero['acrest'] != 0) echo "<img height='12' src='crest.php?ally_crest=".$hero['acrest']."'> "; echo $hero['aname']."</td><td align='left'>".$hero['win_count']."</td></tr>"; $i++; } echo "</table>"; } ?> <body> </html> Credits: Gio - L2J Forum Quote
Intrepid Posted November 4, 2009 Posted November 4, 2009 please use a [share] prefix in topic title Quote
Internity # Sci Fi ;]] Posted November 4, 2009 Posted November 4, 2009 Strenght send me that crest's :D Quote
Levi4than Posted November 5, 2009 Posted November 5, 2009 Great share bro!!!!!!! Keep the good work! Quote
Diegon Posted December 10, 2009 Posted December 10, 2009 Parse error: parse error in C:\www\heroes.php on line 68 :P :P :P :P $db_serv = "localhost"; //the address of the database goes here // db connection! <- Line 68 $db = mysql_connect ( $db_serv, $db_user, $db_pass ) or die ("Coudn't connect to [$db_serv]"); Quote
~LunatiC Posted December 10, 2009 Posted December 10, 2009 I have the same problem. Parse error: syntax error, unexpected T_DNUMBER in /****/****/heroes.php on line 67 Quote
disorder25 Posted December 15, 2009 Posted December 15, 2009 I was looking for this script for a long time. Only one thing how do we make then work together because I added then to my hero page and nothing happened. Any clue on how to make then work? Thank you. Quote
disorder25 Posted December 15, 2009 Posted December 15, 2009 about the error he missed a " on line 66 right after l2jdb. it look like this: $db_name = "l2jdb; //your database name goes here it should be like this: $db_name = "l2jdb"; //your database name goes here sorry for the double post Quote
maxicroma Posted December 15, 2009 Posted December 15, 2009 i have these problem Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\own\heroes.php on line 100 the line 100 says if (!($i%2)) echo "<tr bgcolor='000000' align='center'>"; What its bad? Quote
disorder25 Posted January 2, 2010 Posted January 2, 2010 I have the same problem also. Anybody know how to fix this? Thanks Quote
Meikis Posted January 3, 2010 Posted January 3, 2010 Crest script requires ftp server? I mean this $file = fopen('ftp://localhost/'.$name.'_'.$crest.'.bmp', 'r'); //fopen($filename,'rb'); Quote
Rin4a Posted January 3, 2010 Posted January 3, 2010 if (!($i%2)){ echo "<tr bgcolor='000000' align='center'>"}; I'm curious, how do you get the crests from the server? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.