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

◆ CreateAttachmentPosition()

map< int, vector > AttachmentsOutOfReach::CreateAttachmentPosition ( EntityAI entity)
inlinestaticprotected

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

74 {
75 map<int, vector> ret_val = new map<int, vector>();
76
77 string type_name = entity.GetType();
78 TStringArray cfg_attachments = new TStringArray;
79
80 string cfg_path;
81
82 if ( g_Game.ConfigIsExisting(CFG_VEHICLESPATH+" "+type_name) )
83 {
84 cfg_path = CFG_VEHICLESPATH+" "+type_name+" attachments";
85 }
86 else if ( g_Game.ConfigIsExisting(CFG_WEAPONSPATH+" "+type_name) )
87 {
88 cfg_path = CFG_WEAPONSPATH+" "+type_name+" attachments";
89 }
90 else if ( g_Game.ConfigIsExisting(CFG_MAGAZINESPATH+" "+type_name) )
91 {
92 cfg_path = CFG_MAGAZINESPATH+" "+type_name+" attachments";
93 }
94
95 g_Game.ConfigGetTextArray(cfg_path, cfg_attachments);
96
97 int child_count = g_Game.ConfigGetChildrenCount("CfgNonAIVehicles");
98
99 for (int x = 0; x < child_count; ++x)
100 {
101 string child_name;
102 g_Game.ConfigGetChildName("CfgNonAIVehicles",x , child_name);
103
104 string inventory_slot_name;
105 g_Game.ConfigGetText("CfgNonAIVehicles "+ child_name +" inventorySlot", inventory_slot_name);
106
107 if (cfg_attachments.Find(inventory_slot_name) > 0)
108 {
109 string model_path;
110 g_Game.ConfigGetText("CfgNonAIVehicles "+ child_name +" model", model_path);
111
112 if (model_path.Length() > 5)
113 {
114 LOD lod = entity.GetLODByName(LOD.NAME_VIEW);
115
116 if (lod)
117 {
118 model_path = model_path.Substring(0, model_path.Length() - 4);
119 model_path.ToLower();
120
121 array<Selection> selections = new array<Selection>();
122 lod.GetSelections(selections);
123
124 for (int i = 0; i < selections.Count(); ++i)
125 {
126 string selection = selections[i].GetName();
127 selection.ToLower();
128
129 if (selection.Contains(model_path))
130 {
131 ret_val.Set(InventorySlots.GetSlotIdFromString(inventory_slot_name), selections[i].GetVertexPosition(lod, 0));
132 }
133 }
134 }
135 }
136 }
137 }
138
139 return ret_val;
140 }
DayZGame g_Game
Определения DayZGame.c:4074
Icon x
proto native bool GetSelections(notnull out array< Selection > selections)
class array< Class T > TStringArray
const string CFG_VEHICLESPATH
Определения 3_Game/DayZ/constants.c:228
const string CFG_WEAPONSPATH
Определения 3_Game/DayZ/constants.c:229
const string CFG_MAGAZINESPATH
Определения 3_Game/DayZ/constants.c:230
proto native int Length()
Returns length of string.
bool Contains(string sample)
Returns true if sample is substring of string.
Определения EnString.c:286
proto string Substring(int start, int len)
Substring of 'str' from 'start' position 'len' number of characters.
proto int ToLower()
Changes string to lowercase. Returns length.

Перекрестные ссылки CFG_MAGAZINESPATH, CFG_VEHICLESPATH, CFG_WEAPONSPATH, string::Contains(), g_Game, LOD::GetSelections(), InventorySlots::GetSlotIdFromString(), string::Length(), LOD::NAME_VIEW, string::Substring(), string::ToLower(), TStringArray и x.

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