PDA

View Full Version : Server Chiến Quốc Offline and ByeBye



Trang : 1 [2]

ben543518694
12-12-14, 05:53 PM
Em đã fix đc rồi =)) hình như mấy gói mở quà lấy trang bị ra hình như đã được xếp sẵn, muốn hỏi anh mấy cái luôn mà h thi cử nên k onl đc máy tính chỉ onl đt 3g
À mà hình như hp với mp có giới hạn phải k anh, có mấy món em chế lại xong trang bị vô máu đang >60k tự nhiên rơi còn 47, tương tự với mana

cái đó là do phần hiển thị của client, máu nó hiện còn 47 nhưng thật ra vẫn là 6xx47

hoangthong269
12-12-14, 06:56 PM
cái đó là do phần hiển thị của client, máu nó hiện còn 47 nhưng thật ra vẫn là 6xx47

Thế có sửa được không vậy anh ? Hay là đành ? Chứ nhìn nó hài hài :|

--- Chế độ gộp bài viết ---

À mà server của anh là bản nào vậy :/ em down từ tuan565 mà thấy bản 50 :/ thấy diễn đàn có đến 51 rồi nên cho em hỏi có server nào bản mới nhất và đã VH rồi không ạ

ben543518694
14-12-14, 04:48 AM
Thế có sửa được không vậy anh ? Hay là đành ? Chứ nhìn nó hài hài :|

--- Chế độ gộp bài viết ---

À mà server của anh là bản nào vậy :/ em down từ tuan565 mà thấy bản 50 :/ thấy diễn đàn có đến 51 rồi nên cho em hỏi có server nào bản mới nhất và đã VH rồi không ạ

Hiện tại mình đã dev lại từ sv nền SGT, việt hóa thì chắc cũng chỉ tạm tạm như mấy bản trước thôi :v

hoangthong269
14-12-14, 11:52 AM
Hiện tại mình đã dev lại từ sv nền SGT, việt hóa thì chắc cũng chỉ tạm tạm như mấy bản trước thôi :v

Vậy là cái bản anh up đó hả, okay để em down về test :3. Được thì anh hướng dẫn giùm em cách mở rộng tầm skill ra, ví dụ cái skill 150 TS á, tầm đánh là 6x6, muốn mở rộng ra thithì làm thế nào vậy anh ?

ben543518694
14-12-14, 06:33 PM
Vậy là cái bản anh up đó hả, okay để em down về test :3. Được thì anh hướng dẫn giùm em cách mở rộng tầm skill ra, ví dụ cái skill 150 TS á, tầm đánh là 6x6, muốn mở rộng ra thithì làm thế nào vậy anh ?




char = get_range_object(z, x, y, 5, USER_TYPE) + get_range_object(z, x, y, 5, CHAR_TYPE) - ({ me });
// thay số 5 thành 20 và test :v

hoangthong269
15-12-14, 09:29 AM
char = get_range_object(z, x, y, 5, USER_TYPE) + get_range_object(z, x, y, 5, CHAR_TYPE) - ({ me });
// thay số 5 thành 20 và test :v



Cảm ơn anh ạ :))
Ừm mà bữa nào anh hướng dẫn cụ thể hơn việc add nguyên set đồ vào không, như bộ Linh Lộc đồ này nọ á. Có coi phần hướng dẫn của anh ở mấy trang trc rồi mà không hiểu lắm

ben543518694
20-12-14, 04:56 PM
Cảm ơn anh ạ :))
Ừm mà bữa nào anh hướng dẫn cụ thể hơn việc add nguyên set đồ vào không, như bộ Linh Lộc đồ này nọ á. Có coi phần hướng dẫn của anh ở mấy trang trc rồi mà không hiểu lắm

Để tạo mới trang bị tử kim thì chỉ cần chú ý đến những thư mục và file sau :





sys / user / suit.c

item / 55
item / 56
item / 57
item / 58
item / 59


Có thể mở lên tìm hiểu và làm tương tự những code gốc

sadlegend
27-12-14, 05:37 PM
anh ơi cho em hỏi mấy cái lệnh cực hiệu ngoại công, nội cộng.... là gì thế

capslocke0
01-01-15, 01:10 AM
anh làm sao để khi mình đăng nhập thì nó tự động reg nick cho mình ở phiên bản này ạ

namvincen
03-01-15, 12:22 PM
Anh ben ơi anh có thể chỉ cho em cách làm hiệu ứng kill dc ko anh?
Cho em nick facebook để dễ liên lạc nha anh\:D/\:D/

0968578813
19-01-15, 10:58 PM
Anh ben ơi anh có thể chỉ cho em cách làm hiệu ứng kill dc ko anh?
Cho em nick facebook để dễ liên lạc nha anh\:D/\:D/

anh ben ơi. làm 5 cánh 1 hợp thành bằng cánh 2. và cả làm hiệu ứng cho cánh thì làm như nào vậy ạ. bạn nào trong diễn dàn biết thì chỉ mình luôn nhé mình xin cám ơn mọi người

longryu
19-02-15, 11:44 AM
anh ben ơi. làm 5 cánh 1 hợp thành bằng cánh 2. và cả làm hiệu ứng cho cánh thì làm như nào vậy ạ. bạn nào trong diễn dàn biết thì chỉ mình luôn nhé mình xin cám ơn mọi người
sever này sau mình add thú cưởi mới mà vô game không thấy nhỉ ?
^:)^<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>

0968578813
26-02-15, 06:09 AM
sever này sau mình add thú cưởi mới mà vô game không thấy nhỉ ?
^:)^<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ạn chép vào clieen CQ chứ k phải sever nhé

thanhhaiqctnhp
10-03-15, 02:41 PM
Còn ai tâm huyết không truyền thụ lại cho mình :D. Mình sẽ phát triển lại nó !

0968578813
17-04-15, 06:32 PM
Còn ai tâm huyết không truyền thụ lại cho mình :D. Mình sẽ phát triển lại nó !

