PDA

View Full Version : Hướng dẫn kích hoạt KNB và sửa lỗi



ben543518694
06-12-12, 05:29 PM
Bài viết hướng dẫn kích hoạt KNB của trungviet và sửa lỗi của mình :D
Những file cần chú ý :
cmd/base/buyitem.c ( file này nếu xài sv trungviet thì đã chỉnh sửa sẵn)
inh/user/user.c
ini/server.ini
inh/user/login.c
inh/user/login0.c
cmd/base/quit.c
cmd/sys/saveall.c
Đầu tiên phải vào ini/server.ini, tìm phần hosttype và sửa nó lại là 1000
Trước:



region : 1
host : 1
hosttype : 0


Sau:



region : 1
host : 1
hosttype : 1000


Xong bước trên, thử chạy server, vào game sẽ nhận được thông báo là 您的角色余额不足。 (Con số của số tài khoản của bạn không đủ.), như vậy là chúng ta đã có bước đầu rồi nhỉ.

Tiếp theo vào file inh/user/user.c, tìm:



if (MAIN_D->get_host_type()==0)
{
result = "ok:1000";
}


và sửa thành :



if (MAIN_D->get_host_type()==0)
{
result = "ok:1000";
}
if (MAIN_D->get_host_type()==1000)
{
result = sprintf("ok:%d", me->get_save("testbonus"));
}

Ở bước này, chúng ta đã làm được 2 phần: Kiểm tra Nguyên Bảo đủ hay không đủ rồi mới cho mua hàng, hiện số Nguyên Bảo đang có khi mở Bảo Khố, sau khi mua vật phẩm thì nhận được thông báo 您的帐号余额为x。 (Số dư tài khoản của bạn là x .).

Bước tiếp theo mở inh/user/login.c lên :

Tìm :



if (MAIN_D->get_host_type()==4||MAIN_D->get_host_type()==0)
{
if (MAIN_D->get_host_type()==0)
{
result = "ok:1:1:1";
}


Sửa lại thành :



if (MAIN_D->get_host_type()==4||MAIN_D->get_host_type()==0||MAIN_D->get_host_type()==1000)
{
if (MAIN_D->get_host_type()==0)
{
result = "ok:1:1:1";
}
if (MAIN_D->get_host_type()==1000)
{
result = "ok:1:1:1";
}


Ở bước này chúng ta đã chọn được nhân vật

Bước tiếp theo mở inh/user.login0.c :

Tìm :



if (MAIN_D->get_host_type()==4 || MAIN_D->get_host_type()==0 )
{
if (MAIN_D->get_host_type()==0)
{
i = "/sys/sys/id"->get_max_id();
result = sprintf("ok:%d", i+1);
"/sys/sys/id"->add_max_id(i+1);
}

Sửa lại thành :



if (MAIN_D->get_host_type()==4 || MAIN_D->get_host_type()==0 ||MAIN_D->get_host_type()==1000 )
{
if (MAIN_D->get_host_type()==0)
{
i = "/sys/sys/id"->get_max_id();
result = sprintf("ok:%d", i+1);
"/sys/sys/id"->add_max_id(i+1);
}
if (MAIN_D->get_host_type()==1000)
{
i = "/sys/sys/id"->get_max_id();
result = sprintf("ok:%d", i+1);
"/sys/sys/id"->add_max_id(i+1);
}


Xong bước này thì đã tạo được nhân vật mới

OK bước tiếp theo mở cmd/base/quit.c

Tìm:


if (MAIN_D->get_host_type()==4||MAIN_D->get_host_type()==0)

Sửa thành :


if (MAIN_D->get_host_type()==4||MAIN_D->get_host_type()==0||MAIN_D->get_host_type()==1000)


Và bước cuối cùng là cmd/sys/saveall.c

Tìm :


if (MAIN_D->get_host_type()==4||MAIN_D->get_host_type()==0)

Sửa thành :


if (MAIN_D->get_host_type()==4||MAIN_D->get_host_type()==0||MAIN_D->get_host_type()==1000)


Còn phần add KNB thì xài code của trungviet :




int main(object me,string arg) {
int yuanbao = to_int(arg);
if(!yuanbao) {
yuanbao = 1;
}
me->add_save("testbonus",yuanbao); //Nạp Nguyên Bảo
notify("Bạn đã nạp thành công %d Ngân Bảo",me->get_save("testbonus"));
return 1; //Kết thúc
}

hoặc có thể tới npc thất quốc tổng quản trong sv của mình để add KNB

OK vậy là đã sửa xong Lỗi khi kích hoạt KNB :D