PDA

View Full Version : [MU] [NWeb] Xếp Hạng Hiển Thị Tổng Số Point Nhân Vật



mrrainnt
12-01-13, 03:03 PM
- Lâu rồi cũng chẵng có gì share cho anh em :D!, Hôm nay "Lieuthunguyet" có hỏi chức năng show tổng số point giống TWeb Web cho NBB
- Sẵn tiện xem và làm thử :D!
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

Demo
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> (<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> )

Server - view_topresets.php


<?php
/**
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

* WebSite hoan toan duoc thiet ke boi NetBanBe.
* Vi vay, hay ton trong ban quyen tri tue cua NetBanBe
* Hay ton trong cong suc, tri oc NetBanBe da bo ra de thiet ke nen NWebMU
* Hay su dung ban quyen duoc cung cap boi NetBanBe de gop 1 phan nho chi phi phat trien NWebMU
* Khong nen su dung NWebMU ban crack hoac tu nguoi khac dua cho. Nhung hanh dong nhu vay se lam kim ham su phat trien cua NWebMU do khong co kinh phi phat trien cung nhu san pham tri tue bi danh cap.
* Cac ban hay su dung NWebMU duoc cung cap boi NetBanBe de NetBanBe co dieu kien phat trien them nhieu tinh nang hay hon, tot hon.
* Cam on nhieu!
*/

include_once("security.php");
include_once("config.php");
include_once("config/config_thehe.php");
$top_type = $_POST['top_type'];
if(empty($top_type)){ $top_type = ''; }
$passtransfer = $_POST["passtransfer"];

if ($passtransfer == $transfercode) {
for($i=1;$i<count($thehe_choise);$i++) {
$query = "SELECT DISTINCT Name,Class,relifes,Resets,cLevel,Strength,Dexterit y,Vitality,Energy,Leadership, DGT_Time FROM Character JOIN MEMB_INFO ON Character.AccountID collate DATABASE_DEFAULT = MEMB_INFO.memb___id collate DATABASE_DEFAULT AND thehe=". $i ." ";

switch($top_type)
{
case 'DW': $query .= "AND (Class = 0 OR Class = 1 OR Class = 2 OR Class = 3) "; break;
case 'DK': $query .= "AND (Class = 16 OR Class = 17 OR Class = 18 OR Class = 19) "; break;
case 'ELF': $query .= "AND (Class = 32 OR Class = 33 OR Class = 34 OR Class = 35) "; break;
case 'MG': $query .= "AND (Class = 48 OR Class = 49 OR Class = 50) "; break;
case 'DL': $query .= "AND (Class = 64 OR Class = 65 OR Class = 66) "; break;
case 'SuM': $query .= "AND (Class = 80 OR Class = 81 OR Class = 82 OR Class = 83) "; break;
case 'RF': $query .= "AND (Class = 96 OR Class = 97 OR Class = 98) "; break;
}

$query .= "ORDER BY relifes DESC, resets DESC , cLevel DESC";
$result = $db->SelectLimit($query, 50, 0) OR DIE("Query Error : $query");
$stt = 0;
while($row = $result->fetchrow()) {
++$stt;
$name = $row[0];
$class = $row[1];
$relife = $row[2];
$reset = $row[3];
$level = $row[4];
$streng = $row[5];
$dex = $row[6];
$vit = $row[7];
$ene = $row[8];
$menhlenh = $row[9];
$dgt_time = $row[10];
if($dgt_time > 0) $dgt_time = date('d/m H:i:s', $dgt_time);
else $dgt_time = '';
$thehe = $i;

if ($streng < 0) {$streng = $streng+65536;}
if ($dex < 0) {$dex = $dex+65536;}
if ($vit < 0) {$vit = $vit+65536;}
if ($ene < 0) {$ene = $ene+65536;}
if ($menhlenh < 0) {$menhlenh = $menhlenh+65536;}

if ( ($class != 64) OR ($class != 65) OR ($class != 66) ) {
$total_stat = $streng + $dex + $vit + $ene;
}
else {$total_stat = $streng + $dex + $vit + $ene + $menhlenh;}

echo "$name<nbb>$class<nbb>$relife<nbb>$reset<nbb>$level<nbb>$total_stat<nbb>$dgt_time<nbb>$thehe<nbb>\n";

}
}
}
$db->Close();
?>