box này bjo chan nhi chả ai vào bình luận luôn :(

duycarry
08-10-15, 10:10 AM
Bạn mở file sys / sys / title.c

Ví dụ mình muốn thêm danh hiệu mới, tìm dòng :


"Y001" : "Hiệp Khách Giang Hồ",
"Y005" : "Anh Hùng Võ Lâm",
"Y010" : "Võ Học Cái Thế",
"Y015" : "Võ Lâm Kinh Hồng Ảnh",
"Y020" : "Võ Lâm Minh Chủ",
"Y025" : "Thiên Hạ Vô Song",
"Y101" : "Quản Trị Game",
"Y200" : "Địa Ngục Bá Nhân",

Thêm danh hiệu W001 và W002
Sửa thành :


"Y001" : "Hiệp Khách Giang Hồ",
"Y005" : "Anh Hùng Võ Lâm",
"Y010" : "Võ Học Cái Thế",
"Y015" : "Võ Lâm Kinh Hồng Ảnh",
"Y020" : "Võ Lâm Minh Chủ",
"Y025" : "Thiên Hạ Vô Song",
"Y101" : "Quản Trị Game",
"Y200" : "Địa Ngục Bá Nhân",

"W001" : "Chiến Quốc Bá Đạo",
"W002" : "Chiến Quốc Vô Đạo",

Sau đó kéo xuống hàm :


void show_title(object who, string titlecode)

Tìm dòng :


else
if ( titlecode[0..0] == "Y" )
{
sscanf(titlecode,"Y%d",rank);
if ( rank < 2 )
titlename = HIC + mpTitle[titlecode];
else if ( rank < 6 )
titlename = HIC + mpTitle[titlecode];
else if ( rank < 11 )
titlename = PPM + mpTitle[titlecode];
else if ( rank < 16 )
titlename = PPM + mpTitle[titlecode];
else if ( rank < 100 )
titlename = YEL + mpTitle[titlecode];
else if ( rank < 200 )
titlename = HIR + mpTitle[titlecode];
else
titlename = CRF + mpTitle[titlecode];
}

Và sửa thành :


else
if ( titlecode[0..0] == "Y" )
{
sscanf(titlecode,"Y%d",rank);
if ( rank < 2 )
titlename = HIC + mpTitle[titlecode];
else if ( rank < 6 )
titlename = HIC + mpTitle[titlecode];
else if ( rank < 11 )
titlename = PPM + mpTitle[titlecode];
else if ( rank < 16 )
titlename = PPM + mpTitle[titlecode];
else if ( rank < 100 )
titlename = YEL + mpTitle[titlecode];
else if ( rank < 200 )
titlename = HIR + mpTitle[titlecode];
else
titlename = CRF + mpTitle[titlecode];
}
else
if ( titlecode[0..0] == "W" )
{
sscanf(titlecode,"W%d",rank);
if ( rank < 2 )
titlename = HIY + mpTitle[titlecode]; //màu vàng dành cho danh hiệu W001
else
titlename = HIR + mpTitle[titlecode]; //màu đỏ dành cho danh hiệu W002 và cao hơn
}


Để add danh hiệu vào nhân vật, bạn thử làm theo cách sau :
Tạo 1 file .c nội dung như sau :


#include <ansi.h>
inherit ITEM;

int get_item_color() { return 2; }

// 函数:构造处理
void create()
{
set_name("Danh Hiệu W001");
set_picid_1(3107);
set_picid_2(3107);
set_value(1);

}

// 函数:获取描述
string get_desc()
{
return "Sử dụng sẽ nhận được danh hiệu W001";
}

int get_use_effect( object me )
{
return __FILE__->get_use_effect_callout(me,this_object());
}

int get_use_effect_callout( object who,object gift)
{
who->add_title("W001");
who->show_title("W001");
send_user(who,"%c%s",';',"Bạn đã nhận được danh hiệu W001");
gift->remove_from_user();
destruct(gift);
return 0;
}

p/s : Chúc bạn thành công :)

<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>

buonqata
09-10-15, 12:02 AM
các bạn cho mình hỏi
làm sao chỉnh cái "Hôn Sa" để không có cái mũ trùm phía trên nhỉ
tức là chỉnh nó về giống current cũ ấy (ko có mũ, hiện mỗi tóc thôi)

duycarry
09-10-15, 09:25 AM
các bạn cho mình hỏi
làm sao chỉnh cái "Hôn Sa" để không có cái mũ trùm phía trên nhỉ
tức là chỉnh nó về giống current cũ ấy (ko có mũ, hiện mỗi tóc thôi)

nhớ không lầm thì trong bài viết cũ nào đó có hướng dẫn đổi màu tóc khi bận Hôn Sa :-?

00gathoi8
09-10-15, 10:39 AM
ai còn nhớ các add item vào bảo khố và đặt giá tiền luôn không

duycarry
09-10-15, 12:11 PM
ai còn nhớ các add item vào bảo khố và đặt giá tiền luôn không

add item.Giá thì tìm mấy bài viết cũ.

cmd/base/buyitem

buonqata
09-10-15, 03:58 PM
nhớ không lầm thì trong bài viết cũ nào đó có hướng dẫn đổi màu tóc khi bận Hôn Sa :-?

đang tìm mãi mà không thấy đâu cả!
bạn nhớ ở đâu giúp mình với nhé
thanks :D

buonqata
09-10-15, 04:48 PM
ac cho mình hỏi mấy cái loại bảo thạch, mấy cái loại đá
ex: Âu dã bảo thạch, Đá tương uyên, đá càn khôn ở item nào nhỉ?
mình tìm mãi ko thấy
thanks

ben543518694
09-10-15, 04:57 PM
ac cho mình hỏi mấy cái loại bảo thạch, mấy cái loại đá
ex: Âu dã bảo thạch, Đá tương uyên, đá càn khôn ở item nào nhỉ?
mình tìm mãi ko thấy
thanks

Đầu tiên bạn mở Notepad++

Sau đó bấm tổ hợp phím Ctrl + F

rồi chuyển qua tab Find in Files

ở dòng Directory bạn chọn đường dẫn đến current

Ở ô Find what bạn nhập vào tên Item cần tìm, sau đó bấm Find All, có thể sẽ mất vài phút để tìm kiếm

Good luck !

duycarry
09-10-15, 05:08 PM
Đầu tiên bạn mở Notepad++

Sau đó bấm tổ hợp phím Ctrl + F

rồi chuyển qua tab Find in Files

ở dòng Directory bạn chọn đường dẫn đến current

Ở ô Find what bạn nhập vào tên Item cần tìm, sau đó bấm Find All, có thể sẽ mất vài phút để tìm kiếm

Good luck !

Ben ơi cho mình hỏi.

set_picid
id hình ảnh mình có thể tìm ở đâu nhỉ. Tình hình đang tạo 1 số item, tính kiếm hình ảnh mà dò từng id lâu quá. Cả buổi chiều có 100 mấy id T.T

ben543518694
09-10-15, 05:12 PM
Ben ơi cho mình hỏi.

set_picid
id hình ảnh mình có thể tìm ở đâu nhỉ. Tình hình đang tạo 1 số item, tính kiếm hình ảnh mà dò từng id lâu quá. Cả buổi chiều có 100 mấy id T.T

ID của item bạn phải tự mò, bạn có thể tự làm 1 lệnh riêng để mò pic id 1 cách nhanh nhất :D

duycarry
09-10-15, 05:20 PM
ID của item bạn phải tự mò, bạn có thể tự làm 1 lệnh riêng để mò pic id 1 cách nhanh nhất :D

Chi tiết tí được không Ben ;;)

buonqata
09-10-15, 11:26 PM
ac cho mình hỏi cái lệnh GM chuyển đồ sang hoàng kim sao ko được nhỉ?
ex: /yellow 7c66 mà item vẫn như cũ????
thanks all

nhiyaiba712
10-10-15, 10:45 AM
ac cho mình hỏi cái lệnh GM chuyển đồ sang hoàng kim sao ko được nhỉ?
ex: /yellow 7c66 mà item vẫn như cũ????
thanks all
Bạn bị thiếu dấu # ở cuối item rồi

buonqata
10-10-15, 11:07 AM
Bạn bị thiếu dấu # ở cuối item rồi

mình thử thêm cả dấu # rồi mà cũng ko được bạn à

buonqata
10-10-15, 11:58 AM
ID của item bạn phải tự mò, bạn có thể tự làm 1 lệnh riêng để mò pic id 1 cách nhanh nhất :D

Ben cho mình hỏi cái mũ trùm khi mặc hôn sa ấy
làm sao bỏ nó đi vậy, tại mình thấy cái hôn sa cũ (ko có mũ trùm, chỉ có mỗi tóc thôi) hợp khẩi vị hơn nên muốn sữa lại
thanks ben!

ben543518694
10-10-15, 03:20 PM
Ben cho mình hỏi cái mũ trùm khi mặc hôn sa ấy
làm sao bỏ nó đi vậy, tại mình thấy cái hôn sa cũ (ko có mũ trùm, chỉ có mỗi tóc thôi) hợp khẩi vị hơn nên muốn sữa lại
thanks ben!

