PDA

View Full Version : [KT] Hỏi về phó bản vạn hoa cốc



anhnhianh
03-06-14, 11:00 AM
e muốn cho giới hạn đi phó bản vạn hoa cốc 1 tuần 7 lần. e vào script của nó thì có code giới hạn nhưng thử test thì lại ko giới hạn gì hết cho vào nó cứ vào thoải mái :( còn đây là code giới hạn mà e kiếm đc trong script của nó



function tbItem_Map:OpenInstancing(pPlayer, pItem)

if not pPlayer or not pItem then
return;
end;

-- 臨時寫法
if (pPlayer.GetTask(2066, 344)>=6) then
Dialog:SendInfoBoardMsg(me, "Ngươi đã tham gia <color=yellow>6<color> lần rồi !");
return;
end;

if (pPlayer.nTeamId == 0) then
pPlayer.Msg("Ngươi chưa lập tổ đội !");
return;
end

if pPlayer.GetItemCountInBags(18, 1, 245, 1) < 1 then
return;
end;

pItem.Delete(me);
TreasureMap:AddInstancing(pPlayer, 61);
TreasureMap:NotifyAroundPlayer(pPlayer, "<color=yellow>"..pPlayer.szName.." đã mở lối vào Vạn Hoa Cốc !<color>");

KStatLog.ModifyAdd("mixstat", "Mở cửa Vạn Hoa Cốc", "Tổng", 1);
end;

Sesshomaru
03-06-14, 11:16 AM
Nếu bạn làm giới hạn tuần thì phải lưu ý những điểm sau:

-1 task check ngày reset(Ví dụ thứ 2 reset lại task count)
-1 Task check số lần(task count) và phải settask mỗi khi mở phụ bản(ở trên mình chỉ thấy check task chứ chưa settask)
-Check task mỗi lần mở phụ bản(bạn đã thêm hàm rồi.Còn vị trí thêm đã đúng chưa thì mình cũng ko rõ lắm).

anhnhianh
03-06-14, 11:26 AM
reset task là như vầy hả mod?

local nDate = tonumber(GetLocalDate("%Y%m%d"));
if me.GetTask(2066, 1) < nDate then
me.SetTask(2066,1, nDate);
me.SetTask(2066, 2, 0);
end

Sesshomaru
03-06-14, 12:18 PM
reset task là như vầy hả mod?

local nDate = tonumber(GetLocalDate("%Y%m%d"));
if me.GetTask(2066, 1) < nDate then
me.SetTask(2066,1, nDate);
me.SetTask(2066, 2, 0);
end
Hàm này là chính xác rồi nhưng hàm này tính theo ngày.Muốn tính theo tuần thì phải
me.SetTask(2066,1, nDate+7);

Hơn nữa nó có hạn chế:Là nếu lần đầu đi là vào thứ 5.Thì đến thứ 5 tuần sau nó mới reset.
Nếu bạn muốn reset cố định vào thứ 2 thì nên tìm hàm weekday nữa

anhnhianh
03-06-14, 12:32 PM
Hàm này là chính xác rồi nhưng hàm này tính theo ngày.Muốn tính theo tuần thì phải
me.SetTask(2066,1, nDate+7);

Hơn nữa nó có hạn chế:Là nếu lần đầu đi là vào thứ 5.Thì đến thứ 5 tuần sau nó mới reset.
Nếu bạn muốn reset cố định vào thứ 2 thì nên tìm hàm weekday nữa

ok mod :D

Dù ai đi ngược về xuôi nhớ ngày giỗ tổ ... ? (gợi ý câu trả lời: mung 10 thang 3)