DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
AnalyticsManagerClient.c
См. документацию.
2{
3 static const int GEAR_COUNT = 3;
4 static string m_FullGear[GEAR_COUNT] = {"Shoulder","Melee","Back"};
5
11
17
18 //===================================
19 // OnActionEat
20 //===================================
22 {
24 }
25
26 //===================================
27 // OnActionDrink
28 //===================================
33
34 //===================================
35 // OnActionCookedSteak - not implemented
36 //===================================
41
42 //===================================
43 // OnActionFinishedShaveSelf
44 //===================================
49
50 //===================================
51 // OnActionFinishedGutDeer
52 //===================================
57
58 //===================================
59 // OnActionRestrain
60 //===================================
65
66 //===================================
67 // OnActionBandageTarget
68 //===================================
73
74 //===================================
75 // OnItemAttachedAtPlayer
76 //===================================
77 void OnItemAttachedAtPlayer(EntityAI item, string slot_name)
78 {
79 bool weapon_present;
80 bool melee_present;
81 bool backpack_present;
82 HumanInventory inventory;
83
84 if ( GetDayZGame().GetGameState() != DayZGameState.IN_GAME )
85 {
86 return;
87 }
88
89 Man player = GetGame().GetPlayer();
90 if (!player)
91 {
92 return;
93 }
94
95 inventory = player.GetHumanInventory();
96
97 if ( player && inventory )
98 {
99 for ( int i = 0; i < GEAR_COUNT; ++i )
100 {
102 EntityAI att_item = inventory.FindAttachment( slot_id ); // Boris V [27.2.2019]: Consider using player.GetItemOnSlot(m_FullGear[i]) instead.
103
104 if ( !att_item )
105 {
106 //Print("index: "+ i +" slot_id: "+ slot_id +" = "+ att_item + " EMPTY");
107 continue;
108 }
109
110 //checks for firearm
111 if (att_item.IsWeapon())
112 weapon_present = true;
113 //checks for melee weapon
114 else if (!att_item.IsWeapon() && att_item.GetInventory().HasInventorySlot(InventorySlots.GetSlotIdFromString("Melee")))
115 melee_present = true;
116 //checks for backpack
117 else if (!att_item.IsWeapon() && att_item.GetInventory().HasInventorySlot(InventorySlots.GetSlotIdFromString("Back")))
118 backpack_present = true;
119 //Print("index: "+ i +" slot_id: "+ slot_id +" = "+ att_item + " ATTACHED");
120 }
121
122 //separate check for hand slot; TODO remove duplicates
123 att_item = inventory.GetEntityInHands();
124 if ( att_item )
125 {
126 //checks for firearm
127 if (att_item.IsWeapon())
128 weapon_present = true;
129 //checks for melee weapon
130 else if (!att_item.IsWeapon() && att_item.GetInventory().HasInventorySlot(InventorySlots.GetSlotIdFromString("Melee")) )
131 melee_present = true;
132 //checks for backpack
133 else if (!att_item.IsWeapon() && att_item.GetInventory().HasInventorySlot(InventorySlots.GetSlotIdFromString("Back")))
134 backpack_present = true;
135 }
136
137 if (weapon_present && melee_present && backpack_present)
138 {
139 //Print("---EAchievementActionId.ACTION_EQUIP_GEAR");
141 }
142 }
143 }
144
145 //===================================
146 // Event_OnPlayerIgnitedFireplace
147 //===================================
149 {
150 switch ( ignite_type )
151 {
152 case EFireIgniteType.Matchbox:
153 {
155 break;
156 }
157 case EFireIgniteType.Roadflare:
158 {
160 break;
161 }
162 case EFireIgniteType.HandDrill:
163 {
165 break;
166 }
167 }
168 }
169
170 //===================================
171 // Event_OnEntityKilled
172 //===================================
173 void Event_OnEntityKilled(EntityAI victim, EntityAI killer, EntityAI source, bool is_headshot)
174 {
175 if ( killer != null && killer.IsPlayer() && killer.GetID() == GetGame().GetPlayer().GetID() )
176 {
177 Achievements.OnPlayerKilled(victim, killer, source, is_headshot);
178 }
179 }
180}
DayZGame GetDayZGame()
Определения DayZGame.c:3870
EFireIgniteType
Определения EFireIgniteType.c:2
int GetID()
Get the ID registered in SEffectManager.
Определения Effect.c:536
PlayerBase GetPlayer()
Определения ModifierBase.c:51
static void OnActionIgniteRoadflare()
Определения AchievementsXbox.c:102
static void OnCookedSteak()
Определения AchievementsXbox.c:86
static void OnActionDrink()
Определения AchievementsXbox.c:70
static void OnActionIgniteMatchbox()
Определения AchievementsXbox.c:94
static void OnActionIgniteDrill()
Определения AchievementsXbox.c:110
static void OnActionHandcuff()
Определения AchievementsXbox.c:142
static void OnActionMedsSurvivor()
Определения AchievementsXbox.c:134
static void OnActionEat()
Определения AchievementsXbox.c:62
static void OnEquippedFullGear()
Определения AchievementsXbox.c:78
static void OnActionGutDeer()
Определения AchievementsXbox.c:126
static void OnActionShave()
Определения AchievementsXbox.c:118
static void OnPlayerKilled(EntityAI victim, EntityAI killer, EntityAI source, bool is_headshot)
Определения AchievementsXbox.c:150
Определения AchievementsXbox.c:52
static string m_FullGear[GEAR_COUNT]
Определения AnalyticsManagerClient.c:4
void Event_OnEntityKilled(EntityAI victim, EntityAI killer, EntityAI source, bool is_headshot)
Определения AnalyticsManagerClient.c:173
void UnregisterEvents()
Определения AnalyticsManagerClient.c:12
static const int GEAR_COUNT
Определения AnalyticsManagerClient.c:3
void OnActionBandageTarget()
Определения AnalyticsManagerClient.c:69
void OnActionFinishedShaveSelf()
Определения AnalyticsManagerClient.c:45
void OnActionRestrain()
Определения AnalyticsManagerClient.c:61
void OnItemAttachedAtPlayer(EntityAI item, string slot_name)
Определения AnalyticsManagerClient.c:77
void OnActionDrink()
Определения AnalyticsManagerClient.c:29
void OnActionFinishedGutDeer()
Определения AnalyticsManagerClient.c:53
void RegisterEvents()
Определения AnalyticsManagerClient.c:6
void Event_OnPlayerIgnitedFireplace(EFireIgniteType ignite_type)
Определения AnalyticsManagerClient.c:148
void OnActionCookedSteak()
Определения AnalyticsManagerClient.c:37
proto native DayZPlayer GetPlayer()
static ref ScriptInvoker SyncEvent_OnPlayerIgnitedFireplace
Определения ClientData.c:5
static ref ScriptInvoker SyncEvent_OnEntityKilled
Определения ClientData.c:4
Определения ClientData.c:2
Определения Building.c:6
proto native EntityAI FindAttachment(int slot)
Returns attached entity in slot (you can use InventorySlots.GetSlotIdFromString(name) to get slot id)
proto native EntityAI GetEntityInHands()
inventory for plain man/human
Определения HumanInventory.c:10
static proto native int GetSlotIdFromString(string slot_name)
converts string to slot_id
provides access to slot configuration
Определения InventorySlots.c:6
proto bool Remove(func fn, int flags=EScriptInvokerRemoveFlags.ALL)
remove specific call from list
proto bool Insert(func fn, int flags=EScriptInvokerInsertFlags.IMMEDIATE)
insert method to list
proto native CGame GetGame()