Ở file hôn sa bạn bỏ dòng này đi là được :



me->set_hair(1009);

nhiyaiba712
10-10-15, 04:28 PM
Ở file hôn sa bạn bỏ dòng này đi là được :



me->set_hair(1009);

<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>

ben543518694
10-10-15, 05:23 PM
<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>

có bạn à, tiêu hao 1 cái rương dự trữ để hoàn thành 1 nhiệm vụ trù bị

nhiyaiba712
10-10-15, 08:17 PM
có bạn à, tiêu hao 1 cái rương dự trữ để hoàn thành 1 nhiệm vụ trù bị
Lỗi NPC Tồng quản ở sv tui rồi :)) để mò cách fix, nó k nhận cái rương dự trữ

nhiyaiba712
10-10-15, 10:17 PM
Và mình đã bó tay r Ben :D sửa mấy file liên quan như city/manager.c hay sys/sys/manager.c cũng k đc, bạn biết fix ở đâu k

ben543518694
11-10-15, 01:11 PM
Và mình đã bó tay r Ben :D sửa mấy file liên quan như city/manager.c hay sys/sys/manager.c cũng k đc, bạn biết fix ở đâu k



sys / sys / manager.c




if (count<number)
{
if( !objectp( item = present("Rương Dự Trữ", me, 1, MAX_CARRY*4) ) )
{
result = sprintf("%s:\n Cần ngươi mua %d%s%s ? Làm việc phải có thuỷ chung, không thể bỏ nữa chừng, nếu có vấn đề gì thì hãy tới gặp Công Đức Lão Nhân.\n", who->get_name(), number, list, name);
result += sprintf(ESC"Rời khỏi\nCLOSE\n");
send_user( me, "%c%c%w%s", ':', 3, who->get_char_picid(), result );
return;
}
}


Cái này chỉ là lỗi việt hóa không khớp thôi

ringta1234
11-10-15, 02:45 PM
Ben ơi cái item add danh hiệu cho người chơi ko dùng đc. Xem lại giúp mình với

nhiyaiba712
11-10-15, 06:27 PM
<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>

ben543518694
12-10-15, 11:10 PM
Ben ơi cái item add danh hiệu cho người chơi ko dùng đc. Xem lại giúp mình với

cái item đó thiếu dòng này, bạn thêm vào là được



inherit USABLE;


--- Chế độ gộp bài viết ---


<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>

nhiyaiba712
13-10-15, 10:09 AM
cái item đó thiếu dòng này, bạn thêm vào là được



inherit USABLE;


--- Chế độ gộp bài viết ---



<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>
Mình fix đc r bạn :)), thanks nha

duycarry
13-10-15, 11:03 AM
Điên điên nổi hứng làm cái Nâng Cấp Thú Cưỡi cho vui cửa vui nhà =))

Giới thiệu về item :

<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> .bmp (<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>)

Kéo Hồ Lô Tử Mao vào trứng Tử Mao :

<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> .bmp (<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>)

Hiện 1 bảng thông báo như thế này :

<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> .bmp (<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>)

Cuối cùng cũng Nâng Cấp thành công =))

<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> .bmp (<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>)

Khi nâng cấp thành công sẽ mất đi 1 Hồ Lô xxx và Trứng xxx(chưa nâng cấp)
Và tất nhiên nếu Thú Cưỡi đã hết hạn sử dụng thì ko cách nào Nâng Cấp được =))

Cho thêm 2 cái pic nữa nè =))

<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> 521400.bmp (<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> 522000.bmp (<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>)

Dựa theo code này có thể làm Hồ Lô nâng cấp rất nhiều thứ như là PP và Cánh (Đã làm =))), Trang bị (Áo, nón,hạng liên, yêu đới,giày), Ngoại trang, Vũ khí, ....bla bla =))

<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>

ben543518694
14-10-15, 04:56 PM
<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>



#include <item.h>
#include <ansi.h>
#include <task.h>
#include <equip.h>
#include <effect.h>
#include <skill.h>
inherit ITEM;
inherit COMBINED;

int get_item_value() {return 5000 ;}
int get_item_value_2() {return 5000 ;}
int get_item_color() {return 2 ;}

// 修理道具
int is_repair() {return 1 ;}

// 函数:构造处理
void create()
{
set_name( "Chiến Thú Lệnh" );
set_picid_1(4984);
set_picid_2(4984);
set_value(50);
set_amount(1);
set_record(1);
}

// 函数:获取描述
string get_desc()
{
return "Sử dụng kéo tới Trứng Thú Cưỡi sẽ \nNâng cấp lên Trứng Chiến Thú \nhoặc kéo tới Trứng Chiến Thú sẽ \nNâng cấp lên Trứng Chiến Thú cấp cao hơn..\n...Có thể nâng cấp tối đa lên Trứng Chiến Thú cấp 3.";
}

int move_item(object me, object item, object equip)
{
return __FILE__->move_item_callout(me, item, equip, 1);
}

int move_item2(object me, object item, object equip)
{
return __FILE__->move_item_callout(me, item, equip, 2);
}

int move_item_callout(object me, object item, object equip, int type)
{
int p;
string result;
object equip1;

if ( equip->get_name()!="Trứng Tiểu Quai" )
{
write_user(me, ECHO "Chỉ có thể Nâng Cấp Thú cưỡi Tiểu Quai!");
return 1;
}
if ( equip->get_lock_time() && equip->get_lock_time() < time() )
{
write_user(me, ECHO "Đã hết hạn sử dụng, không thể nâng cấp !");
return 1;
}
if(USER_INVENTORY_D->get_free_count(me) < 2 )
{
write_user(me, ECHO "Hành trang của bạn không đủ 2 chỗ trống!");
return 1;
}
if (type==1)
{
result = sprintf("Bạn muốn nâng cấp "HIB"%s"NOR " không?\n"
ESC "%c\n" ESC "\nmove ! %x# %d\n"
, equip->get_name(), 1, getoid(item), get_d(equip) );
send_user(me, "%c%c%s", 0x59, 1, result);
return 1;
}
equip1 = new("item/ride/NangCap/001"); // đường dẫn thú cưỡi sau khi đã nâng cấp
p = equip1->move2(me,-1);
equip1->add_to_user(p);

equip->remove_from_user();
destruct( equip );

item->add_amount(-1);
send_user(me,"%c%s",';',sprintf("Bạn nhận được "HIY"%s "NOR " !!!",equip1->get_name() ));
USER_D->user_channel(sprintf("Bằng hữu "HIY "%s" NOR " vừa Nâng Cấp thành công "HIR "Trứng Tiểu Quai"NOR " và nhận được "HIY"%s "NOR ". ", me->get_name(),equip1->get_name() ));
return 1;
}

duycarry
16-10-15, 03:35 PM
<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>

nhiyaiba712
16-10-15, 11:28 PM
Ben cho hỏi mình đang dev một server nhưng mặc định của sv đó là mua đồ ở Bảo Khố tự do k tính KNB, vì vậy mình bung server của Ben coi để sửa lại hết mấy cái testbonus thành dùng sys/sys/test_db nhưng login vào vẫn xài KNB tự do không bị giới hạn, Ben hướng dẫn cách nào để xài lại KNB giống sv ông với

ben543518694
17-10-15, 04:29 PM
Ben cho hỏi mình đang dev một server nhưng mặc định của sv đó là mua đồ ở Bảo Khố tự do k tính KNB, vì vậy mình bung server của Ben coi để sửa lại hết mấy cái testbonus thành dùng sys/sys/test_db nhưng login vào vẫn xài KNB tự do không bị giới hạn, Ben hướng dẫn cách nào để xài lại KNB giống sv ông với

