Перейти к содержимому


Фотография

Телепорт в ArmA


Лучший Ответ TankiSD , 19 June 2015 - 19:58

this addAction ['Teleport Shapur1', 'teleports.sqf'];

в teleports.sqf 

_tele = _this select 0;
_caller = _this select 1;
 
_caller setPos (getPos (Shapur1));

====================

this addAction ['Teleport Shapur2', 'teleports1.sqf'];

в teleports1.sqf 

_tele = _this select 0;
_caller = _this select 1;
 
_caller setPos (getPos (Shapur2));

и т.д.

Перейти к сообщению


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 OFFLINE   Opolchenec

Opolchenec

    Рядовой

  • Пользователи
  • 10 сообщений

Отправлено 19 June 2015 - 17:23

Помогите разобраться с телепортом!
Допустим, имеется объект. В нем прописано 

this addAction ['Teleport Shapur1', 'teleports.sqf'];

this addAction ['Teleport Shapur2', 'teleports.sqf'];

this addAction ['Teleport Shapur3', 'teleports.sqf'];

+ есть еще  объекты в других местах, на которые ссылается телепорт (в данном случае флагштоки)

 

в teleports.sqf написано следующее

 
_tele = _this select 0;
_caller = _this select 1;
 
_caller setPos (getPos (Shapur1));
_caller setPos (getPos (Shapur2));
_caller setPos (getPos (Shapur3));

Проблема в том, что постоянно телепортирует либо к первому, либо к последнему объекту.

(Задумка такая.
Имеется объект, который служит телепортом. И который позволяет телепортироваться в разные места на карте)
 

  • 0

#2 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 19 June 2015 - 17:57

Оригинально! Судя по вашему скрипту тело должно оказаться в трёх местах одновременно, тогда уж клонируйте это тело!


  • 0

#3 OFFLINE   Ave_Ursus

Ave_Ursus

    Мл.сержант

  • Пользователи
  • 125 сообщений
  • Откуда:spb
  • Отряд:ex AS

Отправлено 19 June 2015 - 18:02

У меня вот так реализовано:

ставим телепортилку ей в инит "this addAction[""База"",""teleport\tp_base.sqf" 

 

Скрипты выглядят так:

player setPos [(getPos tp_base select 0) +10, (getPos tp_base select 1) +0, (getPos tp_base select 2) +0.5]

 

В качестве приёмника телепортируемого тела я использую невидимые вертолётные площадки с названием вида  tp_base (в данном случае)


  • 1

#4 OFFLINE   Opolchenec

Opolchenec

    Рядовой

  • Пользователи
  • 10 сообщений

Отправлено 19 June 2015 - 18:03

Оригинально! Судя по вашему скрипту тело должно оказаться в трёх местах одновременно, тогда уж клонируйте это тело!

Увольте, в скриптах не разбираюсь(

Подскажите как правильно написать


  • 0

#5 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 19 June 2015 - 18:11

 

Оригинально! Судя по вашему скрипту тело должно оказаться в трёх местах одновременно, тогда уж клонируйте это тело!

Увольте, в скриптах не разбираюсь(

Подскажите как правильно написать

 

Как пожелаете! Уволены!


  • 0

#6 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 19 June 2015 - 19:58   Лучший Ответ

this addAction ['Teleport Shapur1', 'teleports.sqf'];

в teleports.sqf 

_tele = _this select 0;
_caller = _this select 1;
 
_caller setPos (getPos (Shapur1));

====================

this addAction ['Teleport Shapur2', 'teleports1.sqf'];

в teleports1.sqf 

_tele = _this select 0;
_caller = _this select 1;
 
_caller setPos (getPos (Shapur2));

и т.д.


  • 1

#7 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 19 June 2015 - 23:26

Или:
obj addAction ["Pl !tp f* admin", { ["battlefield1"] execVM "tpFAdmin.sqf"}];
// tpFAdmin.sqf
Switch (_this select 0) do {
case "battlefield1": {player setPos getMarkerPos "myMarker1"};
case "battlefield2": {player setPos getMarkerPos "myMarker2"};
default {player setPos [0,0,0]; hint "sorry admin afk"};
}
Или еще проще:
obj addAction ["fight!",{player setPos getMarkerPos "muMarker1"}]

  • 2

#8 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 20 June 2015 - 03:36

Мне больше всего понравилась эта часть

default {player setPos [0,0,0]; hint "sorry admin afk"};

Но для Стратиса это слишком гуманно, для Стратиса надо так

default {player setPos [999999,999999,0]; hint "sorry admin afk"};

:)


  • 2




Яндекс.Метрика