Hosting
1. modules/rank/ranking.php

<?php
/**
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

* WebSite hoan toan duoc thiet ke boi NetBanBe.
* Vi vay, hay ton trong ban quyen tri tue cua NetBanBe
* Hay ton trong cong suc, tri oc NetBanBe da bo ra de thiet ke nen NWebMU
* Hay su dung ban quyen duoc cung cap boi NetBanBe de gop 1 phan nho chi phi phat trien NWebMU
* Khong nen su dung NWebMU ban crack hoac tu nguoi khac dua cho. Nhung hanh dong nhu vay se lam kim ham su phat trien cua NWebMU do khong co kinh phi phat trien cung nhu san pham tri tue bi danh cap.
* Cac ban hay su dung NWebMU duoc cung cap boi NetBanBe de NetBanBe co dieu kien phat trien them nhieu tinh nang hay hon, tot hon.
* Cam on nhieu!
*/

if (!defined('NetNWEB')) die("Ban khong co quyen truy cap he thong");
if ($Use_XepHang != 1) {
echo "<center>Chức năng không có hoặc không được sử dụng</center>";
}
else {
if ( !isset($_SESSION[mu_username]) ) {
echo "<div align=center><font color=red><b>Hãy Login trước khi thực hiện chức năng này</b></font></div>";
include('modules/home.php');
} else {
/*
Các bước tiến hành:
B1: Đọc file trên host lấy thời gian lưu file
B2: So sánh thời gian hiện tại với thời gian lưu file
B3: Nếu thời gian hiện tại lớn hơn thời gian lưu file 3600 (1h) thì đọc file trên Server
B4: Lưu nội dung file trên Server vào file trên Host
B5: Đọc file lưu trên Host và hiển thị
*/
$type = $_GET['type'];
switch($type)
{
case "DW": $file_host = "data/top_DW.txt"; $title_top = "Dark Wizark"; break;
case "DK": $file_host = "data/top_DK.txt"; $title_top = "Dark Knight"; break;
case "ELF": $file_host = "data/top_ELF.txt"; $title_top = "ELF"; break;
case "MG": $file_host = "data/top_MG.txt"; $title_top = "Magic Gladiator"; break;
case "DL": $file_host = "data/top_DL.txt"; $title_top = "DarkLord"; break;
case "SuM": $file_host = "data/top_SuM.txt"; $title_top = "Summoner"; break;
case "RF": $file_host = "data/top_RF.txt"; $title_top = "Rage Fighter"; break;
default: $file_host = "data/top.txt"; $title_top = "Tất cả";
}


$time = time()+date("25200");

$fp_host = fopen($file_host, "r");
$time_host = fgets($fp_host,15);
fclose($fp_host);
if ($time >= ($time_host+300) || $time_host > $time )
{
if ( $type == "DW" || $type == "DK" || $type == "ELF" || $type == "MG" || $type == "DL" || $type == "SuM" || $type == "RF" || empty($type) )
{
$getcontent_url = $server_url . "/view_topresets.php";
$getcontent_data = array(
'top_type' => $type,
'passtransfer' => $passtransfer
);

$show = _getContent($getcontent_url, $getcontent_data, $getcontent_method, $getcontent_curl);

if ( !empty($show) )
{
//Ghi vào file
$fp = fopen($file_host, "w+");
fputs ($fp, $time."\n".$show);
fclose($fp);
//End Ghi vào File
}
}
}

$line = 0;
$fopen_host = fopen($file_host, "r");
while (!feof($fopen_host)) {
$line++;
$character = fgets($fopen_host,200);
$char_info = explode('<nbb>', $character);
if ( $line == 1 )
{
$time_top = gmdate("h:i A d/m/Y",$character);
}
else {
$thehe_id = trim($char_info[7]);
$thehe_id = trim($thehe_id);
if ($thehe_id == $_SESSION['thehe'])
{
switch($char_info[1])
{
case 0: $Class ='Dark Wizark'; break;
case 1: $Class ='Soul Master'; break;
case 2:
case 3: $Class ='Grand Master'; break;

case 16: $Class ='Dark Knight'; break;
case 17: $Class ='Blade Knight'; break;
case 18:
case 19: $Class ='Blade Master'; break;

case 32: $Class ='Elf'; break;
case 33: $Class ='Muse Elf'; break;
case 34:
case 35: $Class ='Hight Elf'; break;

case 48: $Class ='Magic Gladiator'; break;
case 49:
case 50: $Class ='Duel Master'; break;

case 64: $Class ='DarkLord'; break;
case 65:
case 66: $Class ='Lord Emperor'; break;

case 80: $Class ='Sumonner'; break;
case 81: $Class ='Bloody Summoner'; break;
case 82:
case 83: $Class ='Dimension Master'; break;

case 96: $Class ='Rage Fighter'; break;
case 97:
case 98: $Class ='First Master'; break;
}
$char[] = array (
'name' => $char_info[0],
'nvclass' => $Class,
'relife' => $char_info[2],
'reset' => $char_info[3],
'level' => $char_info[4],
'total_stat' => $char_info[5],
'dgt_time' => $char_info[6],
'thehe' => $thehe_choise[$thehe_id]
);
}
}
}
fclose($fopen_host);

$page_template = 'templates/rank/ranking.tpl';
}
}
?>
2. templates/rank/ranking.tpl