Bạn lục lại mấy bài viết cũ có cái hướng dẫn làm hệ thống knb đó :D

duycarry
19-10-15, 01:34 PM
...

<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>

nhiyaiba712
19-10-15, 10:48 PM
<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>
Đổi tên dòng này thành Trứng bạn muốn đổi:

if ( equip->get_name()!="Trứng Tiểu Quai" )

Sau đó đưa đường dẫn Trứng đã nâng cấp ở dòng này:

equip1 = new("item/ride/NangCap/001"); // đường dẫn thú cưỡi sau khi đã nâng cấp

nhiyaiba712
21-10-15, 12:33 PM
Ben cho hỏi mình dùng code set_amount(50) nhưng vẫn chỉ ra đc 30 món item thôi, vậy vượt giới hạn 30 cách nào vậy?
Đã mò ra được rồi :)))

duycarry
25-10-15, 10:02 AM
Bạn lục lại mấy bài viết cũ có cái hướng dẫn làm hệ thống knb đó :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>

PhamNinh
25-10-15, 12:12 PM
mình Ben trả lời k hết rồi, sever đắt hàng quá :D

thaivinh68
12-11-15, 03:48 PM
Ben cho mình hỏi làm sao set acc khác len LV dc vậy
và mình muốn set các chỉ số năng lực thì làm sao
mình lấy acc GM để tạo đồ VIP như thế nào
đường dẫn lấy đồ thì đc mà chuột phải sử sụng ko đc(túi bá vương và các túi 10sao)

<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>)

0968578813
06-02-16, 08:59 PM
Ben cho mình hỏi làm sao set acc khác len LV dc vậy
và mình muốn set các chỉ số năng lực thì làm sao
mình lấy acc GM để tạo đồ VIP như thế nào
đường dẫn lấy đồ thì đc mà chuột phải sử sụng ko đc(túi bá vương và các túi 10sao)

<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>)

hình như là tên file lên cấp + với id của người đó thì phải, không đúng thì đừng gạch đá, đúng thì ấn nút thank nhé :D

duycarry
07-02-16, 08:54 AM
Ben cho mình hỏi làm sao set acc khác len LV dc vậy
và mình muốn set các chỉ số năng lực thì làm sao
mình lấy acc GM để tạo đồ VIP như thế nào
đường dẫn lấy đồ thì đc mà chuột phải sử sụng ko đc(túi bá vương và các túi 10sao)

<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>)

Set chỉ số năng lực


int main(object me, string arg) {
int con, spi, str, cps, dex; //Tạo các biến int
if (!arg || sscanf(arg, "%d %d %d %d %d", con, spi, str, cps, dex) != 5) return 1; //Kiểm tra và scan giá trị, nếu không có giá trị nào hoặc không đủ 5 giá trị cần thì sẽ kết thúc, nếu đủ thì sẽ sử dụng 5 giá trị đó để làm giá trị yêu cầu thuộc tính mới
me->set_con_2(con); //Sửa thuộc tính Thể Chất
me->set_spi_2(spi); //Sửa thuộc tính Tinh Thần
me->set_str_2(str); //Sửa thuộc tính Cường Lực
me->set_cps_2(cps); //Sửa thuộc tính Nại Lực
me->set_dex_2(dex); //Sửa thuộc tính Mẫn Tiệp
USER_ENERGY_D->count_all_prop(me); //Tính lại chỉ số nhân vật sau khi sửa thuộc tính
return 1; //Kết thúc
}

Lưu đoạn code này lại bỏ vào trong cmd/base với tên bất kì. Vd: setpoint. Vào game gõ

/setpoint 1000 1000 1000 1000 1000 // tất cả chỉ số tăng lên 1000

tuyen621997
15-02-16, 10:38 AM
Ben có thể share thêm các NPC mới như Can Tượng (NPC làm thần binh 100 )
với lại Ben chỉ giúp tôi xem làm như thế nào đề làm hiệu ứng vũ khí thay đổi theo cấp độ sao
và làm hiệu ứng cho pp cánh như thế nào được không

duycarry
15-02-16, 12:12 PM
Ben có thể share thêm các NPC mới như Can Tượng (NPC làm thần binh 100 )
với lại Ben chỉ giúp tôi xem làm như thế nào đề làm hiệu ứng vũ khí thay đổi theo cấp độ sao
và làm hiệu ứng cho pp cánh như thế nào được không

Code NPC Can Tương. Tự add vào map nhé.



#include <npc.h>
#include <item.h>
#include <ansi.h>
#include <task.h>
#include <music.h>
#include <equip.h>
inherit OFFICER;

