PDA

View Full Version : [KT] Share Code giới hạn du long hoàn chỉnh



Sesshomaru
16-06-12, 04:45 PM
Thấy các bạn tìm kiếm nhiều nên mình share cho các bạn giới hạn du long

Ta thao tác trên 1 số file sau

1.gameserver\script\event\youlongmibao\youlongmiba o_def
lưu ý những dòng màu đỏ



Youlongmibao.TASK_GROUP_ID = 2106; -- 游龙密窑
Youlongmibao.TASK_YOULONG_HAVEAWARD = 1; -- 有奖未领
Youlongmibao.TASK_YOULONG_INTERVAL = 2; -- 挑战间隔
Youlongmibao.TASK_YOULONG_COUNT = 3; -- 累计次数
Youlongmibao.TASK_YOULONG_HAPPY_EGG = 6; -- 是否已经拿过开心蛋;0为未拿
Youlongmibao.TASK_DEPOSIT_COIN = 7; -- 未领取的古币值
Youlongmibao.TASK_ATTEND_NUM = 8; -- 每天参加的次数
Youlongmibao.TASK_ATTEND_DATE = 9; -- 每天参加的日期记录


Youlongmibao.TASK_ATTEND_NUM_EVENT = 10; -- 游龙周活动参加的次数及领奖情况
Youlongmibao.TASK_BATCH = 11; --游龙周批次
Youlongmibao.TASK_DAILY_NO_INTERVAL_TIMES = 12; --每天参加游龙阁次数
Youlongmibao.TaskId_Day = 13; -- 最多进行4次
Youlongmibao.TaskId_Count = 14; -- 最多进行4次


Youlongmibao.nMaxAttendNum = 20000; --游龙周活动记录的最大参加次数*100


Youlongmibao.MAX_FIGHT_TIME = 100; -- Chỉnh số lần khiêu chiến giới hạn tại đây(số lần hiện tại là 100 lần 1 ngày)
Youlongmibao.MAX_TIMES = 4; -- 最多进行4次
Youlongmibao.MAX_GRID = 25; -- 格子数量
Youlongmibao.MAX_INTERVAL = 15; -- 挑战间隔15秒
Youlongmibao.DEF_GET_HAPPYEGG_COUNT = 5;
Youlongmibao.nBatch = 1; --游龙周批次
Youlongmibao.NO_TIME_MAX_NUM = 200; --每天前两百个不需要等待时间


Youlongmibao.ITEM_YUEYING = {18, 1, 476, 1}; -- 月影之石
Youlongmibao.ITEM_ZHANSHU = {18, 1, 524, 1}; -- 游龙战书
Youlongmibao.ITEM_ZHANSHU_BIND = {18, 1, 524, 4}; -- 游龙战书
Youlongmibao.ITEM_COIN = {18, 1, 553, 1}; -- 游龙古币
Youlongmibao.ITEM_HAPPYEGG = "18,1,525,1" -- 开心蛋
Youlongmibao.MAX_TIMES = 20;




Youlongmibao.NPC_DIALOG = 3690;
Youlongmibao.NPC_FIGHT = 3689;


Youlongmibao.bOpen = EventManager.IVER_bOpenYoulongmibao;


Youlongmibao.TYPE_RATE_PATH = "\\setting\\event\\youlongmibao\\youlongmibao_rate. txt";


Youlongmibao.tbExcludeBind = {8, 16, 18, 28, 29};


Youlongmibao.nMaxAttendDaily = 30;




2.gameserver\script\event\youlongmibao\youlongmiba o_gs

tìm function Youlongmibao:Continue(pPlayer)
thêm vào:


local nDate = tonumber(GetLocalDate("%y%m%d"));
if pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Day) < nDate then
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Day, nDate);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, 0);
end
local nCount = pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Count)
if nCount >= self.MAX_FIGHT_TIME then
Dialog:Say(string.format("Mỗi ngày chỉ Được khiêu chiến %d lần.", Youlongmibao.MAX_FIGHT_TIME));
return 0;
end


Sẽ thành


function Youlongmibao:Continue(pPlayer)

local nDate = tonumber(GetLocalDate("%y%m%d"));
if pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Day) < nDate then
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Day, nDate);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, 0);
end
local nCount = pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Count)
if nCount >= self.MAX_FIGHT_TIME then
Dialog:Say(string.format("Mỗi ngày chỉ Được khiêu chiến %d lần.", Youlongmibao.MAX_FIGHT_TIME));
return 0;
end

............................................(còn đoạn nữa)

Làm tương tự với

function Youlongmibao:StartFight(pPlayer)

