[KT] Hỏi về script nhận item 1 lần
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Kết quả 1 đến 2 của 2
  1. #1
    Thành Viên
    Ngày tham gia
    Apr 2013
    Bài viết
    73
    Thanks
    26
    Thanked 29 Times in 21 Posts

    Hỏi về script nhận item 1 lần

    Tình hình là mình đang viết cái túi tần thủ. Mình muốn cho chỉ nhận item 1 lần duy nhất. Mình khai báo như sau

    Code:
    local tbGift = Item:GetClass("newplayergift"); 
    tbGift.WULINSHIJIA_STARTTIME = 20090922;  
    tbGift.WULINSHIJIA_ENDTIME   = 20091030;
    tbGift.WULINSHIJIA_ITEM_TIME = 30*24*60;
    
    tbGift.TASK_GROUP_ID = 2027;
    tbGift.TASK_GET_BUFF = 80;
    tbGift.TASK_GET_YAOPAI = 81;
    tbGift.TaskId_Count = 1;
    tbGift.Use_Max =1;
    
    tbGift.TASK_GROUP_ID1 = 3001;
    tbGift.TASK_GROUP_ID2 = 3002;
    Phần nhận item mình khai báo như sau

    Code:
    
    ---- Add Túi
    function tbGift:Tui()
    	local nCount = me.GetTask(self.TASK_GROUP_ID1, self.TaskId_Count);
        if nCount >= self.Use_Max then
            local szMsg = "<color=yellow>Phần thưởng chỉ nhận được 1 lần. Hãy chọn<color><color=pink> Nhận thưởng <color><color=yellow>:<color>";
    		local tbOpt = {
    		
    		{"Bạn đã nhận phần thưởng này rồi ..."};
    	};
    	Dialog:Say(szMsg, tbOpt);
        return 0; 
        end    
    	if (nCount == 0) then
    		local szMsg = "<color=yellow>Phần thưởng chỉ nhận được 1 lần. Hãy chọn<color><color=pink> Nhận thưởng <color><color=yellow>:<color>";
    		local tbOpt = {
    		{"Nhận thưởng", self.Tui1, self};
    	};
    	Dialog:Say(szMsg, tbOpt);
    	end
    	me.SetTask(self.TASK_GROUP_ID1, self.TaskId_Count, nCount + 1);
    end
    
    function tbGift:Tui1()
    	me.AddStackItem(21,3,1,1,self.tbItemInfo,1); -- Túi 8 ô
        me.AddStackItem(21,5,1,1,self.tbItemInfo,1); -- Túi 12 ô
    
    end
    
    
    -- Add Tinh Hoạt Lực
    function tbGift:TinhHoatLuc()
    	local nCount = me.GetTask(self.TASK_GROUP_ID2, self.TaskId_Count);
        if nCount >= self.Use_Max then
            local szMsg = "<color=yellow>Phần thưởng chỉ nhận được 1 lần :<color>";
    		local tbOpt = {
    		
    		{"Bạn đã nhận phần thưởng này rồi..."};
    	};
    	Dialog:Say(szMsg, tbOpt);
        return 0; 
        end    
    	if (nCount == 0) then
    		local szMsg = "<color=yellow>Phần thưởng chỉ nhận được 1 lần. Hãy chọn<color><color=pink> Nhận thưởng <color><color=yellow>:<color>";
    		local tbOpt = {
    		{"Nhận thưởng", self.TinhHoatLuc1, self};
    	};
    	Dialog:Say(szMsg, tbOpt);
    	end
    	me.SetTask(self.TASK_GROUP_ID2, self.TaskId_Count, nCount + 1);
    end
    
    function tbGift:TinhHoatLuc1()
    	me.ChangeCurMakePoint(10000,0);
    	me.ChangeCurGatherPoint(10000,0);
    end
    
    --------------------------------------------------------------

    Tuy nhiên kiểu này phải khai báo khá nhiều task. Vậy có cách nào để chỉ cần khai báo 1 task không ạ. Mong các bạn chỉ giúp. Mình cảm ơn rất nhiều.
    Khách viếng thăm hãy cùng thuyvu89 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    Thành Viên Tâm Huyết __Jie__'s Avatar
    Ngày tham gia
    Sep 2008
    Bài viết
    1,320
    Thanks
    256
    Thanked 740 Times in 559 Posts

    Ðề: Hỏi về script nhận item 1 lần

    Viết gì dài quá vậy, hoa cả mắt

    Khi khai bao trong tasklist.txt thì bạn để TaskGroup 3001 chạy từ 1---1000 thì bạn sẽ có bao nhiêu đó lần sử dụng.

    Khi add 1 dòng nhận thưởng khác thì cứ tăng TaskId_Count lên là được

    PHP Code:
    tbGift.Use_Max 1;

    tbGift.TASK_GROUP_ID1 3001;
    tbGift.TaskId_Count 1; -- cai nay tang so len,


    function 
    tbGift:Tui()
        
    local nCount me.GetTask(self.TASK_GROUP_ID1,self.TaskId_Count);
        if 
    nCount >= self.Use_Max then
            Dialog
    :Say("Nguoi da nhan roi"tbOpt);
            return 
    0
        
    end
        me
    .AddStackItem(21,3,1,1,self.tbItemInfo,1); -- Túi 8 ô
        me
    .AddStackItem(21,5,1,1,self.tbItemInfo,1); -- Túi 12 ô
        me
    .SetTask(self.TASK_GROUP_ID1,self.TaskId_Count,nCount+1);
    end 
    Nhận viết sự kiện Kiếm Thế PC - Mobile
    Auto PK 6 acc Kiếm Thế PC không cần sanboxie hoặc autoupdate
    Web: [Only registered and activated users can see links. ]

  3. Các thành viên gởi lời cảm ơn đến __Jie__ vì bài viết này !

    thuyvu89 (01-08-17)

 

 

Các Chủ đề tương tự

  1. [KT] Share Script đổi item bẳng nhập số liệu
    Bởi anhnhianh trong diễn đàn Scripts
    Trả lời: 9
    Bài viết cuối: 05-09-15, 11:02 PM
  2. [KT] Xin Script gia nhập môn phái hoặc Script của trưởng môn 12 phái
    Bởi giangbanlac trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 3
    Bài viết cuối: 15-08-13, 06:30 PM
  3. [KT] Script Nhận Thưởng Thăng Cấp, Chỉ Nhận Một Lần Duy Nhất.
    Bởi vuongtusamac trong diễn đàn Scripts
    Trả lời: 9
    Bài viết cuối: 20-12-12, 12:32 PM
  4. Một số script trong thư mục script Vina (unpack)
    Bởi sangpronhat trong diễn đàn Scripts
    Trả lời: 19
    Bài viết cuối: 26-11-11, 08:12 AM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 11:14 PM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.