<!-- Title -->
<div class="title_bg">
<div class="nl">
<img src="images/box_tit_left.gif"></div>

<div class="title">Xếp hạng Đại anh hùng >> <font color="red"><?php echo $title_top; ?></font></div>
<div class="nr">
<img src="images/box_tit_right.gif"></div>
</div>
<!-- End Title -->
<!-- Content -->
<div class="pad10">

<?php include('templates/rank/ranking_head.tpl'); ?>
<center>Cập nhập lúc: <?php echo $time_top; ?> ( 5 phút cập nhập 1 lần )</center>
<table width="100%" border="0" bgcolor="#9999FF">
<tr bgcolor="#FFFFFF">
<th align="center" scope="col">#</th>
<th align="center" scope="col">Nhân vật</th>
<th align="center" scope="col"><font color="red">RL</font>/<font color="blue">RS</font>/LV</th>
<th align="center" scope="col">Lớp nhân vật</th>
<th align="center" scope="col">Tổng Point</th>
<th align="center" scope="col">Đổi Giới Tính Lúc</th>
<th align="center" scope="col">Thế hệ</th>
</tr>
<?php for($i=0;$i<count($char);$i++) { ?>
<tr bgcolor="#FFFFFF">
<td align="center"><?php $j=$i+1; echo $j; ?></td>
<td align="center"><?php echo $char[$i]['name']; ?></td>
<td align="center"><font color="red"><?php echo $char[$i]['relife']; ?></font> / <font color="blue"><?php echo $char[$i]['reset']; ?></font>/<?php echo $char[$i]['level']; ?></td>
<td align="center"><?php echo $char[$i]['nvclass']; ?></td>
<td align="center"><?php echo $char[$i]['total_stat']; ?></td>
<td align="center"><?php echo $char[$i]['dgt_time']; ?></td>
<td align="center"><?php echo $char[$i]['thehe']; ?></td>
</tr>
<?php } ?>
</table>

<div class="clear">
</div>
</div>
<!-- End Content -->

k0y1a
12-01-13, 03:11 PM
chưa sài nên thank anh nhìn hay đấy thank 40charr

lieuthunguyet
12-01-13, 03:31 PM
Kiểm tra dùm xem coi sai chổ nào mà nó chưa chịu hiển thị, NBB v4.


<?php
include_once("security.php");
include_once("config.php");
include_once("config/config_thehe.php");
$top_type = $_POST['top_type'];
if(empty($top_type)){ $top_type = ''; }
$passtransfer = $_POST["passtransfer"];

