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

◆ PlayerKilled()

void PluginBase::PlayerKilled ( PlayerBase player,
Object source )
inlineprotected

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

117 {
118 if (!player || !source)
119 {
120 LogPrint("DEBUG: PlayerKilled() player/source does not exist");
121 return;
122 }
123
124 PlayerBase playerSource = PlayerBase.Cast( EntityAI.Cast( source ).GetHierarchyParent() );
125 if (!playerSource)
126 {
127 playerSource = PlayerBase.Cast( source );
128 }
129
130 string playerPrefix, playerPrefix2;
131 if (playerSource)
132 {
133 playerPrefix2 = GetPlayerPrefix( playerSource , playerSource.GetIdentity() );
134 }
135
136 playerPrefix = GetPlayerPrefix( player , player.GetIdentity() );
137 if (player == source) // deaths not caused by another object (starvation, dehydration)
138 {
139 m_StatWater = player.GetStatWater();
140 m_StatEnergy = player.GetStatEnergy();
141 m_BleedMgr = player.GetBleedingManagerServer();
142
143 string reason = " died.";
144 if (player.GetDrowningWaterLevelCheck())
145 reason = " drowned.";
146
147 string additionalStats;
149 additionalStats = " Stats> Water: " + m_StatWater.Get().ToString() + " Energy: " + m_StatEnergy.Get().ToString();
150
151 if (m_BleedMgr)
152 additionalStats = additionalStats + " Bleed sources: " + m_BleedMgr.GetBleedingSourcesCount().ToString();
153
154 LogPrint(playerPrefix + reason + additionalStats);
155
156 }
157 else if (source.IsWeapon() || source.IsMeleeWeapon()) // player
158 {
159 if (ExplosivesBase.Cast(source))
160 {
161 LogPrint( playerPrefix + " killed by " + source.GetDisplayName() );
162 }
163 else if (source.IsMeleeWeapon())
164 {
165 LogPrint( playerPrefix + " killed by " + playerPrefix2 + " with " + source.GetDisplayName() );
166 }
167 else
168 {
169 m_Distance = vector.Distance( player.GetPosition(), playerSource.GetPosition() );
170 LogPrint( playerPrefix + " killed by " + playerPrefix2 + " with " + source.GetDisplayName() + " from " + m_Distance + " meters " );
171 }
172 }
173 else
174 {
175 if (playerSource)
176 {
177 //fists
178 LogPrint( playerPrefix + " killed by " + playerPrefix2 + " with (MeleeFist)" );
179 }
180 else
181 {
182 //rest, Animals, Zombies
183 LogPrint( playerPrefix + " killed by " + source.GetType());
184 }
185
186 }
187 }
class LogManager EntityAI
void ExplosivesBase()
Определения ExplosivesBase.c:42
BleedingSourcesManagerServer m_BleedMgr
Определения PluginAdminLog.c:19
void LogPrint(string message)
Определения PluginAdminLog.c:62
PlayerStat< float > m_StatWater
Определения PluginAdminLog.c:17
string GetPlayerPrefix(PlayerBase player, PlayerIdentity identity)
Определения PluginAdminLog.c:67
PlayerStat< float > m_StatEnergy
Определения PluginAdminLog.c:18
float m_Distance
Определения PluginAdminLog.c:11

Перекрестные ссылки vector::Distance(), ExplosivesBase(), GetPlayerPrefix(), LogPrint(), m_BleedMgr, m_Distance, m_StatEnergy и m_StatWater.