ta sẽ có function hoàn chỉnh sau:

function Youlongmibao:StartFight(pPlayer)
local nDate = tonumber(GetLocalDate("%y%m%d"));
if pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Day) < nDate then
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Day, nDate);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, 0);
end


local nCount = pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Count)
if nCount >= self.MAX_FIGHT_TIME then
Dialog:Say(string.format("Mỗi ngày chỉ Được khiêu chiến %d lần.", Youlongmibao.MAX_FIGHT_TIME));
return 0;
end
local nTimes = 1;
if self.tbPlayerList[pPlayer.nId] then
nTimes = self.tbPlayerList[pPlayer.nId].nTimes + 1;
end

Dialog:SendBlackBoardMsg(pPlayer, string.format("Tiến hành khiên chiến lần thứ %s", nTimes));

-- 召唤战斗npc
Youlongmibao.Manager:DelNpc(pPlayer);
Youlongmibao.Manager:AddFightNpc(pPlayer);

pPlayer.SetTask(self.TASK_GROUP_ID, self.TASK_YOULONG_COUNT, pPlayer.GetTask(self.TASK_GROUP_ID, self.TASK_YOULONG_COUNT) + 1);
KGblTask.SCSetDbTaskInt(DBTASK_YOULONGMIBAO_COUNT, KGblTask.SCGetDbTaskInt(DBTASK_YOULONGMIBAO_COUNT) + 1);

-- 记录时间
pPlayer.SetTask(self.TASK_GROUP_ID, self.TASK_YOULONG_INTERVAL, GetTime());
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, nCount + 1);
pPlayer.SetFightState(1);
end


Bước cuối cùng.Vào setting\player\task_def.txt thêm 2 task

Search: 2106(group) ta sẽ có Group sau

2106 1 3 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 4 5 [Hệ thống Chiến Thần] Du Long Quật-Trứng vui vẻ 1 0
2106 6 6 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 7 7 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 8 9 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 10 11 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 12 12 [Hệ thống Chiến Thần] Du Long Quật 0 0




Thêm vào:
2106 13 14 [Hệ thống Chiến Thần] Du Long Quật 0



Ta sẽ có Task Group 2106 hoàn chỉnh như sau:


2106 1 3 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 4 5 [Hệ thống Chiến Thần] Du Long Quật-Trứng vui vẻ 1 0
2106 6 6 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 7 7 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 8 9 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 10 11 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 12 12 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 13 14 [Hệ thống Chiến Thần] Du Long Quật 0




Nếu thấy có ích thì nhấn nút thank bằng hành động.đừng bằng lời

vipbk
16-06-12, 06:19 PM
Thanks :x

nguyendung2011
16-06-12, 07:07 PM
cái youlongmibao_def của mình thế này thì phải thêm vào mấy đoạn thiếu hả bạn?

-------------------------------------------------------
-- 文件名 :youlongmibao_def.lua
<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>
-- 创建时间:2009-10-29 14:30:36
-- 文件描述:
-------------------------------------------------------

Youlongmibao.TASK_GROUP_ID = 2106; -- 游龙密窑
Youlongmibao.TASK_YOULONG_HAVEAWARD = 1; -- 有奖未领
Youlongmibao.TASK_YOULONG_INTERVAL = 2; -- 挑战间隔
Youlongmibao.TASK_YOULONG_COUNT = 3; -- 累计次数
Youlongmibao.TASK_YOULONG_HAPPY_EGG = 6; -- 是否已经拿过开心蛋;0为未拿

Youlongmibao.MAX_TIMES = 4; -- 最多进行4次
Youlongmibao.MAX_GRID = 25; -- 格子数量
Youlongmibao.MAX_INTERVAL = 20; -- 挑战间隔20秒

-- ITEM ID
Youlongmibao.ITEM_YUEYING = {18, 1, 476, 1}; -- 月影之石
Youlongmibao.ITEM_ZHANSHU = {18, 1, 524, 1}; -- 游龙战书
Youlongmibao.ITEM_COIN = {18, 1, 553, 1}; -- 游龙古币
Youlongmibao.ITEM_HAPPYEGG = "18,1,525,1" -- 开心蛋
Youlongmibao.DEF_GET_HAPPYEGG_COUNT = 5; -- 前5次必得一个开心蛋

-- NPC ID
Youlongmibao.NPC_DIALOG = 3690;
Youlongmibao.NPC_FIGHT = 3689;

-- 多语言开关
Youlongmibao.bOpen = EventManager.IVER_bOpenYoulongmibao;
--Youlongmibao.bOpen = 1;

