PDA

View Full Version : [KT] Ngăn chặn người chơi dùng trang bị người cho pet



tuidangvui
25-05-13, 11:26 AM
Tình hình box này dạo này ko có j, góp zui xíu


function Player:CheckItemPet(pPlayer)
local nOk = 0;
for i = 1, Item.PARTNEREQUIP_NUM do
local pItem = pPlayer.GetItem(Item.ROOM_PARTNEREQUIP, i - 1, 0);
if pItem then
local nDetail = pItem.nDetail;
if nDetail < Item.EQUIP_PARTNERWEAPON then
nOk = 1;
break;
end
end
end
if nOk == 1 then
GM.tbGMRole:ArrestHim(pPlayer.nId);
end
end

thêm


Player:CheckItemPet(pPlayer or me)

vào những chỗ cần thêm =))

trickster
25-05-13, 11:34 AM
Thêm là thêm cho nào , Bạn chỉ rõ luôn hoặc cho hẳn cái file chứ nhiều người như minh đâu có hiểu rõ được

lynk_kid
25-05-13, 11:35 AM
Thêm là thêm cho nào , Bạn chỉ rõ luôn hoặc cho hẳn cái file chứ nhiều người như minh đâu có hiểu rõ được

mấy anh ơi giúp em tí anh trickster ơi online yh em nhờ cái đi anh chờ anh từ hôm qua tới h đó

lynk_kid
25-05-13, 11:48 AM
có ai không làm ơn online yh giúp em với

lyvanbethao
25-05-13, 11:56 AM
<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>
thanks for share tuidangvui

datvt123
25-05-13, 01:43 PM
Vẫn chưa hiểu cái tên bí hỉm , thêm chỗ nào cần thêm là cần là cần chỗ nào :))

yasichiaki
25-05-13, 11:32 PM
thử add vào player.lua rồi mà ko đc
f5 liên tục ngồi hóng

satthupro95
25-05-13, 11:40 PM
code ngắn gọn xúc tích =))
Đề nghị các bạn mới tham gia không nên làm theo nhé T_T

yasichiaki
26-05-13, 12:11 AM
<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>

yasichiaki
26-05-13, 02:20 AM
code ngắn gọn xúc tích =))
Đề nghị các bạn mới tham gia không nên làm theo nhé T_T

satthu cho hỏi add đoạn code này vào file nào với đc ko :( lục tung scrip lên rồi mà ko ra =(( tks

__Jie__
26-05-13, 02:51 AM
function Player:CheckItemPet(pPlayer)
local nOk = 0;
for i = 1, Item.PARTNEREQUIP_NUM do
local pItem = pPlayer.GetItem(Item.ROOM_PARTNEREQUIP, i - 1, 0);
if pItem then
local nDetail = pItem.nDetail;
if nDetail < Item.EQUIP_PARTNERWEAPON then
nOk = 1;
break;
end
end
end
if nOk == 1 then
GM.tbGMRole:ArrestHim(pPlayer.nId);
end
end

Nội dung nó như này.

Tất cả các item trên nhân vật được gán = các con số có thể xem tại script\item\define.lua


Item.PARTNEREQUIP_WEAPON = 0; -- 同伴装备--武器
Item.PARTNEREQUIP_BODY = 1; -- 同伴装备--衣服
Item.PARTNEREQUIP_RING = 2; -- 同伴装备--戒指
Item.PARTNEREQUIP_CUFF = 3; -- 同伴装备--护腕
Item.PARTNEREQUIP_AMULET = 4; -- 同伴装备--护身符
Item.PARTNEREQUIP_NUM = 5;


Như ta thấy đầu tiên gán biến = 0;

Tiếp đó ta sẽ kiểm tra trang bị hiện tại được mang trên F9 lấy ra giá trị nDetail của nó tiếp tục so sánh với giá trị của PARTNEREQUIP_WEAPON(19) nếu nó nhỏ hơn 19 ta gán biến = 1 , thoát khỏi dòng for.

Tiếp tục check if biến = 1 ta lập tức thực thi lệnh GM cho nhân vật lên đảo

Trình chỉ đến đây ( các bác cứ chém e đang thiếu gạch xây nhà )

BMK
26-05-13, 04:10 AM
code vậy là chuẩn rồi chỉ việc nhai thôi :D !

yasichiaki
26-05-13, 06:19 AM
function Player:CheckItemPet(pPlayer)
local nOk = 0;
for i = 1, Item.PARTNEREQUIP_NUM do
local pItem = pPlayer.GetItem(Item.ROOM_PARTNEREQUIP, i - 1, 0);
if pItem then
local nDetail = pItem.nDetail;
if nDetail < Item.EQUIP_PARTNERWEAPON then
nOk = 1;
break;
end
end
end
if nOk == 1 then
GM.tbGMRole:ArrestHim(pPlayer.nId);
end
end

Nội dung nó như này.

Tất cả các item trên nhân vật được gán = các con số có thể xem tại script\item\define.lua


Item.PARTNEREQUIP_WEAPON = 0; -- 同伴装备--武器
Item.PARTNEREQUIP_BODY = 1; -- 同伴装备--衣服
Item.PARTNEREQUIP_RING = 2; -- 同伴装备--戒指
Item.PARTNEREQUIP_CUFF = 3; -- 同伴装备--护腕
Item.PARTNEREQUIP_AMULET = 4; -- 同伴装备--护身符
Item.PARTNEREQUIP_NUM = 5;


Như ta thấy đầu tiên gán biến = 0;

Tiếp đó ta sẽ kiểm tra trang bị hiện tại được mang trên F9 lấy ra giá trị nDetail của nó tiếp tục so sánh với giá trị của PARTNEREQUIP_WEAPON(19) nếu nó nhỏ hơn 19 ta gán biến = 1 , thoát khỏi dòng for.

Tiếp tục check if biến = 1 ta lập tức thực thi lệnh GM cho nhân vật lên đảo

Trình chỉ đến đây ( các bác cứ chém e đang thiếu gạch xâ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>

ninhmca
26-05-13, 07:58 AM
<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>

pro toàn ăn mảnh 1 mình.hướng dẫn theo kiểu pro thì pro ăn.còn gà như ae mình thì chẳng hiểu cái chết toi gì.L-)

thanhdinh10
26-05-13, 08:44 AM
cái này chả lẽ gắn vào thẻ Gm b-(

nghichtu91
26-05-13, 10:07 AM
cái này chả lẽ gắn vào thẻ Gm b-(

ngắn chi thể gm =))
cho vào player.lua
hoặc npc nào đó cũng dc =))

yasichiaki
26-05-13, 11:16 AM
ngắn chi thể gm =))
cho vào player.lua
hoặc npc nào đó cũng dc =))