// 函数:获取人物造型
int get_char_picid() { return 9959; }
void do_welcome(string arg);
void do_nhannv(string arg);
void do_accept(string arg);
int is_cantuong_nangcaptb() { return 1; }
void create()
{
set_name("Can Tương");
set_real_name("Thiên Địa Đại Sư");
set_2( "talk", ([
"welcome" :( : do_welcome :),
"giaotrangbi" : (: do_accept :),
"nhannv" : (: do_nhannv :),
]));
setup();

}
void do_nhannv( string arg )
{
"/sys/user/cantuong"->do_gift(this_player(),this_object(),arg);
}
void do_welcome( string arg )
{
__FILE__->do_welcome2(this_object(),arg);
}
void do_welcome2( object npc, string arg )
{
int flag,p,i,size,sao,ben,ben123;
object player = this_player(),item,item2,item3;
string name,name2,name3,name4,thanbinh,ss,forge="",nhat123,nhat1234;
flag = to_int(arg);
switch(flag)
{
case 1:
send_user( player, "%c%c%w%s", ':',3,npc->get_char_picid(),sprintf(npc->get_name() + ":\n"+"Nếu muốn trang bị tốt hơn hiện tại, có thể đến gặp ta. Ta sẽ giúp ngươi rèn lại trang bị, nếu may mắn, ngươi có thể đạt được trang bị tinh luyện vượt mức đến 8 sao. Tuy nhiên điều này còn tuỳ thuộc vào vận may nữa, ta không dám nói trước.\n"
ESC "ALT+G để giao trang bị\ntalk %x# welcome.2\n"
ESC "Thoát ra\nCLOSE\n",getoid(npc)));
break;
case 2:
send_user( player, "%c%c%w%s", ':',3,npc->get_char_picid(),npc->get_name() + ":\n"+"Sử dụng ALT + G để đưa trang bị cho tôi !\n"
ESC "Ta hiểu rồi\nCLOSE\n"
ESC "Thoát ra\nCLOSE\n");
break;
case 3:
send_user( player, "%c%c%w%s", ':',3,npc->get_char_picid(),sprintf(npc->get_name() + ":\n"+"Thần binh tuyệt thế tưởng chừng chỉ là vũ khí có trong truyền thuyết, nhưng ngươi biết không? Nó có thật đấy! Nếu ngươi có trong tay Thần Binh Phổ, hãy mang đến đây, ta sẽ đúc nó cho ngươi.\n"
ESC "Đúc thần binh Trụ Thiên Quyền Thủ\ntalk %x# welcome.1001\n"
ESC "Đúc thần binh Đoạt Mệnh Ma Khí\ntalk %x# welcome.1002\n"
ESC "Đúc thần binh Càn Khôn Vân Đao\ntalk %x# welcome.1003\n"
ESC "Đúc thần binh Huyết Lệ\ntalk %x# welcome.1004\n"
ESC "Đúc thần binh Phá Thiên Thương\ntalk %x# welcome.1005\n"
ESC "Đúc thần binh Hoả Thiên Côn\ntalk %x# welcome.1006\n"
ESC "%s\ntalk %x# nhannv.100\n"
ESC "Thoát ra\nCLOSE\n",getoid(npc),getoid(npc),getoid(npc),getoid(npc),g etoid(npc),getoid(npc),
player->get_save_2("cantuong.status")<1?HIG"Nhận nhiệm vụ tìm kiếm Thần Binh Phổ":HIC"Nhiệm vụ tìm kiếm Thần Binh Phổ",
getoid(npc),getoid(npc)));
break;
case 4:
send_user( player, "%c%c%d", 0x60, 10, getoid(npc) );
break;
case 5:
send_user( player, "%c%c%w%s", ':',3,npc->get_char_picid(),sprintf(npc->get_name() + ":\n"+"Ngoài chức năng phân giải Đoạn Thạch thành các viên Tái Tạo Thạch, ta còn mở thêm chức năng ngược lại giúp cho người chơi có thể dễ dàng trao đổi, giao dịch, mua bán Đoạn Thạch một cách tiện lợi nhất ! Nào ngươi muốn tham gia chức năng này không ?\n"
ESC "1 Tái Tạo Thạch lấy Sơ Cấp Đoạn Thạch\ntalk %x# welcome.501\n"
ESC "2 Tái Tạo Thạch lấy Trung Cấp Đoạn Thạch\ntalk %x# welcome.502\n"
ESC "3 Tái Tạo Thạch lấy Cao Cấp Đoạn Thạch\ntalk %x# welcome.503\n"
ESC "Thoát ra\nCLOSE\n",getoid(npc),getoid(npc),getoid(npc),getoid(npc),g etoid(npc),getoid(npc)));
break;
case 501:
case 502:
case 503:
if ( flag==501 ){ben123=1;nhat123="Tái Tạo Thạch";nhat1234="item/sell/0032";}
else if ( flag==502 ){ben123=2;nhat123="Tái Tạo Thạch";nhat1234="item/sell/1032";}
else if ( flag==503 ){ben123=3;nhat123="Tái Tạo Thạch";nhat1234="item/sell/2032";}
if( USER_INVENTORY_D->get_free_count(player) < 1 )
{
send_user(player,"%c%c%w%s",':',3,9959, "Can Tương: \nHành trang của ngươi không đủ 1 ô trống, hãy thu xếp hành trang rồi đến gặp ta ! \n"ESC"Xác nhận");
return;
}
if ( TASK_LEGEND_D->check_task_item_amount(player,nhat123) < ben123 )
{
send_user(player,"%c%c%w%s",':',3,9959, "Can Tương: \nNgươi không có đủ "+ben123+" Tái Tạo Thạch ! \n"ESC"Xác nhận");
return;
}
TASK_LEGEND_D->check_task_item1(player,nhat123,ben123);
item=new(nhat1234);
p=item->move2(player,-1);
item->add_to_user(p);
send_user(player,"%c%c%w%s",':',3,9959, "Can Tương: \nNgươi nhận được "+item->get_name()+", "+nhat123+" của ngươi bị trừ đi "+ben123+" viên ! \n"ESC"Xác nhận");
break;
case 1001:
case 1002:
case 1003:
case 1004:
case 1005:
case 1006:
if ( flag==1001 ){ben=2001;name = "Ngọc La Quyền Thủ";name2 = "Trụ Thiên Quyền Thủ";name3 = sprintf("Thần Binh Phổ - %s",name2);}
else if ( flag==1002 ){ben=2002;name = "Thần Tiên Hạc Kim";name2 = "Đoạt Mệnh Ma Khí";name3 = sprintf("Thần Binh Phổ - %s",name2);}
else if ( flag==1003 ){ben=2003;name = "Đao Tử Vân";name2 = "Càn Khôn Vân Đao";name3 = sprintf("Thần Binh Phổ - %s",name2);}
else if ( flag==1004 ){ben=2004;name = "Lục Tiên Kiếm";name2 = "Huyết Lệ";name3 = sprintf("Thần Binh Phổ - %s",name2);}
else if ( flag==1005 ){ben=2005;name = "Lục Thần Thương";name2 = "Phá Thiên Thương";name3 = sprintf("Thần Binh Phổ - %s",name2);}
else if ( flag==1006 ){ben=2006;name = "Phàn Thiên Côn";name2 = "Hoả Thiên Côn";name3 = sprintf("Thần Binh Phổ - %s",name2);}
if ( !objectp( item = present(name, player, 1, MAX_CARRY*4) ) )
{
send_user(player,"%c%c%w%s",':',3,9959, sprintf("Can Tương: \nNgươi không có trong tay thần binh %s, không thể đúc Tuyệt thế thần binh %s ! \n"ESC"Xác nhận",name,name2));
return;
}
if ( TASK_LEGEND_D->check_task_item_amount(player,name) > 1 )
{
send_user(player,"%c%c%w%s",':',3,9959, sprintf("Can Tương: \nHành trang của ngươi quá có nhiều %s, ta không thể phân biệt được vũ khí nào mới là vũ khí mà ngươi ưng ý nhất ! \n"ESC"Xác nhận",name));
return;
}
ss = item->get("forge");
sao = strlen(ss);
if ( TASK_LEGEND_D->check_task_item_amount(player,name3) < 1 ||
TASK_LEGEND_D->check_task_item_amount(player,"Tái Tạo Thạch") < (sao+1)*10 ||
TASK_LEGEND_D->check_task_item_amount(player,"Lỗ Ban Bảo Thạch") < 300 )
{
send_user(player,"%c%c%w%s",':',3,9959,sprintf("Can Tương: \n Nguyên liệu của ngươi không đủ! Đúc %s cần các loại nguyên liệu sau:\n "+name+", %s"NOR ", %s"NOR ", %s"NOR ".\n"ESC"Rời khỏi",
name2,TASK_LEGEND_D->check_task_item_amount(player,"Lỗ Ban Bảo Thạch")<300?HIR "300 viên Lỗ Ban":"300 viên Lỗ Ban",
TASK_LEGEND_D->check_task_item_amount(player,"Tái Tạo Thạch")<(sao+1)*10?sprintf(HIR "%d Tái Tạo Thạch",(sao+1)*10):sprintf("%d Tái Tạo Thạch",(sao+1)*10),
TASK_LEGEND_D->check_task_item_amount(player,name3)<1?HIR+name3:name3));
return ;
}
if( USER_INVENTORY_D->get_free_count(player) < 1 )
{
send_user(player,"%c%c%w%s",':',3,9959, "Can Tương: \nHành trang của ngươi không đủ 1 ô trống, hãy thu xếp hành trang rồi đến gặp ta ! \n"ESC"Xác nhận");
return;
}
send_user( player, "%c%c%w%s", ':',3,npc->get_char_picid(),sprintf(npc->get_name() + ":\n"+"Ngươi xác nhận phải đúc ra một Thần binh tuyệt thế %s không ?\n"
ESC "Xác nhận\ntalk %x# welcome.%d\n"
ESC "Huỷ bỏ\nCLOSE\n",name2,getoid(npc),ben));
break;
case 2001:
case 2002:
case 2003:
case 2004:
case 2005:
case 2006:
if ( flag==2001 ){name = "Ngọc La Quyền Thủ";name2 = "Trụ Thiên Quyền Thủ";name3 = sprintf("Thần Binh Phổ - %s",name2);thanbinh = "/item/70/9130";}
else if ( flag==2002 ){name = "Thần Tiên Hạc Kim";name2 = "Đoạt Mệnh Ma Khí";name3 = sprintf("Thần Binh Phổ - %s",name2);thanbinh = "/item/71/9130";}
else if ( flag==2003 ){name = "Đao Tử Vân";name2 = "Càn Khôn Vân Đao";name3 = sprintf("Thần Binh Phổ - %s",name2);thanbinh = "/item/72/9130";}
else if ( flag==2004 ){name = "Lục Tiên Kiếm";name2 = "Huyết Lệ";name3 = sprintf("Thần Binh Phổ - %s",name2);thanbinh = "/item/73/9130";}
else if ( flag==2005 ){name = "Lục Thần Thương";name2 = "Phá Thiên Thương";name3 = sprintf("Thần Binh Phổ - %s",name2);thanbinh = "/item/74/9130";}
else if ( flag==2006 ){name = "Phàn Thiên Côn";name2 = "Hoả Thiên Côn";name3 = sprintf("Thần Binh Phổ - %s",name2);thanbinh = "/item/75/9130";}
if ( !objectp( item = present(name, player, 1, MAX_CARRY*4) ) )
{
send_user(player,"%c%c%w%s",':',3,9959, sprintf("Can Tương: \nNgươi không có trong tay thần binh %s, không thể đúc Tuyệt thế thần binh %s ! \n"ESC"Xác nhận",name,name2));
return;
}
if ( TASK_LEGEND_D->check_task_item_amount(player,name) > 1 )
{
send_user(player,"%c%c%w%s",':',3,9959, sprintf("Can Tương: \nHành trang của ngươi quá có nhiều %s, ta không thể phân biệt được vũ khí nào mới là vũ khí mà ngươi ưng ý nhất ! \n"ESC"Xác nhận",name));
return;
}
ss = item->get("forge");
sao = strlen(ss);
if ( TASK_LEGEND_D->check_task_item_amount(player,name3) < 1 ||
TASK_LEGEND_D->check_task_item_amount(player,"Tái Tạo Thạch") < (sao+1)*10 ||
TASK_LEGEND_D->check_task_item_amount(player,"Lỗ Ban Bảo Thạch") < 300 )
{
send_user(player,"%c%c%w%s",':',3,9959,sprintf("Can Tương: \n Nguyên liệu của ngươi không đủ! Đúc %s cần các loại nguyên liệu sau:\n "+name+", %s"NOR ", %s"NOR ", %s"NOR ".\n"ESC"Rời khỏi",
name2,TASK_LEGEND_D->check_task_item_amount(player,"Lỗ Ban Bảo Thạch")<300?HIR "300 viên Lỗ Ban":"300 viên Lỗ Ban",
TASK_LEGEND_D->check_task_item_amount(player,"Tái Tạo Thạch")<(sao+1)*10?sprintf(HIR "%d Tái Tạo Thạch",(sao+1)*10):sprintf("%d Tái Tạo Thạch",(sao+1)*10),
TASK_LEGEND_D->check_task_item_amount(player,name3)<1?HIR+name3:name3));
return ;
}
if( USER_INVENTORY_D->get_free_count(player) < 1 )
{
send_user(player,"%c%c%w%s",':',3,9959, "Can Tương: \nHành trang của ngươi không đủ 1 ô trống, hãy thu xếp hành trang rồi đến gặp ta ! \n"ESC"Xác nhận");
return;
}
TASK_LEGEND_D->check_task_item1(player,name3,1);
TASK_LEGEND_D->check_task_item1(player,"Tái Tạo Thạch",(sao+1)*10);
TASK_LEGEND_D->check_task_item1(player,"Lỗ Ban Bảo Thạch",300);
CHAT_D->sys_channel(0,sprintf("Can Tương vừa từ lò rèn lấy ra một Tuyệt thế thần binh "HIR "%s"NOR ", đưa cho %s. Đất trời bỗng rung chuyển dữ dội, phải chăng sắp có đại loạn?",name2,player->get_name()));
send_user(player,"%c%s",';',sprintf("Bạn nhận được Tuyệt thế thần binh "HIY"%s"NOR " !",name2));
send_user(player,"%c%c%w%s",':',3,9959, sprintf("Can Tương: \nXin chúc mừng! Ngươi đã đúc được Tuyệt thế thần binh %s ! \n"ESC"Xác nhận\nCLOSE\n"ESC"Rời khỏi",name2));
item2 = new(thanbinh);
for (i = 0; i< sao; i++)
{
"/sys/item/equip"->init_equip_prop_5(item2);
forge += "1";
item2->set("forge", forge);
}
item2->set_hide(0);
p = item2->move2(player,-1);
item2->add_to_user(p);
item->remove_from_user();
destruct(item);
break;
}
}
void do_look( object player )
{
object npc = this_object();

send_user( player, "%c%c%w%s", ':',3,npc->get_char_picid(), sprintf( "%s :\n"+"Xưa đại sư Âu Dã Tử rèn kiếm, quặng sắt không chảy phải để một người phụ nữ nhảy vào lò thì việc rèn sau mới thành công. Ngươi hiểu ý nghĩa của việc này chứ? Haha! \n"
ESC "Rèn lại trang bị\ntalk %x# welcome.1\n"
ESC "Đúc Tuyệt thế thần binh\ntalk %x# welcome.3\n"
// ESC HIC"Phân giải Đoạn Thạch\ntalk %x# welcome.4\n"
// ESC HIG"Đổi Đoạn Thạch\ntalk %x# welcome.5\n"
ESC "Rời khỏi\nCLOSE\n", npc->get_name(), getoid(npc), getoid(npc), getoid(npc), getoid(npc) ) );
}
// 函数:用锻造石生成蓝色装备
void sosao( object item )
{
int pos, family, level, ran, i, less, value, point, begin, end;
string forge;
if( !clonep(item) ) return; // 只对复制物品!
forge = item->get("forge");
if (forge==0) level = 0;
else level = strlen(forge);
begin = 100; end = 100;
for (i=4;i<level;i++)
{
begin = begin * 6 / 5;
}
switch(item->get_equip_type())
{
case WEAPON_TYPE:
switch(level)
{
case 0:
item->add("ap2", 20);
item->add("cp2", 20);
break;
case 1:
item->add("ap2", 25);
item->add("cp2", 25);
break;
case 2:
item->add("ap2", 45);
item->add("cp2", 45);
break;
case 3:
item->add("ap2", 50);
item->add("cp2", 50);
break;
default:
item->add("ap2", (80+item->get_level()/2)*begin/end);
item->add("cp2", (80+item->get_level()/2)*begin/end);
break;
}
break;
case ARMOR_TYPE:
switch(level)
{
case 0:
item->add("dp2", 10);
item->add("pp2", 10);
item->add("hp2", 30);
break;
case 1:
item->add("dp2", 13);
item->add("pp2", 13);
item->add("hp2", 40);
break;
case 2:
item->add("dp2", 23);
item->add("pp2", 23);
item->add("hp2", 70);
break;
case 3:
item->add("dp2", 30);
item->add("pp2", 30);
item->add("hp2", 100);
break;
default:
item->add("dp2", (45+item->get_level()/5)*begin/end);
item->add("pp2", (45+item->get_level()/5)*begin/end);
item->add("hp2", (180+item->get_level())*begin/end);
break;
}
break;
case HEAD_TYPE:
switch(level)
{
case 0:
item->add("dp2", 10);
item->add("pp2", 10);
break;
case 1:
item->add("dp2", 13);
item->add("pp2", 13);
break;
case 2:
item->add("dp2", 23);
item->add("pp2", 23);
break;
case 3:
item->add("dp2", 30);
item->add("pp2", 30);
break;
default:
item->add("dp2", (45+item->get_level()/5)*begin/end);
item->add("pp2", (45+item->get_level()/5)*begin/end);
break;
}
break;
case BOOTS_TYPE:
switch(level)
{
case 0:
item->add("dp2", 10);
item->add("pp2", 10);
item->add("sp2", 10);
break;
case 1:
item->add("dp2", 13);
item->add("pp2", 13);
item->add("sp2", 15);
break;
case 2:
item->add("dp2", 23);
item->add("pp2", 23);
item->add("sp2", 25);
break;
case 3:
item->add("dp2", 30);
item->add("pp2", 30);
item->add("sp2", 35);
break;
default:
item->add("dp2", (45+item->get_level()/5)*begin/end);
item->add("pp2", (45+item->get_level()/5)*begin/end);
item->add("sp2", (60+item->get_level()/5)*begin/end);
break;
}
break;
case WAIST_TYPE:
switch(level)
{
case 0:
item->add("dp2", 5);
item->add("pp2", 5);
item->add("hp2", 50);
item->add("mp2", 70);
break;
case 1:
item->add("dp2", 8);
item->add("pp2", 8);
item->add("hp2", 60);
item->add("mp2", 80);
break;
case 2:
item->add("dp2", 13);
item->add("pp2", 13);
item->add("hp2", 110);
item->add("mp2", 150);
break;
case 3:
item->add("dp2", 18);
item->add("pp2", 18);
item->add("hp2", 150);
item->add("mp2", 200);
break;
default:
item->add("dp2", (30+item->get_level()/5)*begin/end);
item->add("pp2", (30+item->get_level()/5)*begin/end);
item->add("hp2", (270+item->get_level())*begin/end);
item->add("mp2", (360+item->get_level())*begin/end);
break;
}
break;
case NECK_TYPE:
switch(level)
{
case 0:
item->add("ap2", 10);
item->add("cp2", 10);
break;
case 1:
item->add("ap2", 15);
item->add("cp2", 15);
break;
case 2:
item->add("ap2", 25);
item->add("cp2", 25);
break;
case 3:
item->add("ap2", 30);
item->add("cp2", 30);
break;
default:
item->add("ap2", (50+item->get_level()/2)*begin/end);
item->add("cp2", (50+item->get_level()/2)*begin/end);
break;
}
break;
}
}

