xaophayxoan
27-03-12, 01:04 AM
vừa ngồi vọc mấy script cuối cùng cũng mò ra đc :)
tbItem.TaskGourp = 3000; --task mới phải add vào gameserver\setting\player\task_def.txt
tbItem.TaskId_Day = 1; --task lưu ngày
tbItem.TaskId_Count = 2; --task lưu lần nhận
tbItem.TaskId_Last = 3; --task lưu thời gian nhận
tbItem.Relay_Time = 30*60; --thời gian giữa 2 lần nhận mình để 30p 1 lần
tbItem.Use_Max =5; --số lần nhận tối đa
function tbItem:nhanthuong()
local nDate = tonumber(GetLocalDate("%Y%m%d"));
if me.GetTask(self.TaskGourp, self.TaskId_Day) < nDate then
me.SetTask(self.TaskGourp, self.TaskId_Day, nDate);
me.SetTask(self.TaskGourp, self.TaskId_Count, 0);
me.SetTask(self.TaskGourp, self.TaskId_Last, 0);
end
local nCount = me.GetTask(self.TaskGourp, self.TaskId_Count);
local szMsg = string.format("Mỗi <color=yellow>30 phút online<color> hàng ngày có thể nhận thưởng, tối đa <color=yellow>5<color> lần.\n\n<color=yellow>Lần 1:<color> 5 túi phúc hoàng kim.\n<color=yellow>Lần 2:<color> 10 vạn bạc khóa.\n<color=yellow>Lần 3:<color> 1 vạn đồng khóa.\n<color=yellow>Lần 4:<color> 1 Lệnh bài Thiên Quỳnh Cung.\n<color=yellow>Lần 5:<color> 1 Bản đồ Bí Cảnh.\n\n<color=yellow>Hôm nay bạn đã nhận %d phần thưởng.<color>",nCount);
local tbOpt = {};
if (nCount<self.Use_Max) then
table.insert(tbOpt , {"Nhận thưởng ngay", self.nhanthuong1, self});
end
table.insert(tbOpt, {"Ta chỉ ghé ngang qua"});
Dialog:Say(szMsg, tbOpt);
end
function tbItem:nhanthuong1()
local nCount = me.GetTask(self.TaskGourp, self.TaskId_Count);
if nCount >= self.Use_Max then
Dialog:Say(string.format("Hôm nay bạn đã nhận đủ phần thưởng."));
return 0;
end
local nLast = me.GetTask(self.TaskGourp, self.TaskId_Last);
local nHour = tonumber(GetLocalDate("%Y%m%d%H%M%S"));
local nSec1 = Lib:GetDate2Time(nHour);
local nSec2 = nLast + self.Relay_Time;
if nSec1 < nSec2 then
me.Msg(string.format("Còn <color=yellow>%s giây<color> nữa mới nhận được phần thưởng tiếp theo.", (nSec2 - nSec1)));
return 0;
end
if (nCount == 0) then
me.AddItem(18, 1, 80, 1); --phần thưởng thứ 1
me.AddItem(18, 1, 80, 1);
me.AddItem(18, 1, 80, 1);
me.AddItem(18, 1, 80, 1);
me.AddItem(18, 1, 80, 1);
elseif (nCount == 1) then
me.AddBindMoney(100000); --phần thưởng thứ 2
elseif (nCount == 2) then
me.AddBindCoin(10000); --phần thưởng thứ 3
elseif (nCount == 3) then
me.AddItem(18, 1, 186, 1); --phần thưởng thứ 4
elseif (nCount == 4) then
me.AddItem(18, 1, 251, 1); --phần thưởng thứ 5
end
me.Msg(string.format("Mỗi 30 phút online mỗi ngày có thể nhận thưởng, tối đa 5 lần. Bạn đã nhận được phần thưởng hàng ngày lần <color=yellow>%d<color>",nCount + 1));
me.SetTask(self.TaskGourp, self.TaskId_Count, nCount + 1);
local nHourS = tonumber(GetLocalDate("%Y%m%d%H%M%S"));
local nSec3 = Lib:GetDate2Time(nHourS);
me.SetTask(self.TaskGourp, self.TaskId_Last, nSec3);
end
Sơ qua là mỗi ngày mình để 5 lần nhận thưởng, mỗi lần cách nhau 30 phút :D
cái này mình add vào trong Tu luyện châu, bác nào add được thì add còn không thì dùng link down sẵn phía dưới của mình
ngoài add script vào thì các bác cần tạo task riêng cho cái này
vào file gameserver\setting\player\task_def.txt
add thêm dòng này vào cuối
3000 1 3 Nhận thưởng hàng ngày 0 0
Phần thưởng hàng ngày mình ghi rõ trong script ai muốn chỉnh theo ý mình thì có thể sửa lại
link down sẵn cho ai không add được
<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ướng dẫn chỉnh phần thưởng bản down về sẵn
để chỉnh phần thưởng các bạn chỉnh ở file gameserver\script\event\minievent\daygift.lua
enjoy!
tbItem.TaskGourp = 3000; --task mới phải add vào gameserver\setting\player\task_def.txt
tbItem.TaskId_Day = 1; --task lưu ngày
tbItem.TaskId_Count = 2; --task lưu lần nhận
tbItem.TaskId_Last = 3; --task lưu thời gian nhận
tbItem.Relay_Time = 30*60; --thời gian giữa 2 lần nhận mình để 30p 1 lần
tbItem.Use_Max =5; --số lần nhận tối đa
function tbItem:nhanthuong()
local nDate = tonumber(GetLocalDate("%Y%m%d"));
if me.GetTask(self.TaskGourp, self.TaskId_Day) < nDate then
me.SetTask(self.TaskGourp, self.TaskId_Day, nDate);
me.SetTask(self.TaskGourp, self.TaskId_Count, 0);
me.SetTask(self.TaskGourp, self.TaskId_Last, 0);
end
local nCount = me.GetTask(self.TaskGourp, self.TaskId_Count);
local szMsg = string.format("Mỗi <color=yellow>30 phút online<color> hàng ngày có thể nhận thưởng, tối đa <color=yellow>5<color> lần.\n\n<color=yellow>Lần 1:<color> 5 túi phúc hoàng kim.\n<color=yellow>Lần 2:<color> 10 vạn bạc khóa.\n<color=yellow>Lần 3:<color> 1 vạn đồng khóa.\n<color=yellow>Lần 4:<color> 1 Lệnh bài Thiên Quỳnh Cung.\n<color=yellow>Lần 5:<color> 1 Bản đồ Bí Cảnh.\n\n<color=yellow>Hôm nay bạn đã nhận %d phần thưởng.<color>",nCount);
local tbOpt = {};
if (nCount<self.Use_Max) then
table.insert(tbOpt , {"Nhận thưởng ngay", self.nhanthuong1, self});
end
table.insert(tbOpt, {"Ta chỉ ghé ngang qua"});
Dialog:Say(szMsg, tbOpt);
end
function tbItem:nhanthuong1()
local nCount = me.GetTask(self.TaskGourp, self.TaskId_Count);
if nCount >= self.Use_Max then
Dialog:Say(string.format("Hôm nay bạn đã nhận đủ phần thưởng."));
return 0;
end
local nLast = me.GetTask(self.TaskGourp, self.TaskId_Last);
local nHour = tonumber(GetLocalDate("%Y%m%d%H%M%S"));
local nSec1 = Lib:GetDate2Time(nHour);
local nSec2 = nLast + self.Relay_Time;
if nSec1 < nSec2 then
me.Msg(string.format("Còn <color=yellow>%s giây<color> nữa mới nhận được phần thưởng tiếp theo.", (nSec2 - nSec1)));
return 0;
end
if (nCount == 0) then
me.AddItem(18, 1, 80, 1); --phần thưởng thứ 1
me.AddItem(18, 1, 80, 1);
me.AddItem(18, 1, 80, 1);
me.AddItem(18, 1, 80, 1);
me.AddItem(18, 1, 80, 1);
elseif (nCount == 1) then
me.AddBindMoney(100000); --phần thưởng thứ 2
elseif (nCount == 2) then
me.AddBindCoin(10000); --phần thưởng thứ 3
elseif (nCount == 3) then
me.AddItem(18, 1, 186, 1); --phần thưởng thứ 4
elseif (nCount == 4) then
me.AddItem(18, 1, 251, 1); --phần thưởng thứ 5
end
me.Msg(string.format("Mỗi 30 phút online mỗi ngày có thể nhận thưởng, tối đa 5 lần. Bạn đã nhận được phần thưởng hàng ngày lần <color=yellow>%d<color>",nCount + 1));
me.SetTask(self.TaskGourp, self.TaskId_Count, nCount + 1);
local nHourS = tonumber(GetLocalDate("%Y%m%d%H%M%S"));
local nSec3 = Lib:GetDate2Time(nHourS);
me.SetTask(self.TaskGourp, self.TaskId_Last, nSec3);
end
Sơ qua là mỗi ngày mình để 5 lần nhận thưởng, mỗi lần cách nhau 30 phút :D
cái này mình add vào trong Tu luyện châu, bác nào add được thì add còn không thì dùng link down sẵn phía dưới của mình
ngoài add script vào thì các bác cần tạo task riêng cho cái này
vào file gameserver\setting\player\task_def.txt
add thêm dòng này vào cuối
3000 1 3 Nhận thưởng hàng ngày 0 0
Phần thưởng hàng ngày mình ghi rõ trong script ai muốn chỉnh theo ý mình thì có thể sửa lại
link down sẵn cho ai không add được
<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ướng dẫn chỉnh phần thưởng bản down về sẵn
để chỉnh phần thưởng các bạn chỉnh ở file gameserver\script\event\minievent\daygift.lua
enjoy!