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

◆ ProcessTeleportText()

void ScriptConsoleGeneralTab::ProcessTeleportText ( PlayerBase player)
inlineprotected

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

267 {
268 bool doTeleport, doSetDir;
269 vector pos, dir;
270 string text = m_TeleportXYZ.GetText();
271 string textDir = m_TeleportHeading.GetText();
272
273 array<float> numbersPos = TextToNumbersArray(text);
274 if (numbersPos.Count() != 0)
275 {
276 if (numbersPos.Count() == 1)
277 {
278 pos = vector.Zero;
279 }
280 else if (numbersPos.Count() == 2)
281 {
282 pos = Vector(numbersPos[0], g_Game.SurfaceY(numbersPos[0], numbersPos[1]), numbersPos[1]);
283 }
284 else if (numbersPos.Count() <= 5)
285 {
286 pos = Vector(numbersPos[0], numbersPos[1], numbersPos[2]);
287 }
288 else if (numbersPos.Count() > 5)
289 {
290 pos = Vector(numbersPos[0], numbersPos[1], numbersPos[2]);
291 dir = Vector(numbersPos[3], numbersPos[4], numbersPos[5]);
292
293 Teleport(player, pos);
294 m_LastEditPos = pos;
295 m_TeleportXYZ.SetText(m_LastEditPos.ToString());
296
297 m_Developer.SetDirection(player, dir);
298 m_LastEditDir = dir;
299 m_TeleportHeading.SetText(m_LastEditDir.ToString());
300
301 return;
302 }
303
304 doTeleport = true;
305 }
306 else
307 m_LastEditPos = vector.Zero;
308
309 array<float> numbersDir = TextToNumbersArray(textDir);
310 if (numbersDir.Count() != 0)
311 {
312 if (numbersDir.Count() == 1)
313 {
314 dir = vector.Zero;
315 }
316 else if (numbersDir.Count() == 2)
317 {
318 dir = Vector(numbersDir[0], 0, numbersDir[1]);
319 }
320 else if (numbersDir.Count() <= 5)
321 {
322 dir = Vector(numbersDir[0], numbersDir[1], numbersDir[2]);
323 }
324 else if (numbersDir.Count() > 5)
325 {
326 pos = Vector(numbersDir[0], numbersDir[1], numbersDir[2]);
327 dir = Vector(numbersDir[3], numbersDir[4], numbersDir[5]);
328
329 Teleport(player, pos);
330 m_LastEditPos = pos;
331 m_TeleportXYZ.SetText(m_LastEditPos.ToString());
332
333 m_Developer.SetDirection(player, dir);
334 m_LastEditDir = dir;
335 m_TeleportHeading.SetText(m_LastEditDir.ToString());
336
337 return;
338 }
339
340 doSetDir = true;
341 }
342 else
343 m_LastEditDir = vector.Zero;
344
345 if (doTeleport)
346 {
347 Teleport(player, pos);
348 m_LastEditPos = pos;
349 }
350
351 if (doSetDir)
352 {
353 m_Developer.SetDirection(player, dir);
354 m_LastEditDir = dir;
355 }
356 }
DayZGame g_Game
Определения DayZGame.c:4074
EditBoxWidget m_TeleportXYZ
Определения ScriptConsoleGeneralTab.c:31
EditBoxWidget m_TeleportHeading
Определения ScriptConsoleGeneralTab.c:30
PluginDeveloper m_Developer
Определения ScriptConsoleGeneralTab.c:21
void Teleport(PlayerBase player, vector position)
Определения ScriptConsoleGeneralTab.c:259
array< float > TextToNumbersArray(string text)
Определения ScriptConsoleGeneralTab.c:358
static const vector Zero
Определения EnConvert.c:123
proto native vector Vector(float x, float y, float z)
Vector constructor from components.

Перекрестные ссылки g_Game, m_Developer, m_LastEditDir, m_LastEditPos, m_TeleportHeading, m_TeleportXYZ, Teleport(), TextToNumbersArray(), Vector() и vector::Zero.

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