if ($passtransfer == $transfercode) {
for($i=1;$i<count($thehe_choise);$i++) {
$query = "SELECT DISTINCT Name,Class,relifes,Resets, cLevel, DGT_Time FROM Character JOIN MEMB_INFO ON Character.AccountID collate DATABASE_DEFAULT = MEMB_INFO.memb___id collate DATABASE_DEFAULT AND thehe=". $i ." ";

switch($top_type)
{
case 'DW': $query .= "AND (Class = 0 OR Class = 1 OR Class = 2 OR Class = 3) "; break;
case 'DK': $query .= "AND (Class = 16 OR Class = 17 OR Class = 18 OR Class = 19) "; break;
case 'ELF': $query .= "AND (Class = 32 OR Class = 33 OR Class = 34 OR Class = 35) "; break;
case 'MG': $query .= "AND (Class = 48 OR Class = 49 OR Class = 50) "; break;
case 'DL': $query .= "AND (Class = 64 OR Class = 65 OR Class = 66) "; break;
case 'SuM': $query .= "AND (Class = 80 OR Class = 81 OR Class = 82 OR Class = 83) "; break;
case 'RF': $query .= "AND (Class = 96 OR Class = 97 OR Class = 98) "; break;
}

$query .= "ORDER BY relifes DESC, resets DESC , cLevel DESC";
$result = $db->SelectLimit($query, 50, 0) OR DIE("Query Error : $query");
$stt = 0;
while($row = $result->fetchrow()) {
++$stt;
$name = $row[0];
$class = $row[1];
$relife = $row[2];
$reset = $row[3];
$level = $row[4];
$dgt_time = $row[5];
if($dgt_time > 0) $dgt_time = date('d/m H:i:s', $dgt_time);
else $dgt_time = '';
$thehe = $i;

echo "$name<nbb>$class<nbb>$relife<nbb>$reset<nbb>$level<nbb>$total_stat<nbb>$thehe<nbb>\n";

}
}
}
$db->Close();
?>


<!-- Title -->
<div class="title_bg">
<div class="nl">
<img src="images/box_tit_left.gif"></div>

<div class="title">Xếp hạng Đại anh hùng >> <font color="red"><?php echo $title_top; ?></font></div>
<div class="nr">
<img src="images/box_tit_right.gif"></div>
</div>
<!-- End Title -->
<!-- Content -->
<div class="pad10">

<?php include('templates/ranking_head.tpl'); ?>
<center>Cập nhập lúc: <?php echo $time_top; ?> ( 5 phút cập nhập 1 lần )</center>
<table width="100%" border="0" bgcolor="#9999FF">
<tr bgcolor="#FFFFFF">
<th align="center" scope="col">#</th>
<th align="center" scope="col">Nhân vật</th>
<th align="center" scope="col"><font color="red">RL</font>/<font color="blue">RS</font>/LV</th>
<th align="center" scope="col">Lớp nhân vật</th>
<th align="center" scope="col">Time DGT</th>
<th align="center" scope="col">Thế hệ</th>
</tr>
<?php for($i=0;$i<count($char);$i++) { ?>
<tr bgcolor="#FFFFFF">
<td align="center"><?php $j=$i+1; echo $j; ?></td>
<td align="center"><?php echo $char[$i]['name']; ?></td>
<td align="center"><font color="red"><?php echo $char[$i]['relife']; ?></font> / <font color="blue"><?php echo $char[$i]['reset']; ?></font>/<?php echo $char[$i]['level']; ?></td>
<td align="center"><?php echo $char[$i]['nvclass']; ?></td>
<td align="center"><?php echo $char[$i]['total_stat']; ?></td>
<td align="center"><?php echo $char[$i]['thehe']; ?></td>
</tr>
<?php } ?>
</table>

<div class="clear">
</div>
</div>
<!-- End Content -->



