Implemented EQ + skills + full outfit display in character profile
@ -0,0 +1,7 @@
|
||||
1. Add below line to XML file: data/creaturescripts/creaturescripts.xml
|
||||
<event type="login" name="znote_syncoutfits" event="script" value="syncoutfit.lua"/>
|
||||
|
||||
2. Register event in login.lua: data/creaturescripts/scripts/login.lua
|
||||
registerCreatureEvent(cid, "znote_syncoutfits")
|
||||
|
||||
3. Place Lua file syncoutfit.lua in folder: data/creaturescripts/scripts/
|
39
LUA/TFS_03/creaturescript sync outfits/syncoutfit.lua
Normal file
@ -0,0 +1,39 @@
|
||||
-- Sync outfits that player own with Znote AAC
|
||||
-- So its possible to see which full sets player
|
||||
-- has in characterprofile.php
|
||||
|
||||
znote_outfit_list = {
|
||||
{ -- Female (girl) outfits
|
||||
136,137,138,139,140,141,142,147,148,
|
||||
149,150,155,156,157,158,252,269,270,
|
||||
279,288,324,329,336,366,431,433,464,
|
||||
466,471,513,514,542,575,578,618,620,
|
||||
632,635,636,664,666,683,694,696,698,
|
||||
724,732,745,749,759,845,852,874,885,
|
||||
900
|
||||
},
|
||||
{ -- Male (boy) outfits
|
||||
128,129,130,131,132,133,134,143,144,
|
||||
145,146,151,152,153,154,251,268,273,
|
||||
278,289,325,328,335,367,430,432,463,
|
||||
465,472,512,516,541,574,577,610,619,
|
||||
633,634,637,665,667,684,695,697,699,
|
||||
725,733,746,750,760,846,853,873,884,
|
||||
899
|
||||
}
|
||||
}
|
||||
|
||||
function onLogin(cid)
|
||||
-- storage_value + 1000 storages (highest outfit id) must not be used in other script.
|
||||
-- Must be identical to Znote AAC config.php: $config['EQ_shower'] -> storage_value
|
||||
local storage_value = 10000
|
||||
-- Loop through outfits
|
||||
for _, outfit in pairs(znote_outfit_list[getPlayerSex(cid)+1]) do
|
||||
if canPlayerWearOutfit(cid,outfit,3) then
|
||||
if getPlayerStorageValue(cid,storage_value + outfit) ~= 3 then
|
||||
setPlayerStorageValue(cid,storage_value + outfit, 3)
|
||||
end
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
@ -0,0 +1,8 @@
|
||||
1. Add below line to XML file: data/creaturescripts/creaturescripts.xml
|
||||
<event type="login" name="znote_syncoutfits" script="syncoutfit.lua" />
|
||||
|
||||
|
||||
2. Register event in login.lua: data/creaturescripts/scripts/login.lua
|
||||
player:registerEvent("znote_syncoutfits")
|
||||
|
||||
3. Place Lua file syncoutfit.lua in folder: data/creaturescripts/scripts/
|
39
LUA/TFS_10/creaturescript sync outfits/syncoutfit.lua
Normal file
@ -0,0 +1,39 @@
|
||||
-- Sync outfits that player own with Znote AAC
|
||||
-- So its possible to see which full sets player
|
||||
-- has in characterprofile.php
|
||||
|
||||
znote_outfit_list = {
|
||||
{ -- Female (girl) outfits
|
||||
136,137,138,139,140,141,142,147,148,
|
||||
149,150,155,156,157,158,252,269,270,
|
||||
279,288,324,329,336,366,431,433,464,
|
||||
466,471,513,514,542,575,578,618,620,
|
||||
632,635,636,664,666,683,694,696,698,
|
||||
724,732,745,749,759,845,852,874,885,
|
||||
900
|
||||
},
|
||||
{ -- Male (boy) outfits
|
||||
128,129,130,131,132,133,134,143,144,
|
||||
145,146,151,152,153,154,251,268,273,
|
||||
278,289,325,328,335,367,430,432,463,
|
||||
465,472,512,516,541,574,577,610,619,
|
||||
633,634,637,665,667,684,695,697,699,
|
||||
725,733,746,750,760,846,853,873,884,
|
||||
899
|
||||
}
|
||||
}
|
||||
|
||||
function onLogin(player)
|
||||
-- storage_value + 1000 storages (highest outfit id) must not be used in other script.
|
||||
-- Must be identical to Znote AAC config.php: $config['EQ_shower'] -> storage_value
|
||||
local storage_value = 10000
|
||||
-- Loop through outfits
|
||||
for _, outfit in pairs(znote_outfit_list[player:getSex()+1]) do
|
||||
if player:hasOutfit(outfit,3) then
|
||||
if player:getStorageValue(storage_value + outfit) ~= 3 then
|
||||
player:setStorageValue(storage_value + outfit, 3)
|
||||
end
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
@ -152,6 +152,455 @@ if (isset($_GET['name']) === true && empty($_GET['name']) === false) {
|
||||
<td>Created</td>
|
||||
<td><?php echo getClock($profile_znote_data['created'], true); ?></td>
|
||||
</tr>
|
||||
|
||||
<!-- EQ shower -->
|
||||
<?php if ($config['EQ_shower']['enabled']): ?>
|
||||
<tr>
|
||||
<?php
|
||||
// Item image server
|
||||
$imageServer = $config['shop']['imageServer'];
|
||||
$imageType = $config['shop']['imageType'];
|
||||
$PEQ = mysql_select_multi("
|
||||
SELECT
|
||||
`player_id`,
|
||||
`pid`,
|
||||
`itemtype`,
|
||||
`count`
|
||||
FROM `player_items`
|
||||
WHERE `player_id`={$user_id}
|
||||
AND `pid`<'11'
|
||||
");
|
||||
|
||||
$soulStamina = (in_array($config['ServerEngine'], ['TFS_10']))
|
||||
? " `soul`, `stamina`,"
|
||||
: " `p`.`soul`, `p`.`stamina`,";
|
||||
|
||||
if ($config['client'] < 780) {
|
||||
$soulStamina = (in_array($config['ServerEngine'], ['TFS_10']))
|
||||
? " 0 AS `soul`, 0 AS `stamina`,"
|
||||
: " 0 AS `p`.`soul`, 0 AS `p`.`stamina`,";
|
||||
}
|
||||
|
||||
$player_query = (in_array($config['ServerEngine'], ['TFS_10']))
|
||||
? /* true */ "SELECT
|
||||
`health`, `healthmax`,
|
||||
`mana`, `manamax`,
|
||||
`cap`,
|
||||
`experience`, `level`,
|
||||
{$soulStamina}
|
||||
`maglevel`,
|
||||
`skill_fist`,
|
||||
`skill_club`,
|
||||
`skill_sword`,
|
||||
`skill_axe`,
|
||||
`skill_dist`,
|
||||
`skill_shielding`,
|
||||
`skill_fishing`
|
||||
FROM `players`
|
||||
WHERE `id`={$user_id}
|
||||
LIMIT 1;"
|
||||
: /* false */ "SELECT
|
||||
`p`.`health`, `p`.`healthmax`,
|
||||
`p`.`mana`, `p`.`manamax`,
|
||||
`p`.`cap`,
|
||||
`p`.`experience`, `p`.`level`,
|
||||
{$soulStamina}
|
||||
`p`.`maglevel`,
|
||||
`fist`.`value` AS `skill_fist`,
|
||||
`club`.`value` AS `skill_club`,
|
||||
`sword`.`value` AS `skill_sword`,
|
||||
`axe`.`value` AS `skill_axe`,
|
||||
`dist`.`value` AS `skill_dist`,
|
||||
`shield`.`value` AS `skill_shielding`,
|
||||
`fish`.`value` AS `skill_fishing`
|
||||
FROM `players` AS `p`
|
||||
LEFT JOIN `player_skills` AS `fist` ON `p`.`id` = `fist`.`player_id` AND `fist`.`skillid` = 0
|
||||
LEFT JOIN `player_skills` AS `club` ON `p`.`id` = `club`.`player_id` AND `club`.`skillid` = 1
|
||||
LEFT JOIN `player_skills` AS `sword` ON `p`.`id` = `sword`.`player_id` AND `sword`.`skillid` = 2
|
||||
LEFT JOIN `player_skills` AS `axe` ON `p`.`id` = `axe`.`player_id` AND `axe`.`skillid` = 3
|
||||
LEFT JOIN `player_skills` AS `dist` ON `p`.`id` = `dist`.`player_id` AND `dist`.`skillid` = 4
|
||||
LEFT JOIN `player_skills` AS `shield` ON `p`.`id` = `shield`.`player_id` AND `shield`.`skillid` = 5
|
||||
LEFT JOIN `player_skills` AS `fish` ON `p`.`id` = `fish`.`player_id` AND `fish`.`skillid` = 6
|
||||
WHERE `p`.`id`= {$user_id}
|
||||
LIMIT 1;";
|
||||
$playerstats = mysql_select_single($player_query);
|
||||
|
||||
$playerstats['experience'] = number_format($playerstats['experience'],0,'',',');
|
||||
$playerstats['stamina'] = number_format($playerstats['stamina']/60,2,':','');
|
||||
|
||||
$bar_length = 100;
|
||||
$bar_health = (int)($bar_length * ($playerstats['health'] / $playerstats['healthmax']));
|
||||
$bar_mana = (int)($bar_length * ($playerstats['mana'] / $playerstats['manamax']));
|
||||
|
||||
$outfit_server = $config['show_outfits']['imageServer'];
|
||||
$outfit_storage = $config['EQ_shower']['storage_value'];
|
||||
|
||||
$male_outfits = array(
|
||||
[128,129,130,131,132],
|
||||
[133,134,143,144,145],
|
||||
[146,151,152,153,154],
|
||||
[251,268,273,278,289],
|
||||
[325,328,335,367,430],
|
||||
[432,463,465,472,512],
|
||||
//516,541,574,577,610,619,633,634,637,665,667,684,695,697,699,725,733,746,750,760,846,853,873,884,899
|
||||
);
|
||||
|
||||
$female_outfits = array(
|
||||
[136,137,138,139,140],
|
||||
[141,142,147,148,149],
|
||||
[150,155,156,157,158],
|
||||
[252,269,270,279,288],
|
||||
[324,329,336,366,431],
|
||||
[433,464,466,471,513],
|
||||
//514,542,575,578,618,620,632,635,636,664,666,683,694,696,698,724,732,745,749,759,845,852,874,885,900
|
||||
);
|
||||
|
||||
$featured_outfits = ($profile_data['sex'] == 1) ? $male_outfits : $female_outfits;
|
||||
$outfit_list = array();
|
||||
$outfit_rows = COUNT($featured_outfits);
|
||||
$outfit_columns = COUNT($featured_outfits[0]);
|
||||
|
||||
foreach ($featured_outfits as $row) {
|
||||
if (COUNT($row) > $outfit_columns) {
|
||||
$outfit_columns = COUNT($row);
|
||||
}
|
||||
foreach ($row as $column) {
|
||||
$outfit_list[] = $column;
|
||||
}
|
||||
}
|
||||
|
||||
$highest_outfit_id = MAX($outfit_list);
|
||||
$outfit_storage_max = $outfit_storage + $highest_outfit_id + 1;
|
||||
|
||||
$player_outfits = array();
|
||||
$storage_sql = mysql_select_multi("
|
||||
SELECT `key`, `value`
|
||||
FROM `player_storage`
|
||||
WHERE `player_id`={$user_id}
|
||||
AND `key` > {$outfit_storage}
|
||||
AND `key` < {$outfit_storage_max}
|
||||
");
|
||||
if ($storage_sql !== false && !empty($storage_sql)) {
|
||||
foreach ($storage_sql as $row) {
|
||||
$player_outfits[$row['key']] = $row['value'];
|
||||
}
|
||||
}
|
||||
|
||||
$aquired_outfits = array();
|
||||
foreach ($outfit_list as $outfit_id) {
|
||||
$outfit_key = $outfit_storage + $outfit_id;
|
||||
if (isset($player_outfits[$outfit_key]) && $player_outfits[$outfit_key] == 3) {
|
||||
$aquired_outfits[$outfit_id] = true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
<td colspan="2" id="piv">
|
||||
<div id="piv_flex">
|
||||
|
||||
<?php if ($config['EQ_shower']['equipment']): ?>
|
||||
<div id="piv_i">
|
||||
<img class="bg" src="/engine/img/outfit.png">
|
||||
<div id="piv_lifebar"></div><div id="piv_lifetext"><span><?php echo $playerstats['health']; ?></span></div>
|
||||
<div id="piv_manabar"></div><div id="piv_manatext"><span><?php echo $playerstats['mana']; ?></span></div>
|
||||
<?php if ($PEQ !== false && !empty($PEQ)): foreach($PEQ as $item): ?>
|
||||
<img class="itm itm-<?php echo $item['pid']; ?>"
|
||||
src="<?php echo "http://{$imageServer}/".$item['itemtype'].".{$imageType}"; ?>">
|
||||
<?php endforeach; endif; ?>
|
||||
<span id="piv_cap">Cap:<br><?php echo $playerstats['cap']; ?></span>
|
||||
<?php if ($loadOutfits): ?>
|
||||
<div class="inventory_outfit">
|
||||
<img src="<?php echo $config['show_outfits']['imageServer']; ?>?id=<?php echo $profile_data['looktype']; ?>&addons=<?php echo $profile_data['lookaddons']; ?>&head=<?php echo $profile_data['lookhead']; ?>&body=<?php echo $profile_data['lookbody']; ?>&legs=<?php echo $profile_data['looklegs']; ?>&feet=<?php echo $profile_data['lookfeet']; ?>" alt="img">
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($config['EQ_shower']['skills']): ?>
|
||||
<div id="piv_s">
|
||||
<img class="bg" src="/engine/img/skillsbackground.png">
|
||||
<span id="s_exp" class="txt"><?php echo $playerstats['experience']; ?></span>
|
||||
<span id="s_lvl" class="txt"><?php echo $playerstats['level']; ?></span>
|
||||
<span id="s_hp" class="txt"><?php echo number_format($playerstats['health'],0,'',','); ?></span>
|
||||
<span id="s_mp" class="txt"><?php echo number_format($playerstats['mana'],0,'',','); ?></span>
|
||||
<span id="s_soul" class="txt"><?php echo $playerstats['soul']; ?></span>
|
||||
<span id="s_cap" class="txt"><?php echo number_format($playerstats['cap'],0,'',','); ?></span>
|
||||
<span id="s_stamina" class="txt"><?php echo $playerstats['stamina']; ?></span>
|
||||
<span id="s_maglevel" class="txt"><?php echo $playerstats['maglevel']; ?></span>
|
||||
<span id="s_skill_fist" class="txt"><?php echo $playerstats['skill_fist']; ?></span>
|
||||
<span id="s_skill_club" class="txt"><?php echo $playerstats['skill_club']; ?></span>
|
||||
<span id="s_skill_sword" class="txt"><?php echo $playerstats['skill_sword']; ?></span>
|
||||
<span id="s_skill_axe" class="txt"><?php echo $playerstats['skill_axe']; ?></span>
|
||||
<span id="s_skill_dist" class="txt"><?php echo $playerstats['skill_dist']; ?></span>
|
||||
<span id="s_skill_shielding" class="txt"><?php echo $playerstats['skill_shielding']; ?></span>
|
||||
<span id="s_skill_fishing" class="txt"><?php echo $playerstats['skill_fishing']; ?></span>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ($config['EQ_shower']['outfits']): ?>
|
||||
<div id="piv_o">
|
||||
<div class="bg">
|
||||
<div class="bg_t">
|
||||
<div class="t_m"></div>
|
||||
<div class="t_l"></div>
|
||||
<div class="t_r"></div>
|
||||
</div>
|
||||
<div class="bg_m">
|
||||
<div class="m_l"></div>
|
||||
<div class="m_m"></div>
|
||||
<div class="m_r"></div>
|
||||
</div>
|
||||
<div class="bg_b">
|
||||
<div class="b_m"></div>
|
||||
<div class="b_l"></div>
|
||||
<div class="b_r"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="piv_o_container">
|
||||
<?php foreach ($featured_outfits as $row): foreach($row as $outfit_id): $g = (isset($aquired_outfits[$outfit_id])) ? "" : "grayimg"; ?>
|
||||
<img class="o <?php echo $g; ?>" src="<?php echo $outfit_server . "?id=" . $outfit_id; ?>&addons=3&head=0&body=0&legs=0&feet=0">
|
||||
<?php endforeach; endforeach; ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<!-- Inventory style positioning -->
|
||||
<style type="text/css">
|
||||
#piv {
|
||||
background-image: url("/engine/img/o/m_m.png");
|
||||
}
|
||||
#piv_flex {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
/*align-items: center;*/
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
font-family: Verdana,Geneva,sans-serif;
|
||||
font-size: 7.0pt;
|
||||
line-height: 1;
|
||||
color: rgb(201,201,201);
|
||||
}
|
||||
#piv_i, #piv_s, #piv_o {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#piv_i {
|
||||
width: 126px;
|
||||
height: 207px;
|
||||
}
|
||||
#piv_s {
|
||||
width: 184px;
|
||||
height: 232px;
|
||||
}
|
||||
#piv_o {
|
||||
width: <?php echo 16 + $outfit_columns * 40; ?>px;
|
||||
height: <?php echo 29 + $outfit_rows * 33; ?>px;
|
||||
}
|
||||
#piv_flex img {
|
||||
position: absolute;
|
||||
}
|
||||
#piv_i .inventory_outfit {
|
||||
position: absolute;
|
||||
top: 130px;
|
||||
left: -24px;
|
||||
}
|
||||
#piv_lifebar {
|
||||
position: absolute;
|
||||
border-radius: 6px;
|
||||
top: 6px;
|
||||
left: 14px;
|
||||
height: 11px;
|
||||
/*width: 95px;*/
|
||||
width: <?php echo $bar_health; ?>px;
|
||||
background-image: url("/engine/img/lifebarra.png");
|
||||
}
|
||||
#piv_manabar {
|
||||
position: absolute;
|
||||
border-radius: 6px;
|
||||
top: 19px;
|
||||
left: 14px;
|
||||
height: 11px;
|
||||
/*width: 95px;*/
|
||||
width: <?php echo $bar_mana; ?>px;
|
||||
background-image: url("/engine/img/manabar.png");
|
||||
}
|
||||
#piv_lifetext,
|
||||
#piv_manatext {
|
||||
position: absolute;
|
||||
display: block;
|
||||
left: 15px;
|
||||
width: <?php echo $bar_length; ?>px;
|
||||
text-align: center;
|
||||
}
|
||||
#piv_lifetext {
|
||||
top: 7px;
|
||||
}
|
||||
#piv_manatext {
|
||||
top: 20px;
|
||||
}
|
||||
#piv_lifetext span,
|
||||
#piv_manatext span {
|
||||
background-color: rgba(0,0,0,0.7);
|
||||
border-radius: 3px;
|
||||
}
|
||||
#piv_flex .itm { background-image: url("/engine/img/bg.png"); }
|
||||
#piv_flex .itm-1 { left: 48px; top: 39px; }
|
||||
#piv_flex .itm-2 { left: 11px; top: 53px; }
|
||||
#piv_flex .itm-3 { left: 85px; top: 53px; }
|
||||
#piv_flex .itm-4 { left: 48px; top: 76px; }
|
||||
#piv_flex .itm-5 { left: 85px; top: 90px; }
|
||||
#piv_flex .itm-6 { left: 11px; top: 90px; }
|
||||
#piv_flex .itm-7 { left: 48px; top: 113px; }
|
||||
#piv_flex .itm-8 { left: 48px; top: 150px; }
|
||||
#piv_flex .itm-9 { left: 11px; top: 127px; }
|
||||
#piv_flex .itm-10 { left: 85px; top: 127px; }
|
||||
#piv_cap {
|
||||
position: absolute;
|
||||
top: 162px;
|
||||
left: 85px;
|
||||
min-width: 32px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#piv_s .txt {
|
||||
position: absolute;
|
||||
}
|
||||
#s_exp { right: 22px; top: 16px; }
|
||||
#s_lvl { right: 22px; top: 30px; }
|
||||
#s_hp { right: 22px; top: 44px; }
|
||||
#s_mp { right: 22px; top: 58px; }
|
||||
#s_soul { right: 22px; top: 71px; }
|
||||
#s_cap { right: 22px; top: 86px; }
|
||||
#s_stamina { right: 22px; top: 100px; }
|
||||
#s_maglevel { right: 22px; top: 114px; }
|
||||
#s_skill_fist { right: 22px; top: 132px; }
|
||||
#s_skill_club { right: 22px; top: 146px; }
|
||||
#s_skill_sword { right: 22px; top: 160px; }
|
||||
#s_skill_axe { right: 22px; top: 174px; }
|
||||
#s_skill_dist { right: 22px; top: 188px; }
|
||||
#s_skill_shielding { right: 22px; top: 202px; }
|
||||
#s_skill_fishing { right: 22px; top: 215px; }
|
||||
|
||||
/* Dynamically render background container size for outfits */
|
||||
#piv_o .bg {
|
||||
width: inherit;
|
||||
height: inherit;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
#piv_o .bg_t {
|
||||
height: 21px;
|
||||
width: 100%;
|
||||
}
|
||||
#piv_o .bg_m {
|
||||
width: 100%;
|
||||
height: <?php echo $outfit_rows * 33; ?>px;
|
||||
}
|
||||
#piv_o .t_l {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
background-image: url("/engine/img/o/t_l.png");
|
||||
width: 8px;
|
||||
height: 21px;
|
||||
}
|
||||
#piv_o .t_m {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
background-image: url("/engine/img/o/t_m.png");
|
||||
width: 100%;
|
||||
height: 21px;
|
||||
}
|
||||
#piv_o .t_r {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
background-image: url("/engine/img/o/t_r.png");
|
||||
width: 50px;
|
||||
height: 21px;
|
||||
}
|
||||
#piv_o .m_l {
|
||||
background-image: url("/engine/img/o/m_l.png");
|
||||
width: 8px;
|
||||
height: inherit;
|
||||
float: left;
|
||||
}
|
||||
#piv_o .m_m {
|
||||
background-image: url("/engine/img/o/m_m.png");
|
||||
width: calc(100% - 16px);
|
||||
height: inherit;
|
||||
float: left;
|
||||
}
|
||||
#piv_o .m_r {
|
||||
background-image: url("/engine/img/o/m_r.png");
|
||||
width: 8px;
|
||||
height: inherit;
|
||||
float: left;
|
||||
}
|
||||
#piv_o .b_l {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
background-image: url("/engine/img/o/b_l.png");
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
#piv_o .b_m {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-image: url("/engine/img/o/b_m.png");
|
||||
width: 100%;
|
||||
height: 8px;
|
||||
}
|
||||
#piv_o .b_r {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-image: url("/engine/img/o/b_r.png");
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
|
||||
/* Render outfit player sprites */
|
||||
#piv_o_container {
|
||||
height: inherit;
|
||||
width: inherit;
|
||||
}
|
||||
#piv_o_container .o {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
/* Outfit column positions */
|
||||
<?php for ($column = 1; $column <= $outfit_columns; $column++): ?>
|
||||
#piv_o_container .o:nth-child(<?php echo $outfit_columns.'n+'.$column;?>) { right: <?php echo 10 + 40 * ($outfit_columns-$column); ?>px; }
|
||||
<?php endfor; ?>
|
||||
|
||||
/* Outfit row positions */
|
||||
<?php for ($row = 1; $row <= $outfit_rows; $row++): ?>
|
||||
#piv_o_container .o:nth-child(n+<?php echo $outfit_columns * ($row-1)+1; ?>):nth-child(-n+<?php echo $outfit_columns*$row; ?>) { bottom: <?php echo 10 + 33 * ($outfit_rows-$row); ?>px; }
|
||||
<?php endfor; ?>
|
||||
|
||||
#piv_o_container .o.grayimg {
|
||||
filter: none;
|
||||
-webkit-filter: grayscale(100%);
|
||||
-moz-filter: grayscale(100%);
|
||||
-ms-filter: grayscale(100%);
|
||||
-o-filter: grayscale(100%);
|
||||
opacity: .5;
|
||||
filter: alpha(opacity=50);
|
||||
margin-left: -25pt;
|
||||
margin-top: -25px;
|
||||
}
|
||||
</style>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif; ?>
|
||||
<!-- End EQ shower -->
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
12
config.php
@ -596,6 +596,18 @@
|
||||
'imageServer' => 'http://outfit-images.ots.me/animatedOutfits1099/animoutfit.php'
|
||||
);
|
||||
|
||||
// Show advanced inventory data in character profile
|
||||
$config['EQ_shower'] = array(
|
||||
'enabled' => true,
|
||||
'equipment' => true,
|
||||
'skills' => true,
|
||||
'outfits' => true,
|
||||
// Player storage (storage_value + outfitId)
|
||||
// used to see if player has outfit.
|
||||
// see LUA scripts folder for otserv code
|
||||
'storage_value' => 10000
|
||||
);
|
||||
|
||||
// Level requirement to create guild? (Just set it to 1 to allow all levels).
|
||||
$config['create_guild_level'] = 8;
|
||||
|
||||
|
BIN
engine/img/bg.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
engine/img/lifebarra.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
engine/img/manabar.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
engine/img/o/b_l.png
Normal file
After Width: | Height: | Size: 289 B |
BIN
engine/img/o/b_m.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
engine/img/o/b_r.png
Normal file
After Width: | Height: | Size: 268 B |
BIN
engine/img/o/m_l.png
Normal file
After Width: | Height: | Size: 517 B |
BIN
engine/img/o/m_m.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
engine/img/o/m_r.png
Normal file
After Width: | Height: | Size: 490 B |
BIN
engine/img/o/t_l.png
Normal file
After Width: | Height: | Size: 397 B |
BIN
engine/img/o/t_m.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
engine/img/o/t_r.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
engine/img/outfit.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
engine/img/outfitbackgrounds.png
Normal file
After Width: | Height: | Size: 7.7 KiB |
BIN
engine/img/skillsbackground.png
Normal file
After Width: | Height: | Size: 64 KiB |