e add vào player.lua rồi mà cũng có tiến triển gì đâu :(((

lynk_kid
26-05-13, 03:47 PM
ta là linhpl2001 đang bị band nick :D

và ta đã fix được cảm ơn chủ topic nhé =P~

Có Hàm Gì Dis Liền Ko Phải Đợi thoát ra vào lại :-??

nghichtu91
26-05-13, 06:13 PM
ta là linhpl2001 đang bị band nick :D

và ta đã fix được cảm ơn chủ topic nhé =P~

Có Hàm Gì Dis Liền Ko Phải Đợi thoát ra vào lại :-??

me.KichOut() gì đó dis ngay lập tức

maxvolume
26-05-13, 09:57 PM
...self.outgame, self
...outgame()
...me.KnockOut() >:)

Một với một là bao nhiêu ? (viết trả lời bằng số)

BMK
26-05-13, 10:33 PM
nếu các bạn muốn check có thể dựa vào scheduletask để lưu time thiết kế sao phù hợp với các bạn đó thì làm :D

omasa
26-05-13, 11:05 PM
Code này đơn giản là hàm thực thi lệch check. Add vào bất kỳ đâu để check. Ví dụ add vào chỗ chuyển map. Khi chuyển map nó sẽ check và nếu sử đụng sai đồ pet nó sẽ thực thi hàm lên đảo. Còn đeo vào đứng chơi thì ko sao =D>.

Code này mình có lâu rồi nhưng chán chả buồn share vì giờ tung Gs2.6 ra thì share ra ngang án tử hình :">

BMK
26-05-13, 11:10 PM
=)) check này mình fix từ 3 tháng trước nhưng vì mình sell server nên ko lam cho mất giá trị 2.6 nên im ru :D

lynk_kid
27-05-13, 06:15 AM
=)) check này mình fix từ 3 tháng trước nhưng vì mình sell server nên ko lam cho mất giá trị 2.6 nên im ru :D

ta có bao giờ chơi sv 2.6 đâu ^^ toàn dùng a3pick giồ thấy 2.6 vui nhãy qua thôi :D

satthupro95
27-05-13, 07:49 AM
a3pick chơi thấy ổn nhất ^^
Không biết a3 còn bán bản 1.0.2 nữa k bít T_T

lynk_kid
27-05-13, 08:13 AM
a3pick chơi thấy ổn nhất ^^
Không biết a3 còn bán bản 1.0.2 nữa k bít T_T

tui có bản 1.0.0.2 nè dc mua lun ^^

