Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
123new

[1.0][KillFeed] Логи, сообщения о смерти, счетчик убийств игроков

Recommended Posts

Posted (edited)

я понимаю, что он изначально работает нормально, но мой способ должен же работать?

Сорри за глупые вопросы, 4 дня в этом всем варюсь.

Edited by Nescafe (see edit history)

Share this post


Link to post
Share on other sites



6 часов назад, Nescafe сказал:

Можно же сделать так, чтобы не вносить инфу в cfg сервера, дело в том, что у меня нет возможности вносить новые строки и т.п. на моем хостинге.

KillFeed_enableSaveKills = 1; // Включение сохранения счетчика убийств по игрокам KillFeed_enableSaveDies = 1; // Включение сохранения счетчика смертей по игрокам KillFeed_enableCustomTimeLog = 1; // Включение записи модом 'Кастомных' логов смертей игроков KillFeed_enableDefaultLog = 1; // Включение записи сервером стандартных логов сервера в scripts.log KillFeed_enableDebugLog = 1; // Включение записи сервером отладочных логов сервера в scripts.log (работает при KillFeed_enableDefaultLog = 1) KillFeed_enableMessages = 1; // Включение отправки сообщений в чат сервера о смертях игроков


KillFeed_enableSaveKills = 1; // Включение сохранения счетчика убийств по игрокам

KillFeed_enableSaveDies = 1; // Включение сохранения счетчика смертей по игрокам

KillFeed_enableCustomTimeLog = 1; // Включение записи модом 'Кастомных' логов смертей игроков

KillFeed_enableDefaultLog = 1; // Включение записи сервером стандартных логов сервера в scripts.log

KillFeed_enableDebugLog = 1; // Включение записи сервером отладочных логов сервера в scripts.log (работает при KillFeed_enableDefaultLog = 1)

KillFeed_enableMessages = 1; // Включение отправки сообщений в чат сервера о смертях игроков

Поэтмоу я попробовал удалить это:

