Нужна помощь?
Создайте тему в соответствующем разделе
Не нужно писать всё в чат!Загляните на торговую площадку
Там вы можете купить
всё что касается игровых серверовНе хотите бан?
Пожалуйста, ознакомьтесь с нашими правилами
Не нарушайте порядок!Продаёте или покупаете?
Пользуйтесь услугами гаранта
Мы сделаем вашу сделку безопасной
Таблица лидеров
Популярные публикации
Отображаются публикации с наибольшей репутацией на 11/14/18 во всех областях
-
2 балла
Кастом спавн машины с топливом и тп
123new и ещё один отреагировал на
BorizzK за сообщение в теме
Проблема решена Car car = Car.Cast(m_Car); car.Fill(CarFluid.FUEL, 1); car.Fill(CarFluid.COOLANT, 1); car.Fill(CarFluid.OIL, 1); Кол-во жижи имеет тип float и считается в тысячных от 1.000 максимум до 0.001 минимум Все заводится и ездит ))) -
1 баллГоспода, ну я сильно удивлен, что такие вещи, как авторестарт сервера многим даются сложно для понимания. Ведь все довольно легко, да и способов море в сети. Опишу в теме парочку своих способов. Способ I: 1. Создаем в папке с сервером игры файл с именем 'AutoRestartScript.bat' и заполняем его следующими данными: @echo off cd /d %~dp0 ::CODE FILE UTF-8 + Russian OEM 866 ::: Здесь указываем имя серверного exe (обязательно, он проверяется на запущенность) set PROC_SERVER=DayZServer_x64.exe ::: Здесь указываем параметры запуска сервера для запуска сервера с exe напрямую set PROC_SERVER_PARAMS=-port=2302 -config=Instance_1\server.cfg -cfg=Instance_1\basic.cfg -profiles=Instance_1 -user=Instance_1 -name=Server -nologs -adminlog -freezecheck -noFilePatching ::: Здесь указываем путь до папки с сервером set Patch_server=C:\servers\DayZServer_063 ::: Здесь указываем имя файла, в который будут писаться логи рестарта set LOGFILE=log_restarter_server.txt ::: Здесь указываем время между проверками на запущенность процесса сервера (в секундах) set TIME_CHECK=60 ::: Указываем 1 если хотим запускать сервер в режиме запуска через SmartSteamEmu set Start_server_with_smartsteamemu=1 ::: Указываем путь до папки с SmartSteamLoader set NAME_DIR_smartsteamemu=C:\servers\DayZServer_063\SmartSteamEmu ::: Указываем имя запускаемого файла SmartSteamLoader set NAME_LOADER_smartsteamemu=SmartSteamLoader_x64.exe ::: Указываем путь и имя конфиг-файла SmartSteamLoader set NAME_CONFIG_smartsteamemu=C:\servers\DayZServer_063\SmartSteamEmu\Test_config.ini ::: Указываем 1 если хотим контролировать BEC на запущенность (чтобы вкл. параметры ниже указать 1) set Use_BEC_AutoRestarter=1 ::: Здесь указываем имя BEC exe set PROC_BEC=Bec_063.exe ::: Здесь указываем параметры запуска BEC set PROC_BEC_PARAMS=--dsc -f config.cfg ::: Здесь указываем путь до папки с BEC set Patch_bec=C:\servers\DayZServer_063\Instance_1\bec ::: ДАЛЕЕ НИЧЕГО НЕ ТРОГАЕМ!!! setlocal EnableDelayedExpansion echo. echo. AutoRestart Script started! echo. :check COLOR 0C timeout /t 10 /nobreak > nul set FLAG=0 set PROC_SERVER_START_EXE=%PROC_SERVER% set PROC_SERVER_START_Patch=%Patch_server% for /f %%i in ('tasklist /FI "IMAGENAME eq %PROC_SERVER%" /FI "STATUS eq RUNNING"') do ( set /a FLAG += 1 ) if %Start_server_with_smartsteamemu% == 1 ( set PROC_SERVER_START_Patch=%NAME_DIR_smartsteamemu% set PROC_SERVER_START_EXE=%NAME_LOADER_smartsteamemu% set PROC_SERVER_PARAMS=%NAME_CONFIG_smartsteamemu% ) if %FLAG% == 1 ( TIMEOUT /T %TIME_CHECK% /NOBREAK > nul cd "%Patch_server%" start "" "%PROC_SERVER_START_Patch%\%PROC_SERVER_START_EXE%" %PROC_SERVER_PARAMS%> nul^ && (set MSG=[%date% %time%] %PROC_SERVER% restarted echo !MSG! echo !MSG! >> %LOGFILE% timeout /t %TIME_CHECK% /nobreak > nul)^ || (set MSG=[%date% %time%] Error restarting PROC_SERVERess echo !MSG! echo !MSG! >> %LOGFILE%) ) if (%Use_BEC_AutoRestarter% != 1) goto :check set FLAG_BEC=0 for /f %%i in ('tasklist /FI "IMAGENAME eq %PROC_BEC%" /FI "STATUS eq RUNNING"') do ( set /a FLAG_BEC += 1 ) if %FLAG_BEC% == 1 ( TIMEOUT /T %TIME_CHECK% /NOBREAK > nul cd "%Patch_bec%" start "" "%Patch_bec%\%PROC_BEC%" %PROC_BEC_PARAMS%> nul^ && (set MSG=[%date% %time%] %PROC_BEC% restarted echo !MSG! echo !MSG! >> %LOGFILE% timeout /t %TIME_CHECK% /nobreak > nul)^ || (set MSG=[%date% %time%] Error restarting PROC_BECess echo !MSG! echo !MSG! >> %LOGFILE%) ) goto :check exit Кому лень создавать, вот готовый: _AutoRestarter1.bat 2. Заменяем и правим параметры в файле на свои, в данном случае это параметры запуска сервера, местонахождение сервера на компьютере и т.п., пояснения есть, как видим. Крайне не рекоммендую в названиях файлах и расположениях сервера указывать пробелы, bat-файлы их не любят! Если вы используете 'SmartSteamEmu', можно активировать опцию запуска сервера через него. Также в батничке есть контролер 'BEC' на случай и его падений (произвольного выключения) 3. Сохраняем, запускаем, и спустя время, обозначенное в параметре: set TIME_CHECK=60 сервер у вас запустится, если он отсутствует в процессах windows (при условии, если не напортачили в параметрах). Способ II: 1. Создаем в папке с сервером игры файл с именем 'AutoRestartScript.bat' и заполняем его следующими данными: @echo off cd /d %~dp0 ::CODE FILE UTF-8 + Russian OEM 866 ::: Здесь указываем имя серверного exe (обязательно, он проверяется на запущенность) set PROC_SERVER=DayZServer_x64.exe ::: Здесь указываем параметры запуска сервера для запуска сервера с exe напрямую set PROC_SERVER_PARAMS=-port=2302 -config=Instance_1\server.cfg -cfg=Instance_1\basic.cfg -profiles=Instance_1 -user=Instance_1 -name=Server -nologs -adminlog -freezecheck -noFilePatching ::: Здесь указываем путь до папки с сервером set Patch_server=C:\servers\DayZServer_063 ::: Здесь указываем имя файла, в который будут писаться логи рестарта set LOGFILE=log_restarter_server.txt ::: Здесь указываем время между проверками на запущенность процесса сервера (в секундах) set TIME_CHECK=60 ::: Указываем 1 если хотим запускать сервер через свой batch-файл, 0 если хотим запускать сервер напрямую с exe-файла сервера с параметрами выше set USE_BATCH_FILE__FOR_START_SERVER=1 ::: Указываем путь до папки с SmartSteamLoader set BATCH_FILE_START_SERVER=C:\servers\DayZServer_063\Start_server_game.bat ::: ДАЛЕЕ НИЧЕГО НЕ ТРОГАЕМ!!! setlocal EnableDelayedExpansion echo. echo. AutoRestart Script started! echo. :check COLOR 0C timeout /t 10 /nobreak > nul set FLAG=0 set PROC_SERVER_START_Patch=%Patch_server%\%PROC_SERVER% set PROC_SERVER_START_PARAMS=%PROC_SERVER_PARAMS% for /f %%i in ('tasklist /FI "IMAGENAME eq %PROC_SERVER%" /FI "STATUS eq RUNNING"') do ( set /a FLAG += 1 ) if %USE_BATCH_FILE__FOR_START_SERVER% == 1 ( set PROC_SERVER_START_Patch=%BATCH_FILE_START_SERVER% set PROC_SERVER_START_PARAMS= ) if %FLAG% == 1 ( TIMEOUT /T %TIME_CHECK% /NOBREAK > nul cd "%Patch_server%" start "" "%PROC_SERVER_START_Patch%" %PROC_SERVER_START_PARAMS%> nul^ && (set MSG=[%date% %time%] %PROC_SERVER% restarted echo !MSG! echo !MSG! >> %LOGFILE% timeout /t %TIME_CHECK% /nobreak > nul)^ || (set MSG=[%date% %time%] Error restarting PROC_SERVERess echo !MSG! echo !MSG! >> %LOGFILE%) ) goto :check exit Кому лень создавать, вот готовый: _AutoRestarter2.bat 2.Заменяем и правим параметры в файле на свои, в данном случае это параметры запуска сервера, местонахождение сервера на компьютере и т.п., пояснения также есть, как видим. Крайне не рекоммендую в названиях файлах и расположениях сервера указывать пробелы, bat-файлы их не любят! Если вы используете BEC, Whitelister, еще что-либо, запускаете сервер игры не напрямую, а через loader crack (как в smartsteamemu), или вовсе хотите делать при рестарте что-то свое, можно запускать сервер не с exe-файла сервера, а с указанного bat-файла. (примеры файлов: Start_server.bat test SmartSteamEmu.bat) 3. Сохраняем, запускаем, и спустя время, обозначенное в параметре: set TIME_CHECK=60 сервер у вас запустится, если он отсутствует в процессах windows (при условии, если не напортачили в параметрах). Способ III: 1. Создаем, если отсутствует, простенький батничек, который будет запускать сервер ваш со всем необходимым. Если имеется такой, переходим далее. Примеры есть в п. 3 ниже! 2. Скачиваем и запускаем простенькую программку: https://yadi.sk/d/k1Jk3sByqzczAQ RestartOnCrash.rar 3. Запускаем программку и добавляем новое правило нажатием Add, настраиваем: 6 - Указываем сам bat-файл, запускающий наш сервер (создавали в п. 1)(примеры файлов test SmartSteamEmu.bat Start_server.bat) 7 - Указываем папку с вашим сервером Настройки на скриншоте рабочие для сервера DayZ 0.63 4. Сохраняем настройки кнопкой OK 5. Ставим галочку, если не стоит в списке рядом с созданным нами заданием 6. Готово, сервер сам перезапустится, спустя время в секундах, обозначенное в настройках прграммы + время в правиле, созданном нами. Указанные выше способы далеко не единственные, и пойдут наверняка не только для сервера DayZ 0.63, но и для остальных игр и версий издателя Bohemia Interactive, а может и вовсе для других серверов и программ, но я надеюсь, что данная тема будет для вас полезна и поможет внести понимание того как и что работает!
-
1 балл
-
1 балл
DayZ Standalone BETA Проблемы после обновлений.
123new отреагировал на
NoNameUltima за сообщение в теме
del -
1 баллНашёл метод Fill у класса Car: void Fill( CarFluid fluid, float amount ); Ну и по соседству: float GetFluidCapacity( CarFluid fluid ); — чтоб узнать сколько какой жидкости помещается..
-
1 балл
[Dayz 0.63] Миссия и Админка в игре
XpeHoboyKa отреагировал на BorizzK за сообщение в теме
Вобщем починил godmode сообщения о смертях (выложу в теме) итд итп ничего особенного нет только даункаст и GetStatStomachSolid стал GetStatStomachVolume ну и по мелочи правда эти косячные символы s и d перед сообщениями, но это походу глюк либо клиента, либо сервера обработка ущерба (я так понял одна из обработок) в PlayerBase.c в контексте вышеуказанной админки override void EEHitBy(TotalDamageResult damageResult, int damageType, EntityAI source, int component, string dmgZone, string ammo, vector modelPos) { PlayerIdentity p_identity = this.GetIdentity(); //получаем cущность игрока string p_Name = p_identity.GetName(); // Получим имя игрока string p_UID = p_identity.GetPlainId(); // UID в нашем знакомом виде 7656119********** string p_XUID = p_identity.GetId(); // получим UID в не знакомом виде Ue7dyagee34********* int p_ID = p_identity.GetPlayerId(); // получим порядковый номер объекта типа игрок string AdminGmodeCheck, PlayerGmodeCheck, SafeZoneGmodeCheck; //ref SurvivorBase SBPlayer = this; ref SurvivorBase SBPlayer = SurvivorBase.Cast(this); //string GUID = SBPlayer.GetPlayerID(); //see 4_World\Entities\ManBase\PlayerBase\SurvivorBase.c string GUID = p_UID; g_Game.GetProfileString("AdminGmode"+GUID,AdminGmodeCheck); g_Game.GetProfileString("SafeZoneStatus"+GUID,SafeZoneGmodeCheck); if (AdminGmodeCheck == "true" || PlayerGmodeCheck == "true" || SafeZoneGmodeCheck == "true") { if (SafeZoneGmodeCheck == "true") //SafeZone { Print("PlayerBase.c : EEHitBy : SafeZoneGmodeCheck = true : Player GUID: " + GUID); Print("PlayerBase.c : EEHitBy : Func input: this = " + this.ToString() + ", p_Name = " + p_Name + ", p_UID = " + p_UID + ", p_XUID = " + p_XUID); if ( damageResult != null ) { float HlthdmgDone = damageResult.GetDamage(dmgZone, ""); float BlddmgDone = damageResult.GetDamage(dmgZone, "Blood"); float ShcdmgDone = damageResult.GetDamage(dmgZone, "Shock"); //We dont want to give players full heath on each hit, as that would make safezone a heal centre... SetHealth( GetHealth("","") + HlthdmgDone ); SetHealth( "","Blood", GetHealth("","Blood") + BlddmgDone); SetHealth( "","Shock", GetHealth( "","Shock") + ShcdmgDone); } } else if (AdminGmodeCheck == "true" || PlayerGmodeCheck == "true") //For admins or special player give heal on each hit. { Print("PlayerBase.c : EEHitBy : AdminGmodeCheck = true || PlayerGmodeCheck = true : Player UID: " + GUID + ", this:" + this.ToString()); Print("PlayerBase.c : EEHitBy : Func input: this = " + this.ToString() + ", p_Name = " + p_Name + ", p_UID = " + p_UID + ", p_XUID = " + p_XUID); SetHealth( GetMaxHealth( "", "") ); SetHealth( "","Blood", GetMaxHealth( "", "Blood" ) ); SetHealth( "","Shock", GetMaxHealth( "","Shock") ); GetStatStamina().Set(1000); GetStatEnergy().Set(1000); GetStatWater().Set(1000); GetStatStomachVolume().Set(300); GetStatStomachWater().Set(300); GetStatStomachEnergy().Set(300); GetStatHeatComfort().Set(0); } } else { //native super.EEHitBy(damageResult, damageType, source, component, dmgZone, ammo, modelPos); //! melee specific stuff if (damageType == 0) { //! save melee source for further processing (eg. ADM log) m_MeleeLastHitTime = GetGame().GetTime(); m_MeleeSource = source; } if( damageResult != null && damageResult.GetDamage(dmgZone, "Shock") > 0) { m_LastShockHitTime = GetGame().GetTime(); } //DamagePlayer(damageResult, source, modelPos, ammo); //new bleeding computation //--------------------------------------- if ( damageResult != null && GetBleedingManagerServer() ) { float dmg = damageResult.GetDamage(dmgZone, "Blood"); GetBleedingManagerServer().ProcessHit(dmg, component, dmgZone, ammo, modelPos); } //Print(damageResult.GetDamage(dmgZone,"Health")); //--------------------------------------- //if( GetBleedingManagerServer() ) GetBleedingManagerServer().ProcessHit(dmgZone, ammo, modelPos); #ifdef DEVELOPER if(DiagMenu.GetBool(DiagMenuIDs.DM_MELEE_DEBUG_ENABLE)) { Print("EEHitBy() | Charater " + GetDisplayName() + " hit by " + source.GetDisplayName() + " to " + dmgZone); } PluginRemotePlayerDebugServer plugin_remote_server = PluginRemotePlayerDebugServer.Cast( GetPlugin(PluginRemotePlayerDebugServer) ); if(plugin_remote_server) { plugin_remote_server.OnDamageEvent(this, damageResult); } #endif if (GetGame().IsDebugMonitor()) m_DebugMonitorValues.SetLastDamage(source.GetDisplayName()); //native } } код между каментами //native - чистый оригинальный код функции и в него изменения не вносились те я действовал методом добавления, не меняя основной код
-
Рассылка
