Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a theme in the appropriate section
    No need to write everything in the chat!
  • Sell or buy?

    Use the services of a guarantor
    We will make your transaction safe
  • Don't want a BAN?

    Please read our rules
    Don't disturb the order
  • Visit the market

    There you can sell or buy
    Everything related to game servers
cjanton

Воскрешение игрока

Recommended Posts

Описание:

Данный плагин добавляет возможность восскрешение игрока(идеально подойдет для ZM мода)

Настройка
 

Скрытый текст

// Админский флаг, необходимый для воскрешения
// -
// Default: ""
sm_revive_adminflag ""

// Клавиша для воскрешения
// 0 - CTRL | 1 - E
// -
// Default: "0"
sm_revive_button "0"

// Цвет Progress-Bar (строки состояния воскрешения) без #
// Только для CS:GO!
// -
// Default: "ffffff"
sm_revive_color "ffffff"

// Дать или отнять n-ое количество HP тому, кто воскресил
// Пример: 10 - Дать 10 HP | -10 Отнять 10 HP
// -
// Default: "10"
sm_revive_health "30"

// Необходимое количество HP для воскрешения
// -
// Default: "25"
sm_revive_health_cost "25"

// Когда выполнять действие с HP
// 1 - Сразу | 0 - В следующем раунде
// -
// Default: "1"
sm_revive_health_type "1"

// Радиус, в котором можно воскрешать
// -
// Default: "100.0"
sm_revive_radius "100.0"

// Время воскрешения игрока
// -
// Default: "10.0"
sm_revive_time "10.0"

 

Установка
поместить файлы из папок в нужные дериктории в сервере(да, тут все просто)

ВНИМАНИЕ!!!!
В архиве несколько конфигурации скрипта, поэтому нужно будет выбрать какая конфигурация вам больше подойдет


Если хочется переделать и скомпилировать самим(как скомпилировать файлы можно прочитать тут), ищем в исходнике строчку:

//game 1 - css | game 0 csgo
#define GAME 1

Меняем цифру, в зависимости от игры.

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By BorizzK
      Пишу мод для стримеров и сериальщиков (наши оч попросили и пара ютьюберов)
      Управление камерой с регулированием fov и тп включая углы итп
      Все почти отлично
      Столкнулись с проблемой
      С фрикамеры когда крупным планом беседу снимаешь не видно (нет анимации) движения губ. Жестикуляция и голос есть, а движения губ нет, только если перса оператора прям рядом поставить, тогда есть, но он в кадр в некоторых моментах попадает, а этого не нужно. Если удалить обьект перса оператора, то норм, но иногда сервак с ума сходит.
      А когда операторов 2 - 3, то ваще фигня иногда начинается вплоть до краша...
       
      Может кто в курсе, где расстояние, радиус синхры настроить можно?
       
       
    • By 123new
      В данной теме мы с вами научимся создавать простой скрипт, который позволит выводить в чат объявления о присоединении и отсоединении игроков, а также логировать их данные.
       
      Нам понадобится:
      1. Сервер DayZ 1.0, сделанный по одному из гайдов:
      2. Notepad++
      3. Немножечко трезвого ума
       
      Приступим:
      1. Открываем Mpmissions - dayzOffline.chernarusplus - init.c
      2. В самом начале файла добавляем:
      #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\ConnectDisconnectMessagesInChat.c" Обратите внимание, имя папки с активной mpmissions сервера у вас может отличаться от стандартного названия  dayzOffline.chernarusplus - в таком случае в ссылке выше имя этой папки также надо заменить (это актуально в основном для серверов аренды)
      3. Помещаем в папку файл
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Либо создаем вручную этот файл с именем " "ConnectDisconnectMessagesInChat.c" и заполняем его следующим текстом:
      modded class CustomMission { void SendGlobalChatMessage(string message) { private array<Man> players = new array<Man>; GetGame().GetPlayers( players ); int numbOfplayers = players.Count(); if( numbOfplayers > 0 ) { foreach(Man player: players) { SendPersonalMessage(message, player); } //GetGame().ChatPlayer(message); } } void SendPersonalMessage(string message, Man player) { if(( player ) && (message != "")) { Param1<string> m_GlobalMessage = new Param1<string>(message); GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_GlobalMessage, true, player.GetIdentity()); } } override void InvokeOnDisconnect( PlayerBase player ) { private PlayerIdentity identity = NULL; identity = player.GetIdentity(); if (player && identity) { private string Name_P = identity.GetName(); private string UID_P = identity.GetPlainId(); private string message = "[Информация] Игрок " + Name_P + " отключился от сервера."; private string log_message = "[Disconnect] Player " + Name_P + " with Steam64ID: " + UID_P + " disconnected from server."; //GetGame().ChatPlayer(message); SendGlobalChatMessage(message); Print(log_message); } super.InvokeOnDisconnect( player ); } override void InvokeOnConnect(PlayerBase player, PlayerIdentity identity) { super.InvokeOnConnect(player, identity); private string Name_P = identity.GetName(); private string UID_P = identity.GetPlainId(); private string message = "[Информация] Игрок " + Name_P + " Зашёл на сервер."; private string log_message = "[Connect] Player " + Name_P + " with Steam64ID: " + UID_P + "connected to server."; //GetGame().ChatPlayer(message); SendGlobalChatMessage(message); Print(log_message); } } 4. Настраиваем текст как нам нужно. Т.е. в строках для чата
      private string message = "[Информация] Игрок " + Name_P + " отключился от сервера."; и
      private string message = "[Информация] Игрок " + Name_P + " Зашёл на сервер."; а также для логов
      private string log_message = "[Disconnect] Player " + Name_P + " with Steam64ID: " + UID_P + " disconnected from server."; и
      private string log_message = "[Connect] Player " + Name_P + " with Steam64ID: " + UID_P + "connected to server."; P.S. Если сообщения вам не видны, включите их видимость в настройках вашего клиента игры для себя!
       
    • By 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'а есть готовая функция?
       
       
      Спасибо!
       
       
       
    • By 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 игрока на сервере ваш файл с данными по игрокам будет присутствовать и заполняться информацией, а в случае их отсутствия удаляться.
    • By 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 сек
       
      Вуаля...
       
×
×
  • Create New...