Need help?
Create a topic in the appropriate section
Don't write everything in the chat!Take a look at the marketplace
There you can buy
everything related to game serversDon't want a ban?
Please read our rules
Don't disturb the order!Sell or buy?
Use services of the guarantor
We will make your deal safe
-
Similar Content
-
By paranoyk
Как, создать ивент по типу StaticPoliceSituation, StaticTrain леГко как сделать если есть две штуки-желание и хотение. (мозги-опционально).
А)....Создаём ивент в events.xml (далее все примеры это примеры из примеров примерно от багемии)
<event name="StaticBoy"> <nominal>3</nominal> <min>1</min> <max>0</max> <lifetime>5400</lifetime> <restock>0</restock> <saferadius>500</saferadius> <distanceradius>1000</distanceradius> <cleanupradius>1000</cleanupradius> <secondary>InfectedIndustrial</secondary> <flags deletable="1" init_random="0" remove_damaged="0"/> <position>fixed</position> <limit>child</limit> <active>1</active> <children/> </event> -создано динамическое событие без объектов (спавн зомби вынесем за скобки пока)
Б) в файле cfgeventspawns.xml задаём что это ивент -"группа объектов" и точки спавна ивента. Так как это "группа обьектов"- точки спавна это ТОЧКИ ОТСЧЕТА ДЛЯ ВСЕЙ ГРУППЫ.
<event name="StaticBoy"> <zone smin="0" smax="0" dmin="1" dmax="2" r="20" /> <pos x="5587.466" z="2063.353" a="0" y="7.75" group="Boy_1"/> <pos x="3678.228" z="2328.108" a="0" y="6.7" group="Boy_2"/> <pos x="11254.230" z="3290.319" a="0" y="6.65" group="Boy_3"/> бла-бла и так далее.... </event> Координаты X и Z грубо говоря это координаты точки отсчёта ивента. Просто координаты реперной точки, почему?
Да потому что "а"....поворот её относительно оси координат карты. Советую никогда его не менять, не ломайте себе мозог почему. У -высота этой реперной точки.
То что это группа - спавнер видит из-за наличия названия.
(координаты вы берёте при создании события или из админки или из богопротивного дэйзэдитора или из оффлайн режима...вообщем "где у вас будет центр данной го ивента для группы")
<zone smin="0" smax="0" dmin="1" dmax="2" r="20" /> ИМХО, количество зомби если есть строчка <secondary>I и радиус их спавна
Вэ) Перемещаемся в файл cfgeventgroups.xml и для каждой группы начинаются страдания.
Спавнеру теперь не нужно общее название события, только группы....
<!--pos x="5587.466" z="2063.353" a="0" y="7.591" group="Boy_1"/--> <group name="Boy_1"> <child type="StaticObj_Wreck_Train_742_Red_DE" deloot="0" lootmax="3" lootmin="1" x="0" z="0" a="78.123" y="1.9"/> <child type="StaticObj_Wreck_Train_Wagon_Tanker_DE" deloot="0" lootmax="3" lootmin="1" x="12.085" z="2.740" a="256.739" y="1.789"/> <child type="StaticObj_Wreck_Train_Wagon_Tanker_DE" deloot="0" lootmax="3" lootmin="1" x="23.106" z="5.477" a="255.579" y="1.781"/> <child type="Land_Train_Wagon_Box_DE" deloot="0" lootmax="3" lootmin="2" x="34.546" z="8.424" a="255.837" y="1.32"/> <child type="Land_Train_Wagon_Box_DE" deloot="0" lootmax="3" lootmin="2" x="46.285" z="11.341" a="255.321" y="1.398"/> <child type="Land_Train_Wagon_Box_DE" deloot="0" lootmax="3" lootmin="2" x="69.472" z="18.594" a="250.938" y="1.450"/> <child type="Land_Train_Wagon_Box_DE" deloot="0" lootmax="3" lootmin="2" x="57.966" z="14.737" a="252.227" y="1.411"/> </group> Группа....Boy_1.
Вы решили что у вас Первый объект у вас StaticObj_Wreck_Train_742_Red_DE . И стоит он на реперной точке (а может и НЕ стоять)...ну раз захотелось так, делаем так.
X и Z .....ноль. Потому что расположен в координатах самой точки, без смещения X и Z...значит его координаты ноль. "а" - поворот ОТНОСИТЕЛЬНО ОСИ ПОВОРОТА РЕПЕРНОЙ ТОЧКИ. (помните говорил вам не менять её?), а так её угол поворота совпадает с углом поворота относительно карты (в прошлом файле мы же записали "а"=0), то тут используем угол поворота относительно карты. И как уже понятно, У - это высота объекта ОТНОСИТЕЛЬНО реперной точки. (мы задали в прошлом файле Y=7.75, значит тут высота обьекта в эдиторе будет 7,75+1,9). Записано 1,9
Ставите ВТОРОЙ ОБЪЕКТ StaticObj_Wreck_Train_Wagon_Tanker_DE .....Его координаты нужно вписать ОТНОСИТЕЛЬНО реперной точки, они вычисляются.
Поставили объект, смотрите "Х координата обьекта минус координата рэперной точки" -вписали, "Z координата обьекта минус координата реперной точки".-вписали..."а"-как и в эдиторе.Тут думать не надо.
У-координата обьекта минус координата реперной точки....вписали. И так для каждого обьекта в группе.
Сделали одну группу-переходим к другой. И так пока не сделаете необходимое вам число групп.
Метод дедовский, поэтому если есть более лучший-внимательно слушаю.
Да, есть метод грубо говоря это автоматизирующий на определённом этапе. Видео с описанием. (на буржуйском). Кабан, спасибо за на водку.
(права у s-platoon.ru. а автора:))
-
By Vladislavfaddeevich
Доброго времени суток форумчане.
Может кто поделится наводкой.
Хотелось бы узнать, как сделать уведомление о входе в ту или иную локацию с радиусом.
Тоесть то же, что и в моде Трейдер.
Вошел в локацию, появилось уведомление, вышел, тоже.
Просто уведомление, более ничего не нужно.
Подскажите пожалуйста, как реализовать данную идею?
Есть те, кто может помоч?
-
By RedLink
Всем Привет.
Представляю вам систему логирования действий игроков и т.д. по принципу InfiSTAR.
Для установки вам понадобятся кастомный compiles.sqf (тем кто не знает как это сделать, -> поиск по форуму).
1. Открываем в серверной части файл dayz_server\init\server_functions.sqf и в самом низу вставляем:
"SK_log" addPublicVariableEventHandler {(_this select 1) call fnc_Log;}; 2. Теперь открываем в папке с миссией файл compiles.sqf и ищем что-то в этом плане:
if (!isDedicated) then { блаблабла }; и после него вставляем
fnc_log = { private ["_fileName","_message","_dll","_dll2","_display"]; _fileName = toLower (_this select 0); _message = _this select 1; _display = if (count _this > 2) then {_this select 2} else {false}; if (!isDedicated) then { SK_Log = [_fileName,if (typeName _message == "ARRAY") then {_message} else {toArray _message},_display]; publicVariableServer "SK_Log"; } else { _message = if (typeName _message == "ARRAY") then {toString _message} else {_message}; if (_display) then {diag_log format ["[%1] %2",toUpper (_fileName),_message];}; _dll2 = format["!InfiSTAR_Logs~%1~%2",_fileName,_message]; "LogDLL" callExtension _dll2; }; }; где "!InfiSTAR_Logs" - ваша папка, куда вы хотите складировать логи.
3. Открываем файл publicVariable.txt в фильтрах Battleye и в первой строке "5 !=блаблабла" в конце добавляем "!=SK_Log" (пример ниже)
5 !"donn_heli_monitor" !"fnc_log" !=fnc_log !"redHunter" !=redHunter !"cad_pvar_s" !"PVDZE_veh_Update" !="PVDZE_veh_Update" !="PVDZE_adminevents" !="PVDZ_plr_Death" !"PVDZ_plr_Death" !="PVDZE_atp" !"PVDZE_atp" !"PVDZ_plr_LoginRecord" !="PVDZ_plr_LoginRecord" !"PVDZE_log_lockUnlock" !=PVDZE_log_lockUnlock !"redHunter" !=redHunter !"redDiagLog" !=redDiagLog !="PVDZE_atp" !=(remExField|remExFP) !=(PVCDZ_obj_GutBody|drn_AskServerDynamicWeatherEventArgs|BIS_effects_gepv|achievement|dayzFlies) !=PVDZ_(drg_(RaDrag|RaLW|RLact)|getTickTime|hlt_Bleed|obj_(Delete|Publish|RoadFlare|Destroy|Fire)|veh_Save|veh_SF) !=PVDZ_(plr_(Death|Login[12]|LoginRecord|Save|SwitchMove)|Server(_Simulation|StoreVar)|sec_atp) !=PVDZ_(playerMedicalSync|object_replace|groupInvite) !=PVDZ_(send(|Unconscious)) !=PVDZ_Server_(buildLock|LogIt|UpdateGroup) !=PVDZ_Server_process(Code|SetAccessCode) !=PVDZ_objgather_(Delete|Knockdown) !=PVDZE_(obj_(Delete|Publish|Swap|Trade)|fullobj_Publish|maintainArea|veh_(Lock|Publish2|Upgrade)|handleSafeGear|plr_(DeathB|FriendRQ|TradeMenu)) !=PVAH_AdminReq !=PVAH_WriteLogReq !=PVAHR_0_[a-zA-Z0-9]{20,40} !"PVAHR_" !="PVAH_AdminReq" !="PVAH_WriteLogReq" !=PVAHR_0_[a-zA-Z0-9]{20,40} !="PVDZE_(query|store|spawn)Vehicle" !="PVDZE_PingSend" !="PVDZE_veh_Init" !"SK_Log" !=SK_Log
4. А теперь самое главное.
Пример вывода лога в отдельный файл. Возьмем для примера файл смерти игрока от тех или иных причин.
Открываем в серверной части файл server_playerDied.sqf и ищем там строку
diag_log format["%1 (%2) %3 @%4 %5",_playerName,_playerID,_message,mapGridPosition _pos,_pos]; после нее вставляем
["DEATHS",format ["%1 (%2) %3 @%4 %5",_playerName,_playerID,_message,mapGridPosition _pos,_pos],true] call fnc_log; Таким образом в указанной в папке в п. 2 создатся файл deaths_блаблабла.txt, в котором будет отображен лог о смерти игрока по тем или иным причинам.
Формат записи лога выглядит следующим образом:
_message = format ["Что хочу то и пишу и хочу видеть значение %1",_значение%1]; ["ИМЯ_ФАЙЛА_ЛОГА",_message,true] call fnc_log; или напрямую
["Имя_файла_лога",format ["тут будет то что в значении %1",_значение%1],true] call fnc_log;
Представляю варианты 4-х DLL, которые работают для этой системы (качаете любую из них и переименовываете в LogDLL.dll). Эту DLL необходимо закинуть в папку с игрой (например в C:\Games\Arma 2 Operation Arrowhead).
LogDLL.dll создает в папке с логами отдельную папку по названию лога.
LogDLL_-_dd-MM-yyyy и иные ее интерпретации - создает в папке с логами отдельную папку с датой, в которой хранятся все логи за эту дату.
Если есть вопросы, задавайте.
Оригинал данного скрипта и ссылки на разработчика ниже.
Копирайта
Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
-
By SPIRT
Поделюсь еще одним рецептом )))))
Имеем сервер Арма3 который запускаем для себя любимого и для друга, системник, кабель интернета и роутер или модем кому как нравится, так в чем проблема спросите, а вот в чем, если кабель инета подключен напрямую в системник то сервер виден в сетевой игре, а вот если подключаем интернет через модем то наш сервер пропадает из видимости. Бросаемся открывать порты, смотреть что не так, кароч глаза на лоб. Я тоже через все это прошел. Решилась проблема незатейливо включением на роутере функции DMZ или функции демилитаризованная зона. Расскажу на примере собственного роутера ASUS. Собственно к делу : Открываем в брузере настройки роутера, далее в левом меню нам нужна вкладка "Локальная сеть"
Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
в открывшемся меню жмем на вкладку "DHCP сервер" в низу видим ----- "Список присвоенных вручную IP-адресов в обход DHCP (Максимум : 64)" ------ там еть пустое поле
MAC-адрес со стрелочкой, жмем на стрелку вылезает имя нашего компьтера и ip адрес --- жмем "добавить" на "+" с правой стороны ,в итоге получаем мак адрес нашей сетевой карты и присвоенный ip, жмем применить.
Идем далее --- в левом меню выбираю вкладку интернет , в верхнем баре появляются разделы ..... ...... ..... "DMZ" Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
жмем на нее вылезает вкладка на ней 2 поля "Включить DMZ" и "IP-адрес выделенной станции", в первом жмем включить, во втором клацаем в пустое поле появляется IP адрес, или вбиваем в ручную тот который выпал рядом с мак адресом сетевой карты ---- жмем применить . Обязательно перезагружаем модем.
Далее запускаем свой сервак Арма и радуемся.
Кому помогло + в репу. -
By SPIRT
В общем после недавнего обновления BattleEye стало выкидывать из игры с ошибкой BattleEye типа вам нужно перезагрузить игру. Хочу поделиться тем что помогло мне . Сразу говорю винда у меня пиратская .Итак начнем .
1.Отключаемся от интернета.
2.Вырубаем антивирус полностью.
3.Заходим в Панель управления -- Администрирование -- Службы -- ищем Защита программного обеспечения --- останавливаем ее.
4.Дальше идем по адресу диск С Windows -- System32 там надо найти два файла C7483456-A289-439d-8115-601632D005A0 перед этими цифрами могут стоять еще цифры но это не важно , удаляем их.
5. Обратно запускаем Защита программного обеспечения. В правом нижнем углу появится надпись что ваша Windows не является лицензионной.
6. Перезагружаем комп - и активируем нашу винду, я активировал программой Windows 7 Loader .
У меня процесс сошел с мертвой точки со второй активации , но согласитесь это лучше чем переустанавливать Windows 7 или переходить с любимой системы на 10 винду . Кому поможет ставим + врепу.
PS в параметрах папок и поиска не забываем выставить показывать скрытые файлы и папки !
-
-
Our picks