-- 表的路径
Youlongmibao.TYPE_RATE_PATH = "\\setting\\event\\youlongmibao\\youlongmibao_rate. txt";

Sesshomaru
16-06-12, 07:34 PM
Dùng luôn của mình đi.ko lỗi đâu

Kevin.Vnn
02-07-12, 09:10 AM
thanks pro ...............................

firered48
19-07-12, 11:31 AM
Thấy các bạn tìm kiếm nhiều nên mình share cho các bạn giới hạn du long

Ta thao tác trên 1 số file sau

1.gameserver\script\event\youlongmibao\youlongmiba o_def
lưu ý những dòng màu đỏ



Youlongmibao.TASK_GROUP_ID = 2106; -- 游龙密窑
Youlongmibao.TASK_YOULONG_HAVEAWARD = 1; -- 有奖未领
Youlongmibao.TASK_YOULONG_INTERVAL = 2; -- 挑战间隔
Youlongmibao.TASK_YOULONG_COUNT = 3; -- 累计次数
Youlongmibao.TASK_YOULONG_HAPPY_EGG = 6; -- 是否已经拿过开心蛋;0为未拿
Youlongmibao.TASK_DEPOSIT_COIN = 7; -- 未领取的古币值
Youlongmibao.TASK_ATTEND_NUM = 8; -- 每天参加的次数
Youlongmibao.TASK_ATTEND_DATE = 9; -- 每天参加的日期记录


Youlongmibao.TASK_ATTEND_NUM_EVENT = 10; -- 游龙周活动参加的次数及领奖情况
Youlongmibao.TASK_BATCH = 11; --游龙周批次
Youlongmibao.TASK_DAILY_NO_INTERVAL_TIMES = 12; --每天参加游龙阁次数
Youlongmibao.TaskId_Day = 13; -- 最多进行4次
Youlongmibao.TaskId_Count = 14; -- 最多进行4次


Youlongmibao.nMaxAttendNum = 20000; --游龙周活动记录的最大参加次数*100


Youlongmibao.MAX_FIGHT_TIME = 100; -- Chỉnh số lần khiêu chiến giới hạn tại đây(số lần hiện tại là 100 lần 1 ngày)
Youlongmibao.MAX_TIMES = 4; -- 最多进行4次
Youlongmibao.MAX_GRID = 25; -- 格子数量
Youlongmibao.MAX_INTERVAL = 15; -- 挑战间隔15秒
Youlongmibao.DEF_GET_HAPPYEGG_COUNT = 5;
Youlongmibao.nBatch = 1; --游龙周批次
Youlongmibao.NO_TIME_MAX_NUM = 200; --每天前两百个不需要等待时间


Youlongmibao.ITEM_YUEYING = {18, 1, 476, 1}; -- 月影之石
Youlongmibao.ITEM_ZHANSHU = {18, 1, 524, 1}; -- 游龙战书
Youlongmibao.ITEM_ZHANSHU_BIND = {18, 1, 524, 4}; -- 游龙战书
Youlongmibao.ITEM_COIN = {18, 1, 553, 1}; -- 游龙古币
Youlongmibao.ITEM_HAPPYEGG = "18,1,525,1" -- 开心蛋
Youlongmibao.MAX_TIMES = 20;




Youlongmibao.NPC_DIALOG = 3690;
Youlongmibao.NPC_FIGHT = 3689;


Youlongmibao.bOpen = EventManager.IVER_bOpenYoulongmibao;


Youlongmibao.TYPE_RATE_PATH = "\\setting\\event\\youlongmibao\\youlongmibao_rate. txt";


Youlongmibao.tbExcludeBind = {8, 16, 18, 28, 29};


Youlongmibao.nMaxAttendDaily = 30;




2.gameserver\script\event\youlongmibao\youlongmiba o_gs

tìm function Youlongmibao:Continue(pPlayer)
thêm vào:


local nDate = tonumber(GetLocalDate("%y%m%d"));
if pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Day) < nDate then
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Day, nDate);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, 0);
end
local nCount = pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Count)
if nCount >= self.MAX_FIGHT_TIME then
Dialog:Say(string.format("Mỗi ngày chỉ Được khiêu chiến %d lần.", Youlongmibao.MAX_FIGHT_TIME));
return 0;
end


Sẽ thành


function Youlongmibao:Continue(pPlayer)

local nDate = tonumber(GetLocalDate("%y%m%d"));
if pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Day) < nDate then
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Day, nDate);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, 0);
end
local nCount = pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Count)
if nCount >= self.MAX_FIGHT_TIME then
Dialog:Say(string.format("Mỗi ngày chỉ Được khiêu chiến %d lần.", Youlongmibao.MAX_FIGHT_TIME));
return 0;
end

