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 100kinh 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 nExpSkillLevelnExpStateTypenExpEndTimebExpIsNoClearOnDeath            me.GetSkillState(self.SKILL_ID_EXP);
        
local nNewExpTime        0;
         if (
not nExpEndTimethen 
           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_EXPself.SKILL_ID_EXP_LEVEL1nNewExpTime1);
              
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.TASKGROUPself.TASKLASTTIME_ID);
    
local nNowTime        GetTime(); 
   
local nDays            self:CalculateDay(nLastTimenNowTime); 
   
local nRemainTime    nDays 1.5 self:GetRemainTime();
    if (
nRemainTime 0.1then        nRemainTime 0;
    
end
        
if (nLastTime <= 0then
        nRemainTime 
1.5;
    
end
        me
.SetTask(self.TASKGROUPself.TASKLASTTIME_IDnNowTime);    me.SetTask(self.TASKGROUPself.TASKREMAINTIME_IDnRemainTime 10); 
end

function tbItem:CalculateDay(nLastTimenNowTime)
    
local nLastDay     Lib:GetLocalDay(nLastTime);
    
local nNowDay    Lib:GetLocalDay(nNowTime); 
   
local nDays        nNowDay nLastDay;    if (nDays 0then
        nDays 
0
   
end
    
return nDays;
end
function tbItem:GetRemainTime() 
   return 
me.GetTask(self.TASKGROUPself.TASKREMAINTIME_ID) / 10;
end