PDA

View Full Version : Chức năng truyền công lực cho web0.8



ghvn1991
09-05-09, 11:36 AM
Mu Hoàng Tộc ra mắt các bạn chức năng Truyền Công Lực. Vậy nó có gì mới lạ và cách sử dụng như thế nào ?

Chúng tôi đặt tên là Công Lực cho văn hoa lên một chút chứ thực chất nó là trao đổi lần Reset giữa nhân vật này với nhân vật khác. Những nhân vật mới tham gia có thể làm quen với một cao thủ nào đó và xin cao thủ đó truyền cho một ít Công Lực ( Reset ). Chúng tôi nghĩ rằng chức năng này sẽ hỗ trợ những người mới chơi có điều kiện và khả năng theo kịp TOP.

Cách sử dụng cực dễ :
Bạn chỉ cần vào trang quản lý rồi chọn chức năng Truyền Công Lực. Sau đó nhập tên nhân vật muốn truyền công lực và số công lực cần truyền, cuối cùng chỉ việc ấn vào Bắt Đầu Truyền Công Lực là xong.
Lưu ý :
- Trước khi truyền công lực tài khoản của bạn và người muốn truyền công lực phải thoát ra khỏi Game.
- Bạn không thể truyền nếu nhân vật của bạn có số công lực nhỏ hơn số công lực nhân vật được truyền.
- Bạn chỉ có thể truyển nếu nhân vật của bạn có số công lực lớn hơn số công lực của nhân vật được truyền, và bạn chỉ có thể truyền không quá hiệu số giữa công lực của bạn và nhân vật được truyền.
- Khi truyền công lực cả bạn và người được truyền sẽ không bị mất một khoản phí nào



