ich hab hier noch meinen alten EquipViewer rumliegen ... Er ist zwar nicht 100% fertig aber ihr könnt ihn ja fertig machen wenn ihr wollt... Momentan sieht er so aus
Was ihr dazu braucht ?
Die popup.js
PHP Code:
document.write('<div class="pup" style="position:abolute; display:none; z-index:200;"></div>');
var minMargin = 15;
var ready = false;
var default_width = '200px';
jQuery(document).ready(function(){
$('.pup').hide();
default_width = $('.pup').width();
$(document).mousemove(function(e){
var x,y;
x = $(document).scrollLeft() + e.clientX;
y = $(document).scrollTop() + e.clientY;
x += 10;
var x_y = nudge(x,y);
$('.pup').css('top', x_y[1] + 'px');
$('.pup').css('left', x_y[0] + 'px');
});
ready = true;
});
function nudge(x,y)
{
var win = $(window);
var xtreme = $(document).scrollLeft() + win.width() - $('.pup').width() - minMargin;
if(x > xtreme) {
x -= $('.pup').width() + 2 * minMargin;
}
x = max(x, 0);
if((y + $('.pup').height()) > (win.height() + $(document).scrollTop())) {
y -= $('.pup').height() + minMargin;
}
return [ x, y ];
}
function popup(msg, width)
{
if (typeof width === "undefined"){
width = default_width;
}
if (ready) {
$('.pup').width(width).html(msg).show();
}
$(this).mouseout(function(e){
$('.pup').hide().width(default_width);
});
}
function max(a,b){
if (a>b) return a;
else return b;
}
function disable() {
$('.pup').css("display", "none");
}
PHP Code:
function getBonisForView($wert, $itemBoni) {
$getStandartBonus = mysql_fetch_assoc(mysql_query("SELECT * FROM player.item_proto WHERE vnum='".$wert['vnum']."'")) or die("Fehler");
$inhalt = "";
$i=0;
$itemBoni_wert = array();
while($i <=6) {
if($wert['attrtype'.$i] == "0") {
if($i <3) {
if($getStandartBonus['applytype'.$i] == "0") {
$itemBoni_wert[$i] = "";
}
else {
if($getStandartBonus['applytype'.$i] == "8") {
$itemBoni_wert[$i] = "";
}
else {
$itemBoni_wert[$i] = $itemBoni[$getStandartBonus['applytype'.$i]]." : ".$getStandartBonus['applyvalue'.$i].'</br>';
}
}
}
else {
$itemBoni_wert[$i] = "";
}
}
else {
$itemBoni_wert[$i] = $itemBoni[$wert['attrtype'.$i]]." : ".$wert['attrvalue'.$i].'<br />';
}
$i++;
}
foreach($itemBoni_wert as $key) {
$inhalt .= $key;
}
return $inhalt;
}
function getDamage($wert) {
$minimal = $wert['value3'] + $wert['value5'];
$maximal = $wert['value4'] + $wert['value5'];
$mgmin = $wert['value1'] + $wert['value5'];
$mgmax = $wert['value2'] + $wert['value5'];
$agw = "Angriffswert: ".$minimal." - ".$maximal;
$mgw = "Magischer Angriffswert: ".$mgmin." - ".$mgmax;
return $agw.'<br />'.$mgw.'<br />';
}
function getDeff($wert) {
$deff = $wert['value1'] + $wert['value5'] + $wert['value5'];
return $deff.' Verteidigung <br />';
}
function getNullen($wert) {
$row['vnum'] = $wert;
$vnum = substr($row['vnum'], 0, - 1)."0";
$laenge = strlen($row['vnum']);
$nullen = 5 - $laenge;
if($nullen == 1) {
$anzahlNullen = "0";
}
elseif($nullen == 2) {
$anzahlNullen = "00";
}
elseif($nullen == 3) {
$anzahlNullen = "000";
}
else {
$anzahlNullen = "";
}
$row['vnums'] = $anzahlNullen.$vnum;
if(!file_exists("./img/layout/items/".$row['vnums'].".png")) {
return "default";
}
else {
return $row['vnums'];
}
}
function getPic($vnum) {
if(!file_exists("./img/layout/items/".$vnum.".png")) {
return "default";
}
else {
return $vnum;
}
}
function doStonePic($vnum) {
$vnum = substr($vnum, 0, -3).'0'.substr($vnum, -2);
return $vnum;
}
function getSteine($row, $itemBoni) {
$steinid1 = 1;
$steinid2 = $row['stein2'];
$steinid3 = $row['stein3'];
if($steinid1 == 1) {
$steinPic1 = "<img class=\'up\' src=\'img/layout/steine/free.jpg\' alt=\'stein\' />";
$steinWerte1 = "leerer Slot";
}
elseif($steinid1 == 0) {
$steinPic1 = "";
$steinWerte1 = "";
}
elseif($steinid1 ==2) {
$steinPic1 = "<img class=\'up\' src=\'img/layout/steine/splitter.jpg\' alt=\'stein\' />";
$steinWerte1 = "Splitterstück";
}
else { $getWerte = mysql_fetch_assoc(mysql_query("SELECT applytype0, applyvalue0 FROM player.item_proto WHERE vnum='".$steinid1."'"));
$steinWert1 = $itemBoni[$getWerte['applytype0']];
$steinValue1 = $getWerte['applyvalue0'];
$steinWerte1 = $steinWert1.": ".$steinValue1." %";
$pic = doStonePic($steinid1);
$steinPic1 = "<img class=\'up\' src=\'img/layout/steine/".$pic.".png\' alt=\'stein\' />";
}
if($steinid2 == 1) {
$steinPic2 = "<img class=\'up\' src=\'img/layout/steine/free.jpg\' alt=\'stein\' />";
$steinWerte2 = "leerer Slot";
}
elseif($steinid2 == 0) {
$steinPic2 = "";
$steinWerte2 = "";
}
elseif($steinid2 ==2) {
$steinPic2 = "<img class=\'up\' src=\'img/layout/steine/splitter.jpg\' alt=\'stein\' />";
$steinWerte2 = "Splitterstück";
}
else { $getWerte = mysql_fetch_assoc(mysql_query("SELECT applytype0, applyvalue0 FROM player.item_proto WHERE vnum='".$steinid2."'"));
$steinWert1 = $itemBoni[$getWerte['applytype0']];
$steinValue1 = $getWerte['applyvalue0'];
$steinWerte2 = $steinWert1.": ".$steinValue1." %";
$pic = doStonePic($steinid2);
$steinPic2 = "<img class=\'up\' src=\'img/layout/steine/".$pic.".png\' alt=\'stein\' />";
}
if($steinid3 == 1) {
$steinPic3 = "<img class=\'up\' src=\'img/layout/steine/free.jpg\' alt=\'stein\' />";
$steinWerte3 = "leerer Slot";
}
elseif($steinid3 == 0) {
$steinPic3 = "";
$steinWerte3 = "";
}
elseif($steinid3 ==2) {
$steinPic3 = "<img class=\'up\' src=\'img/layout/steine/splitter.jpg\' alt=\'stein\' />";
$steinWerte3 = "Splitterstück";
}
else { $getWerte = mysql_fetch_assoc(mysql_query("SELECT applytype0, applyvalue0 FROM player.item_proto WHERE vnum='".$steinid2."'"));
$steinWert1 = $itemBoni[$getWerte['applytype0']];
$steinValue1 = $getWerte['applyvalue0'];
$steinWerte3 = $steinWert1.": ".$steinValue1." %";
$pic = doStonePic($steinid3);
$steinPic3 = "<img class=\'up\' src=\'img/layout/steine/".$pic.".png\' alt=\'stein\' />";
}
return "<table class=\'stones\'><tr><td class=\'stone_right\'>".$steinPic1."</td><td class=\'stone_left\'>".$steinWerte1."</td></tr><tr><td class=\'stone_right\'>".$steinPic2."</td><td class=\'stone_left\'>".$steinWerte2."</td></tr><tr><td class=\'stone_right\'>".$steinPic3."</td><td class=\'stone_left\'>".$steinWerte3."</td></tr></table>";
}
function getSteineForView($row, $itemBoni) {
$steinid1 = $row['socket0'];
$steinid2 = $row['socket1'];
$steinid3 = $row['socket2'];
if($steinid1 == 1) {
$steinPic1 = "<img class=up src=img/layout/steine/free.jpg alt=stein />";
$steinWerte1 = "leerer Slot";
}
elseif($steinid1 == 0) {
$steinPic1 = "";
$steinWerte1 = "";
}
elseif($steinid1 ==2) {
$steinPic1 = "<img class=up src=img/layout/steine/splitter.jpg alt=stein />";
$steinWerte1 = "Splitterstück";
}
else { $getWertes = mysql_fetch_assoc(mysql_query("SELECT applytype0, applyvalue0 FROM player.item_proto WHERE vnum='".$steinid1."'"));
$steinWert1 = $itemBoni[$getWertes['applytype0']];
$steinValue1 = $getWertes['applyvalue0'];
$steinWerte1 = $steinWert1.": ".$steinValue1." %";
$pic = doStonePic($steinid1);
$steinPic1 = "<img class=up src=img/layout/steine/".$pic.".png alt=stein />";
}
if($steinid2 == 1) {
$steinPic2 = "<img class=up src=img/layout/steine/free.jpg alt=stein />";
$steinWerte2 = "leerer Slot";
}
elseif($steinid2 == 0) {
$steinPic2 = "";
$steinWerte2 = "";
}
elseif($steinid2 ==2) {
$steinPic2 = "<img class=up src=img/layout/steine/splitter.jpg alt=stein />";
$steinWerte2 = "Splitterstück";
}
else { $getWertes = mysql_fetch_assoc(mysql_query("SELECT applytype0, applyvalue0 FROM player.item_proto WHERE vnum='".$steinid2."'"));
$steinWert1 = $itemBoni[$getWertes['applytype0']];
$steinValue1 = $getWertes['applyvalue0'];
$steinWerte2 = $steinWert1.": ".$steinValue1." %";
$pic = doStonePic($steinid2);
$steinPic2 = "<img class=up src=img/layout/steine/".$pic.".png\alt=stein />";
}
if($steinid3 == 1) {
$steinPic3 = "<img class=up src=img/layout/steine/free.jpg alt=stein />";
$steinWerte3 = "leerer Slot";
}
elseif($steinid3 == 0) {
$steinPic3 = "";
$steinWerte3 = "";
}
elseif($steinid3 == 2) {
$steinPic3 = "<img class=up src=img/layout/steine/splitter.jpg alt=stein/>";
$steinWerte3 = "Splitterstück";
}
else { $getWertes = mysql_fetch_assoc(mysql_query("SELECT applytype0, applyvalue0 FROM player.item_proto WHERE vnum='".$steinid3."'"));
$steinWert1 = $itemBoni[$getWertes['applytype0']];
$steinValue1 = $getWertes['applyvalue0'];
$steinWerte3 = $steinWert1.": ".$steinValue1." %";
$pic = doStonePic($steinid3);
$steinPic3 = "<img class=up src=img/layout/steine/".$pic.".png alt=stein />";
}
return "<table class=stones><tr><td class=stone_right>".$steinPic1."</td><td class=stone_left>".$steinWerte1."</td></tr><tr><td class=stone_right>".$steinPic2."</td><td class=stone_left>".$steinWerte2."</td></tr><tr><td class=stone_right>".$steinPic3."</td><td class=stone_left>".$steinWerte3."</td></tr></table>";
}
function getHours($wert) {
$now = time();
$differenz = $wert - $now;
$Dauer = $differenz/60;
$Stunden = $Dauer / 60;
$Rest = substr($Stunden, 2);
$Rest = ceil($Rest);
$Stunden = ceil($Stunden);
return $Stunden.' Stunden ';
}
function existCache($datei) {
if(file_exists("cache/".$datei.".txt")) {
if(filemtime("cache/".$datei.".txt") > (time() - 600)) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
function cacheIt($inhalt, $datei) {
$datei = "cache/".$datei.".txt";
$handle = fopen($datei, "w");
fwrite($handle, $inhalt);
fclose ($handle);
}
function existCacheByTime($datei, $zeit) {
if(file_exists("cache/".$datei.".txt")) {
if(filemtime("cache/".$datei.".txt") > (time() - $zeit)) {
return true;
}
else {
return false;
}
}
else {
return false;
}
}
function cacheItTop6($input, $datei) {
$input = $input[1].$input[2].$input[3].$input[4].$input[5].$input[6];
$datei = "cache/".$datei.".txt";
$handle = fopen($datei, "w");
fwrite($handle, $input);
fclose ($handle);
}
Außerdem sind 2 cache funktionen drin , dafür braucht ihr einen ordner cache )
Und die veränderte view_char.php (wer da seine rangliste noch nicht mit der verlinkung hat, die hab ich schonmal released einfach suchen )
PHP Code:
<?php
if(isset($_GET['id'])) {
if(ctype_digit($_GET['id'])) {
echo'<h2>Charakteransicht</h2>';
if(existCacheByTime("char".$_GET['id'], 86400)) {
include("cache/char".$_GET['id'].".txt");
}
else {
$id = mysql_real_escape_string($_GET['id']);
$getInfo = mysql_fetch_assoc(mysql_query("SELECT player.id,player.last_play,player.job,player.skill_group,player.name,player.level,player.exp,player_index.empire,guild.name AS guild_name
FROM player.player
LEFT JOIN player.player_index
ON player_index.id=player.account_id
LEFT JOIN player.guild_member
ON guild_member.pid=player.id
LEFT JOIN player.guild
ON guild.id=guild_member.guild_id
INNER JOIN account.account
ON account.id=player.account_id
WHERE player.id='$id' LIMIT 1"));
$getRank = mysql_query("SELECT player.id
FROM player.player
LEFT JOIN player.player_index
ON player_index.id=player.account_id
LEFT JOIN player.guild_member
ON guild_member.pid=player.id
LEFT JOIN player.guild
ON guild.id=guild_member.guild_id
INNER JOIN account.account
ON account.id=player.account_id
WHERE player.name NOT LIKE '[%]%' AND account.status!='BLOCK' ORDER BY player.level DESC, player.exp DESC");
$getEquip = mysql_query("SELECT * FROM player.item WHERE window='EQUIPMENT' AND owner_id='$id'");
?>
<?php
$charCache = '<table id="view">
<tr>
<th class="topLine">Name:</th>
<td class="tdunkel">'.$getInfo['name'].'</td>
</tr>
<tr>
<th class="topLine">Platz:</th>
<td class="thell">';
$rank = 1;
while($platz = mysql_fetch_assoc($getRank)) {
if($platz['id'] == $id) {
$charCache2 = $rank;
}
$rank++;
}
$charCache3 ='
</td>
</tr>
<tr>
<th class="topLine">Level:</th>
<td class="tdunkel">'.$getInfo['level'].'</td>
</tr>
<tr>
<th class="topLine">Lehre:</th>
<td class="thell">';
if ($getInfo['skill_group'] == 0) {
$charCache4 = "Keine Lehre";
}
else {
if ($getInfo['job'] == 0 || $getInfo['job'] == 4) {
if ($getInfo['skill_group'] == 1) {
$charCache4 = "Körper-Kampf";
}
elseif ($getInfo['skill_group'] == 2) {
$charCache4 = "Mental-Kampf";
}
} elseif ($getInfo['job'] == 1 || $getInfo['job'] == 5) {
if ($getInfo['skill_group'] == 1) {
$charCache4 = "Nahkampf";
}
elseif ($getInfo['skill_group'] == 2) {
$charCache4 = "Fernampf";
}
} elseif ($getInfo['job'] == 2 || $getInfo['job'] == 6) {
if ($getInfo['skill_group'] == 2) {
$charCache4 = "Schwarze Magie";
}
elseif ($getInfo['skill_group'] == 1) {
$charCache4 = "Magische Waffen";
}
} elseif ($getInfo['job'] == 3 || $getInfo['job'] == 7) {
if ($getInfo['skill_group'] == 2) {
$charCache4 = "Heilung";
}
elseif ($getInfo['skill_group'] == 1) {
$charCache4 = "Drachenmacht";
}
}
}
$charCache5 = '
</td>
</tr>
<tr>
<th class="topLine">Exp: </th>
<td class="tdunkel">'.$getInfo['exp'].'</td>
</tr>
<tr>
<th class="topLine">Gilde:</th>
<td class="thell">';
if(empty($getInfo['guild_name'])) {
$charCache6 = 'Keine gilde';
}
else {
$charCache6 = $getInfo['guild_name'];
}
$charCache7 ='</td>
</tr>
<tr>
<th class="topLine">Zuletzt online:</th>
<td class="tdunkel">'.$getInfo['last_play'].'</td>
</tr>
</table>
<img src="img/layout/img/'.$getInfo['job'].'.png" alt="" id="job">
<div id="equipment">
';
$charCache8 = "";
while($equip = mysql_fetch_assoc($getEquip)) {
$getWerte = mysql_fetch_assoc(mysql_query("SELECT * FROM player.item_proto WHERE vnum='".$equip['vnum']."'"));
$getStones = mysql_fetch_assoc(mysql_query("SELECT * FROM player.item WHERE id='".$equip['id']."'"));
$bonis = getBonisForView($equip, $itemBoni);
$name = compareItems($equip['vnum']);
$bonideff = getDeff($getWerte);
if($equip['pos'] == 0) {
$steine = getSteineForView($getStones, $itemBoni);
$charCache8 .= "<div id='armor' class='inventory'><img src='img/layout/items/".getNullen($equip['vnum']).".png' onmouseover='popup(\"<h3>".$name['item']."+".$name['stufe']."</h3>".$bonideff.$bonis.$steine."\");' onmouseout='disable()'/></div>";
}
elseif($equip['pos'] == 4) {
$bonidmg = getDamage($getWerte);
$steine = getSteineForView($getStones, $itemBoni);
$charCache8 .= "<div id='weapon' class='inventory'><img src='img/layout/items/".getNullen($equip['vnum']).".png' onmouseover='popup(\"<h3>".$name['item']."+".$name['stufe']."</h3>".$bonidmg.$bonis.$steine."\");' onmouseout='disable()' /></div>";
}
elseif($equip['pos'] == 2) {
$charCache8 .="<div id='schuhe' class='inventory'><img src='img/layout/items/".getNullen($equip['vnum']).".png' onmouseover='popup(\"<h3 class=style>".$name['item']."+".$name['stufe']."</h3>".$bonideff.$bonis."\");' onmouseout='disable()'/></div>";
}
elseif($equip['pos'] == 1) {
$charCache8 .="<div id='helm' class='inventory'><img src='img/layout/items/".getNullen($equip['vnum']).".png' onmouseover='popup(\"<h3>".$name['item']."+".$name['stufe']."</h3>".$bonideff.$bonis."\");' onmouseout='disable()'/></div>";
}
elseif($equip['pos'] == 10) {
$charCache8 .="<div id='schild' class='inventory'><img src='img/layout/items/".getNullen($equip['vnum']).".png' onmouseover='popup(\"<h3>".$name['item']."+".$name['stufe']."</h3>".$bonideff.$bonis."\");' onmouseout='disable()'/></div>";
}
elseif($equip['pos'] == 7) {
$charCache8 .="<div id='extraLeft' class='inventory'><img src='img/layout/items/".getPic($equip['vnum']).".png' onmouseover='popup(\"<h3>".$name['item']."\");' onmouseout='disable()'/></div>";
}
elseif($equip['pos'] == 3) {
$charCache8 .="<div id='armband' class='inventory'><img src='img/layout/items/".getNullen($equip['vnum']).".png' onmouseover='popup(\"<h3>".$name['item']."+".$name['stufe']."</h3>".$bonis."\");' onmouseout='disable()'/></div>";
}
elseif($equip['pos'] == 6) {
$charCache8 .="<div id='ohrring' class='inventory'><img src='img/layout/items/".getNullen($equip['vnum']).".png' onmouseover='popup(\"<h3>".$name['item']."+".$name['stufe']."</h3>".$bonis."\");' onmouseout='disable()'/></div>";
}
elseif($equip['pos'] == 5) {
$charCache8 .="<div id='kette' class='inventory'><img src='img/layout/items/".getNullen($equip['vnum']).".png' onmouseover='popup(\"<h3>".$name['item']."+".$name['stufe']."</h3>".$bonis."\");' onmouseout='disable()'/></div>";
}
elseif($equip['pos'] == 8) {
$charCache8 .="<div id='extraRight' class='inventory'><img src='img/layout/items/".getPic($equip['vnum']).".png' onmouseover='popup(\"<h3>".$name['item']."\");' onmouseout='disable()'/></div>";
}
else {
}
}
$charCache9 =' </div>';
$inhalt = $charCache.$charCache2.$charCache3.$charCache4.$charCache5.$charCache6.$charCache7.$charCache8.$charCache9;
cacheIt($inhalt, "char".$_GET['id']);
echo $inhalt;
}
?>
<div class="clear"></div>
<?php
echo'<p>Letzte Aktualisierung '. date('H:i d.m.Y', filemtime("cache/char".$_GET['id'].".txt")).'</p>'; ?>
<?php
}
else {
echo'<h2>Zugriff verwehrt</h2>';
echo'<p>Die GET Variabel ist kein Integer.</p>';
}
}
else {
echo'<h2>Zugriff verwehrt</h2>';
echo'<p>Du bist ohne Request hier.</p>';
}
?>
PS: Ich schwanke gerade noch ob ich mein WerbtEinenFreundSystem releasen soll .. soll ich ?
mfg