satthupro95
27-05-13, 08:22 AM
liên hệ vs a3pick mua chuẩn hơn
Sợ hàng crack của các bạn lắm r` =))

__Jie__
27-05-13, 11:45 AM
a3pick thì ổn định , nhưng bị cái GS 1.0.2 nếu không hex lại thì không thể xài trang bị đồng hành.

Tớ còn cái GS này mà key mất rồi :-s.

Với lại bộ skill nó không = 2.6 .:-?

satthupro95
27-05-13, 11:54 AM
a3pick thì ổn định , nhưng bị cái GS 1.0.2 nếu không hex lại thì không thể xài trang bị đồng hành.

Tớ còn cái GS này mà key mất rồi :-s.

Với lại bộ skill nó không = 2.6 .:-?

1.0.1 với 1.0.2 nó hơn nhau những gì vậy Jie ?
ngoài cái hex để xài trang bị pet ra ?

lynk_kid
27-05-13, 12:11 PM
1.0.1 với 1.0.2 nó hơn nhau những gì vậy Jie ?
ngoài cái hex để xài trang bị pet ra ?

của tai xài được bình thường

sv 1.0.2 thì phải tách gs ra thư mục riêng không chạy được liền các gs trong 1 thư mục
có trang bị pét tương đối ổn đị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><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>)
nếu ko biết dùng thì ko nhìn được trang bị pét

__Jie__
27-05-13, 01:21 PM
1.0.1 với 1.0.2 nó hơn nhau những gì vậy Jie ?
ngoài cái hex để xài trang bị pet ra ?
Theo như tôi xài qua thì nhận xét
1.0.1 bị lỗi mua KTC 2 vật phẩm vô hiệu đồng ( âm đồng )
1.0.2 Fix được lỗi này và nhiều lỗi cơ bản khác , còn việc tôi nói trên thì đa số các gs sau khi a3pick nghĩ thì đã được fix lại và hiện tại trang bị pet có thể mang :"> ( F1)

BMK
27-05-13, 01:37 PM
script anh em nào chạy được không :D sao mà ko check nhỉ :) !

__Jie__
27-05-13, 01:40 PM
script anh em nào chạy được không :D sao mà ko check nhỉ :) !

Chạy bình thường mà bảo :D

Ba thêm ba là ? (viết kết quả bằng số)

omasa
27-05-13, 02:23 PM
Tặng anh em

Thêm đâu cũng đc. Ví dụ như player.lua vào bất cứ đâu.


local pItem ; for i = Item.PARTNEREQUIP_WEAPON,Item.PARTNEREQUIP_AMULET do
pItem = me.GetPARTNEREQUIP(i);
if (pItem) then
if((not(pItem.nDetail >= Item.EQUIP_PARTNERWEAPON and pItem.nDetail <= Item.EQUIP_PARTNERAMULET)) and (me.IsInPrison()==0)) then
Player:Arrest(me.szName);
return 0;
end
end
end


Thêm vào: script\player\kluaplayer.lua


function _KLuaPlayer.GetPARTNEREQUIP(nEquipPos)
return self.GetItem(Item.ROOM_PARTNEREQUIP, nEquipPos);
end


Nếu bác nào có code hay hơn thì đừng gạch đá ko vỡ đầu em nhà ko còn tiền đi viện nhá.

Code này của một bạn phát triển. Nhưng do bận ôn thi nên SV close rồi và mình và cậu ấy hợp tác trao đổi code thôi.

Nhân tiện quảng cáo thêm cái thằng lừa đảo mà BQT vẫn chưa chịu tẩy chay nó 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>
Chả hiểu sao BQT xóa mất topic cảnh báo anh em sử dụng cty datapool :-?

lynk_kid
27-05-13, 02:31 PM
cái đó thoát ra mới dc hả hay hiệu lực lun

omasa
27-05-13, 02:36 PM
cái đó thoát ra mới dc hả hay hiệu lực lun

Hiệu lực thế nào thì do bạn chèn code nó ở đâu. Chèn ở chỗ Vào Game thì nó check lúc vào game. Bạn tự tìm hiểu nhé.

thaitunet39
27-05-13, 05:02 PM
Có bạn nào team dùm mình hem sao mình bỏ vào đâu nó củng báo lỗi hết vậy 8-x
<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>)

omasa
27-05-13, 05:54 PM
Có bạn nào team dùm mình hem sao mình bỏ vào đâu nó củng báo lỗi hết vậy 8-x

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


Cái ảnh post khiêm tốn vậy thì chịu rùi

traiyenbai
03-06-13, 08:01 AM
Tình hình box này dạo này ko có j, góp zui xíu

thêm

vào những chỗ cần thêm =))


Code này chèn vào đâu hả bạn. mình chèn mãi ko được

jxonline2
08-06-13, 12:28 AM
Các bạn ơi vấn đề này nan giải sử dụng thì khi thoát game ra vào lại mới bị đưa lên đảo. Nếu nó tinh vi trước khi thoát game gỡ ra hết rồi thoát vào game lại mặc vào thì đã lọt qua được rồi :(

satthupro95
08-06-13, 12:39 AM
Các bạn ơi vấn đề này nan giải sử dụng thì khi thoát game ra vào lại mới bị đưa lên đảo. Nếu nó tinh vi trước khi thoát game gỡ ra hết rồi thoát vào game lại mặc vào thì đã lọt qua được rồi :(
Cái này tùy bạn add vào đâu bạn add vào OnLogin thì đương nhiên chỉ bị khi đăng nhập xét thêm lúc out game , move map, ..........
Nếu cần thiết thì add vào script các map luôn

cuga95
08-06-13, 05:14 PM
Cái này tùy bạn add vào đâu bạn add vào OnLogin thì đương nhiên chỉ bị khi đăng nhập xét thêm lúc out game , move map, ..........
Nếu cần thiết thì add vào script các map luôn

Thêm vào map thì hình như nó chỉ check lúc vào map đó, còn nếu đứng trên map đó rồi mặc vào hình như không check được bằng cách thêm vào map.

satthupro95
08-06-13, 05:16 PM
Thế thì check vào chỗ lúc người chơi thi triển kỹ năng
Tìm chỗ như a Hồ Duy Quốc Bảo làm event pháo hoa đoạn đánh quái nhặt được đồ ấy

cuga95
08-06-13, 05:18 PM
Thế thì check vào chỗ lúc người chơi thi triển kỹ năng
Tìm chỗ như a Hồ Duy Quốc Bảo làm event pháo hoa đoạn đánh quái nhặt được đồ ấy

Cái đó là khi giết npc, khi kill npc đó chết thì mới check. Chưa tìm được cách check bằng thi triển kỹ năng - chỉ cần vung đao, chưa chạm vào quái là check! 8-x

satthupro95
08-06-13, 05:21 PM
Tìm đoạn kill người đi
......................................

cuga95
08-06-13, 05:26 PM
Tìm đoạn kill người đi
......................................

Rồi, tìm thấy rồi, ngồi một mình không nghĩ ra, lên gamezone cái ngộ ra nhiều điều, kiểu này thì em nó chưa chạm vào được cọng lông của Npc hay người thì đã lên đảo nằm rồi =)) .

cuga95
08-06-13, 10:31 PM
Kaka, ngâm ra cái vụ đeo vào là nó tự cho lên đảo luôn rầu, không cần move map hay kill gì hết, đeo vào là lĩnh án! =P~

copday
09-06-13, 10:46 AM
Kaka, ngâm ra cái vụ đeo vào là nó tự cho lên đảo luôn rầu, không cần move map hay kill gì hết, đeo vào là lĩnh án! =P~

làm thế nào vậy cậu..................................

anhhatvit
09-06-13, 10:53 AM
Mình để vào chỗ này trong file player.lua thì đánh chết 1 con quái thì lên đảo. Nhưng không biết làm sao để hiệu quả cho đánh người! :D Anh em nào có lòng hảo tâm hướng dẫn với :D





function Player:_OnKillNpc()
-- 如果是精英怪,首领怪,判断是否要� �玩家的同伴添加经验
if him.GetNpcType() ~= 0 then
Partner:OnKillBoss(me, him);
end
Task:OnKillNpc(me,him);
local pItem;
for i = Item.PARTNEREQUIP_WEAPON,Item.PARTNEREQUIP_AMULET do
pItem = me.GetPARTNEREQUIP(i);
if (pItem) then
if((not(pItem.nDetail >= Item.EQUIP_PARTNERWEAPON and pItem.nDetail <= Item.EQUIP_PARTNERAMULET)) and (me.IsInPrison()==0)) then
Player:Arrest(me.szName);
return 0;
end
end
end
local linhhoncu = me.GetTask(2123,1);
local linhhonmoi = linhhoncu+10;
me.SetTask(2123,1,linhhonmoi);
local solinhhon = me.GetTask(2123,1);
end



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

Để vào đây thì check người bị giết chứ không check người giết!!! :((






function Player:_OnDeath(pKiller)
BlackSky:GiveMeBright(me);
if (not pKiller) then
return;
end
if (pKiller.nKind == 1) then
local szMsg = "Bạn bị <color=yellow>"..pKiller.szName.."<color> đánh trọng thương!";
Dialog:SendInfoBoardMsg(me, szMsg);
me.Msg(szMsg)
local pPlayer = pKiller.GetPlayer();
if (pPlayer) then
local szMsg = "<color=yellow>"..me.szName.."<color> bị bạn đánh trọng thương!";
Dialog:SendInfoBoardMsg(pPlayer, szMsg);
pPlayer.Msg(szMsg);
end
end
local pItem;
for i = Item.PARTNEREQUIP_WEAPON,Item.PARTNEREQUIP_AMULET do
pItem = me.GetPARTNEREQUIP(i);
if (pItem) then
if((not(pItem.nDetail >= Item.EQUIP_PARTNERWEAPON and pItem.nDetail <= Item.EQUIP_PARTNERAMULET)) and (me.IsInPrison()==0)) then
Player:Arrest(me.szName);
return 0;
end
end
end
end

trickster
09-06-13, 11:35 AM
làm thế nào vậy cậu..................................

Chắc cho vào chỗ khi đeo đồ lên là dis luôn :| . equip chăng

cuga95
09-06-13, 11:36 AM
Mình để vào chỗ này trong file player.lua thì đánh chết 1 con quái thì lên đảo. Nhưng không biết làm sao để hiệu quả cho đánh người! :D Anh em nào có lòng hảo tâm hướng dẫn với :D




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

Để vào đây thì check người bị giết chứ không check người giết!!! :((

local pPlayer = pKiller.GetPlayer();
Người giết đây này, thay vì check me là người bị giết, check pPlayer là người kill mình đó!:|

trickster
09-06-13, 06:39 PM
bạn cho đoạn code đó vào đâu mà đeo đồ lên là a lê hấp đảo luôn thế 8-x

copday
09-06-13, 07:08 PM
bạn cho đoạn code đó vào đâu mà đeo đồ lên là a lê hấp đảo luôn thế 8-x
có đoạn này, chưa hiểu, có phải cái này là check pet
function Player:OnChangeFightState()

shinrenkyo
19-06-13, 04:54 PM
đọc hết cả 6 trang mà ko biết cuối cùng nhét vào đâu cho chuẩn :(
bạn nào giúp mình với
tks

copday
19-06-13, 10:22 PM
đọc hết cả 6 trang mà ko biết cuối cùng nhét vào đâu cho chuẩn :(
bạn nào giúp mình với
tks

uhm, nhét thì đc, nhưng toàn nhét trật,: P: P: P

vd_tt
19-06-13, 11:03 PM
osama nói ko thấy ak , nhét đâu chả được, nếu nhét ko được thì chơi off đi, online khổ mem lắm lắm

huylouis1996
03-07-13, 09:36 AM
Tôi cho add hết vào tất cả các file =)) , check NPC , check chuyển map , check tỷ thí , check vào tống kim , check ra bãi phi chiến đấu =)))))
Nchung là add tất =)) kể cả gọi pet hay tăng skill cho pet check có đồ thường là lên đảo :))

dongnguyen0510
03-07-13, 09:40 AM
Tôi cho add hết vào tất cả các file =)) , check NPC , check chuyển map , check tỷ thí , check vào tống kim , check ra bãi phi chiến đấu =)))))
Nchung là add tất =)) kể cả gọi pet hay tăng skill cho pet check có đồ thường là lên đảo :))
Vậy bác Huy share code cho anh em chiêm ngưỡng phát nào

satthupro95
03-07-13, 10:19 AM
Tôi cho add hết vào tất cả các file =)) , check NPC , check chuyển map , check tỷ thí , check vào tống kim , check ra bãi phi chiến đấu =)))))
Nchung là add tất =)) kể cả gọi pet hay tăng skill cho pet check có đồ thường là lên đảo :))

Chỉ cần cho cái script này vào 1 file .lua
Muốn check code thì cứ dùng script tới file đó là ổn thôi :3

dongnguyen0510
03-07-13, 11:35 AM
Chỉ cần cho cái script này vào 1 file .lua
Muốn check code thì cứ dùng script tới file đó là ổn thôi :3
Ý anh là các hàm đó có nằm trong thread của em không hoặc ông Huy tích hợp hết code vô trong 1 file *.lua để anh em nghiên cứu

satthupro95
03-07-13, 11:41 AM
Ý anh là các hàm đó có nằm trong thread của em không hoặc ông Huy tích hợp hết code vô trong 1 file *.lua để anh em nghiên cứu

#1 đó anh
code đó add vào 1 file .lua xong muốn check chỗ nào thì dùng hàm gọi đến file lua đó là đc k phải viết lại

dongnguyen0510
03-07-13, 11:47 AM
#1 đó anh
code đó add vào 1 file .lua xong muốn check chỗ nào thì dùng hàm gọi đến file lua đó là đc k phải viết lại
Thank em để anh tét phát
30 chaaaaaaaaaaaaaaaaaaaaaaaaaaa

huylouis1996
03-07-13, 11:55 AM
Các folder chủ yếu cần cho vào là /script/ .... ( map , npc , boss , partner , mail , player ...v...v ) nói chung là cứ thấy dòng nào kiểu có câu hỏi hoặc là tham gia 1 cái gì đó
Ví dụ như Bạch Hổ Đường chẳng hạn ,

function tbChuJiMap:OnEnter(szParam)
me.SetFightState(1); --设置战斗状态
me.nPkModel = Player.emKPK_STATE_PRACTISE;
end
Ta thêm vào như sau :

function tbChuJiMap:OnEnter(szParam)
Player:CheckItemPet(pPlayer or me)
me.SetFightState(1); --设置战斗状态
me.nPkModel = Player.emKPK_STATE_PRACTISE;
end

Chèn dòng
function Player:CheckItemPet(pPlayer)
local nOk = 0;
for i = 1, Item.PARTNEREQUIP_NUM do
local pItem = pPlayer.GetItem(Item.ROOM_PARTNEREQUIP, i - 1, 0);
if pItem then
local nDetail = pItem.nDetail;
if nDetail < Item.EQUIP_PARTNERWEAPON then
nOk = 1;
break;
end
end
end
if nOk == 1 then
GM.tbGMRole:ArrestHim(pPlayer.nId);
end
end
vào bất kỳ chỗ nào đấy sau 1 function và dưới end của nó , VD như
Function : cái gì đấy
kết thúc đoạn code là end
Ta paste cái đoạn function check item dưới end của đoạn code đấy là xong

dongnguyen0510
03-07-13, 01:14 PM
Các folder chủ yếu cần cho vào là /script/ .... ( map , npc , boss , partner , mail , player ...v...v ) nói chung là cứ thấy dòng nào kiểu có câu hỏi hoặc là tham gia 1 cái gì đó
Ví dụ như Bạch Hổ Đường chẳng hạn ,

Ta thêm vào như sau :


Chèn dòng
vào bất kỳ chỗ nào đấy sau 1 function và dưới end của nó , VD như
Function : cái gì đấy
kết thúc đoạn code là end
Ta paste cái đoạn function check item dưới end của đoạn code đấy là xong
Thank Huy. Có chắc là lại gây sóng gió box Kiếm Thế không vậy bác
:)):))

huylouis1996
03-07-13, 01:22 PM
Bỏ dev lâu quá rồi giờ comeback thôi :K

dongnguyen0510
03-07-13, 01:29 PM
Bỏ dev lâu quá rồi giờ comeback thôi :K
Rất hân hạnh được đón tiếp quý khách. Rất hân hạnh được đón tiếp quý khách;));));))
( Trích câu nói của cái cân điện tử ngoài chợ)
:x:x:x:x:x

vd_tt
06-07-13, 10:53 PM
Tôi cho add hết vào tất cả các file =)) , check NPC , check chuyển map , check tỷ thí , check vào tống kim , check ra bãi phi chiến đấu =)))))
Nchung là add tất =)) kể cả gọi pet hay tăng skill cho pet check có đồ thường là lên đảo :))

chỉ cần cho vào 2 cái là đủ, pk (cả npc) + lên ngựa, đảm bảo chả ai dám

omasa
07-07-13, 11:08 AM
chỉ cần cho vào 2 cái là đủ, pk (cả npc) + lên ngựa, đảm bảo chả ai dám

Thế thì SV bạn bị ăn dame khủng. 1 Hít die 100 mạng =))

copday
07-07-13, 01:28 PM
Thế thì SV bạn bị ăn dame khủng. 1 Hít die 100 mạng =))

câu này không hiểu lắm, nó liên quan đến dame ak bạn osama
:-c:-c:-c:-c:-c

huylouis1996
08-07-13, 09:12 AM
<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>

copday
08-07-13, 04:46 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>

kẹt sao đc mà ket,
cứ 20 vạn 1 phát là k ai dám đeo:D:P:P:P:P:P:P:P

dongnguyen0510
19-07-13, 11:08 AM
<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>
Nói nó đưa cái card chuộc lỗi rồi dùng thẻ GM lôi đầu về lại
/:)/:)/:)/:)/:)/:)/:)/:)/:)

omasa
20-07-13, 11:11 AM
Tặng anh em code tự trừ đồng trên Đào Nguyên. Tự ngâm nhé. gameserver\script\npc\taoyuanxiangdao.lua





-- 文件名 :taoyuanxiangdao.lua
-- 创建者 :xiewen
-- 创建时间:2008-12-10 16:32:42


local tbNpc = Npc:GetClass("taoyuanxiangdao");
tbNpc.nTaskGroupId = 2052;
tbNpc.nTaskId1 = 1;
tbNpc.nTaskId2 = 2;
tbNpc.nTaskId3 = 3;


--离开桃源,将玩家送到上次存档点
function tbNpc:GetOutOfTaoYuan()
me.Msg("Rời khỏi Đào Nguyên");
Player:SetFree(me.szName);

--判断是否是通过非法收据道具的原因� �入的桃源
local nIsIllegalItem = me.GetTask(SpecialEvent.HoleSolution.TASK_COMPENSA TE_GROUPID, SpecialEvent.HoleSolution.TASK_SUBID_REASON);
if nIsIllegalItem == 1 then
me.SetTask(SpecialEvent.HoleSolution.TASK_COMPENSA TE_GROUPID, SpecialEvent.HoleSolution.TASK_SUBID_REASON, 0); --将存放原因的任务变量清除
end
end


function tbNpc:OnDialog()
--判断是否是通过非法收据道具的原因� �入的桃源
local nIsIllegalItem = me.GetTask(SpecialEvent.HoleSolution.TASK_COMPENSA TE_GROUPID, SpecialEvent.HoleSolution.TASK_SUBID_REASON);

if nIsIllegalItem == 1 then --是因为非法刷道具的原因进入的桃源
self:OnDialog_Compensate();
else
self:OnDialog_Original();
end

end


--是因为非法刷取道具的原因进入桃源� �进入这个对话
function tbNpc:OnDialog_Compensate()
local nArrearage, nTaskVar = SpecialEvent.HoleSolution:GetBalanceValue();
if nArrearage <= 0 then
--如果两组任务变量的值都为0了,先将� ��有任务变量清零
SpecialEvent.HoleSolution:SetTaskValue(0,0,1);
SpecialEvent.HoleSolution:SetTaskValue(0,0,2);
--再看看数据中还有没有其它的赔偿信� �,有则设置到任务变量中并取出
SpecialEvent.HoleSolution:IsPlayerInList();
nArrearage, nTaskVar = SpecialEvent.HoleSolution:GetBalanceValue();
end

local szMsg = "";
local tbOpt = {};

local tbOpt = {};
if 0 == nArrearage then
szMsg = string.format("Hướng dẫn Đào Nguyên: Ngươi đã bồi thường tất cả giá trị lượng, giờ có thể rời khỏi Đào Nguyên.");
tbOpt =
{
{"Nhận Đồng đã nạp", self.dnnhandong, self},
{"Ta muốn rời khỏi đây sau 3 ngày", self.GetOutOfTaoYuan, self},
{"Để ta suy nghĩ lại"},
}
else
szMsg = string.format("Hướng dẫn Đào Nguyên: Có người thông báo, ngươi dùng thủ đoạn phi pháp xóa Tài Phú cá nhân. Hiện còn <color=red>%d<color> ghi chép, trước khi xử lý ngươi không thể rời khỏi Đào Nguyên!", SpecialEvent.HoleSolution:GetPlayerDebetCount());
szMsg = szMsg..string.format("\n Trong ghi chép hiện tại, còn thiếu <color=red>%s<color> Tài Phú.", nArrearage);
tbOpt = SpecialEvent.HoleSolution:__ParseTheTaskVar(nTaskV ar, nArrearage);
table.insert(tbOpt, {"Để ta suy nghĩ đã"});
end

Dialog:Say(szMsg, tbOpt);
end


function tbNpc:dnnhandong()
local nRet = me.GetUserPayCoin();
if nRet ~= 0 then
me.Msg(string.format("Tổng số đồng của bạn nhận được là <color=yellow>%d đồng<color>", nRet))

else
me.Msg("Bạn không có đồng tại đây. Xin vui lòng kiểm tra lại");
end
end


--因为其它原因进入桃源的进入这个对� �




function tbNpc:OnDialog_Original()
local tbDlg = {
{"Nhận Đồng đã nạp", self.dnnhandong, self},
{"Ta muốn rời khỏi đây ngay lập tức", self.roikhoidao, self},
{"Liên hệ GM", self.ContactGM, self},
{"Đóng"}
}
Dialog:Say("Hướng dẫn Đào Nguyên: Nơi này ẩn mà, chẳng lẽ ngươi vào qua lỗ hổng trò chơi hay phần mềm phi pháp, mau vào giao diện GM <color=red>liên hệ GM<color> nói rõ tình hình. Có thể ngươi tiêu diệt thủ vệ, lấy được trang bị cuối cùng của Kiếm Thế, nhưng bảo tàng Đào Nguyên, không dễ lấy đâu.",
tbDlg);
end




function tbNpc:roikhoidao()
local tbOpt = {};


if me.GetTask(self.nTaskGroupId,self.nTaskId3) == 0 then --Lĩnh hoàn bất gia
table.insert(tbOpt,{"Lần đầu vi phạm. Bị trừ 20 Vạn Đồng", self.roikhoidao1, self});
end
if me.GetTask(self.nTaskGroupId,self.nTaskId2) == 0 then --Lĩnh hoàn bất gia
table.insert(tbOpt,{"Lần Thứ 2 vi phạm. Bị trừ 100 Vạn Đồng", self.roikhoidao2, self});
end
if me.GetTask(self.nTaskGroupId,self.nTaskId1) == 0 then --Lĩnh hoàn bất gia
table.insert(tbOpt,{"Lần Thứ 3 vi phạm. Bị trừ 500 Vạn Đồng", self.roikhoidao3, self});
end
table.insert(tbOpt,{"Lần Thứ 4 trở lên phạt 500 Vạn đồng", self.roikhoidao4, self});
table.insert(tbOpt, {"Kết thúc đối thoại"});
local szMsg = "Nếu không cố đồng thì vui lòng nạp thêm";
Dialog:Say(szMsg, tbOpt);
end


------------------- rời đảo lần 4----------------------------


function tbNpc:roikhoidao1()
local nMyMoney = me.GetJbCoin(); --GetCash();
if (nMyMoney < 5000000) then
Dialog:Say("Ngươi không có 500 Vạn Đồng thì sao ta tha cho ngươi được.");
return 0;
end
if (nMyMoney >=5000000) then
me.AddJbCoin(-5000000);
end;
Player:SetFree(me.szName);
end




------------------- rời đảo lần 1----------------------------
function tbNpc:roikhoidao1()
if me.GetTask(self.nTaskGroupId,self.nTaskId3) ~= 0 then
Dialog:Say("Ngươi đã sử dụng 1 lần đầu rồi.");
return 0;
end
local nMyMoney = me.GetJbCoin(); --GetCash();
if (nMyMoney < 200000) then
Dialog:Say("Ngươi không có 20 Vạn Đồng thì sao ta tha cho ngươi được.");
return 0;
end
if (nMyMoney >=200000) then
me.AddJbCoin(-200000);
end;
Player:SetFree(me.szName);
me.SetTask(self.nTaskGroupId,self.nTaskId3,1)
end




------------------- rời đảo lần 2----------------------------
function tbNpc:roikhoidao2()
if me.GetTask(self.nTaskGroupId,self.nTaskId2) ~= 0 then
Dialog:Say("Ngươi đã sử dụng 2 lần đầu rồi.");
return 0;
end
local nMyMoney = me.GetJbCoin(); --GetCash();
if (nMyMoney < 1000000) then
Dialog:Say("Ngươi không có 100 Vạn Đồng thì sao ta tha cho ngươi được.");
return 0;
end
if (nMyMoney >=1000000) then
me.AddJbCoin(-1000000);
end;
Player:SetFree(me.szName);
me.SetTask(self.nTaskGroupId,self.nTaskId2,1)
end




------------------- rời đảo lần 3----------------------------
function tbNpc:roikhoidao3()
if me.GetTask(self.nTaskGroupId,self.nTaskId1) ~= 0 then
Dialog:Say("Ngươi đã sử dụng 3 lần rồi.");
return 0;
end
local nMyMoney = me.GetJbCoin(); --GetCash();
if (nMyMoney < 2000000) then
Dialog:Say("Ngươi không có 200 Vạn Đồng thì sao ta tha cho ngươi được.");
return 0;
end
if (nMyMoney >=2000000) then
me.AddJbCoin(-2000000);
end;
Player:SetFree(me.szName);
me.SetTask(self.nTaskGroupId,self.nTaskId1,1)
end


function tbNpc:ContactGM()
Dialog:Say("Điện thoại BQT Luyện Kiếm: 0166 563 0277",
tbDlg);
end

voanhnhat20010
25-07-13, 06:16 PM
Tặng anh em code tự trừ đồng trên Đào Nguyên. Tự ngâm nhé. gameserver\script\npc\taoyuanxiangdao.lua
ủa ủa chi rứa ;))
mà thôi cũng tks
30charrrrrrrrrrrrrrrrrrr

dianguc.vn
26-07-13, 10:53 PM
Tình hình box này dạo này ko có j, góp zui xíu
function Player:CheckItemPet(pPlayer)
local nOk = 0;
for i = 1, Item.PARTNEREQUIP_NUM do
local pItem = pPlayer.GetItem(Item.ROOM_PARTNEREQUIP, i - 1, 0);
if pItem then
local nDetail = pItem.nDetail;
if nDetail < Item.EQUIP_PARTNERWEAPON then
nOk = 1;
break;
end
end
end
if nOk == 1 then
GM.tbGMRole:ArrestHim(pPlayer.nId);
end
end


thêm
Player:CheckItemPet(pPlayer or me)



vào những chỗ cần thêm <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>


làm theo thế này rùi làm thế nào để cho lên đảo chứ không phải là thôn :( hả các bác