DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ OnPlayerKilled()

static void Achievements::OnPlayerKilled ( EntityAI victim,
EntityAI killer,
EntityAI source,
bool is_headshot )
inlinestaticprivate

См. определение в файле AchievementsXbox.c строка 150

151 {
152 EAchievementTargetId target_id = EAchievementTargetId.TARGET_SURVIVOR;
153 EAchievementRankId target_rank_id = EAchievementRankId.RANK_SURVIVOR;
154 EAchievementRangeId range_id = EAchievementRangeId.RANGE_OTHER;
155 EAchievementHitId hit_id = EAchievementHitId.HIT_OTHER;
156 float distance = 0;
157
158 if ( victim.IsZombie() )
159 {
160 target_id = EAchievementTargetId.TARGET_INFECTED;
161 target_rank_id = EAchievementRankId.RANK_INFECTED;
162
163 if ( victim.IsZombieMilitary() )
164 {
165 target_rank_id = EAchievementRankId.RANK_INFECTED_SOLDIER;
166 }
167 }
168
169 if ( source )
170 {
171 if ( source.IsMeleeWeapon() )
172 {
173 range_id = EAchievementRangeId.RANGE_MELEE;
174 }
175 else if ( source.IsWeapon() && killer )
176 {
177 range_id = EAchievementRangeId.RANGE_RANGED;
178 distance = vector.Distance( killer.GetPosition(), victim.GetPosition() );
179
180 if ( is_headshot )
181 {
182 hit_id = EAchievementHitId.HIT_HEADSHOT;
183 }
184 }
185 }
186
187 CheckError( SendEventKill(target_id, target_rank_id, range_id, hit_id, distance) );
188 }
EAchievementRangeId
Определения AchievementsXbox.c:24
EAchievementHitId
Определения AchievementsXbox.c:31
EAchievementTargetId
Определения AchievementsXbox.c:11
EAchievementRankId
Определения AchievementsXbox.c:17
static proto EAchievementError SendEventKill(EAchievementTargetId target_id, EAchievementRankId rank_id, EAchievementRangeId range_id, EAchievementHitId hit_id, float distance)
static void CheckError(EAchievementError error)
Определения AchievementsXbox.c:193
override bool IsMeleeWeapon()
Определения InventoryItem.c:81

Перекрестные ссылки CheckError(), vector::Distance(), EntityAI::IsMeleeWeapon() и SendEventKill().

Используется в AnalyticsManagerClient::Event_OnEntityKilled().