// 函数:接受物品
int accept_object( object who, object item ){ return __FILE__ ->accept_object_callout( this_object(), who, item ); }

// 函数:接受物品(在线更新)
int accept_object_callout( object me, object who, object item )
{
int level, p, i, t1, t2, t3, t4, mau, cap, cap1, cap2;
object item2;
string sao,ngoc;
me->to_front_eachother(who);
if( !item->is_equip() ) return 0;
if( item->is_equip())
{
i=item->get_equip_type();
if ( i!=WEAPON_TYPE&&i!=ARMOR_TYPE&&i!=HEAD_TYPE&&i!=BOOTS_TYPE&&i!=WAIST_TYPE&&i!=NECK_TYPE) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),"Can Tương:\nNgươi giao cho ta không phải là trang bị hoặc vũ khí !!!\n"ESC"Xác nhận");
return -99;
}
}
sao = item->get("forge");
cap = strlen(sao);
ngoc = item->get("make");
cap1 = strlen(ngoc);
cap2 = item->get_level();
mau = item->get_item_color();
if( item->get_hide() > 0 ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nHãy giám định %s trước khi Tinh luyện !!!\n"ESC"Xác nhận",item->get_name() ));
return -99;
}
if ( mau==1 ) {
if( cap < 1 ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nTrang bị %s của ngươi chưa đạt 1 ngôi sao, không thể rèn !!!\n"ESC"Xác nhận",item->get_name() ));
return -99;
}
if( who->get_cash() < ( cap2*25000/cap ) ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nNgươi không có đủ %d lượng để Rèn lại %s !!!\n"ESC"Xác nhận",( cap2*25000/cap ),item->get_name() ));
return -99;
}
if ( TASK_LEGEND_D->check_task_item_amount(who,"Tái Tạo Thạch") < 6 ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nNgươi không có đủ 6 Tái Tạo Thạch cần dùng cho việc rèn trang bị !!!\n"ESC"Xác nhận" ));
return -99;
}
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nRèn lại %s cần tiêu hao %d lượng, người muốn rèn không ?\n"ESC"Xác nhận\ntalk %x# giaotrangbi.%x#\n"ESC"Huỷ bỏ",item->get_name(), ( cap2*25000/cap ) ,getoid(me),getoid(item)));

}
else if ( mau==2 ) {
if( cap < 1 ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nTrang bị %s của ngươi chưa đạt 1 ngôi sao, không thể rèn !!!\n"ESC"Xác nhận",item->get_name() ));
return -99;
}
if( who->get_cash() < ( cap2*25000/cap ) ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nNgươi không có đủ %d lượng để Rèn lại %s !!!\n"ESC"Xác nhận",( cap2*25000/cap ),item->get_name() ));
return -99;
}
if ( TASK_LEGEND_D->check_task_item_amount(who,"Tái Tạo Thạch") < 6 ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nNgươi không có đủ 6 Tái Tạo Thạch cần dùng cho việc rèn trang bị !!!\n"ESC"Xác nhận" ));
return -99;
}
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nRèn lại %s cần tiêu hao %d lượng, người muốn rèn không ?\n"ESC"Xác nhận\ntalk %x# giaotrangbi.%x#\n"ESC"Huỷ bỏ",item->get_name(), ( cap2*25000/cap ) ,getoid(me),getoid(item)));

}
else if ( mau==3 ) {
if( cap < 1 ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nTrang bị %s của ngươi chưa đạt 1 ngôi sao, không thể rèn !!!\n"ESC"Xác nhận",item->get_name() ));
return -99;
}
if( who->get_cash() < ( cap2*25000/cap ) ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nNgươi không có đủ %d lượng để Rèn lại %s !!!\n"ESC"Xác nhận",( cap2*25000/cap ),item->get_name() ));
return -99;
}
if ( TASK_LEGEND_D->check_task_item_amount(who,"Tái Tạo Thạch") < 6 ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nNgươi không có đủ 6 Tái Tạo Thạch cần dùng cho việc rèn trang bị !!!\n"ESC"Xác nhận" ));
return -99;
}
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nRèn lại %s cần tiêu hao %d lượng, người muốn rèn không ?\n"ESC"Xác nhận\ntalk %x# giaotrangbi.%x#\n"ESC"Huỷ bỏ",item->get_name(), ( cap2*25000/cap ) ,getoid(me),getoid(item)));

}
else if ( mau==4 ) {
if ( item->get_equip_type()==WEAPON_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Vũ khí "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==ARMOR_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Y phục "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==HEAD_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Nón "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==BOOTS_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Giày "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==WAIST_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Yêu đới "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==NECK_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Hạng liên "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
}
else if ( mau==0 ) {
if ( item->get_equip_type()==WEAPON_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Vũ khí "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==ARMOR_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Y phục "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==HEAD_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Nón "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==BOOTS_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Giày "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==WAIST_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Yêu đới "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==NECK_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Hạng liên "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
}

return -99;
}
// Bla bla
void do_accept( string arg ){ return __FILE__ ->do_accept_callout( this_object(), this_player(), arg ); }

// Bla bla
void do_accept_callout(object me,object who, string arg )
{
int level, p, i, t1, t2, t3, t4, mau, cap, cap1, cap2, itemid, ben;
object item, item1;
string sao,ngoc,forge="";

if( !objectp( item = present( arg, who, 1, MAX_CARRY*4 ) ) )
return 0;
if( !item->is_equip() ) return 0;
if( item->is_equip())
{
i=item->get_equip_type();
if ( i!=WEAPON_TYPE&&i!=ARMOR_TYPE&&i!=HEAD_TYPE&&i!=BOOTS_TYPE&&i!=WAIST_TYPE&&i!=NECK_TYPE) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),"Can Tương:\nNgươi giao cho ta không phải là trang bị hoặc vũ khí !!!\n"ESC"Xác nhận");
return 0;
}
}
sao = item->get("forge");
cap = strlen(sao);
ngoc = item->get("make");
cap1 = strlen(ngoc);
cap2 = item->get_level();
mau = item->get_item_color();
if( item->get_hide() > 0 ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nHãy giám định %s trước khi Tinh luyện !!!\n"ESC"Xác nhận",item->get_name() ));
return 0;
}
if ( mau==1 || mau==2 || mau==3 ) {
if( cap < 1 ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nTrang bị %s của ngươi chưa đạt 1 ngôi sao, không thể rèn !!!\n"ESC"Xác nhận",item->get_name() ));
return 0;
}
if( who->get_cash() < ( cap2*25000/cap ) ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nNgươi không có đủ %d lượng để Rèn lại %s !!!\n"ESC"Xác nhận",( cap2*25000/cap ),item->get_name() ));
return 0;
}
if ( TASK_LEGEND_D->check_task_item_amount(who,"Tái Tạo Thạch") < 6 ) {
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\nNgươi không có đủ 6 Tái Tạo Thạch cần dùng cho việc rèn trang bị !!!\n"ESC"Xác nhận" ));
return 0;
}
if ( !is_god(who) )
{
if ( random(100) < 33 ) ben = 1;
else if ( random(100) < 51 ) ben = 2;
else if ( random(100) < 72 ) ben = 3;
else if ( random(100) < 85 ) ben = 4;
else if ( random(100) < 97 ) ben = 5;
else if ( random(100) < 98 ) ben = 6;
else if ( random(100) < 99 ) ben = 7;
else ben = 8;
}
else ben = 8;
item->delete("forge");
"/sys/item/equip"->reset_equip_prop(item);
for (i = 0; i< ben; i++)
{
sosao(item);
forge += "1";
item->set("forge", forge);
}
item->add_to_user(get_d(item));
send_user( who, "%c%d%c", 0x31, getoid(item), 0 );

send_user(who,"%c%s",';',sprintf("Bạn đã dùng %d lượng để Rèn lại %s !",( cap2*25000/cap ),item->get_name()));

if ( ben==8 )
{
CHAT_D->sys_channel(0,"Bằng hữu "+who->get_name()+" tại Can Tương đã thành công rèn ra "+item->get_name()+" đạt 8 ngôi sao, thật là may mắn !");
CHAT_D->sys_channel(0,"Bằng hữu "+who->get_name()+" tại Can Tương đã thành công rèn ra "+item->get_name()+" đạt 8 ngôi sao, thật là may mắn !");
CHAT_D->sys_channel(0,"Bằng hữu "+who->get_name()+" tại Can Tương đã thành công rèn ra "+item->get_name()+" đạt 8 ngôi sao, thật là may mắn !");
}
who->add_cash(- ( cap2*25000/cap ) );
TASK_LEGEND_D->check_task_item1(who,"Tái Tạo Thạch",6);
}
else if ( mau==4 ) {
if ( item->get_equip_type()==WEAPON_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Vũ khí "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==ARMOR_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Y phục "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==HEAD_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Nón "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==BOOTS_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Giày "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==WAIST_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Yêu đới "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==NECK_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Hạng liên "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
}
else if ( mau==0 ) {
if ( item->get_equip_type()==WEAPON_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Vũ khí "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==ARMOR_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Y phục "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==HEAD_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Nón "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==BOOTS_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Giày "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==WAIST_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Yêu đới "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
else if ( item->get_equip_type()==NECK_TYPE ){
send_user(who,"%c%c%w%s",':',3,me->get_char_picid(),sprintf("Can Tương:\n%s không phải là "HIR "Hạng liên "NOR "Lam Kim, Hoàng Kim, Tử Kim !!!\n"ESC"Xác nhận",item->get_name() ));
}
}
return 0;
}

Hiệu ứng vũ khí

inh / user / equip.c


int get_weapon_color_2()
{
int level, color, ret;
if( objectp( Equip[WEAPON_POSITION] ) )
{
if( Equip[WEAPON_POSITION]->get_lasting() < 100 ) return 0;
color = Equip[WEAPON_POSITION]->get_item_color();
if (color==0||color==4) return 0;
level = Equip[WEAPON_POSITION]->get_level();
switch(color)
{
case 1: //Vũ khí Lam Kim
if (level<=50);
else
if (level<=70) ret = 0xbdc; // (0xbdc) là mã màu.
else
ret = 0x1a56;
break;
case 2: //Vũ khí Hoàng Kim
if (level<=50) ret = 0x4fed;
else
if (level<=70) ret = 0x4d0;
else
if (level<=149) ret = 0xfc62;
else

ret = 0x0020;
break;
case 3: //Vũ khí Tử Kim
default:

if (level<=50) ret = 0x831d;
else
if (level<=70) ret = 0x4898;
else
ret = 0x680d;
break;
}
return ret;
}
else return 0;
}

Hiệu ứng pp và cánh thì mình không chắc nên không ý kiến gì thêm.

chienquoc.info
21-04-16, 09:45 PM
bản này hình như thiếu côn lôn đao + trộm bảo phi tặc thì phải?

taoaccts13
26-04-16, 02:56 PM
Ai biết rèn sao cho trang bị từ chưa có sao lên 1* 2* chỗ nào ko T_T
Với cả skill 60/60 là full ạ? Skill 150 ko học được vì ko nâng lên đc skill 150/150 ạ :(
/* Mình làm đc cái skill rồi nha, còn cái dưới, làm sao có mấy dòng lạ lạ như vậy ạ */
<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>
Với lại làm sao để có trang bị như vậy ạ :(
<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>

taoaccts13
30-04-16, 06:49 PM
Cho em hỏi trong sv có npc cho thuê set truyền thuyết nhưng mà thư mục của set đó đã bị xóa rồi ạ. Mọi người ai có set truyền thuyết share cho em với...

item = new("item/set10sao/truyenthuyet/set10sao"); <------------
gift->remove_from_user();
destruct(gift);
send_user(who,"%c%s",';',"Bạn nhận được "HIR " Túi Hoàng Kim Truyền Thuyết");
p = item->move2(who,-1);
item->add_to_user(p);

duycarry
05-05-16, 03:08 PM
Ai biết rèn sao cho trang bị từ chưa có sao lên 1* 2* chỗ nào ko T_T
Với cả skill 60/60 là full ạ? Skill 150 ko học được vì ko nâng lên đc skill 150/150 ạ :(
/* Mình làm đc cái skill rồi nha, còn cái dưới, làm sao có mấy dòng lạ lạ như vậy ạ */
<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>
Với lại làm sao để có trang bị như vậy ạ :(
<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>

Ảnh chết!
Rèn sao = đoạn thạch. Đường dẫn:
item/sell/0032 : Sơ cấp
item/sell/1032 : Trung cấp
item/sell/2032: Cao cấp