tranhocthanh
13-11-23, 09:35 PM
function tbMSBase:OnDeath(pKillerNpc)
-- 不是在比赛时间内不能加分
if (2 ~= self.nState) then
return 0;
end
local nCurTime = tonumber(GetLocalDate("%H%M"));
local pPlayer = me;
local nGroupId = self:GetPlayerGroupId(pPlayer);
assert(nGroupId > 0);
self.tbRule:OnLeave(pPlayer);
local tbDeathBattleInfo = Battle:GetPlayerData(pPlayer);
self.tbCamps[nGroupId]:OnPlayerDeath(tbDeathBattleInfo);
local pKillerPlayer = pKillerNpc.GetPlayer();
if (pKillerPlayer) then
local nKillerGroupId = self:GetPlayerGroupId(pKillerPlayer);
assert(nKillerGroupId > 0);
if (nKillerGroupId == nGroupId) then
return;
end
local tbKillerBattleInfo = Battle:GetPlayerData(pKillerPlayer);
-- if (nCurTime >= 2050 and nCurTime <= 2200) then
-- pKillerPlayer.AddJbCoin(200);
-- end
local szMsg = string.format("%s %s <color=yellow>%s<color> đẩy lùi %s %s <color=yellow>%s<color>",
Battle.NAME_CAMP[nKillerGroupId], Battle.NAME_RANK[tbKillerBattleInfo.nRank], tbKillerBattleInfo.pPlayer.szName,
Battle.NAME_CAMP[nGroupId], Battle.NAME_RANK[tbDeathBattleInfo.nRank], tbDeathBattleInfo.pPlayer.szName);
--KDialog.MsgToGlobal(szMsg);
tbKillerBattleInfo.pPlayer.Msg(szMsg);
self.tbCamps[nKillerGroupId]:OnKillPlayer(tbKillerBattleInfo, tbDeathBattleInfo);
self:DecreaseDamageDefence(tbKillerBattleInfo.pPla yer);
self:IncreaseDamageDefence(tbDeathBattleInfo.pPlay er);
tbDeathBattleInfo.nBeenKilledNum = tbDeathBattleInfo.nBeenKilledNum + 1;
Merchant:TryGiveToken_Songjin_PLayer(pKillerPlayer , pPlayer.nId, tbDeathBattleInfo.nRank);
end
end
file mission.lua
em có đoạn code trên. khi chạy thì lúc giết người không nhận được tích lũy cũng như số người giết
Và mọi người có thể hướng dẫn em cách giết Tướng, Soái có đồng cho cả phe Tống hoặc Kim như điểm lũy không ạ
-- 不是在比赛时间内不能加分
if (2 ~= self.nState) then
return 0;
end
local nCurTime = tonumber(GetLocalDate("%H%M"));
local pPlayer = me;
local nGroupId = self:GetPlayerGroupId(pPlayer);
assert(nGroupId > 0);
self.tbRule:OnLeave(pPlayer);
local tbDeathBattleInfo = Battle:GetPlayerData(pPlayer);
self.tbCamps[nGroupId]:OnPlayerDeath(tbDeathBattleInfo);
local pKillerPlayer = pKillerNpc.GetPlayer();
if (pKillerPlayer) then
local nKillerGroupId = self:GetPlayerGroupId(pKillerPlayer);
assert(nKillerGroupId > 0);
if (nKillerGroupId == nGroupId) then
return;
end
local tbKillerBattleInfo = Battle:GetPlayerData(pKillerPlayer);
-- if (nCurTime >= 2050 and nCurTime <= 2200) then
-- pKillerPlayer.AddJbCoin(200);
-- end
local szMsg = string.format("%s %s <color=yellow>%s<color> đẩy lùi %s %s <color=yellow>%s<color>",
Battle.NAME_CAMP[nKillerGroupId], Battle.NAME_RANK[tbKillerBattleInfo.nRank], tbKillerBattleInfo.pPlayer.szName,
Battle.NAME_CAMP[nGroupId], Battle.NAME_RANK[tbDeathBattleInfo.nRank], tbDeathBattleInfo.pPlayer.szName);
--KDialog.MsgToGlobal(szMsg);
tbKillerBattleInfo.pPlayer.Msg(szMsg);
self.tbCamps[nKillerGroupId]:OnKillPlayer(tbKillerBattleInfo, tbDeathBattleInfo);
self:DecreaseDamageDefence(tbKillerBattleInfo.pPla yer);
self:IncreaseDamageDefence(tbDeathBattleInfo.pPlay er);
tbDeathBattleInfo.nBeenKilledNum = tbDeathBattleInfo.nBeenKilledNum + 1;
Merchant:TryGiveToken_Songjin_PLayer(pKillerPlayer , pPlayer.nId, tbDeathBattleInfo.nRank);
end
end
file mission.lua
em có đoạn code trên. khi chạy thì lúc giết người không nhận được tích lũy cũng như số người giết
Và mọi người có thể hướng dẫn em cách giết Tướng, Soái có đồng cho cả phe Tống hoặc Kim như điểm lũy không ạ