............................................(còn đoạn nữa)

Làm tương tự với

function Youlongmibao:StartFight(pPlayer)

ta sẽ có function hoàn chỉnh sau:

function Youlongmibao:StartFight(pPlayer)
local nDate = tonumber(GetLocalDate("%y%m%d"));
if pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Day) < nDate then
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Day, nDate);
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, 0);
end


local nCount = pPlayer.GetTask(self.TASK_GROUP_ID, self.TaskId_Count)
if nCount >= self.MAX_FIGHT_TIME then
Dialog:Say(string.format("Mỗi ngày chỉ Được khiêu chiến %d lần.", Youlongmibao.MAX_FIGHT_TIME));
return 0;
end
local nTimes = 1;
if self.tbPlayerList[pPlayer.nId] then
nTimes = self.tbPlayerList[pPlayer.nId].nTimes + 1;
end

Dialog:SendBlackBoardMsg(pPlayer, string.format("Tiến hành khiên chiến lần thứ %s", nTimes));

-- 召唤战斗npc
Youlongmibao.Manager:DelNpc(pPlayer);
Youlongmibao.Manager:AddFightNpc(pPlayer);

pPlayer.SetTask(self.TASK_GROUP_ID, self.TASK_YOULONG_COUNT, pPlayer.GetTask(self.TASK_GROUP_ID, self.TASK_YOULONG_COUNT) + 1);
KGblTask.SCSetDbTaskInt(DBTASK_YOULONGMIBAO_COUNT, KGblTask.SCGetDbTaskInt(DBTASK_YOULONGMIBAO_COUNT) + 1);

-- 记录时间
pPlayer.SetTask(self.TASK_GROUP_ID, self.TASK_YOULONG_INTERVAL, GetTime());
pPlayer.SetTask(self.TASK_GROUP_ID, self.TaskId_Count, nCount + 1);
pPlayer.SetFightState(1);
end


Bước cuối cùng.Vào setting\player\task_def.txt thêm 2 task

Search: 2106(group) ta sẽ có Group sau

2106 1 3 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 4 5 [Hệ thống Chiến Thần] Du Long Quật-Trứng vui vẻ 1 0
2106 6 6 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 7 7 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 8 9 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 10 11 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 12 12 [Hệ thống Chiến Thần] Du Long Quật 0 0




Thêm vào:

Ta sẽ có Task Group 2106 hoàn chỉnh như sau:


2106 1 3 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 4 5 [Hệ thống Chiến Thần] Du Long Quật-Trứng vui vẻ 1 0
2106 6 6 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 7 7 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 8 9 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 10 11 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 12 12 [Hệ thống Chiến Thần] Du Long Quật 0 0
2106 13 14 [Hệ thống Chiến Thần] Du Long Quật 0




Nếu thấy có ích thì nhấn nút thank bằng hành động.đừng bằng lời

CHào bạn mình đã làm theo hướng dẫn của bạn nhưng nó bị lỗi mong bạn xem giúp
<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>
E đính kèm cả bộ code du long để bác xem giúp ạ
Cám ơn bác

Sesshomaru
20-07-12, 11:45 AM
CHào bạn mình đã làm theo hướng dẫn của bạn nhưng nó bị lỗi mong bạn xem giúp
<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>)
<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>
E đính kèm cả bộ code du long để bác xem giúp ạ
Cám ơn bác
Mình đã xem qua code của bạn
của bạn bị sai chỗ này:

2106 13 14 [Hệ thống Chiến Thần] Du Long Quật 0

bạn không nên copy từ diễn đàn về,vì nó bị lỗi tab,bạn nên copy dòng trên nó
cụ thể là
2106 11 12 [Hệ thống Chiến Thần] Du Long Quật 0

rồi bạn chỉnh sửa 2 số 11,12 thành 13,14.
Bạn test thử xem nhé

firered48
20-07-12, 04:58 PM
Mình đã xem qua code của bạn
của bạn bị sai chỗ này:

2106 13 14 [Hệ thống Chiến Thần] Du Long Quật 0

bạn không nên copy từ diễn đàn về,vì nó bị lỗi tab,bạn nên copy dòng trên nó
cụ thể là
2106 11 12 [Hệ thống Chiến Thần] Du Long Quật 0

rồi bạn chỉnh sửa 2 số 11,12 thành 13,14.
Bạn test thử xem nhé

Mình đã làm theo bạn nói nhưng server vẫn báo lỗi như hình ảnh bên trên và vẫn sài đc hơn 100 cái du long vẫn BT không có dấu hiệu dừng lại :(