Жалоба Опубликовано: 29 ноября 2015 Задумка такая: Забежал в точку диаметром 2 метра, активировался файл скрипта, тебя переместило в точку указанную в файле. Как это сделать? Что нужно написать в этом файле телепорта? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
0 Жалоба Опубликовано: 1 декабря 2015 (изменено) Вопрос решен. Добавил два сенсора 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 }; }; }; На моем сервере играет пару человек, мне не нужно ожидать от них телепортов, так как им читы не интересны. На моем сервере играет пару человек, мне не нужно ожидать от них телепортов, так как им читы не интересны. Изменено 1 декабря 2015 пользователем PILOT (история изменений) 1 kenguru74 отреагировал на это Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
0 Жалоба Опубликовано: 30 ноября 2015 setPos Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
0 Жалоба Опубликовано: 30 ноября 2015 setPos так и написать в файле или еще что-то надо? player setPos [1124.2561, 2910.9414, 0.002]; 1 kenguru74 отреагировал на это Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
0 Жалоба Опубликовано: 30 ноября 2015 Сделай по аналогии с админскими (донаторскими) базами. Здесь где-то на форуме есть про это тема. Ессно, нужен триггер, запускающий скрипт и нужно предусмотреть разрешение на ТП со стороны антихака и батлы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
0 Жалоба Опубликовано: 30 ноября 2015 _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 Жалоба Опубликовано: 30 ноября 2015 _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 Жалоба Опубликовано: 30 ноября 2015 (изменено) Ну это смотря как он настроен и где подключать. Ну тогда в mission.sqm находим класс sensor и добавляем туда новый сенсор по аналогии с указанным выше действием Изменено 30 ноября 2015 пользователем JohnWayne (история изменений) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
0 Жалоба Опубликовано: 30 ноября 2015 Ну это смотря как он настроен и где подключать. Ну тогда в mission.sqm находим класс sensor и добавляем туда новый сенсор по аналогии с указанным выше действием Ну можно настроить только логирование. И потом каждый рестарт, мониторить и лопатить логи на предмет телепортации... Самый оптимальный вариант защиты от ТП, и при этом разрешения ТП по необходимости, это 2 скрипта на сервере - 1 АЧ скрипт, который банит за ТП(раз в 1\2\3 секунды проверяя расстояние между точками - прошлая точка и текущая для каждого игрока) и если игрок не в аир технике, и расстояние превышает ХХХ метров, и игрока нет в массиве разрешений на ТП - бан. 2 Скрипт который позволяет игроку телепортироватся - клиент шлет запрос на ТП, скрип изменяет в массиве проверки из п.1. текущую и прошлую точки, на точку ТП, и телепортит игрока со стороны сервера. А просто разрешать СетПос, прям с клиента, да еще отключая в инфистаре баны за ТП, это как то не правильно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Задумка такая:
Забежал в точку диаметром 2 метра, активировался файл скрипта, тебя переместило в точку указанную в файле.
Как это сделать? Что нужно написать в этом файле телепорта?
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах