57 {
60
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88 string config_name = "CfgVehicles";
89 int config_count =
g_Game.ConfigGetChildrenCount( config_name );
90
91 int i, j, k, l, m;
92
93
94 for ( i = 0; i < config_count; i++ )
95 {
96 string survivor_name = "";
97 g_Game.ConfigGetChildName( config_name, i, survivor_name );
98
99 if ( survivor_name != "" && survivor_name != "access" )
100 {
101 if (
g_Game.IsKindOf(survivor_name,
"SurvivorMale_Base") ||
g_Game.IsKindOf(survivor_name,
"SurvivorFemale_Base") )
102 {
103 string survivor_path = config_name + " " + survivor_name;
104 int survivor_lifespan_count =
g_Game.ConfigGetChildrenCount( survivor_path );
105
106
107 for ( j = 0; j < survivor_lifespan_count; j++ )
108 {
109 string survivor_lifespan_name = "";
110 g_Game.ConfigGetChildName( survivor_path, j, survivor_lifespan_name );
111
112 string survivor_lifespan_path = survivor_path + " " + survivor_lifespan_name;
113
114 if ( survivor_lifespan_name == "Lifespan" )
115 {
116 int survivor_lifespan_beard_count =
g_Game.ConfigGetChildrenCount( survivor_lifespan_path );
117
118 for ( k = 0; k < survivor_lifespan_beard_count; k++ )
119 {
120 string survivor_lifespan_beard_name = "";
121 g_Game.ConfigGetChildName( survivor_lifespan_path, k, survivor_lifespan_beard_name );
122
123 string survivor_lifespan_beard_path = survivor_lifespan_path + " " + survivor_lifespan_beard_name;
124
125 if ( survivor_lifespan_beard_name == "Beard" )
126 {
128 int cfg_class_member_member_variable_count =
g_Game.ConfigGetChildrenCount( survivor_lifespan_beard_path );
129
130 for ( l = 0; l < cfg_class_member_member_variable_count; l++ )
131 {
132 string survivor_lifespan_beard_material_name = "";
133 g_Game.ConfigGetChildName( survivor_lifespan_beard_path, l, survivor_lifespan_beard_material_name );
134 string survivor_lifespan_beard_material_path = survivor_lifespan_beard_path + " " + survivor_lifespan_beard_material_name;
135
136 if ( survivor_lifespan_beard_material_name == "mat" )
137 {
138 g_Game.ConfigGetTextArray( survivor_lifespan_beard_material_path, materials );
139
141
142 int level_count = materials.Count() / 2;
143 for ( m = 0; m < level_count; m++ )
144 {
145 int tex = m*2;
146 int mat = ((m*2)+1);
147 if ( mat < materials.Count() )
148 {
150 lifespan_levels.Insert(
new LifespanLevel(m, threshold, materials.Get(tex), materials.Get(mat)) );
151
152 }
153 }
154
155 if ( lifespan_levels.Count() > 0 )
156 {
158 }
159 }
160 }
161 }
162 }
163 }
164 else if ( survivor_lifespan_name == "BloodyHands" )
165 {
166 string bloody_material, normal_material;
167 string path_normal = survivor_lifespan_path + " mat_normal";
168 string path_bloody = survivor_lifespan_path + " mat_blood";
169 g_Game.ConfigGetText(path_normal, normal_material);
170 g_Game.ConfigGetText(path_bloody, bloody_material);
172 }
173 }
174 }
175 }
176 }
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193 }
static const int LIFESPAN_MAX
enum eBloodyHandsTypes LIFESPAN_MIN
ref map< string, ref BloodyHands > m_BloodyHands
ref map< string, ref array< ref LifespanLevel > > m_LifespanLevels
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
array< string > TStringArray