254 {
255 bool doTeleport, doSetDir;
256 vector pos, dir;
259
261 if (numbersPos.Count() != 0)
262 {
263 if (numbersPos.Count() == 1)
264 {
266 }
267 else if (numbersPos.Count() == 2)
268 {
269 pos =
Vector(numbersPos[0],
g_Game.SurfaceY(numbersPos[0], numbersPos[1]), numbersPos[1]);
270 }
271 else if (numbersPos.Count() <= 5)
272 {
273 pos =
Vector(numbersPos[0], numbersPos[1], numbersPos[2]);
274 }
275 else if (numbersPos.Count() > 5)
276 {
277 pos =
Vector(numbersPos[0], numbersPos[1], numbersPos[2]);
278 dir =
Vector(numbersPos[3], numbersPos[4], numbersPos[5]);
279
283
287
288 return;
289 }
290
291 doTeleport = true;
292 }
293 else
295
297 if (numbersDir.Count() != 0)
298 {
299 if (numbersDir.Count() == 1)
300 {
302 }
303 else if (numbersDir.Count() == 2)
304 {
305 dir =
Vector(numbersDir[0], 0, numbersDir[1]);
306 }
307 else if (numbersDir.Count() <= 5)
308 {
309 dir =
Vector(numbersDir[0], numbersDir[1], numbersDir[2]);
310 }
311 else if (numbersDir.Count() > 5)
312 {
313 pos =
Vector(numbersDir[0], numbersDir[1], numbersDir[2]);
314 dir =
Vector(numbersDir[3], numbersDir[4], numbersDir[5]);
315
319
323
324 return;
325 }
326
327 doSetDir = true;
328 }
329 else
331
332 if (doTeleport)
333 {
336 }
337
338 if (doSetDir)
339 {
342 }
343 }
EditBoxWidget m_TeleportXYZ
EditBoxWidget m_TeleportHeading
PluginDeveloper m_Developer
void Teleport(PlayerBase player, vector position)
array< float > TextToNumbersArray(string text)
proto native vector Vector(float x, float y, float z)
Vector constructor from components.