Kết quả 1 đến 4 của 4
Chủ đề: Xin hàm đếm lượng quái giết được
-
10-06-24, 08:47 PM #1
- Ngày tham gia
- Dec 2008
- Bài viết
- 25
- 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é!
-
10-06-24, 10:58 PM #2
Ðề: Xin hàm đếm lượng quái giết đượ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é!
-
13-06-24, 09:42 PM #3
- Ngày tham gia
- Dec 2008
- Bài viết
- 25
- Thanks
- 0
- Thanked 1 Time in 1 Post
Ðề: Xin hàm đếm lượng quái giết được
Khách viếng thăm hãy cùng ducanh1010 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
19-06-24, 05:49 PM #4
- Ngày tham gia
- Jan 2012
- Bài viết
- 2,415
- Thanks
- 2,567
- Thanked 1,844 Times in 882 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);
endLầ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é!
-
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ự
-
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ầuTrả lời: 0Bài viết cuối: 01-04-15, 08:24 PM -
[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ầuTrả lời: 3Bài viết cuối: 14-11-14, 06:26 PM -
[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ầuTrả lời: 10Bài viết cuối: 10-02-12, 08:10 PM -
Xin TG SQL giết quỹ không thành quỹ.
Bởi yunathem trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 0Bài viết cuối: 19-08-11, 01:29 PM -
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ầuTrả lời: 1Bài viết cuối: 27-02-11, 08:09 AM