Нужна помощь?
Создайте тему в соответствующем разделе
Не нужно писать всё в чат!Загляните на торговую площадку
Там вы можете купить
всё что касается игровых серверовНе хотите бан?
Пожалуйста, ознакомьтесь с нашими правилами
Не нарушайте порядок!Продаёте или покупаете?
Пользуйтесь услугами гаранта
Мы сделаем вашу сделку безопасной
-
Объявления
-
⚙️ Новые онлайн-инструменты для DayZ 07/26/26
-
-
Похожие публикации
-
Автор: BorizzK
Есть класс
class LogClass { private FileHandle File; void LogClass() { Print("::: [LogClass] ::: Init :::"); } void ~LogClass() { Print("::: [LogClass] ::: UnInit :::"); } void Save(string FileName, string String) { private int year, month, day, hour, minute, second; Print("::: [LogClass]: Save: " + FileName); if (!FileExist(FileName)) { File = OpenFile(FileName,FileMode.WRITE); } else { File = OpenFile(FileName, FileMode.APPEND); } if ( File == 0 ) { Print("::: [LogClass]: Can not write FileName: " + FileName); Print("::: [LogClass]: May be disk error, file write protected, file busy or FileMode.WRITE disabled (need to specify option -scrAllowFileWrite in server run parameters for enable FileMode.WRITE."); return; } FPrintln(File, DataBase_GetDate() + "," + DataBase_GetTime() + " : " + String); CloseFile(File); } void Rotate(string FileName, int FileNum) { Print("::: [LogClass]: Rotate: " + FileName); if (!FileExist(FileName)) { Print("::: [LogClass]: Rotate: FileName not exists: " + FileName); return; } else { for ( int i = FileNum; i > 0; i-- ) { Print("::: [LogClass]: Rotate: FileName: " + FileName + "." + i); if (FileExist(FileName + "." + i)) { Print("::: [LogClass]: Rotate: DeleteFile: " + FileName + "." + i); DeleteFile(FileName + "." + i); } if (FileExist(FileName + "." + (i - 1))) { Print("::: [LogClass]: Rotate: CopyFile: " + FileName + "." + (i - 1) + " => " + FileName + "." + i); CopyFile(FileName + "." + (i - 1), FileName + "." + i); } } CopyFile(FileName, FileName + ".0"); DeleteFile(FileName); } } static string DataBase_GetDate() { int year, month, day; GetYearMonthDay(year, month, day); string date = day.ToStringLen(2) + "." + month.ToStringLen(2) + "." + year.ToStringLen(2); return date; } static string DataBase_GetTime() { int hour, minute, second; GetHourMinuteSecond(hour, minute, second); string time = hour.ToStringLen(2) + ":" + minute.ToStringLen(2) + ":" + second.ToStringLen(2); return time; } } Мне нужно им пользоваться функциями из него в нескольких местах
в PlayerBase.c в функциях в классе PlayerBase
в init.c в функция в классе миссии
Вопрос как?
В PlayerBase.c
#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\LogClass\\LogClass.c"
Далее в классе
ref LogClass Log = new LogClass();
ну и в функциях
Log.Save{"путь-имя", данные);
Но после последнего обновления 0.63.149.525
В init.c
#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\LogClass\\LogClass.c"
приводит к ошибке - Multiple declaration of class "LogClass"
Can't compile mission init script'!
$CurrentDir://mpmissions//dayzOffline.chernarusplus//_MOD//LogClass//LogClass.c(1): Multiple declaration of class 'LogClass'
До этого обновления все было норм
Как быть?
-
Автор: BorizzK
Что такое массивы и тп я в целом знаю, но поскольку на c++ и подобном никогда не писал (только в Дейзе столкнулся), то есть некоторое непонимание некоторых принципов работы с массивами в данном случае
Продположим
обявили массив внутри функции
array<string> stringParam;
// определяем массив текстового типа который живет до завершения работы функции
или
static array<string> stringParam;
// определяем массив текстового типа который сохраняет в себе данные и после завершения работы функции и при следующем
вызове функции содержимое массива останется и может быть использовано внутри функции (повторного обьявления массива не произойдет)
string text = "text";
//записываем содержимое переменной text в элемент массива 0
stringParam.Insert(text);
//записываем содержимое переменной text в элемент массива 1, если переменная text пуста в элемент запишется текст NULL
stringParam.Insert(text, "NULL");
читаем в переменную text элемент массива 1
string text = stringParam.Get(1);
А вот теперь вопрос
Как мне изменить эелемент 1 массива?
stringParam[1] = "блаблабла";
так?
в теории должно быть так
Это вообще возможно?
И еще про функцию возвращающую результат в качестве массива
array<string> FileRead(string FileName)
{
array<string> stringParam;
string line_content;
.....
CloseFile(File);
return stringParam;
}
Все верно?
-
Автор:
becbaLLleHHblu
Доброво времени суток нужна ваша помощь. Недавно обновился мод и тут появилась такая штука у истребителя F35B появилась пушка GAU-22 я пробовал её запретить скриптом но нечего не вышло может кто сталкивался с проблемой подскажите чет не охото её выводить с срвера
-
Автор: DenisRef
Нужно доработать скрипт для DayZ Standalone 0.63 на зараженные зоны в городах. Сложность заключается в том, что в этом патче вся игра перешла на другой язык - Енфьюжн, подобный многим C языкам.
Есть лишь заготовка для этого (прикрепил ниже), которую нужно доработать. Разумеется с оплатой.
Что примерно должен из себя представлять готовый скрипт в действии:
"Скрипт на постоянное получение урона и кровопотерю при отсутствии противогаза на голове персонажа, если игрок находится в определенном радиусе от некоторых точек на карте Чернаруссии, координаты этих точек напишу уже потом. Скрипт должен работать пока на DayZ Offline в Стиме, тобиж в одиночке."
void radiation () { vector gas_point = "0 0 0"; int radius = 100; string gasmask = "H_HelmetA"; float damage_value = 0.01; int damage_delay = 2; float blood = 0; while (true) { float distance = Math.Abs(playerPostion.GetPosition() - gas_point); if ( distance <= radius ) { if ( gasmask != player.Headgear ) { blood = player.GetHealth( "", "Blood" ); player.SetHealth("GlobalHealth", "Blood", blood); } } sleep(damage_delay); } }
-
-
Наш выбор

