Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Продаёте или покупаете?

Пользуйтесь услугами гаранта
Мы сделаем вашу сделку безопасной

Вопрос

Задумка такая:

Забежал в точку диаметром 2 метра, активировался файл скрипта, тебя переместило в точку указанную в файле.

Как это сделать? Что нужно написать в этом файле телепорта?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

Вопрос решен. 

 

Добавил два сенсора

 

 

		class Item17
		{
            position[]={10926.2,0,665.869};
            a=2;
            b=2;
            activationBy="ANY";
            repeating=1;
            interruptable=1;
            age="UNKNOWN";
            text="Basis_West";
            name="Basis_West";
			expCond="(vehicle player) in thislist;";
            expActiv="if (playerSide == WEST) then { skrypt = [Basis_West,1] execVM ""custom\teleport.sqf""};";
            expDesactiv="terminate skrypt; titleText [""Телепортация завершена!"", ""PLAIN DOWN"", 3];";
            class Effects 
            {
            };
        };
				class Item18
		{
            position[]={15553.5,0,16391.9};
            a=2;
            b=2;
            activationBy="ANY";
            repeating=1;
            interruptable=1;
            age="UNKNOWN";
            text="Basis_West";
            name="Basis_West2";
			expCond="(vehicle player) in thislist;";
            expActiv="if (playerSide == WEST) then { skrypt = [Basis_West2,1] execVM ""custom\teleport.sqf""};";
            expDesactiv="terminate skrypt; titleText [""Телепортация завершена!"", ""PLAIN DOWN"", 3];";
            class Effects
            {
            };
        }; 

 

 

 

 

А в файле teleport.sqf прописано

 

 

Private ["_Basis","_var"];
_Basis = _this select 0;
_var = _this select 1;

while {true} do
  {
    waitUntil {vehicle player in list _Basis};
titleText ["Телепортация через 5 секунд.", "PLAIN DOWN", 3];
sleep 2;

if (!isDedicated) then {
        sleep 3;
		switch (_var) do 
		{
			case 1: { player setPosATL [940.657,24988.5,0.194];}; //сенсор 1
			case 2: { player setPosATL [940.657,24988.5,0.194];}; //сенсор 2
		};
};
};  

На моем сервере играет пару человек, мне не нужно ожидать от них телепортов, так как им читы не интересны.

 

 

 

 

На моем сервере играет пару человек, мне не нужно ожидать от них телепортов, так как им читы не интересны.

Изменено пользователем PILOT (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


  • 0

setPos

так и написать в файле или еще что-то надо? 

player setPos [1124.2561, 2910.9414, 0.002];

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Сделай по аналогии с админскими (донаторскими) базами. Здесь где-то на форуме есть про это тема.

Ессно, нужен триггер, запускающий скрипт и нужно предусмотреть разрешение на ТП со стороны антихака и батлы

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0


_trgr_pos = [x,y,z]; //Координаты тригера

_teleport_pos = [x1,y1,z1]; //координаты куда тпшить

_trgr = createTrigger ["EmptyDetector", _trgr_pos];

_trgr setTriggerArea [2,2,0,false];

_trgr setTriggerActivation ["ANY", "PRESENT",true];

_trgr setTriggerStatements ["this", "player setPos _teleport_pos; hint 'Вы были телепортированы'; ", ""];

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

 

_trgr_pos = [x,y,z]; //Координаты тригера
_teleport_pos = [x1,y1,z1]; //координаты куда тпшить
_trgr = createTrigger ["EmptyDetector", _trgr_pos];
_trgr setTriggerArea [2,2,0,false];
_trgr setTriggerActivation ["ANY", "PRESENT",true];
_trgr setTriggerStatements ["this", "player setPos _teleport_pos; hint 'Вы были телепортированы'; ", ""];
 

И бан от инфистара.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Ну это смотря как он настроен и где подключать.

Ну тогда в mission.sqm находим класс sensor и добавляем туда новый сенсор по аналогии с указанным выше действием

Изменено пользователем JohnWayne (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Ну это смотря как он настроен и где подключать.

Ну тогда в mission.sqm находим класс sensor и добавляем туда новый сенсор по аналогии с указанным выше действием

Ну можно настроить только логирование.

И потом каждый рестарт, мониторить и лопатить логи на предмет телепортации...

 

Самый оптимальный вариант защиты от ТП, и при этом разрешения ТП по необходимости, это 2 скрипта на сервере -

 

1 АЧ скрипт, который банит за ТП(раз в 1\2\3 секунды проверяя расстояние между точками - прошлая точка и текущая для каждого игрока) и если игрок не в аир технике, и расстояние превышает ХХХ метров, и игрока нет в массиве разрешений на ТП - бан.

 

2 Скрипт который позволяет игроку телепортироватся - клиент шлет запрос на ТП,  скрип изменяет в массиве проверки из п.1. текущую и прошлую точки, на точку ТП, и телепортит игрока со стороны сервера.

 

А просто разрешать СетПос, прям с клиента, да еще отключая в инфистаре баны за ТП, это как то не правильно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить на вопрос...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

×
×
  • Создать...