PDA

View Full Version : [Cổ Kiếm]Share code quy đổi KNB ingame dành cho dev



hai07dv
01-03-13, 08:48 PM
Mình chã biết gì về mongodb nhưng cũng code được đoạn quy đổi ra KNB ingame <= code tham khảo từ cuốn sách php for mongoDB :D

Pác nào đã test cokiemvn.tk thì biết là có chức năng nhận free 50.000 KNB nhé
======================
OK...giờ mình hướng dẫn thế này

Các pác tích hợp thẻ nạp (XU) của ngân lượng hoặc bảo kim => tài khoản nhận được XU lưu trữ trong database MYSQL acc_db => account (tự tạo field này nhé vì mysql dễ thở hơn)

Sau đó thì ở web thêm chức năng quy đổi XU => KNB ingame

Đây là code mình tạo bao gồm check nhân vật đã tạo chưa => chưa tạo thì không đổi được và ngược lại (demo của mình tiền nạp là biến zingxu)



<?php
include_once("inc/conn.php"); //add thư viện
include_once("inc/function.php");//add thư viện

login_check(); //check đăng nhập hay chưa

//truy vấn csdl mysql
$query=$db->query("Select * from account where id=".intval($_COOKIE["usersid"])." and password='".str_check($_COOKIE["password"])."'");
if($rs=$db->fetch_array($query))
{
$zingxu=$rs["zingxu"]; //lấy giá trị zingxu lưu vô biến $zingxu (1)
$name=$rs["name"]; //lấy tên tài khoản lưu vô biến $name (2)
}

$m = new Mongo(); //tạo kết nối tới mongodb
$con=$m->ygzj_dev->player; //kết nối tới data ygzj_dev sau đó kết nối tiếp tới table player

//nếu nhấn quy đổi thì thực hiện chức năng
if(isset($_POST['submit']))
{

//xét zingxu phải lớn hơn 0 mới đổi được
if($rs["zingxu"] > 0)
{

//tìm tài khoản trong player theo biến $name ở (2)
$document = array("accname" => "$name");
$player=$con->findOne($document);

// nếu chưa tạo nhân vật thì báo lỗi
if(empty($player))
{
$no="Bạn chưa tạo nhân vật";
}

// nếu tạo rồi thì tiếp tục
else
{

// lấy giá trị KNB đang có trong tài khoản
foreach ($player as $document)
{
$gold= $player["gold"];
}

// tạo biến $knb = KNB ingame + zingxu trong tài khoản <= cơ bản đó là cộng dồn KNB thôi =))
$knb=$zingxu+$gold;

// cập nhật dữ liệu mongodb
$cursor = $con->update(array("accname" => "$name"),array('$set' => array("gold" =>new MongoInt32($knb))));

// thông báo đổi thành công
$no="Đổi $zingxu XU sang $knb KNB thành công";

// xóa zingxu trong tài khoản đi
$query=$db->query("update account set zingxu=0 where id=".$rs["id"]);

// thông báo trừ zingxu
$zx="Bạn bị trừ $zingxu Xu trong tài khoản";

}
}

// thông báo lỗi zingxu = 0
else
{
$no="Xin lỗi Xu không đủ để đổi KNB, Vui lòng nạp thêm";
}

}
?>

Những cái biến thông báo thì add ở chỗ nào tùy bạn với mẫu <?php echo $no; ?> và <?php echo $zx; ?>

Gà quá nên chỉ biết code đơn sơ thế thôi .......pro nào code tốt hơn thì public nhé :))


Hjx........Bị té xe ...đâm ra buồn share mấy thứ làm được .....em gõ chữ có 1 tay thôi các pác ak.... :((:(( tay kia treo cổ rùi

kiemthep
01-03-13, 08:55 PM
Té xe có bị nặng lắm ko Hải. Chỉ biết chia buồn thôi

quan2051993
01-03-13, 09:40 PM
Tks bác nhé ... Mình cũng té xe, mỗi tội là chỉ xước xát chân tay :T

babythandong
02-03-13, 04:45 AM
Hải ơi có cần thuốc thang gì không.:D

LuongITvn
02-03-13, 10:29 AM
Bị lỗi mất item xử lý ntn vậy:">