<?php
if (!defined('NetNWEB')) die("Ban khong co quyen truy cap he thong");
if ($Use_XepHang != 1) {
echo "<center>Chức năng không có hoặc không được sử dụng</center>";
}
else {
if ( !isset($_SESSION[mu_username]) ) {
echo "<div align=center><font color=red><b>Hãy Login trước khi thực hiện chức năng này</b></font></div>";
include('modules/home.php');
} else {
/*
Các bước tiến hành:
B1: Đọc file trên host lấy thời gian lưu file
B2: So sánh thời gian hiện tại với thời gian lưu file
B3: Nếu thời gian hiện tại lớn hơn thời gian lưu file 3600 (1h) thì đọc file trên Server
B4: Lưu nội dung file trên Server vào file trên Host
B5: Đọc file lưu trên Host và hiển thị
*/
$type = $_GET['type'];
switch($type)
{
case "DW": $file_host = "data/top_DW.txt"; $title_top = "Dark Wizark"; break;
case "DK": $file_host = "data/top_DK.txt"; $title_top = "Dark Knight"; break;
case "ELF": $file_host = "data/top_ELF.txt"; $title_top = "ELF"; break;
case "MG": $file_host = "data/top_MG.txt"; $title_top = "Magic Gladiator"; break;
case "DL": $file_host = "data/top_DL.txt"; $title_top = "DarkLord"; break;
case "SuM": $file_host = "data/top_SuM.txt"; $title_top = "Summoner"; break;
case "RF": $file_host = "data/top_RF.txt"; $title_top = "Rage Fighter"; break;
default: $file_host = "data/top.txt"; $title_top = "Tất cả";
}


$time = time()+date("25200");

$fp_host = fopen($file_host, "r");
$time_host = fgets($fp_host,15);
fclose($fp_host);
if ($time >= ($time_host+300))
{
if ( $type == "DW" || $type == "DK" || $type == "ELF" || $type == "MG" || $type == "DL" || $type == "SuM" || $type == "RF" || empty($type) )
{
$getcontent_url = $server_url . "/view_topresets.php";
$getcontent_data = array(
'top_type' => $type,
'passtransfer' => $passtransfer
);

$show = _getContent($getcontent_url, $getcontent_data, $getcontent_method, $getcontent_curl);

if ( !empty($show) )
{
//Ghi vào file
$fp = fopen($file_host, "w+");
fputs ($fp, $time."\n".$show);
fclose($fp);
//End Ghi vào File
}
}
}

$line = 0;
$fopen_host = fopen($file_host, "r");
while (!feof($fopen_host)) {
$line++;
$character = fgets($fopen_host,200);
$char_info = explode('<nbb>', $character);
if ( $line == 1 )
{
$time_top = gmdate("h:i A d/m/Y",$character);
}
else {
$thehe_id = trim($char_info[6]);
$thehe_id = trim($thehe_id);
if ($thehe_id == $_SESSION['thehe'])
{
switch($char_info[1])
{
case 0: $Class ='Dark Wizark'; break;
case 1: $Class ='Soul Master'; break;
case 2:
case 3: $Class ='Grand Master'; break;

case 16: $Class ='Dark Knight'; break;
case 17: $Class ='Blade Knight'; break;
case 18:
case 19: $Class ='Blade Master'; break;

case 32: $Class ='Elf'; break;
case 33: $Class ='Muse Elf'; break;
case 34:
case 35: $Class ='Hight Elf'; break;

case 48: $Class ='Magic Gladiator'; break;
case 49:
case 50: $Class ='Duel Master'; break;

case 64: $Class ='DarkLord'; break;
case 65:
case 66: $Class ='Lord Emperor'; break;

case 80: $Class ='Sumonner'; break;
case 81: $Class ='Bloody Summoner'; break;
case 82:
case 83: $Class ='Dimension Master'; break;

case 96: $Class ='Rage Fighter'; break;
case 97:
case 98: $Class ='First Master'; break;
}
$char[] = array (
'name' => $char_info[0],
'nvclass' => $Class,
'relife' => $char_info[2],
'reset' => $char_info[3],
'level' => $char_info[4],
'total_stat' => $char_info[5],
'thehe' => $thehe_choise[$thehe_id]
);
}
}
}
fclose($fopen_host);

$page_template = 'templates/ranking.tpl';
}
}
?>

mrrainnt
12-01-13, 03:35 PM
File ở Server chưa có :)! Chép File ở Server của mình vào là OK

lieuthunguyet
12-01-13, 03:59 PM
File ở Server là cái đầu tiên ấy...!

mrrainnt
12-01-13, 04:03 PM
File ở Server là cái đầu tiên ấy...!

Tức là Code để đọc các bảng điểm chưa có :)!
Thử so sánh file đó với file phía trên của mình là biết mà

lieuthunguyet
12-01-13, 04:11 PM
Ah mình chỉ cần hiển thị những cái này thôi:

echo "$name<nbb>$class<nbb>$relife<nbb>$reset<nbb>$level<nbb>$total_stat<nbb>$thehe<nbb>\n";

Để chép vào thử xem sao.

lieuthunguyet
12-01-13, 04:17 PM
Chép vào thì nó mất sạch sành sanh :D.

mrrainnt
12-01-13, 04:52 PM
Chép vào thì nó mất sạch sành sanh :D.

:)! Bạn cứ chép full file của mình nếu chưa rành
Ngoài ra nếu muốn hiển thị gì thì file .tpl là người quyết định :)! Không thích thì thì bỏ đi là được