Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Продаёте или покупаете?

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

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок
  • Загляните на торговую площадку

    Там вы можете купить
    Всё что касается игровых серверов
  • 0
PILOT

Телепортация

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

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

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

 

Share this post


Link to post
Share on other sites

8 answers to this question

Recommended Posts

  • 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
		};
};
};  

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

 

 

 

 

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

Edited by PILOT (see edit history)

Share this post


Link to post
Share on other sites



  • 0

setPos

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

player setPos [1124.2561, 2910.9414, 0.002];

Share this post


Link to post
Share on other sites
  • 0

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

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

Share this post


Link to post
Share on other sites
  • 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 'Вы были телепортированы'; ", ""];

 

Share this post


Link to post
Share on other sites
  • 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 'Вы были телепортированы'; ", ""];
 

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

Share this post


Link to post
Share on other sites
  • 0

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

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

Edited by JohnWayne (see edit history)

Share this post


Link to post
Share on other sites
  • 0

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

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

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

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

 

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.