Kết quả 1 đến 1 của 1
-
23-05-14, 07:15 AM #1
Lỗi tiên thảo lộ x2 exp, nhờ các bạn giúp
mình dùng item Tiên Thảo Lộ của bạn [Only registered and activated users can see links. ] , đã khai báo task đầy đủ nhưng khi vào game sử dụng item thì báo lỗi dòng " nRemainTime = nRemainTime - self.tbEffect[it.nLevel]; " và dòng " function tbItem:OnUse() "
nhờ các bạn giúp mình lỗi này với. Cảm ơn các bạn đã quan tâm
PHP Code:local tbItem = Item:GetClass("tienthaolo1h");
tbItem.TASKGROUP = 3020;
tbItem.TASKLASTTIME_ID = 1;
tbItem.TASKREMAINTIME_ID = 2;
tbItem.SKILL_ID_EXP = 332;
tbItem.SKILL_ID_EXP_LEVEL = 10; -- Cấp độ của skill.Cấp 10 sẽ là + thêm 100% kinh nghiệm.Cấp 20 là cộng 200%(tương đương x3)
tbItem.tbEffect = {
[1] = 1;--(Thời gian hiệu nghiệm của thẻ.Đơn vị tính bằng Giờ)
}
function tbItem:OnUse() ------------ " báo lỗi dòng này "
if me.nLevel <= 10 then
Dialog:Say("Đẳng cấp trên 10 mới có thể sử dụng được.");
return 0
end
self:Update();
local nRemainTime = self:GetRemainTime();
local nExpSkillLevel, nExpStateType, nExpEndTime, bExpIsNoClearOnDeath = me.GetSkillState(self.SKILL_ID_EXP);
local nNewExpTime = 0;
if (not nExpEndTime) then
nExpEndTime = 0;
end
nRemainTime = nRemainTime - self.tbEffect[it.nLevel]; ------------ " báo lỗi dòng này "
nNewExpTime = self.tbEffect[it.nLevel] * 18 * 3600 + nExpEndTime;
me.AddSkillState(self.SKILL_ID_EXP, self.SKILL_ID_EXP_LEVEL, 1, nNewExpTime, 1);
me.Msg(string.format("Bạn nhận được <color=yellow>%s giờ <color> nhân đôi kinh nghiệm.",self.tbEffect[it.nLevel]))
KDialog.MsgToGlobal("<color=yellow>Người chơi <color=green>["..me.szName.."]<color> sử dụng <color=green>Tiên Thảo Lộ (1 giờ)<color> nhận được <color=cyan>1 Giờ x2 Kinh Nghiệm<color><color>");
return 1;
end
function tbItem:Update()
local nLastTime = me.GetTask(self.TASKGROUP, self.TASKLASTTIME_ID);
local nNowTime = GetTime();
local nDays = self:CalculateDay(nLastTime, nNowTime);
local nRemainTime = nDays * 1.5 + self:GetRemainTime();
if (nRemainTime < 0.1) then nRemainTime = 0;
end
if (nLastTime <= 0) then
nRemainTime = 1.5;
end
me.SetTask(self.TASKGROUP, self.TASKLASTTIME_ID, nNowTime); me.SetTask(self.TASKGROUP, self.TASKREMAINTIME_ID, nRemainTime * 10);
end
function tbItem:CalculateDay(nLastTime, nNowTime)
local nLastDay = Lib:GetLocalDay(nLastTime);
local nNowDay = Lib:GetLocalDay(nNowTime);
local nDays = nNowDay - nLastDay; if (nDays < 0) then
nDays = 0;
end
return nDays;
end
function tbItem:GetRemainTime()
return me.GetTask(self.TASKGROUP, self.TASKREMAINTIME_ID) / 10;
end
Khách viếng thăm hãy cùng benben xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!