35 lines
1.4 KiB
Lua
35 lines
1.4 KiB
Lua
|
local EventAction_PlayerDeadUpdateInfo = {
|
|||
|
DeadPlayerKey = -1;
|
|||
|
KillerPlayerKey = -1;
|
|||
|
WeaponID = -1;
|
|||
|
}
|
|||
|
-- 触发器激活时,将执行Action的Execute
|
|||
|
function EventAction_PlayerDeadUpdateInfo:Execute(...)
|
|||
|
if not UGCGameSystem.IsServer() then return end
|
|||
|
|
|||
|
-- 判断是否在游戏
|
|||
|
if UGCGameSystem.GameState.GameStateType ~= CustomEnum.EGameState.Playing and UGCGameSystem.GameState.GameStateType ~= CustomEnum.EGameState.Waiting then
|
|||
|
return true
|
|||
|
end
|
|||
|
|
|||
|
-- 击杀队友不计算得分
|
|||
|
if UGCPlayerStateSystem.GetTeamID(self.DeadPlayerKey) == UGCPlayerStateSystem.GetTeamID(self.KillerPlayerKey) then
|
|||
|
return true
|
|||
|
end
|
|||
|
|
|||
|
if self.DeadPlayerKey ~= self.KillerPlayerKey then
|
|||
|
-- 增加击杀得分
|
|||
|
PlayerScoreSystem.AddPlayerScoreData(self.KillerPlayerKey, PlacementModeConfig.AddScoreType.KillAddScore, 1)
|
|||
|
-- 发送得分信息
|
|||
|
UGCSendRPCSystem.RPCEvent(self.KillerPlayerKey, EventEnum.AddTip, TipConfig.TipType.AddScore, PlacementModeConfig.AddScoreType.KillAddScore)
|
|||
|
-- 每日任务增加击杀
|
|||
|
UGCGameSystem.GameState:AddTaskCountByType(self.KillerPlayerKey, DailyTasksConfig.ETaskType.KillPlayer, 1)
|
|||
|
end
|
|||
|
|
|||
|
-- 记录死亡数
|
|||
|
PlayerScoreSystem.AddPlayerScoreData(self.DeadPlayerKey, PlacementModeConfig.AddScoreType.Dead, 1)
|
|||
|
|
|||
|
return true
|
|||
|
end
|
|||
|
|
|||
|
return EventAction_PlayerDeadUpdateInfo
|