if(Options_enableLoadNextOptionsFromProfileCFGServer) { if ( GetGame().ServerConfigGetInt("KillFeed_enableCustomTimeLog") == 0 ) //place parameter KillFeed_enableCustomTimeLog = 0; for disable writing a Custom logs { enableCustomLogs = true; } if ( GetGame().ServerConfigGetInt("KillFeed_enableDefaultLog") == 0 ) //place parameter KillFeed_enableDefaultLog = 0; for disable writing a default logs { enableDefaultLogs = true; } if ( GetGame().ServerConfigGetInt("KillFeed_enableDebugLog") == 0 ) //place parameter KillFeed_enableDebugLog = 0; for disable writing a debug logs { enableDebugLogs = true; } if ( GetGame().ServerConfigGetInt("KillFeed_enableMessages") == 0 ) //place parameter KillFeed_enableMessages = 0; for disable messages in chat server about fieds players { enableMessages = true; } if ( GetGame().ServerConfigGetInt("KillFeed_enableSaveKills") == 0 ) //place parameter KillFeed_enableSaveKills = 0; for disable SaveKills to server profile { enableSaveKills = true; } if ( GetGame().ServerConfigGetInt("KillFeed_enableSaveDies") == 0 )//place parameter KillFeed_enableSaveDies = 0; for disable SaveDies to server profile { enableSaveDies = true; } } else { enableSaveKills = Options_enableSaveKills; enableSaveDies = Options_enableSaveDies; enableCustomLogs = Options_enableCustomLogs; enableDefaultLogs = Options_enableDefaultLogs; enableDebugLogs = Options_enableDebugLogs; enableMessages = Options_enableMessages; }


   if(Options_enableLoadNextOptionsFromProfileCFGServer)
        {
            if ( GetGame().ServerConfigGetInt("KillFeed_enableCustomTimeLog") == 0 ) //place parameter KillFeed_enableCustomTimeLog = 0; for disable writing a Custom logs
            {    
                enableCustomLogs  =  true;
            }
            if ( GetGame().ServerConfigGetInt("KillFeed_enableDefaultLog") == 0 )   //place parameter KillFeed_enableDefaultLog = 0; for disable writing a default logs
            {    
                enableDefaultLogs  =  true;
            }
            if ( GetGame().ServerConfigGetInt("KillFeed_enableDebugLog") == 0 ) //place parameter KillFeed_enableDebugLog = 0; for disable writing a debug logs
            {    
                enableDebugLogs  =  true;
            }
            if ( GetGame().ServerConfigGetInt("KillFeed_enableMessages") == 0 )  //place parameter KillFeed_enableMessages = 0; for disable messages in chat server about fieds players
            {    
                enableMessages  =  true;
            }        
            if ( GetGame().ServerConfigGetInt("KillFeed_enableSaveKills") == 0 ) //place parameter KillFeed_enableSaveKills = 0; for disable SaveKills to server profile
            {    
                enableSaveKills  =  true;
            }
            if ( GetGame().ServerConfigGetInt("KillFeed_enableSaveDies") == 0 )//place parameter KillFeed_enableSaveDies = 0; for disable SaveDies to server profile
            {
                enableSaveDies  =  true;
            }
        } else
        {        
            enableSaveKills  =  Options_enableSaveKills; 
            enableSaveDies  =  Options_enableSaveDies; 
            enableCustomLogs  =  Options_enableCustomLogs; 
            enableDefaultLogs  =  Options_enableDefaultLogs; 
            enableDebugLogs  =  Options_enableDebugLogs; 
            enableMessages  =  Options_enableMessages; 
        }

  Но, к сожалению, скрипт не заработал...Dayz 1.07

а не надо ничего удалять, в коде такой случай предусмотрен.

Меняем

bool    Options_enableLoadNextOptionsFromProfileCFGServer  =  true; // enable/disable loading next options from profile server cfg filename

на

bool    Options_enableLoadNextOptionsFromProfileCFGServer  =  false; // enable/disable loading next options from profile server cfg filename

и настраиваем те же опции прямо в коде:

bool    Options_enableSaveKills  =  true; // enable/disable save kill count to profile/file by Killer UID
	bool    Options_enableSaveDies  =  true; // enable/disable save death count to profile/file by Player UID
	bool    Options_enableCustomLogs  =  true; // enable/disable writing custom logs in profile folder server
	bool    Options_enableDefaultLogs  =  true; // enable/disable writing default logs server in scripts.log
	bool    Options_enableDebugLogs  =  true; // enable/disable writing debug logs server in scripts.log (worked with enabled defaults logs)
	bool    Options_enableMessages  =  true; // enable/disable messages in chat server about dieds players

 

Share this post


Link to post
Share on other sites
Posted (edited)
2 часа назад, 123new сказал:

а не надо ничего удалять, в коде такой случай предусмотрен.

Меняем

bool Options_enableLoadNextOptionsFromProfileCFGServer = true; // enable/disable loading next options from profile server cfg filename


bool    Options_enableLoadNextOptionsFromProfileCFGServer  =  true; // enable/disable loading next options from profile server cfg filename

на

bool Options_enableLoadNextOptionsFromProfileCFGServer = false; // enable/disable loading next options from profile server cfg filename


bool    Options_enableLoadNextOptionsFromProfileCFGServer  =  false; // enable/disable loading next options from profile server cfg filename

и настраиваем те же опции прямо в коде:

bool Options_enableSaveKills = true; // enable/disable save kill count to profile/file by Killer UID bool Options_enableSaveDies = true; // enable/disable save death count to profile/file by Player UID bool Options_enableCustomLogs = true; // enable/disable writing custom logs in profile folder server bool Options_enableDefaultLogs = true; // enable/disable writing default logs server in scripts.log bool Options_enableDebugLogs = true; // enable/disable writing debug logs server in scripts.log (worked with enabled defaults logs) bool Options_enableMessages = true; // enable/disable messages in chat server about dieds players


bool    Options_enableSaveKills  =  true; // enable/disable save kill count to profile/file by Killer UID
	bool    Options_enableSaveDies  =  true; // enable/disable save death count to profile/file by Player UID
	bool    Options_enableCustomLogs  =  true; // enable/disable writing custom logs in profile folder server
	bool    Options_enableDefaultLogs  =  true; // enable/disable writing default logs server in scripts.log
	bool    Options_enableDebugLogs  =  true; // enable/disable writing debug logs server in scripts.log (worked with enabled defaults logs)
	bool    Options_enableMessages  =  true; // enable/disable messages in chat server about dieds players

 

Кажется разобрался, даже если просто распаковать и запаковать .pbo, то перестает работать...Буду наверно другой PBO manager скачивать, а я тут целый день сижу голову ломаю:D

Edited by Nescafe (see edit history)

Share this post


Link to post
Share on other sites
16 минут назад, Nescafe сказал:

В том то и фишка, что я попробовал отключить эту функцию еще до того, как попробовал удалить...

После отключения мод перестает работать

ничего не понял. Достаточно лишь изменить указанные параметры на те что дал, и все, более ничего менять не нужно, все будет работать и так, это предусмотрено кодом скрипта, и это вы сами можете наблюдать в коде, что сами мне и скинули изначально (тот что удаляли)

 

Share this post


Link to post
Share on other sites
10.09.2020 в 20:42, 123new сказал:

должен по логике

Не работает 

Share this post


Link to post
Share on other sites
1 час назад, DarkShy сказал:

Не работает 

логи? параметры запуска сервера? как настроен конфиг сервера?

Edited by 123new (see edit history)

Share this post


Link to post
Share on other sites

ладно, так и быть, может плохо доходит вообщение выше, у второго спрошу:

логи? параметры запуска сервера? как настроен конфиг сервера и как настройки игры?

Share this post


Link to post
Share on other sites
15.09.2020 в 14:16, 123new сказал:

ладно, так и быть, может плохо доходит вообщение выше, у второго спрошу:

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

Share this post


Link to post
Share on other sites
58 минут назад, NeeVlaD сказал:

Вообщем скачал я

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

о что выше вы скинули, простите, но это тупо и банально ни о чем. Даже переноса строк нету. Что включено, что не включено фиг поймешь. Например, // означает комментарий и блокировку активации строки.
Во вторых, не вижу логов сервера. Где они? Как я должен понять что творится в памяти сервера, когда нет ни одного скрипт лога и адм лога даже для сравнения?

И последнее, я не вижу скрина папки, обозначенной в  -proiles сервера, где должна создаться папка KillFeed с кастомными логами.

Итого, 3-й по счету человек, который боится предоставить логи. Я конечно все понимаю, но крайне похоже на засланных казачков, кому этот скрипт напрочь не нужен уже. Либо, людей, которые нашли и исправили проблему, но втихую решили с остальными этим не делиться (я таких называю хомячками, их обычно запирают в клетке и откармливают до обжорства)

Share this post


Link to post
Share on other sites
11:22:59 BattlEye Server: Initialized (v1.218)
11:22:59 Роли назначены.
11:22:59 Чтение задания...
11:23:10 [CE][Hive] :: Initializing OFFLINE
11:23:10 [CE][Hive] :: Loading core data ... 
11:23:10 [CE][CoreData] :: 7 root classes, 18 defaults, 0 updaters...
11:23:12 [CE][TypeSetup] :: 423 classes setuped...
11:23:13 [CE][RegisterBind] :: 0 classes binded...
11:23:13 [CE][RegisterConfig] :: 2985 config classes registered, 1 sub-counters...
11:23:13 [CE][Hive] :: Loading map data ... 
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 !!! [CE] :: Unknown category: 'vehicleparts'.
11:23:13 [CE][LoadPrototype] :: loaded 338 prototypes
11:23:13   724 containers, 9437 points
11:23:13   24 dispatches, 90 proxies
11:23:13 !!! [CE][LoadPrototype] 6 groups have no points...
11:23:13 [CE][LoadPrototype] :: last group name: Land_Lunapark_Autodrome...
11:23:13 [CE][LoadPrototype] :: loaded 0 prototypes
11:23:13   0 containers, 0 points
11:23:13   0 dispatches, 0 proxies
11:23:13 [CE][LoadPrototype] :: last group name: Rail9...
11:23:13 [CE][LoadMap] "Group" :: loaded 11608 groups, largest group range: 34.2
11:23:13 [CE][LoadMap] "Dirt" :: loaded 0 groups, largest group range: 34.2
11:23:14 [CE][LoadClusters] "Cluster" :: Loading files...
11:23:14 [CE][LoadClusters] :: file: "mapgroupcluster.xml", 9 types, 50000 instances
11:23:14 [CE][LoadClusters] :: file: "mapgroupcluster01", 9 types, 50000 instances
11:23:14 [CE][LoadClusters] :: file: "mapgroupcluster02", 9 types, 50000 instances
11:23:15 [CE][LoadClusters] :: file: "mapgroupcluster03", 9 types, 50000 instances
11:23:15 [CE][LoadClusters] :: file: "mapgroupcluster04", 9 types, 17244 instances
11:23:15 [CE][Storage] ver:21 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\types.bin"
11:23:15 [CE][Storage] ver:21 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\types.001"
11:23:15 [CE][Storage] ver:21 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\types.002"
11:23:15 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\types.bin".
11:23:15 [CE][offlineDB] :: Loaded 37 dynamic events 216 total types 0 total positions.
11:23:15 [CE][Storage] ver:21 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\events.bin"
11:23:15 [CE][Storage] ver:21 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\events.001"
11:23:15 [CE][Storage] ver:21 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\events.002"
11:23:15 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\events.bin".
11:23:15 [CE][DynamicEvent] Load  Events:[37] Primary spawners: 37 Secondary spawners: 1
11:23:15 [CE][Storage] ver:25 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_000.bin"
11:23:15 [CE][Storage] ver:25 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_000.001"
11:23:15 [CE][Storage] ver:25 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_000.002"
11:23:15 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_000.bin" 736 items.
11:23:15   736 items loaded.
11:23:15 [CE][Storage] ver:25 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_001.bin"
11:23:15 [CE][Storage] ver:25 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_001.001"
11:23:15 [CE][Storage] ver:25 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_001.002"
11:23:15 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_001.bin" 1313 items.
11:23:16   1313 items loaded.
11:23:16 [CE][Storage] ver:25 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_002.bin"
11:23:16 [CE][Storage] ver:25 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_002.001"
11:23:16 [CE][Storage] ver:25 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_002.002"
11:23:16 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_002.bin" 2240 items.
11:23:17   2240 items loaded.
11:23:17 [CE][Storage] ver:25 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_003.bin"
11:23:17 [CE][Storage] ver:25 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_003.001"
11:23:17 [CE][Storage] ver:25 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_003.002"
11:23:17 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_003.bin" 1733 items.
11:23:17   1733 items loaded.
11:23:17 [CE][Storage] ver:25 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_004.bin"
11:23:17 [CE][Storage] ver:25 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_004.001"
11:23:17 [CE][Storage] ver:25 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_004.002"
11:23:17 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_004.bin" 1712 items.
11:23:18   1712 items loaded.
11:23:18 [CE][Storage] ver:25 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_005.bin"
11:23:18 [CE][Storage] ver:25 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_005.001"
11:23:18 [CE][Storage] ver:25 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_005.002"
11:23:18 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_005.bin" 1864 items.
11:23:19   1864 items loaded.
11:23:19 [CE][Storage] ver:25 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_006.bin"
11:23:19 [CE][Storage] ver:25 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_006.001"
11:23:19 [CE][Storage] ver:25 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_006.002"
11:23:19 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_006.bin" 1346 items.
11:23:19   1346 items loaded.
11:23:19 [CE][Storage] ver:25 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_007.bin"
11:23:19 [CE][Storage] ver:25 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_007.001"
11:23:19 [CE][Storage] ver:25 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_007.002"
11:23:19 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_007.bin" 1555 items.
11:23:20   1555 items loaded.
11:23:20 [CE][Storage] ver:25 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_008.bin"
11:23:20 [CE][Storage] ver:25 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_008.001"
11:23:20 [CE][Storage] ver:25 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_008.002"
11:23:20 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_008.bin" 1811 items.
11:23:21   1811 items loaded.
11:23:21 [CE][Storage] ver:25 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_009.bin"
11:23:21 [CE][Storage] ver:25 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_009.001"
11:23:21 [CE][Storage] ver:25 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_009.002"
11:23:21 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_009.bin" 2214 items.
11:23:21   2214 items loaded.
11:23:21 [CE][Storage] ver:25 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_010.bin"
11:23:21 [CE][Storage] ver:25 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_010.001"
11:23:21 [CE][Storage] ver:25 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_010.002"
11:23:21 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_010.bin" 1462 items.
11:23:22   1462 items loaded.
11:23:22 [CE][Storage] ver:25 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_011.bin"
11:23:22 [CE][Storage] ver:25 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_011.001"
11:23:22 [CE][Storage] ver:25 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_011.002"
11:23:22 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_011.bin" 142 items.
11:23:22   142 items loaded.
11:23:22 [CE][Storage] ver:25 stamp:40061, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\vehicles.bin"
11:23:22 [CE][Storage] ver:25 stamp:40059, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\vehicles.001"
11:23:22 [CE][Storage] ver:25 stamp:40060, valid:yes, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\vehicles.002"
11:23:22 [CE][Storage] Restoring file "mpmissions\dayzOffline.chernarusplus\storage_1\data\vehicles.bin" 115 items.
11:23:23   115 items loaded.
11:23:23 [CE][Hive] :: Storage load took:7.81 seconds, recovery stamp:40061
11:23:23   entity: 27953, building: 0
11:23:23   no lifetime: 40
11:23:23   pathgraph's: 941
11:23:23 [CE][Hive] :: Initializing ... 
11:23:23 [CE][InitializeMap] :: initialized: 0
11:23:23 [CE][Hive] :: Initializing spawners ... 
11:23:23 [CE][LootRespawner] (PRIDummy) :: Initially (re)spawned:18, Nominal:21117, Total in Map: 18386 at 0 (sec)
11:23:23   tests:18, repeats:0 fails:0, overtime:0
11:23:23 [CE][DynEvent] :: 37 types
11:23:23 [00] AmbientHen
11:23:23   Primary Spawner: "Ambient", active: yes, repeat: 1
11:23:23 [01] AnimalBear
11:23:23   Primary Spawner: "Animal", active: yes, repeat: 1
11:23:23 [02] AnimalCow
11:23:23   Primary Spawner: "Animal", active: yes, repeat: 1
11:23:23 [03] AnimalDeer
11:23:23   Primary Spawner: "Animal", active: yes, repeat: 1
11:23:23 [04] AnimalGoat
11:23:23   Primary Spawner: "Animal", active: yes, repeat: 1
11:23:23 [05] AnimalPig
11:23:23   Primary Spawner: "Animal", active: yes, repeat: 1
11:23:23 [06] AnimalRoeDeer
11:23:23   Primary Spawner: "Animal", active: yes, repeat: 1
11:23:23 [07] AnimalSheep
11:23:23   Primary Spawner: "Animal", active: yes, repeat: 1
11:23:23 [08] AnimalWildBoar
11:23:23   Primary Spawner: "Animal", active: yes, repeat: 1
11:23:23 [09] AnimalWolf
11:23:23   Primary Spawner: "Animal", active: yes, repeat: 1
11:23:23 [10] InfectedArmy
11:23:23   Primary Spawner: "Infected", active: yes, repeat: 1
11:23:23 [11] InfectedCity
11:23:23   Primary Spawner: "Infected", active: yes, repeat: 1
11:23:23 [12] InfectedFirefighter
11:23:23   Primary Spawner: "Infected", active: yes, repeat: 1
11:23:23 [13] InfectedIndustrial
11:23:23   Primary Spawner: "Infected", active: yes, repeat: 1
11:23:23 [14] InfectedMedic
11:23:23   Primary Spawner: "Infected", active: yes, repeat: 1
11:23:23 [15] InfectedPolice
11:23:23   Primary Spawner: "Infected", active: yes, repeat: 1
11:23:23 [16] InfectedPrisoner
11:23:23   Primary Spawner: "Infected", active: yes, repeat: 1
11:23:23 [17] InfectedReligious
11:23:23   Primary Spawner: "Infected", active: yes, repeat: 1
11:23:23 [18] InfectedSolitude
11:23:23   Primary Spawner: "Infected", active: yes, repeat: 1
11:23:23 [19] InfectedVillage
11:23:23   Primary Spawner: "Infected", active: yes, repeat: 1
11:23:23 [20] ItemPlanks
11:23:23   Primary Spawner: "Item", active: yes, repeat: 1
11:23:23 [21] Loot
11:23:23   Primary Spawner: "Loot", active: yes, repeat: 2
11:23:23 [22] StaticHeliCrash
11:23:23   Primary Spawner: "Vehicle", active: yes, repeat: 1
11:23:23   Secondary Spawner: "Infected", active: yes, repeat: 1
11:23:23 [23] StaticPoliceCar
11:23:23   Primary Spawner: "Vehicle", active: yes, repeat: 1
11:23:23 [24] TrajectoryApple
11:23:23   Primary Spawner: "Trajectory", active: yes, repeat: 1
11:23:23 [25] TrajectoryCanina
11:23:23   Primary Spawner: "Trajectory", active: yes, repeat: 1
11:23:23 [26] TrajectoryConiferous
11:23:23   Primary Spawner: "Trajectory", active: yes, repeat: 1
11:23:23 [27] TrajectoryDeciduous
11:23:23   Primary Spawner: "Trajectory", active: yes, repeat: 1
11:23:23 [28] TrajectoryHumus
11:23:23   Primary Spawner: "Trajectory", active: yes, repeat: 1
11:23:23 [29] TrajectoryPear
11:23:23   Primary Spawner: "Trajectory", active: yes, repeat: 1
11:23:23 [30] TrajectoryPlum
11:23:23   Primary Spawner: "Trajectory", active: yes, repeat: 1
11:23:23 [31] TrajectorySambucus
11:23:23   Primary Spawner: "Trajectory", active: yes, repeat: 1
11:23:23 [32] TrajectoryStones
11:23:23   Primary Spawner: "Trajectory", active: yes, repeat: 1
11:23:23 [33] VehicleCivilianSedan
11:23:23   Primary Spawner: "Vehicle", active: yes, repeat: 1
11:23:23 [34] VehicleHatchback02
11:23:23   Primary Spawner: "Vehicle", active: yes, repeat: 1
11:23:23 [35] VehicleOffroadHatchback
11:23:23   Primary Spawner: "Vehicle", active: yes, repeat: 1
11:23:23 [36] VehicleSedan02
11:23:23   Primary Spawner: "Vehicle", active: yes, repeat: 1
11:23:23 [CE][Hive] :: Initializing of spawners done.
11:23:23 [CE][Hive] :: Init sequence finished.
11:23:24 [IdleMode] Entering IN - save processed
11:23:28 BattlEye Server: RCon admin #0 (127.0.0.1:52447) logged in
11:23:34 Average server FPS: 1982.20 (measured interval: 10 s)
11:23:44 Average server FPS: 2991.70 (measured interval: 10 s)
11:23:54 Average server FPS: 3128.40 (measured interval: 10 s)
11:23:58 BattlEye Server: RCon admin #0: (Global) Прочтите правила сервера в нашей группе ВК vk.com/daayz 
11:23:59 [Login]: Adding player Siluet (23836266) to login queue at position 0
11:23:59 [LoginMachine]: Add player Siluet (23836266)
11:23:59 [StateMachine]: Player Siluet (dpnid 23836266 uid ) Entering AuthPlayerLoginState
11:23:59 BattlEye Server: Player #0 Siluet (94.143.240.135:2072) connected
11:23:59 Игрок Siluet соединяется.
11:23:59 [StateMachine]: Player Siluet (dpnid 23836266 uid ) Entering WaitAuthPlayerLoginState
11:23:59 BattlEye Server: Connected to BE Master
11:24:00 [IdleMode] Leaving OUT
11:24:04 Average server FPS: 3054.60 (measured interval: 10 s)
11:24:07 BattlEye Server: Player #0 Siluet - BE GUID: 013b6c8f0794e17f9e18e8ec8b00a1e6
11:24:07 BattlEye Server: Verified GUID (013b
15 часов назад, 123new сказал:

о что выше вы скинули, простите, но это тупо и банально ни о чем. Даже переноса строк нету. Что включено, что не включено фиг поймешь. Например, // означает комментарий и блокировку активации строки.
Во вторых, не вижу

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

Share this post


Link to post
Share on other sites
1 час назад, NeeVlaD сказал:

11:22:59

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

консоль сервера ничего не даст. script.log файлы нужны и .adm файлы. Пока что вижу, что или у вас ни одного кида не было игроками игрока, или попросту мод не включен.

Edited by 123new (see edit history)

Share this post


Link to post
Share on other sites
[22.09.2020 - 12.18.58]: 1HP(steam64id=76561198058683526,pos=<9163.455078, 223.420563, 3783.822266>) kill: SWAT(steam64id=76561198059284293,pos=<9165.230469, 223.356110, 3788.138916>) from a distance: 4m by M4A1, 1HP kills: 1

Все работает!

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

Share this post


Link to post
Share on other sites

ну вот=)

Остальным скажите где запутались, чтоб читающие форум знали куда лезть, а то ей богу, 3-й подряд, судя по комментам, с момента выхода 1.09.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By fedotovyasha
      Хочу немного изменить сообщения перед отправкой клиенту
    • By BorizzK
      Как и обещал выкладываю код и небольшой гайд
       
      Собственно речь о функции загрузки UID и координат из файла в массив m_playersSpawnPoints класса миссии, который в последствии можно исполдьзовать в других функциях в классе миссии
       
      Отступление
      массив m_playersSpawnPoints это массив типа map
      В данном случае <string,string> где и индекс и значение текстовые строки
      индексом выступает записанный UID,  а значением координаты, которые перед использованием преобразуются из текста в vector c помощью функции ToVector()
      Но об этом позже
       
      Раздел 1. Подключение
       
      КОд функции:
      //Players personal spawn points (for new connected players) ref map<string,string> m_playersSpawnPoints = new map<string,string>; void LoadPlayersSpawnPoints() { /* Файл playersSpawnPoints.lst кладем в папку указанную в параметре запуска сервера -profiles= тогда путь будет "$Profile:" или если кладем в файл в mpmissions\dayzOffline.chernarusplus\_CONF путь будет "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_CONF\\" Путь меняется в переменной m_SettingsPath - "$Profile:" или "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_CONF\\" Можете указать свой путь, но он должен быть либо в $Profiles: либо в $CurrentDir:\\mpmissions\\dayzOffline.chernarusplus Формат файла: Steam UID в привычном виде 17 цифр Координаты Комментарий (через пробелы) Помните любая ошибка может привести к крашу сервера Не желательны пустые строки! Пример: 76562298156537008 1300 0 5600 Дима 76561998116927209 3000 0 3000 Вася из Новороссийска Про массив: ref map<string, string> m_playersSpawnPoints = new map<string, string>; m_playersSpawnPoints тут массив типа map, где каждый элемент массива состоит из 2х ячеек. 1. Индекс - тип string 2. Значение - тип string Пример работы с массивом типа map Запись в массив m_playersSpawnPoints.Insert("76562298156537008", "1300 0 5600"); //записываем первый элемент - индекс dayz, значение 10 m_playersSpawnPoints.Insert("76561998116927209", "3000 0 3000"); //записываем второй элемент - индекс dayzf, значение 17 Чтение из массива: Получаем значение 0го элемента string m = m_playersSpawnPoints.GetElement(0); // = "1300 0 5600" Получаем индекс 0го элемента string name = m_playersSpawnPoints.GetKey(0); / /= "76562298156537008" Получаем значение по индексу (в данном случае нас интерисует именно ЭТО) string n = m_playersSpawnPoints.Get("76561998116927209"); // = "3000 0 3000" //затем n переводим в вектор Usage in CreateCharacter function for change default spawn position: string PlayerUID = identity.GetPlainId(); if (PlayerUID) { if (m_playersSpawnPoints.Contains(PlayerUID) { pos = m_playersSpawnPoints.Get(PlayerUID).ToVector(); } } */ string FileName = "playersSpawnPoints.lst"; string m_SettingsPath = "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_CONF\\"; //Folder with config files - .ini or .lst // Or "$Profiles:\\" FileHandle file; string file_line; array<string> read_line; int linecount = 0; //Comments check bool skipline = false; bool skipblock = false; //Comments check file = OpenFile(m_SettingsPath + FileName, FileMode.READ); if (file != 0) { Print("::: Init.c ::: LoadPlayersSpawnPoints() ::: Read File: " + m_SettingsPath + FileName + " :::"); while (FGets(file, file_line) >= 0) { linecount++; //Comments check and skip if (file_line.IndexOfFrom(0,"//") == 0 || file_line.IndexOfFrom(0,"#") == 0 || file_line.IndexOfFrom(0," ") == 0 || file_line.Length() <= 0) { skipline = true; } else { skipline = false; } if (file_line.IndexOfFrom(0,"/*") == 0) { skipblock = true; } else if (file_line.IndexOfFrom(0,"*/") == 0) { skipblock = false; skipline = true; } //Comments check if (!skipline && !skipblock) { read_line = new array<string>; file_line.Split(" ",read_line); if (read_line.Count() >= 4) { if (read_line.Get(0).Length() == 17) { if (read_line.Get(1).ToFloat() > 0 && read_line.Get(3).ToFloat() > 0) { if (!m_playersSpawnPoints.Contains(read_line.Get(0))) { m_playersSpawnPoints.Insert(read_line.Get(0), read_line.Get(1) + " " + read_line.Get(2) + " " + read_line.Get(3)); // UID, Position Print("::: Init.c ::: LoadPlayersSpawnPoints() ::: Read Line c" + linecount + " Add UID " + read_line.Get(0) + " spawnpoint: " + read_line.Get(1) + " " + read_line.Get(2) + " " + read_line.Get(3) + " to m_playersSpawnPoints"); } else { Print("::: Init.c ::: LoadPlayersSpawnPoints() ::: Read Line c" + linecount + " UID " + read_line.Get(0) + " duplicated, check file!"); } } else { Print("::: Init.c ::: LoadPlayersSpawnPoints() ::: Read Line c" + linecount + " Position error: '" + read_line.Get(1) + " " + read_line.Get(2) + " " + read_line.Get(3) + "' :::"); } } else { Print("::: Init.c ::: LoadPlayersSpawnPoints() ::: Read Line c" + linecount + " UID error: " + file_line + " :::"); } } else { Print("::: Init.c ::: LoadPlayersSpawnPoints() ::: Read Line c" + linecount + " have errors: " + file_line + " :::"); } } } CloseFile(file); if (m_playersSpawnPoints.Count() > 0) { Print("::: Init.c ::: LoadPlayersSpawnPoints() ::: Players personal spawn points count: " + m_playersSpawnPoints.Count() + " :::"); } else { Print("::: Init.c ::: LoadPlayersSpawnPoints() ::: Players personal spawn points is not loaded! :::"); } } else { Print("::: Init.c ::: LoadPlayersSpawnPoints() ::: Error open file: " + m_SettingsPath + FileName + " :::"); } } Комментарии, а так же диагностические принты в лог не убираю сознательно
       
      ПОдключение и использование.
       
      Функцию размещаем в теле класса миссии в init.c или если она вынесена в другой файл (и файл подключени через #include) в том самом файле в теле класса миссии
       
      Вот как-то так:
       
      class CustomMission : MissionServer { //Тут разные функции и определение переменных класса... //Вот тут переопределенный штатно OnInit override void OnInit () { //тут его код ) //Тут определяем наш массив и функцию //Players personal spawn points (for new connected players) ref map<string,string> m_playersSpawnPoints = new map<string,string>; void LoadPlayersSpawnPoints() { //тут ее код } //Тут разные функции... }  
      Ну Вы поняли...
       
      Далее нам надо при запуске и инициализации сервера эту функцию выполнить
      Но прежде надо создать файл по нужному пути в котором будут UID'ы и координаты
      В данной редакции используется путь "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_CONF\\" и имя файла "playersSpawnPoints.lst"
      те в папке mpmissions\dayzOffline.chernarusplus нужно создать папку _CONF и поместить в нее этот файл
      Но вы можете это переделать как Вам больше нравится
       
      Формат файла:
       
      6561198156925007 2698.36 0 5989.59 USER
      6561198156924007 2698.36 0 5989.59 ВАСЯ
       
      6561198156923007 2698.36 0 5989.59 ПЕТЯ
      //Тут комментарий
      /*
      6561193356923001 3698.36 30 5189.59 ПЕТЯ
      */
       
      //Тут комментарий
      #Тут комментарий
       
      Первое поле - позиция - Это Steam UID (17 цифирь)
      2,3,4 поля позиции числа это координаты X Z Y (Z = высота) - если 0 система поставит перса на землю или ближайшую твердую поверхность под ним
      все что дальше игнорится
       
      Можно каментить строки с помощью // , #
      Можно каментить блоки
      /*
      */
       
      Если первый символ в строке пробел, все остальное то же игнорится
      Пустые строки то же игнорятся
       
      Если в строке с UID и координатами ошибка об этом напишет в лог с указанием номера строки
      Если UID дублируется об этом то же напишет в лог
       
      Ок
      Файл создали
       
      Теперь добавим вызов этой функции в тело функции OnInit в классе миссии (про нее речь шла Выше)
      Функция OnInit ВСЕГДА выполняется при запуске сервера
      Внутрь мы добавим вызов LoadPlayersSpawnPoints()
      В итоге при запуске сервера LoadPlayersSpawnPoints() выполнется и запишет в массив m_playersSpawnPoints UID'ы и координат
       
      Добавляем как-то так:
       
      override void OnInit() { //Тут может быть различный код //Тут вызов нашей функции //Load players personal spawn poins LoadPlayersSpawnPoints(); // => m_playersSpawnPoints // "UID", "Position" //Тут может быть различный код }  
      Запустили  сервер и увидели в логе что файл прочитался и все ок
      .... LoadPlayersSpawnPoints() ::: Players personal spawn points count: итд итп
      Или ошибки
      Если ошибки - читаем все еще раз и/или задаем вопросы в теме (НЕ В ЛИЧКЕ!!!) показывая что куда и как Вы прописали
       
      Отлично
      Тормозим в сервер
       
      Продолжение следует минут через 15
       
       
       
       
    • By 123new
      В данной теме мы с вами научимся создавать простой скрипт, который позволит выводить в чат объявления о количестве игроков.
       
      Нам понадобится:
      1. Сервер DayZ 1.0, сделанный по одному из гайдов:
      2. Notepad++
      3. Немножечко трезвого ума
       
      Приступим:
      1. Открываем Mpmissions - dayzOffline.chernarusplus - init.c
      2. В самом начале файла добавляем:
      #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\PlayersMessagesCount.c" Находим функцию
      void main() и перед ее закрывающей скобкой "}"добавляем:
      GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(SendPlayersCount, CountPlayers_TIME_InfoPlayers_Repeat, true); 3. Помещаем в папку файл
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Либо создаем вручную этот файл с именем "PlayersMessagesCount.c" и заполняем его следующим текстом:
      int CountPlayers_TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000) string Message_Chat = "Online Players: "; void SendPlayersCount() { array<Man> players = new array<Man>; GetGame().GetPlayers( players ); int numbOfplayers = players.Count(); if( numbOfplayers > 0 ) { foreach(Man player: players) { CountPlayers_SendPersonalMessage(Message_Chat + numbOfplayers.ToString(), player); } // GetGame().ChatPlayer(0,Message_Chat + numbOfplayers.ToString()); } } void CountPlayers_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()); } } 4. Настраиваем файл как нам нужно. Т.е. в строке
      int CountPlayers_TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000) указываем время повтора вывода сообщений в чат (поумолчанию стоит 2 минуты)
      и текст сообщений в переменной
      string Message_Chat = "Online Players: ";  
      P.S. Если сообщения вам не видны, включите их видимость в настройках вашего клиента игры для себя!
       
    • By 123new
      В данной теме мы с вами научимся создавать простой скрипт, который позволит выводить в чат объявления о количестве игроков.
       
      Нам понадобится:
      1. Сервер DayZ 0.63, сделанный по одному из гайдов:
      2. Notepad++
      3. Немножечко трезвого ума
       
      Приступим:
      1. Открываем Mpmissions - dayzOffline.chernarusplus - init.c
      2. В самом начале файла добавляем:
      #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\PlayersMessagesCount.c" И после строки
      weather.SetWindFunctionParams(0, 0, 0); добавляем:
      GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(SendPlayersCount, TIME_InfoPlayers_Repeat, true); Пример:

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

      3. Помещаем в папку файл Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Либо создаем вручную этот файл с именем "PlayersMessagesCount.c" и заполняем его следующим текстом:
      int TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000) string Message_Chat = "Online Players: "; void SendPlayersCount() { array<Man> players = new array<Man>; GetGame().GetPlayers( players ); int numbOfplayers = players.Count(); if( numbOfplayers > 0 ) { GetGame().ChatPlayer(0,Message_Chat + numbOfplayers.ToString()); } } 4. Настраиваем файл как нам нужно. Т.е. в строке
      int TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000) указываем время повтора вывода сообщений в чат (поумолчанию стоит 2 минуты)
      и текст сообщений в переменной
      string Message_Chat = "Online Players: ";  
      P.S. Если сообщения вам не видны, включите их видимость в настройках вашего клиента игры для себя!
       
    • By 123new
      Автор скрипта: http://s-platoon.ru/profile/14721-borizzk/
      Все благодарности за этот скрипт непосредственно автору скрипта, не мне!
       
      И так, установка:
      1. Первым делом нам необходим чистый стандартный сервер DayZ (без модов, поскольку моды могу приводить к неработоспособности частей гайда). Установить его можно по инструкции, например, так:
      Замечу сразу, гайд сделан для версии игры 0.63.149525
      2. Заходим в папку 'DTA' и распаковываем с 'PBO-MANAGER' архив 'scripts.pbo', получив папку 'scripts'.
      3. Перемещаем папку 'scripts с' папки 'DTA' в корень папки сервера
      4. Переходим по следующему пути:
      scripts\4_World\Entities\ManBase\PlayerBase.c и открываем файл.
      В самом его начале после кода
      class PlayerBase extends ManBase { добавляем код
      // BY BORIZZ.K, s-platoon.ru (ThX Mizev, NoNameUltima, 123New and DaOne) //MY --- //PLAYER DEATH with MESSAGES START //MY int killscore = 0; // usage p_killer.killscore = p_killer.killscore + 1; // for kills count in EEKilled function. //p_killer must be PlayerBase - use p_killer = PlayerBase.Cast(killer) //See EEKilled function int diescore = 0; // usage Player.diescore = Player.diescore + 1; // for death count in EEKilled function. //Player must be playerbase void Message_PlayerKilled(Object player_obj, Object killer) { //MY --- PlayerBase p_Killer = NULL; // Killer PlayerBase Player = player_obj; // Killed player PlayerIdentity Player_Identity = Player.GetIdentity(); //Killed player Identity string Player_Name = Player_Identity.GetName(); //Killed player name string p_UID = Player_Identity.GetPlainId(); // Killed player UID bool enableSaveKills = true; // enable/disable save kill count to profile/file by Killer UID bool enableSaveDies = true; // enable/disable save death count to profile/file by Player UID if ( GetGame().ServerConfigGetInt("enableSaveKills") == 0 ) //place parameter enableSaveKills = 0; for disable SaveKills to server profile { enableSaveKills = false; } if ( GetGame().ServerConfigGetInt("enableSaveDies") == 0 )//place parameter enableSaveDies = 0; for disable SaveDies to server profile { enableSaveDies = false; } string deathMsg = ""; string deathMsgDist = ""; string deathMsgKillScore = ""; string DebugMessage; Print("::: EEKilled: Debug: Input: killer " + killer.ToString() + " => Class: " + killer.GetType() + ", Player " + Player.ToString() + " => Class: " + Player.GetType()); //DEBUG //Phase #1 if ( killer.IsMan() ) { if ( killer.IsKindOf("SurvivorBase") ) { p_Killer = PlayerBase.Cast(killer); DebugMessage = "killer.IsMan(): killer.IsKindOf('SurvivorBase'): killer " + p_Killer.ToString() + " kill player " + Player.ToString(); //DEBUG } } else { if ( killer.IsItemBase() ) { ItemBase bitem = ItemBase.Cast(killer); p_Killer = PlayerBase.Cast(bitem.GetHierarchyRootPlayer()); DebugMessage = "killer.IsItemBase(): killer " + p_Killer.ToString() + " => " + bitem.ToString() + " kill player " + Player.ToString(); //DEBUG } else { DebugMessage = "killer " + killer.ToString() + " kill player " + Player.ToString(); //DEBUG } } Print("::: EEKilled Debug: " + DebugMessage); //DEBUG //Phase #2 if (p_Killer) { if (Player == p_Killer) { deathMsg = Player_Name + " committed suicide."; } else { PlayerIdentity Killer_Identity = p_Killer.GetIdentity(); string killer_name = Killer_Identity.GetName(); string k_UID = Killer_Identity.GetPlainId(); //Get killer UID vector position_killer = p_Killer.GetPosition(); vector position_player = Player.GetPosition(); int dist = vector.Distance(position_player, position_killer); EntityAI itemInHands = p_Killer.GetHumanInventory().GetEntityInHands(); if (enableSaveKills) { string strkillscore; g_Game.GetProfileString("killscore"+k_UID,strkillscore); if (strkillscore) { Print("::: EEKilled Debug: LoadKills: Killer: " + killer_name + ", loaded killscore: " + strkillscore); //DEBUG p_Killer.killscore = strkillscore.ToInt(); } } p_Killer.killscore = p_Killer.killscore + 1; //You must declare a variable: int KillScore = 0; in PlayerBase class if (enableSaveKills) { g_Game.SetProfileString("killscore"+k_UID,p_Killer.killscore.ToString()); g_Game.SaveProfile(); Print("::: EEKilled Debug: SaveKills: Killer: " + killer_name + ", killscore: " + diescore.ToString()); //DEBUG } if ( itemInHands.IsItemBase() ) { ItemBase item = ItemBase.Cast(itemInHands); string className = item.GetType(); deathMsg = killer_name + " kill: " + Player_Name; deathMsgDist = " from a distance: " + dist.ToString() + "m by " + className; deathMsgKillScore = killer_name + " kills: " + p_Killer.killscore.ToString(); } else { deathMsg = killer_name + " kill: " + Player_Name; deathMsgDist = " from a distance: " + dist.ToString() + "m."; deathMsgKillScore = killer_name + " kills: " + p_Killer.killscore.ToString(); } } } else { if ( killer.IsKindOf("AnimalBase") ) { deathMsg = Player_Name + " killed by animal."; } else { if ( killer.IsKindOf("ZombieBase") ) { deathMsg = Player_Name + " killed by zombie."; } else { deathMsg = Player_Name + " died for an unknown reason."; } } } //Phase #3 GetGame().ChatPlayer(5, deathMsg); Print("::: EEKilled Debug: killer: " + killer.ToString () + " ::: " + deathMsg); //DEBUG if (deathMsgDist) { GetGame().ChatPlayer(5, deathMsgDist); Print("::: EEKilled Debug: killer: " + killer.ToString () + " ::: " + deathMsgDist); //DEBUG } if (deathMsgKillScore) { GetGame().ChatPlayer(5, deathMsgKillScore); Print("::: EEKilled Debug: killer: " + killer.ToString () + " ::: " + deathMsgKillScore); //DEBUG } if (enableSaveDies) { string strdiescore; g_Game.GetProfileString("diescore"+p_UID,strdiescore); if (strdiescore) { Print("::: EEKilled Debug: Load Die's: Player: " + Player_Name + ", loaded diescore: " + strdiescore); //DEBUG Player.diescore = strdiescore.ToInt(); } } Player.diescore = Player.diescore + 1; if (enableSaveDies) { g_Game.SetProfileString("diescore"+p_UID,Player.diescore.ToString()); g_Game.SaveProfile(); Print("::: EEKilled Debug: SaveDeath: Player: " + Player_Name + ", diescore: " + diescore.ToString()); //DEBUG } //MY --- if( GetHumanInventory().GetEntityInHands() ) { if( CanDropEntity(player_obj) ) { if( !IsRestrained() ) { GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(ServerDropEntity,1000,false,( GetHumanInventory().GetEntityInHands())); } } } }  затем находим функцию
      override void EEKilled( Object killer ) { и перед строкой
      Print("EEKilled, you have died"); добавляем
      Message_PlayerKilled(this, killer); 4. В параметры запуска сервера добавляем:
      -FilePatching 5. В 'config-файл' сервера (тот файл где название сервера) добавляем:
      enableSaveKills = 1; // Включение сохранения счетчика убийств по игрокам enableSaveDies = 1; // Включение сохранения счетчика смертей по игрокам где 1 - включено, 0 - выключено
       
      6. Сохраняем, запускаем сервер и радуемся. Сообщения о смертях игроков будут у вас как в чате, так и в script.log.

      Где хранятся счетчики убийств и смертей? Ответ:
      Они хранятся в profile сервера игры. Т.е. после 1-го запуска создаются 2 файла (как у клиента игры в документах windows в папку dayz) в файлах с расширениями ".vars.DayZProfile" и ".DayZProfile". При удалении этих файлов счетчики сбросятся!
       
      ВАЖНО:
      Скажу сразу, добавить систему кастомного логирования вместо базового можно, но добавлять ее вам прийдется до иницилизации данного файла playerbase.c, поскольку уже в  playerbase.c вы будете вызывать функцию, которая должна быть заранее определена и известна серверу!
      Добавлю, что сейчас масса модов, которые в своем составе имеют данный класс. Они также могут переписывать его, там самым приводя данный гайд в неработоспособность. Самый лучший вариант проверки гайда - на чистом сервере игры без модов.
       
      P.S. Данная тема является копией утраченной темы на нашем форуме, восстановлена по просьбам 'трудящихся'. Надеюсь, она вам поможет.
       
×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.