[KT] Xin hàm đếm lượng quái giết được
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 4 của 4
  1. #1
    Thành Viên
    Ngày tham gia
    Dec 2008
    Bài viết
    23
    Thanks
    0
    Thanked 1 Time in 1 Post

    Xin hàm đếm lượng quái giết được

    Các cao nhân cho e xin hàm đếm số quái giết đc ở map train để tặng thưởngVí dụ : giết 100 quái dc thưởng 1000 đồng
    Khách viếng thăm hãy cùng ducanh1010 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    Thành Viên anubisng's Avatar
    Ngày tham gia
    Sep 2021
    Đang ở
    Hà Nội
    Bài viết
    85
    Thanks
    3
    Thanked 105 Times in 27 Posts

    Ðề: Xin hàm đếm lượng quái giết được

    Trích dẫn Gửi bởi ducanh1010 [Only registered and activated users can see links. ]
    Các cao nhân cho e xin hàm đếm số quái giết đc ở map train để tặng thưởngVí dụ : giết 100 quái dc thưởng 1000 đồng
    Dùng hàm settask của nhân vật mà đếm, chèn vào player.lua với điều kiện giết quái tại map hay check theo id npc đều dc cả
    Khách viếng thăm hãy cùng anubisng xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  3. #3
    Thành Viên
    Ngày tham gia
    Dec 2008
    Bài viết
    23
    Thanks
    0
    Thanked 1 Time in 1 Post

    Ðề: Xin hàm đếm lượng quái giết được

    Trích dẫn Gửi bởi anubisng [Only registered and activated users can see links. ]
    Dùng hàm settask của nhân vật mà đếm, chèn vào player.lua với điều kiện giết quái tại map hay check theo id npc đều dc cả
    cho e xin ví dụ minh họa 1 map bất kỳ dc k ạ . ví dụ map 115
    Khách viếng thăm hãy cùng ducanh1010 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #4
    Thành Viên Tâm Huyết satthupro95's Avatar
    Ngày tham gia
    Jan 2012
    Bài viết
    2,405
    Thanks
    2,566
    Thanked 1,834 Times in 874 Posts

    Ðề: Xin hàm đếm lượng quái giết được

    Vào gameserver\script\player\player.lua tạo 1 cái function dạng:

    -- TSK khai báo vào gameserver\setting\player\task_def.txt cột TASK_GROUP TASK_ID_FIRST TASK_ID_LAST dạng 2000 1 1
    Player.AWARDKILLEDMONSTER_TSKGR = 2000;
    Player.AWARDKILLEDMONSTER_TSKID_COUNT = 1;

    Player.AWARDKILLEDMONSTER_TBMAPCANSETCOUNT = {115, 116, 117}; -- Khai báo ID Map đánh quái được tính thưởng
    Player.AWARDKILLEDMONSTER_LISTAWARDBYCOUNTMONSTERK ILLED = {
    -- Khai báo phần thưởng theo từng mốc dạng [Số quái diệt] = Số đồng nhận
    [100] = 1000,
    [500] = 5000,
    [1000] = 10000,
    };

    function Player:AwardKillNPC_SetCount(pPlayer)
    if pPlayer then
    local nMapIdPlayer = pPlayer.nMapId;
    local bCanSetCountKilledMonster = 0;
    for i = 1, #Player.AWARDKILLEDMONSTER_TBMAPCANSETCOUNT then
    if nMapIdPlayer == Player.AWARDKILLEDMONSTER_TBMAPCANSETCOUNT[i] then
    bCanSetCountKilledMonster = 1;
    break;
    end
    end

    if bCanSetCountKilledMonster == 1 then
    local nCountMonsterKilled = pPlayer.GetTask(Player.AWARDKILLEDMONSTER_TSKGR, Player.AWARDKILLEDMONSTER_TSKID_COUNT);
    pPlayer.SetTask(Player.AWARDKILLEDMONSTER_TSKGR, Player.AWARDKILLEDMONSTER_TSKID_COUNT, nCountMonsterKilled + 1);
    end
    end
    end

    Tìm đến Player:_OnKillNpc() đưa hàm vừa viết vào
    function Player:_OnKillNpc()
    Player:AwardKillNPC_SetCount(me);
    end

    Về phần nhận thưởng, có thể gắn vào con NPC Lễ Quan chẳng hạn:
    function tbLiGuan:ReceiveAwardKillMonsterByCount()
    local nCountMonsterKilled = me.GetTask(Player.AWARDKILLEDMONSTER_TSKGR, Player.AWARDKILLEDMONSTER_TSKID_COUNT);
    if nCountMonsterKilled < 1 then
    Dialog:Say("Số quái tiêu diệt hiện tại đang là <color=red>"..nCountMonsterKilled.."<color>, không đủ điều kiện nhận thưởng");
    return;
    end

    local szMsg = "Số quái tiêu diệt hiện tại đang là <color=yellow><color>, hạ gục càng nhiều phần thưởng càng lớn. Chọn phần thưởng muốn nhận:";
    local tbOpt = {
    {"Kết thúc đối thoại"};
    };

    local nMilesStoneByCountMonsterKilled = 0;
    for nCountMonsterKilledCheck, tbRowData in pairs(Player.AWARDKILLEDMONSTER_LISTAWARDBYCOUNTMO NSTERKILLED) do
    if nCountMonsterKilled >= nCountMonsterKilledCheck then
    nMilesStoneByCountMonsterKilled = nCountMonsterKilledCheck;
    end
    end

    if nMilesStoneByCountMonsterKilled > 0 then
    local nCountAwardByCountMonsterKill = Player.AWARDKILLEDMONSTER_LISTAWARDBYCOUNTMONSTERK ILLED[nMilesStoneByCountMonsterKilled];
    table.insert(tbOpt, 1, {"Thưởng hạ gục <color=yellow>"..nCountMonsterKilledCheck.." Quái<color>", self.ReceiveAwardKillMonsterByCount_Confirm, self, nCountAwardByCountMonsterKill});
    end

    Dialog:Say(szMsg, tbOpt);
    end

    function tbLiGuan:ReceiveAwardKillMonsterByCount_Confirm(nC ountAwardByCountMonsterKill)
    if not nCountAwardByCountMonsterKill or nCountAwardByCountMonsterKill < 1 then
    return;
    end

    local nCountMonsterKilled = me.GetTask(Player.AWARDKILLEDMONSTER_TSKGR, Player.AWARDKILLEDMONSTER_TSKID_COUNT);
    if nCountMonsterKilled < 1 then
    Dialog:Say("Số quái tiêu diệt hiện tại đang là <color=red>"..nCountMonsterKilled.."<color>, không đủ điều kiện nhận thưởng");
    return;
    end

    me.AddJbCoin(nCountAwardByCountMonsterKill);
    me.Msg("<color=yellow>Nhận thành công phần thưởng hạ gục <color=green>"..nCountMonsterKilled.."<color> là <color=green>"..nCountAwardByCountMonsterKill.." Đồng<color><color>");

    -- Nhận xong thưởng set lại số quái đã hạ gục về 0
    me.SetTask(Player.AWARDKILLEDMONSTER_TSKGR, Player.AWARDKILLEDMONSTER_TSKID_COUNT, 0);
    end
    Lần sửa cuối bởi satthupro95, ngày 19-06-24 lúc 05:56 PM.
    Khách viếng thăm hãy cùng satthupro95 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

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

    nnquyen309 (28-07-24)

 

 

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

  1. xin source sáng lập tam quốc (tam quốc trang hùng)
    Bởi langtukids trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 0
    Bài viết cuối: 01-04-15, 08:24 PM
  2. [MU] Xin hỏi file chỉnh tỉ lệ hộp quà vàng + hộp quà bạc
    Bởi The Gamer trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 3
    Bài viết cuối: 14-11-14, 06:26 PM
  3. [MU] Xin danh sách số điện thoại ... quảng cáo qua sms
    Bởi Hào Hoa Công Tử trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 10
    Bài viết cuối: 10-02-12, 08:10 PM
  4. Xin TG SQL giết quỹ không thành quỹ.
    Bởi yunathem trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 0
    Bài viết cuối: 19-08-11, 01:29 PM
  5. Xin bác hữu duyên CODE trang quản lí tài quản
    Bởi Long0 trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 1
    Bài viết cuối: 27-02-11, 08:09 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à 06:26 AM.
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ệ.