korolev824

поднятия игрока дефибриллятором

Вопрос

Здравствуйте ,не могу найти где настраивается время поднятия игрока дефибриллятором ,по умолчанию стоит 2 минуты как увиличить до 8 ?

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


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

0 ответов на этот вопрос

Нет ответов на вопрос

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: BorizzK
      Есть игрок
      Есть его координаты X и Y
      Нужно получить координаты точки X1 и X2 на расстоянии 2м слева от игрока
       
      ...
      Угол (из GetOrientation()) мы знаем
       
      Те банально надо получить координаты точки на окружности зная угол, радиус и координаты центра окружности
       
      мне видится следующее решение
       
      float dist = 2;
      float A = player.GetOrientation()[0] - 45;
      float x1 = dist * Math.Cos(A);
      float y1 = dist * Math.Sin(A);
       
      vector finpos = Vector(player.GetPosition()[0] + x1, player.GetPosition()[1], player.GetPosition()[2] + y1);
       
      или я не прав?
       
      может в Math enscript'а есть готовая функция?
       
       
      Спасибо!
       
       
       
    • Автор: 123new
      Нам понадобится:
      1. Сервер DayZ Standalone (см. тему вот эту)
      2. Notepad++: бесплатно на оф. сайте
      3. Немного времени и настойчивости (обычно бывает в комплекте и так)
       
      И так, начинаем:
      1. Открываем блокнотом mpmissions\dayzOffline.chernarusplus\init.c
      P.S. Имя папки dayzOffline.chernarusplus у вас может отличаться, будьте внимательны
      2. В начале файла добавляем:
      static int time_repeat_info_players = 10; //in seconds static string file_name_info_players = "$profile:PlayersLogFile.txt"; static void WriteFile(string file_name, string text) { private FileHandle fhandle; if ( !FileExist(file_name) ) { fhandle = OpenFile(file_name, FileMode.WRITE); } else { fhandle = OpenFile(file_name, FileMode.APPEND); } if ( fhandle == 0 ) { Print("[#Запись_в_файл]: Не удалось открыть файл для записи: " + file_name); Print("[#Запись_в_файл]: [Запись]: " + text); return; } FPrintln(fhandle, text); CloseFile(fhandle); } static void WritePlayersInfo() { array<Man> players = new array<Man>; Man player; Man player_test; GetGame().GetPlayers( players ); if (players.Count() > 0) { if ( FileExist(file_name_info_players) ) { DeleteFile(file_name_info_players); } for ( int i = 0; i < players.Count(); ++i ) { player_test = players.Get(i); if( player_test ) { PlayerIdentity p_identity = player_test.GetIdentity(); private string coord_pl = player_test.GetPosition().ToString(); private string Name_P = p_identity.GetName(); private string UID_P = p_identity.GetPlainId(); WriteFile(file_name_info_players, "User name: " + Name_P + " UID: " + UID_P + " Coords: " + coord_pl); } } } else { if ( FileExist(file_name_info_players) ) { DeleteFile(file_name_info_players); } } } Где 'PlayersLogFile.txt' меняем на нужное вам имя файла, а в 'time_repeat_info_players' настраиваем время повтора проверки списка игроков для перезаписи файла
      3. Находим в файле блок 'void main()' и в его конце перед закрывающей '}', поумолчанию это строка
      weather.SetWindFunctionParams(0.1, 0.3, 50); добавляем ниже строку:
      GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(WritePlayersInfo, (time_repeat_info_players * 1000), true); 4. Готово, если не допустили ошибок, при наличии хотя бы 1 игрока на сервере ваш файл с данными по игрокам будет присутствовать и заполняться информацией, а в случае их отсутствия удаляться.
    • Автор: BorizzK
      Нашел где и как она задается
       
      Файл MissionServer.c
       
      Функция
      void OnPreloadEvent(PlayerIdentity identity, out bool useDB, out vector pos, out float yaw, out int queueTime)
       
      Вызывается по эвенту PreloadEventTypeID: - при подключении игрока и постановке его в очередь
       
      Она возвращает queueTime в которой и будут те самые 15 сек
      Тк он возвращается пустой, сервер использует значение по умолчанию
      Если внутри функции изменить значение
      queueTime = 5;
      то будет нужное Вам время
       
      Соответственно переопределяем эту функцию в init.c или Вашем файле миссии в моде (или нет)
       
      override void OnPreloadEvent(PlayerIdentity identity, out bool useDB, out vector pos, out float yaw, out int queueTime) { if (GetHive()) { // Preload data on client by character from database useDB = true; queueTime = 1; //Делаем 1 сек } else { // Preload data on client without database //Вот это я не понял зачем useDB = false; pos = "1189.3 0.0 5392.48"; yaw = 0; queueTime = 1; //Делаем 1 сек } } Делаем 1 сек
       
      Вуаля...
       
    • Автор: BorizzK
      Автор скрипта сообщения всем пользователям: Мизев
       
      Код функции отправки сообщения всем игрокам
      вставляется в OnInit () в init.c или в missionserver.c из scripts.pbo
      Становится глобальной серверной функцией и можно использовать где угодно на сервере (вроде бы)
      Что делает? Отправляет сообщение переданное в функцию всем игрокам на сервере
      Использование: MessageAllPlayers ("ТЕКСТ");
      void MessageAllPlayers(string message) { ref array<Man> players = new array<Man>; GetGame().GetPlayers( players ); if ( players.Count() > 0 ) { for ( int i = 0; i < players.Count(); i++ ) { PlayerBase player; Class.CastTo(player, players.Get(i)); Param1<string> m_MessageParam = new Param1<string>(message); GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_MessageParam, true, player.GetIdentity()); } } }  
      Код сообщения всем игрокам на сервере о входе НОВОГО игрока
      вставляется в код создания персонажа, обработки его подключения или экипировки при входе - где Вам больше нравится
      но после того как персонаж создастся и будет помещен в переменную к которой можно обратиться
      В данном примере m_player

      исполняется в контексте конкретного персонажа
       
      Например init.c
       
      override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName) { //...... //тут еще разный код playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player Class.CastTo(m_player, playerEnt); GetGame().SelectPlayer(identity, m_player); //inform all players about new player connected ref array<Man> players = new array<Man>; //define array for all players GetGame().GetPlayers( players ); //put all players in to array players if ( players.Count() > 0 ) // if players count > 0 { string Message = "NEW Player " + m_player.GetIdentity().GetName() + " connected!"; //message text MessageAllPlayers(Message); // call MessageAllPlayers function with Message param } return m_player; }  
       
    • Автор: 123new
      В данной теме напишу простенький гайд о том, как самому добавить/изменить время существования трупа умершего игрока на своем собственном сервере DayZ.
       
      Гайд пригодится тем, кто сам делает свою сборку сервера, либо по каким-то причинам пользуется не моей сборкой сервера (где это уже сделано), а чьей-либо еще. Обращаю ваше внимание на тот факт, что часть файлов, описанных в гайде, у вас могут уже быть вынесены в другое место или названы несколько иначе (это зависит от сборки сервера, которую вы используете, например, в сборке dankdayz вся mpmissions вынесена в отдельный файл в addons сервера), гайд основывается на чистых серверных файлах игры и отталкивается от них.
      Гайд сделан для версий игры с серверной частью 0.60-0.62, но может быть совместим и с другими версиями игры, если файлы серверной части игры не поменяли своего текущего месторасположения и содержания. Гайд составлен по версии серверных файлов игры 0.62 чистой "девственной" и не правленой никем версии игры.
      Напоминаю заранее, в моих серверных файлах версий 0.60, 0.61 и 0.62 из моих гайдов на данном форуме это уже сделано и делать это не нужно!!!
       
      Данный гайд с данной темы будет дополнением к гайду из темы
      И подразумевает, что данный гайд был вами уже выполнен, процедура event_playerKilled уже обозначена и вынесена в файл event_playerKilled.sqf, а сам файл существует у вас в папке по такому пути: "Mpmissions\{папка с активной "MpMissions}\scripts\events\event_playerKilled.sqf"
      Также, он потребует наличия файла event_playerKilled.sqf, вынесенного в MpMissions вами из Addons сервера игры и активированного на вашем сервере.
      Если такого файла или папок у вас нет, смотрите выше указанную тему о том, как его вынести!
       
      Нам понадобятся:
      1. Notepad++ https://notepad-plus-plus.org/download/
      2. Ваши серверные файлы игры с вынесенным в "Mpmissions" файлом "event_playerKilled.sqf"
       
      И так, приступим.
      1. Открываем в Notepad++ фаш файл "event_playerKilled.sqf". У меня он находится по пути: "Mpmissions\{папка с активной "MpMissions}\scripts\events\event_playerKilled.sqf"
      2. В конце файла находим
      dbDestroyCharacter [_uid, _agent]; или
      dbDestroyCharacter _agent; или
      deletevehicle _agent; и удаляем ее, либо комментируем ее символом "//", так чтобы получилось вот так, например:
      //dbDestroyCharacter [_uid, _agent]; 3. На место найденной строки добавляем код:
      null = [_agent, DZ_TIME_DELETE_DEAD_PLAYER,_uid ] spawn { private["_agent","_uid","_time_dead_player_delete"]; _agent = (_this select 0); _time_dead_player_delete = (_this select 1); _uid = (_this select 2); sleep _time_dead_player_delete; deletevehicle _agent; diag_log format ["Dead agent %1 player with UID %3 is deleted in timestamp %2!",_agent, time,_uid]; }; 4. Открываем вашу "Mpmissions", далее папку с активной "MpMissions", и открываем файл "init.sqf" в Notepad++. Добавляем в любом месте файла (лучше всего в начале или после после "simulWeatherSync;") следующее:
      DZ_TIME_DELETE_DEAD_PLAYER = 300; // Время в секундах до удаления трупов мертвых игроков. Где 300 - 5 минут в секундах