Нужна помощь?
Создайте тему в соответствующем разделе
Не нужно писать всё в чат!Загляните на торговую площадку
Там вы можете купить
всё что касается игровых серверовНе хотите бан?
Пожалуйста, ознакомьтесь с нашими правилами
Не нарушайте порядок!Продаёте или покупаете?
Пользуйтесь услугами гаранта
Мы сделаем вашу сделку безопасной
Таблица лидеров
Популярные публикации
Отображаются публикации с наибольшей репутацией на 02/18/19 в Сообщения
-
2 балла
Опять 25(вайп)
Parliament и ещё один отреагировал на VIRrusR за сообщение в теме
Фигня. Я удалял. Там в самой "ваниле" проблем-проблем... Откройте RPTшку "ванильную". Просто раньше оно игнорилось тупо и серваки работали, пока работали, накапливая весь этот мусор в БД, а теперича вотЪ: Checks if the persistence files are corrupted and replaces corrupted ones with empty ones (value 0-1) Ось так! Напысалы, прычипылы, та й высыть... Я "пацталом"... "заменяет пустыми" - это ж не вайп, правда? Это они вместо того, чтоб ошибки отлавливать, тупо "заменяют" на круглый такой нулище, ничоси?! А чо, слабо просто сохранения отключить нафик, как в оффлайне? Кароче, попробовал сие щастье отключить - погляжу. -
2 баллаПопробуй переустановить. Даже у меня получилось))) поверь, это показатель простоты в установке)
-
1 балл
-
1 баллthessend Про вайпы на популярных серверах вы ошибаетесь.У них это бывает. Не раз с другом строился на всяких Масленках, Хэдхантерс и.т.д.
-
1 балл
Онлайн
Karmagedonотреагировал на
123new за сообщение в теме
Лаги из-за нагруженности сервера возникают, т.к. действиями зомбей и всяких открытий дверей сервер управляет. Соответственно, при 35 онлайна нагрузка одна, при 50-60 совсем иная, т.к. каждый игрок на сервере что-то делает, с чем-то взаимодействует. ну и зомби на него также спавнятся. В конфиге сервера добавь: logAverageFps = 1; logMemory = 1; logPlayers = 1; и в параметрах запуска сервера -dologs и смотри нагруженность сервера и фпс в консоли сервера в реалтайме. Насколько знаю, проблема эта от самого игрового сервера происходит. Также, советую проверить моды, каждый мод на сервере, обращение к файлам и чему-то еще это доп нагрузка серверу, соответственно замедление на каждую операцию дополнительное. -
1 баллТомато вызывает падения сервера , ужасная админка
-
1 балл
[DayZ 1.0] Создаем объявления в чат
DrZiLLo отреагировал на zamorochilo за сообщение в теме
Проверил 1 вариант всё работает, спасибо 123new. Только отображает красный текст, но мне это не мешает. В файле init.c нужно добавить после этой строки - weather.GetFog().Set( Math.RandomFloatInclusive(0.05, 0.1), 1, 0); GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(CustomInformation, TIME_Information_Repeat, true); И в начале файла init.c не забудьте написать вот это: #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\InfoMessages.c" Потом закидываем к корень папки dayzOffline.chernarusplus файл. Файл прикрепил. InfoMessages.c -
1 балл1. можно скрипт не использовать, а использовать rcon протокол для этого. 2. можно скрипт не использовать, а использовать rcon протокол для этого. 3. cfgrandompresets.xml и cfgspawnabletypes.xml в папке mpmission 4. да ЗЫ: мне бы в дискорд написал, я бы сказал. я же всегда в сети.
-
1 баллelanc добавил ссылку на этот вариант в шапку темы
-
1 балл
Триггеры с газом[1.0][By NoNameUltima]
Михаил2612 отреагировал на
PJIIOxa за сообщение в теме
VIRrusR открываешь \mpmissions\dayzOffline.chernarusplus там создаешь файл main.c в него вставляешь вот это class Zone { int id; int type; vector pos; float radius; } enum ZoneType { SAFE, GAS, RAD, BIO } ref array<ref Zone> ga_zones = new array<ref Zone>; ref ControllerZones ctrl_zones = new ControllerZones; class ControllerZones { void ControllerZones() { int id = 0; vector pos; float radius; int type = 0; id = 1; // Pavlovo pos = "2125 0 3400"; radius = 200.0; AddZone(id, pos, radius); id = 2; // Zeleno pos = "2530 0 5112"; radius = 150.0; AddZone(id, pos, radius); id = 3; // Dichina pos = "4524 0 8290"; radius = 50.0; AddZone(id, pos, radius); id = 4; // Mushkino pos = "332 0 9368"; radius = 100.0; AddZone(id, pos, radius); id = 5; // Aero SW pos = "4586 0 9533"; radius = 220.0; AddZone(id, pos, radius); id = 6; // Aero SE pos = "5177 0 9960"; radius = 350.0; AddZone(id, pos, radius); id = 7; // Aero W pos = "4228 0 10400"; radius = 350.0; AddZone(id, pos, radius); id = 8; // Aero E pos = "4785 0 10530"; radius = 250.0; AddZone(id, pos, radius); id = 9; // Aero N pos = "4290 0 10956"; radius = 250.0; AddZone(id, pos, radius); id = 10; // Tisy pos = "1600 0 14030"; radius = 600.0; AddZone(id, pos, radius); id = 11; // Troitskoe pos = "7893 0 14689"; radius = 300.0; AddZone(id, pos, radius); GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(CheckZones, 5000, true); } void ~ControllerZones() { } void AddZone(int id, vector pos, float radius, int type = ZoneType.BIO) { ref Zone zone = new ref Zone; zone.id = id; zone.pos = pos; zone.radius = radius; zone.type = type; ga_zones.Insert(zone); } bool InZone(PlayerBase player, ref Zone zone) { vector player_position = player.GetPosition(); player_position[1] = 0; if( (vector.Distance(player_position, zone.pos)) < zone.radius ) { EntityAI attachment; ItemBase item; string className; float biosafe = 0; attachment = player.FindAttachmentBySlotName("Mask"); if ( attachment && attachment.IsItemBase() ) { item = Class.Cast(attachment); className = item.GetType(); if ( className.Contains("GP5GasMask") ) { //return true; // TEMP FIX biosafe = biosafe + 1.0; } } attachment = player.FindAttachmentBySlotName("Headgear"); if ( attachment && attachment.IsItemBase() ) { item = Class.Cast(attachment); className = item.GetType(); if ( className.Contains("NBCHoodGray") ) { biosafe = biosafe + 1.0; } } attachment = player.FindAttachmentBySlotName("Body"); if ( attachment && attachment.IsItemBase() ) { item = Class.Cast(attachment); className = item.GetType(); if ( className.Contains("NBCJacketGray") ) { biosafe = biosafe + 1.0; } } attachment = player.FindAttachmentBySlotName("Legs"); if ( attachment && attachment.IsItemBase() ) { item = Class.Cast(attachment); className = item.GetType(); if ( className.Contains("NBCPantsGray") ) { biosafe = biosafe + 1.0; } } attachment = player.FindAttachmentBySlotName("Feet"); if ( attachment && attachment.IsItemBase() ) { item = Class.Cast(attachment); className = item.GetType(); if ( className.Contains("NBCBootsGray") ) { biosafe = biosafe + 1.0; } } attachment = player.FindAttachmentBySlotName("Gloves"); if ( attachment && attachment.IsItemBase() ) { item = Class.Cast(attachment); className = item.GetType(); if ( className.Contains("NBCGlovesGray") ) { biosafe = biosafe + 1.0; } } if ( biosafe > 5.0 ) return true; float damage_player; float damage_zone = 6.0; damage_player = player.GetHealth("GlobalHealth", "Health"); player.SetHealth("GlobalHealth", "Health", damage_player - (damage_zone - ((damage_zone / 6) * biosafe))); player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_COUGH); Param1<string> m_MessageParam = new Param1<string>("Вам нужны химзащита и противогаз!"); GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_MessageParam, true, player.GetIdentity()); return true; } return false; } void CheckZones() { ref array<Man> players = new array<Man>; GetGame().GetPlayers( players ); for ( int i = 0; i < players.Count(); i++ ) { PlayerBase player; Class.CastTo(player, players.Get(i)); for ( int j = 0; j < ga_zones.Count(); j++ ) { if(InZone(player, ga_zones.Get(j))) { break; } } } } } 2. открываешь файл init.c находишь строчку void main() и перед ней вставляешь вот это #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\main.c" и все все работает сам только что поставил оставил только одну зону на тисах. -
1 баллclass Zone { int id; int type; vector pos; float radius; } enum ZoneType { SAFE, GAS, RAD, BIO } ref array<ref Zone> ga_zones = new array<ref Zone>; ref ControllerZones ctrl_zones = new ControllerZones; class ControllerZones { void ControllerZones() { int id = 0; vector pos; float radius; int type = 0; id = 1; // Pavlovo pos = "2125 0 3400"; radius = 200.0; AddZone(id, pos, radius); id = 2; // Zeleno pos = "2530 0 5112"; radius = 150.0; AddZone(id, pos, radius); id = 3; // Dichina pos = "4524 0 8290"; radius = 50.0; AddZone(id, pos, radius); id = 4; // Mushkino pos = "332 0 9368"; radius = 100.0; AddZone(id, pos, radius); id = 5; // Aero SW pos = "4586 0 9533"; radius = 220.0; AddZone(id, pos, radius); id = 6; // Aero SE pos = "5177 0 9960"; radius = 350.0; AddZone(id, pos, radius); id = 7; // Aero W pos = "4228 0 10400"; radius = 350.0; AddZone(id, pos, radius); id = 8; // Aero E pos = "4785 0 10530"; radius = 250.0; AddZone(id, pos, radius); id = 9; // Aero N pos = "4290 0 10956"; radius = 250.0; AddZone(id, pos, radius); id = 10; // Tisy pos = "1600 0 14030"; radius = 600.0; AddZone(id, pos, radius); id = 11; // Troitskoe pos = "7893 0 14689"; radius = 300.0; AddZone(id, pos, radius); GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(CheckZones, 5000, true); } void ~ControllerZones() { } void AddZone(int id, vector pos, float radius, int type = ZoneType.BIO) { ref Zone zone = new ref Zone; zone.id = id; zone.pos = pos; zone.radius = radius; zone.type = type; ga_zones.Insert(zone); } bool InZone(PlayerBase player, ref Zone zone) { vector player_position = player.GetPosition(); player_position[1] = 0; if( (vector.Distance(player_position, zone.pos)) < zone.radius ) { EntityAI attachment; ItemBase item; string className; float biosafe = 0; attachment = player.FindAttachmentBySlotName("Mask"); if ( attachment && attachment.IsItemBase() ) { item = Class.Cast(attachment); className = item.GetType(); if ( className.Contains("GP5GasMask") ) { //return true; // TEMP FIX biosafe = biosafe + 1.0; } } attachment = player.FindAttachmentBySlotName("Headgear"); if ( attachment && attachment.IsItemBase() ) { item = Class.Cast(attachment); className = item.GetType(); if ( className.Contains("NBCHoodGray") ) { biosafe = biosafe + 1.0; } } attachment = player.FindAttachmentBySlotName("Body"); if ( attachment && attachment.IsItemBase() ) { item = Class.Cast(attachment); className = item.GetType(); if ( className.Contains("NBCJacketGray") ) { biosafe = biosafe + 1.0; } } attachment = player.FindAttachmentBySlotName("Legs"); if ( attachment && attachment.IsItemBase() ) { item = Class.Cast(attachment); className = item.GetType(); if ( className.Contains("NBCPantsGray") ) { biosafe = biosafe + 1.0; } } attachment = player.FindAttachmentBySlotName("Feet"); if ( attachment && attachment.IsItemBase() ) { item = Class.Cast(attachment); className = item.GetType(); if ( className.Contains("NBCBootsGray") ) { biosafe = biosafe + 1.0; } } attachment = player.FindAttachmentBySlotName("Gloves"); if ( attachment && attachment.IsItemBase() ) { item = Class.Cast(attachment); className = item.GetType(); if ( className.Contains("NBCGlovesGray") ) { biosafe = biosafe + 1.0; } } if ( biosafe > 5.0 ) return true; float damage_player; float damage_zone = 6.0; damage_player = player.GetHealth("GlobalHealth", "Health"); player.SetHealth("GlobalHealth", "Health", damage_player - (damage_zone - ((damage_zone / 6) * biosafe))); player.GetSymptomManager().QueueUpPrimarySymptom(SymptomIDs.SYMPTOM_COUGH); Param1<string> m_MessageParam = new Param1<string>("Вам нужны химзащита и противогаз!"); GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_MessageParam, true, player.GetIdentity()); return true; } return false; } void CheckZones() { ref array<Man> players = new array<Man>; GetGame().GetPlayers( players ); for ( int i = 0; i < players.Count(); i++ ) { PlayerBase player; Class.CastTo(player, players.Get(i)); for ( int j = 0; j < ga_zones.Count(); j++ ) { if(InZone(player, ga_zones.Get(j))) { break; } } } } } Короче, как пример… Планов было много, но так и не дошли руки… Для нахождения в зонах нужна полная «химза» и противогаз, иначе игрок получает повреждения. Повреждения зависят от кол-ва одетых элементов защиты. Из эффектов: у игрока начинается кашель. Ковыряйте на здоровье. Для работы скрипта достаточно подключить его через #include в init.c
-
1 балл
Триггеры с газом[1.0][By NoNameUltima]
Altair отреагировал на
NoNameUltima за сообщение в теме
Это лирика, если ты бегаешь по большой карте, в большой игре, а не казуальной подземке в два квадратика, то наличие нескольких таких зон будет выбивать из колеи - ломать геймплей. Не все делается в угоду реализму, многие вещи делают в угоду геймплею, или стараются найти компромис. - Компромисом были бы маркеры, обозначающие приблизительные границы таких зон(заметь мы не про игру аля Сталкер говорим, где игрок заходя ожидает наличие десятков таких зон, а про зомби выживалку, в которой технически можно слегка разнообразить геймплей, введя некие элементы от того же Сталкера, но не клепая миллионы зон и не вводя хрен знает чего). Но маркеров нет. Приборов нет. Народ ленивый - читать многобукаф в ВК никто не желает. Поэтому пока нет маркеров - оповещение самое то. Ну или добавлена была бы икона какая то, но это уже клиентский мод, а тут одни ванильники, за свой счет поддерживающие "релиз", богемии интерактив - наоткрывают 100500 серваков на ванилине, ничего в геймплей и скрипты превнести не могут, но помогают богемии в пиаре. 99% таких серваков дохнет через 2-3 месяца, но появляются новые. В следствии чего онлайн размазывается, и реально стоящие проекты,(которые правда требуют мода) - просто дохнут. Сам видал такие, и не плохие к слову проекты, и на тематику Сталкера были... Но это тоже уже лирика пошла.
-
Рассылка
