Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
123new

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

Рекомендованные сообщения

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

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

Изменено пользователем Nescafe (история изменений)

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


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





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

 

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


Ссылка на сообщение
Поделиться на других сайтах
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

Изменено пользователем Nescafe (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах
16 минут назад, Nescafe сказал:

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

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

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

 

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


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

ребят под 1,09 будет работать?

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


Ссылка на сообщение
Поделиться на других сайтах
10.09.2020 в 20:42, 123new сказал:

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

Не работает 

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


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, DarkShy сказал:

Не работает 

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

Изменено пользователем 123new (история изменений)

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


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

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
15.09.2020 в 14:16, 123new сказал:

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
58 минут назад, NeeVlaD сказал:

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

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

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

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
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 сказал:

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, NeeVlaD сказал:

11:22:59

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

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

Изменено пользователем 123new (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах
[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

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

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

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


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

ну вот=)

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

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


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

Скажите а можно обьеденить эти 2 строки?

Этот блок за это отвечает?

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

Player_Name   = Player_Identity.GetName();
					p_UID     =  Player_Identity.GetPlainId(); 
					p_pos = Player.GetPosition().ToString();
					string   deathMsg   = "";
					string   deathMsgDist  = "";
					string   deathMsgKillScore =  "";
					string    DebugMessage;

 

 

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

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


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, MAXILIVE сказал:

Скажите а можно обьеденить эти 2 строки?

Этот блок за это отвечает?

  Скрыть содержимое

Player_Name = Player_Identity.GetName(); p_UID = Player_Identity.GetPlainId(); p_pos = Player.GetPosition().ToString(); string deathMsg = ""; string deathMsgDist = ""; string deathMsgKillScore = ""; string DebugMessage;



Player_Name   = Player_Identity.GetName();
					p_UID     =  Player_Identity.GetPlainId(); 
					p_pos = Player.GetPosition().ToString();
					string   deathMsg   = "";
					string   deathMsgDist  = "";
					string   deathMsgKillScore =  "";
					string    DebugMessage;

 

 

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

кусок вот этого кода отвечает за отправку в чат:

if (enableMessages)
					{
						KillFeed_SendMessageToAllPlayers(deathMsg);						
					}
					if (enableDefaultLogs)
					{
						Print(date_time_log + " " + Name_Block_Logs_Default + " " + message_logs); //DEBUG
					}
					if (deathMsgDist)
					{
						if (enableMessages)
						{
						//	GetGame().ChatPlayer(chat_channel_NuM, deathMsgDist);
							KillFeed_SendMessageToAllPlayers(deathMsgDist);
						}
					}
					if (deathMsgKillScore)
					{
						if (enableMessages)
						{
						//	GetGame().ChatPlayer(chat_channel_NuM, deathMsgKillScore);
							KillFeed_SendMessageToAllPlayers(deathMsgKillScore);
						}
					}

Где функция KillFeed_SendMessageToAllPlayers как раз и отправляет сообщение с указанным текстом из сформировавшейся переменной. Задачка на логику - объединить 3 переменные deathMsg, deathMsgDist и deathMsgKillScore с нужным текстом в одну строку. Подсказка:

string MyChatMessage = deathMsg + " нужный текст " + deathMsgDist;

 

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


Ссылка на сообщение
Поделиться на других сайтах
12 часов назад, 123new сказал:

кусок вот этого кода отвечает за отправку в чат:

if (enableMessages) { KillFeed_SendMessageToAllPlayers(deathMsg); } if (enableDefaultLogs) { Print(date_time_log + " " + Name_Block_Logs_Default + " " + message_logs); //DEBUG } if (deathMsgDist) { if (enableMessages) { // GetGame().ChatPlayer(chat_channel_NuM, deathMsgDist); KillFeed_SendMessageToAllPlayers(deathMsgDist); } } if (deathMsgKillScore) { if (enableMessages) { // GetGame().ChatPlayer(chat_channel_NuM, deathMsgKillScore); KillFeed_SendMessageToAllPlayers(deathMsgKillScore); } }


if (enableMessages)
					{
						KillFeed_SendMessageToAllPlayers(deathMsg);						
					}
					if (enableDefaultLogs)
					{
						Print(date_time_log + " " + Name_Block_Logs_Default + " " + message_logs); //DEBUG
					}
					if (deathMsgDist)
					{
						if (enableMessages)
						{
						//	GetGame().ChatPlayer(chat_channel_NuM, deathMsgDist);
							KillFeed_SendMessageToAllPlayers(deathMsgDist);
						}
					}
					if (deathMsgKillScore)
					{
						if (enableMessages)
						{
						//	GetGame().ChatPlayer(chat_channel_NuM, deathMsgKillScore);
							KillFeed_SendMessageToAllPlayers(deathMsgKillScore);
						}
					}

Где функция KillFeed_SendMessageToAllPlayers как раз и отправляет сообщение с указанным текстом из сформировавшейся переменной. Задачка на логику - объединить 3 переменные deathMsg, deathMsgDist и deathMsgKillScore с нужным текстом в одну строку. Подсказка:

string MyChatMessage = deathMsg + " нужный текст " + deathMsgDist;


string MyChatMessage = deathMsg + " нужный текст " + deathMsgDist;

 

При таком коде все 3 переменные будут в одну строчку? Просто переменная deathMsgKillScore пишет никнейм и количество убийств, а в переменной deathMsgDist уже есть никнейм получается никнейм будет прописывается 2 раза? 

Survivor убил: Player с m4-a1 с расстояния: 3м Survivor убийств: 3

Изменено пользователем MAXILIVE (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, MAXILIVE сказал:

При таком коде все 3 переменные будут в одну строчку? Просто переменная deathMsgKillScore пишет никнейм и количество убийств, а в переменной deathMsgDist уже есть никнейм получается никнейм будет прописывается 2 раза? 

Survivor убил: Player с m4-a1 с расстояния: 3м Survivor убийств: 3

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

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


Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, 123new сказал:

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

Не это я точно не потяну, хотябы со строкой разобраться дистанцию присрать к deathMsg через + 

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

if ( itemInHands.IsItemBase() )
								{
									ItemBase item  = ItemBase.Cast(itemInHands);
									string className = item.GetType();
									deathMsg   = killer_name + " убил: " + Player_Name;
									deathMsgDist        =   " с растояния: " + dist.ToString() + "м с " + className;
									deathMsgKillScore = killer_name + " убийств: " + p_Killer.killscore.ToString();
									message_logs = killer_name + "(steam64id=" + k_UID + ",pos=" + position_killer.ToString() + ") kill: " + Player_Name + "(steam64id=" + p_UID + ",pos=" + p_pos + ")" + deathMsgDist + ", " + deathMsgKillScore;
								}

 

 

Изменено пользователем MAXILIVE (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, MAXILIVE сказал:

Не это я точно не потяну, хотябы со строкой разобраться дистанцию присрать к deathMsg через + 

  Скрыть содержимое

if ( itemInHands.IsItemBase() ) { ItemBase item = ItemBase.Cast(itemInHands); string className = item.GetType(); deathMsg = killer_name + " убил: " + Player_Name; deathMsgDist = " с растояния: " + dist.ToString() + "м с " + className; deathMsgKillScore = killer_name + " убийств: " + p_Killer.killscore.ToString(); message_logs = killer_name + "(steam64id=" + k_UID + ",pos=" + position_killer.ToString() + ") kill: " + Player_Name + "(steam64id=" + p_UID + ",pos=" + p_pos + ")" + deathMsgDist + ", " + deathMsgKillScore; }



if ( itemInHands.IsItemBase() )
								{
									ItemBase item  = ItemBase.Cast(itemInHands);
									string className = item.GetType();
									deathMsg   = killer_name + " убил: " + Player_Name;
									deathMsgDist        =   " с растояния: " + dist.ToString() + "м с " + className;
									deathMsgKillScore = killer_name + " убийств: " + p_Killer.killscore.ToString();
									message_logs = killer_name + "(steam64id=" + k_UID + ",pos=" + position_killer.ToString() + ") kill: " + Player_Name + "(steam64id=" + p_UID + ",pos=" + p_pos + ")" + deathMsgDist + ", " + deathMsgKillScore;
								}

 

 

так вот же строка

deathMsgKillScore = killer_name + " убийств: " + p_Killer.killscore.ToString();

убери добавление ника в начале и все

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


Ссылка на сообщение
Поделиться на других сайтах
21 минуту назад, 123new сказал:

так вот же строка

deathMsgKillScore = killer_name + " убийств: " + p_Killer.killscore.ToString();


deathMsgKillScore = killer_name + " убийств: " + p_Killer.killscore.ToString();

убери добавление ника в начале и все

Это я понял)) Я про то что как в одну строку все сделать. Суть и смысл ясны а вот реализовать слабовато

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


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, MAXILIVE сказал:

Это я понял)) Я про то что как в одну строку все сделать. Суть и смысл ясны а вот реализовать слабовато

так сказал же уже ранее как.

https://s-platoon.ru/topic/7364-10killfeed-logi-soobscheniya-o-smerti-schetchik-ubiystv-igrokov/?do=findComment&comment=92563

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


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

deathMsg   = killer_name + " убил: " + Player_Name;
deathMsgDist        =   " с растояния: " + dist.ToString() + "м с " + className + " убийств: " + p_Killer.killscore.ToString();

 

Вот так присрал . в 2 строки

Изменено пользователем MAXILIVE (история изменений)

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: fedotovyasha
      Хочу немного изменить сообщения перед отправкой клиенту
    • Автор: 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
       
       
       
       
    • Автор: 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. Если сообщения вам не видны, включите их видимость в настройках вашего клиента игры для себя!
       
    • Автор: 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. Если сообщения вам не видны, включите их видимость в настройках вашего клиента игры для себя!
       
    • Автор: 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. Данная тема является копией утраченной темы на нашем форуме, восстановлена по просьбам 'трудящихся'. Надеюсь, она вам поможет.
       
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.