<?php
require("config.php");
$login = stripslashes($_SESSION['user']);
$login = clean_var($login);
include("includes/bank_manager.php");
//Code by Forestmank ( MU HOANG TOC - MU-HOANGTOC.COM )
if($login == NULL){echo "<script>alert('Bạn phải đăng nhập mới có thể truy cập!');</script>";}
else
{
$online = $db->Execute("Select ConnectStat From MEMB_STAT where memb___id='$login'");
$check_online = $online->fetchrow();
$sql_security = $db->Execute("SELECT fpas_ques,fpas_answ FROM MEMB_INFO WHERE memb___id='$login'");
$check_security = $sql_security->fetchrow();
if (isset($_POST['congluc']))
{
$number = stripslashes($_POST['number']);
$you = stripslashes($_POST['you']);
$me = stripslashes($_POST['me']);
$ques = stripslashes($_POST['ques']);
$ans = stripslashes($_POST['ans']);
$tontai = $db->Execute("Select Name From Character where Name='$you'");
$kt_tontai = $tontai->numrows();
$tkyou = $db->Execute("Select AccountID From Character where Name='$you'");
$kt_tkyou = $tkyou->fetchrow();
$you_online = $db->Execute("Select ConnectStat From MEMB_STAT where memb___id='$kt_tkyou[0]'");
$check_you_online = $you_online->fetchrow();
$query1 = $db->Execute("Select Resets,Relifes From Character where Name='$you' AND AccountID='$kt_tkyou[0]'");
$row1 = $query1->fetchrow();
$query = $db->Execute("Select Resets,Relifes From Character where Name='$me' AND AccountID='$login'");
$row = $query->fetchrow();
$conglucme = $row[0]+($row[1]*400);
$conglucyou = $row1[0]+($row1[1]*400);
$honkem = $conglucme - $conglucyou;
if ((eregi("[^0-9_-]", $number)) | (eregi("[^a-zA-Z0-9_-]", $you)) | (eregi("[^a-zA-Z0-9_-]", $ques)) | (eregi("[^a-zA-Z0-9_-]", $ans)))
{
echo("SQL Injection Detected");
exit();
}
if (empty ($number) || empty ($you) || empty ($ques) || empty ($ans))
{
echo "<script>alert('Bạn phải điền đầy đủ thông tin.');</script>";
}
elseif ($check_online[0] != 0)
{
echo "<script>alert('Tài khoản của bạn vẫn đang ở trong Game, xin vui lòng thoát ra khỏi Game.');</script>";
}
elseif ($honkem <= 0)
{
echo "<script>alert('Hiện tại công lực của $me chỉ ngang tầm hoặc yếu hơn $you. Bạn không thể truyền!');</script>";
}
elseif ($number >= $honkem)
{
echo "<script>alert('Bạn không thể truyền cho $you nhiều hơn $honkem công lực ( Reset ).');</script>";
}
elseif ($check_you_online[0] != 0)
{
echo "<script>alert('Tài khoản $kt_tkyou[0] của nhân vật $you vẫn đang ở trong Game, yêu cầu thoát ra khỏi Game.');</script>";
}
elseif ($kt_tontai <= 0)
{
echo "<script>alert('Nhân vật này không tồn tại.');</script>";
}
elseif ($login == $kt_tkyou[0])
{
echo "<script>alert('Trong một tài khoản các nhân vật không thể truyền công lực cho nhau.');</script>";
}
elseif ($ques != $check_security[0] OR $ans != $check_security[1])
{
echo "<script>alert('Câu hỏi hoặc câu trả lời bí mật không đúng.');</script>";
}
else {
$tinhtoanyou = bcdiv($conglucyou,'400');
$tinhtoanme = bcdiv($conglucme,'400');
$rsofyou = (($conglucyou + $number)/400 - $tinhtoanyou)*400;
$rsofme = (($conglucme - $number)/400 - $tinhtoanme)*400;
$db->Execute("UPDATE Character SET [Resets]='$rsofyou',[Relifes]='$tinhtoanyou' WHERE Name='$you' AND AccountID='$kt_tkyou[0]'");
$db->Execute("UPDATE Character SET [Resets]='$rsofme',[Relifes]='$tinhtoanme' WHERE Name='$me' AND AccountID='$login'");
$db->Execute("BACKUP DATABASE [MuOnline] TO DISK = N'D:\MuServer\DBBAK\MuOnline.bak' WITH INIT , NOUNLOAD , NAME = N'MuOnline backup', NOSKIP , STATS = 10, NOFORMAT");
{echo "<script>alert('Nhân vật $me đã truyền thành công $number công lực cho $you');</script>";}
$logfile = 'logs/congluc_logs.php';
$ip = $_SERVER['REMOTE_ADDR'];
$date = date('Y-m-d H:i');
$data = "Nhân vật <u>$me</u> đã truyền <b><u>$number</u></b> công lực cho <u>$you</u> vào lúc $date<br> \n";
$fp = fopen($logfile, 'a');
fputs($fp, $data);
fclose($fp);
}
}
echo "
<table width='480' border='0' align='center' cellpadding='0' cellspacing='0'>
<tr>
<td>
<fieldset><legend>Truyền công lực</legend>
<table width='100%' border='0' align='center' cellpadding='0' cellspacing='0'>
<br>
<div>- Trước khi truyền công lực ( Reset ) cho một nhân vật nào đó hãy đọc kĩ hướng dẫn phía dưới. <br><br></div>
<div><FORM METHOD='POST' ACTION=''><INPUT TYPE='hidden' NAME='congluc' VALUE='1'>
<CENTER><div>Chọn nhân vật : <select NAME='me'>$option</select> truyền công lực cho nhân vật <INPUT TYPE='text' NAME='you' size='8' maxlength='10'>
<br><br>Số công lực muốn truyền<br><INPUT TYPE='text' NAME='number' size='8' maxlength='10'>
<br><br>Câu hỏi bí mật<br><INPUT TYPE='text' NAME='ques' size='12' maxlength='12'>
<br>Câu trả lời bí mật<br><INPUT TYPE='text' NAME='ans' size='12' maxlength='12'>
<br><br><INPUT TYPE='submit' VALUE='Bắt đầu truyền công lực'></div><br></CENTER>
</FORM></div>
</tr>
</table>
</fieldset>
</td>
</tr>
</table>
";
}
?>
<br>
<? include("logs/congluc_logs.php"); ?>
<br>
<table width="320" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="395" height="37" background="<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>"><div align="center">
<table width="220" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="left"><strong>Hướng dẫn truyền công lực</strong></div></td>
</tr>
</table>
</div></td>
</tr>
</table>
<table width="450" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="left"><br>
<div>- Trước khi truyền công lực tài khoản của bạn và người được truyền công lực phải thoát ra khỏi Game.<br>
- Bạn không thể truyền nếu nhân vật của bạn có số công lực nhỏ hơn số công lực nhân vật được truyền.<br>
- Bạn chỉ có thể truyển nếu nhân vật của bạn có số công lực lớn hơn số công lực của nhân vật được truyền, và bạn chỉ có thể truyền không quá hiệu số giữa công lực của bạn và nhân vật được truyền.<br>
- Khi truy?n công lực cả bạn và người được truyền sẽ không bị mất một khoản phí nào</div>
</td>
</tr>
</table>