Всем привет, на форуме уже писалось об этом игроке. Сегодня на моем сервере падали бомбы на игроков. После просмотра логов я все таки понял что он примерно делает.
он у меня в бане:
Что происходит в конечном счете, он пытается подключиться, запускает стороннюю программу которая каким то образом ломает Rcon и удаляет его из бан листа, далее после того как с бан листа стерт, он заходит на сервер и запускает скрипт, который определяет, наблюдает за ним админ или нет.
Скрипт я выкурил по клиентскому логу, выдало ошибку:
Error in expression <mt_own_uid',objNull]; if((isPlayer _adm_uid) and isPlayer(cameraOn))then{ > Error position: <_adm_uid) and isPlayer(cameraOn))then{ > Error Undefined variable in expression: _adm_uid Subgroup B 1-1-C:<No leader> (0x4b2514e0) - network ID 0:0 - no leader Subgroup B 1-2-D:<No leader> (0x4b250d60) - network ID 0:0 - no leaderя знаю что у меня на сервере такого куска кода нет. Вбил в гугл и наткнулся на сайт где фигурирует скрипт: (не именно этот но идея этажа)
_myUid = getplayeruid player; _code = format[" _uid = '%1'; while{true} do { if(isPlayer (cameraOn)) then { _cuid = getplayeruid cameraOn; if(_cuid == _uid) then { player switchCamera 'INTERNAL'; }; }; }; ",_myUid];проще говоря скрипт проверяет камеру игрока и читака, сравнивает. Таким образом он узнает что за ним наблюдают.
Теперь заново, он заходит, видит что в бане, запускает стороннюю программу, она удаляет ломает как то ркон, удаляет бан, подключается как админ, запускает определитель, наблюдают за ним или нет, далее творит что хочет...
Парни как можно защититься от этого? Основная проблема волнует, как он ломает Ркон и убирает с бан листа себя?(сегодня он стер 60 банов, слава бакапу...) Как защититься от этого? У меня мало знаний для борьбы с читаками, по этому прошу помощи и в общем любой совет ребят!
п.с. пока не найдено решение, поставил на бан лист атрибут "только чтение"...
Изменено пользователем JustBullet (история изменений)Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах