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

◆ SpawnItems()

void RecipeBase::SpawnItems ( ItemBase ingredients[],
PlayerBase player,
array< ItemBase > spawned_objects )
inlineprotected

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

192 {
193 spawned_objects.Clear();//just to make sure
194 EntityAI object = NULL;
195
196 for (int i = 0; i < m_NumberOfResults; i++)
197 {
198 string item_to_spawn = m_ItemsToCreate[i];
199
200 if (m_ResultInheritsColor[i] != -1)
201 {
202 ItemBase item = ingredients[m_ResultInheritsColor[i]];
203 string color = item.ConfigGetString("color");
204 string new_class_name = m_ItemsToCreate[i] + color;
205 item_to_spawn = new_class_name;
206 }
207
208 if (m_ResultToInventory[i] == -1)
209 {
210 Debug.Log(" = "+m_ResultToInventory[i].ToString(),"recipes");
211 /*
212 InventoryLocation inv_loc = new InventoryLocation;
213 if (player.GetInventory().FindFirstFreeLocationForNewEntity(item_to_spawn, FindInventoryLocationType.ANY, inv_loc))
214 {
215 object = SpawnItemOnLocation(item_to_spawn, inv_loc, false);
216 }
217 */
218 object = player.GetInventory().CreateInInventory(item_to_spawn);
219 }
220 else if (m_ResultToInventory[i] >= 0)
221 {
222 /*
223 object = player.SpawnEntityOnGroundOnCursorDir(item_to_spawn, 0.5);
224
225 ItemBase item_swap_with = ingredients[m_ResultToInventory[i]];
226 player.SwapEntities(true, item_swap_with, EntityAI.Cast(object));
227 */
228 }
229
230 //spawning in inventory failed, spawning on the ground instead.....
231 if (!object)
232 {
233 object = player.SpawnEntityOnGroundRaycastDispersed(item_to_spawn,m_ResultSpawnDistance[i]);
234
235 if (!object)
236 Error("failed to spawn entity "+item_to_spawn+" , make sure the classname exists and item can be spawned");
237 }
238 spawned_objects.Insert(ItemBase.Cast(object));
239 object = null;
240 }
241 }
class LogManager EntityAI
proto string ToString()
class GP5GasMask extends MaskBase ItemBase
void Debug()
Определения UniversalTemperatureSource.c:349
string m_ItemsToCreate[MAXIMUM_RESULTS]
Определения RecipeBase.c:7
int m_ResultToInventory[MAXIMUM_RESULTS]
Определения RecipeBase.c:43
float m_ResultSpawnDistance[MAXIMUM_RESULTS]
Определения RecipeBase.c:42
int m_ResultInheritsColor[MAXIMUM_RESULTS]
Определения RecipeBase.c:45
int m_NumberOfResults
Определения RecipeBase.c:20
void Error(string err)
Messagebox with error message.
Определения EnDebug.c:90

Перекрестные ссылки Error(), Debug::Log(), m_ItemsToCreate, m_NumberOfResults, m_ResultInheritsColor, m_ResultSpawnDistance, m_ResultToInventory и ToString().

Используется в PerformRecipe().