Mr.Rin
09-05-09, 11:41 AM
;)) Thế thì chẳng thấy mấy thằng Top đánh mà toàn thấy mấy thằng mới lập thôi ;))

nguoihocviec
09-05-09, 11:45 AM
thế thì sẽ xuất hiên mấy vụ hacknick,ăn cắp lẫn nhau !!!!!!!!!!!!!!1

ghvn1991
09-05-09, 11:49 AM
Cũng không như bạn nghĩ đâu. Truyền hay không là do bạn, bạn không muốn truyền thì ai ép được. Kể cả không có chức năng này vẫn cứ hack nick nhau ầm ầm, nếu giữ nick tốt thì chả ai hack đc.

c0ffeel0ve8x
09-05-09, 12:06 PM
Hay đấy nhỉ. Để tớ thử xem sao. Thank sharre

Destruct
09-05-09, 12:08 PM
Chức năng này cũng giống như mua bán Reset giữa các Accounts ấy nhỉ!
Chức năng này hay ở chỗ nếu như có ai đó thuộc Top và không muốn chơi nữa thì sẽ bàn giao lại số lần Reset của mình cho những người khác, tuyệt đấy chứ!

mattroilan
09-05-09, 12:25 PM
kool....tuyệt vời....không còn ý kiến gì....

ghvn1991
09-05-09, 12:32 PM
Mu tôi quy định 1 lần relife là 400 lần reset, các bạn có thể thay đổi lại ở phần



$conglucme = $row[0]+($row[1]*400);
$conglucyou = $row1[0]+($row1[1]*400);



$tinhtoanyou = bcdiv($conglucyou,'400');
$tinhtoanme = bcdiv($conglucme,'400');

YeuVo_ThuongCon
09-05-09, 12:59 PM
cũng hay nhưng bạn nên làm thêm 1 cấp nữa như là khi truyền kiểm tra câu hỏi và câu trả lời để chính chủ mới truyền đc

ghvn1991
09-05-09, 01:21 PM
oke cái này đơn giản, update liền :D

ghvn1991
09-05-09, 01:41 PM
đã update thêm check câu hỏi và trả lời bí mật :D

ttlsonline2
09-05-09, 05:46 PM
cái này cho thêm vào web php khác ngoài 0.8 đc ko ghvn ???? Chức năng nay công nhận quá hay :D thank cậu 1 cái

ghvn1991
09-05-09, 06:28 PM
Sửa lại một chút cho phù hợp với web đó là dùng đc hết

TuTrinh
09-05-09, 10:07 PM
em sài web của anh dh_notable Thi phai sửa làm sao anh bày em phát Đi :) Thank

Nylan
11-05-09, 08:56 PM
Good code....phát triển tốt nhá ku ghvn :D

ghvn1991
11-05-09, 10:18 PM
Sak, thì cũng đang phát triển mà. Từ khi nghịch ngợm php được cách đây 2 tháng được ông anh châm ngòi nữa nên giờ cũng thấy hứng lắm =))