Перейти к содержимому


OXIDE

Регистрация: 30 янв 2016
OFFLINE Активность: Вчера, 22:09

Мои темы

Графические аддоны| Напфовский гараж

27 ноября 2016 - 07:57

Cразу ряд вопросов. Плюсиками не обижу :D
1. Как добавить на сервер при заходе изменённую цветовую гамму. Наподобие, что в моде Sweet  Fx. У меня стоит такое через пкм по часам, но нужно при заходе на сервер
2. Как сделать бессмертным напфовский гараж в инфистаре? Такой большой, с двумя дверями гаражными и 4 окнами в потолке
3. Перешёл на выделенный хост (I5-3450 3.5Ghz, 16 gb DDR3, 1tb HDD, 250gb SSD). Хватит ли его на забитый сервер с 40 людьми? И сколько вообще серверов можно на него поставить, чтобы серверный фпс не падал? Всё же не вдска.


Дюп с разрывом соединения| Анти-дюп | Фикс

25 ноября 2016 - 02:08

Данная система анти-дюпа блокирует самую большую щель в арме - дюп через разрыв соединения. А также через ESC + G.
Приступим к установке.
1. Открываем файл description.ext. Ищем строчку 
onPauseScript и подключаем наш скрипт:
onPauseScript = "custom\Anti-Dupe.sqf";
2. Создаём в папке custom файл 
Anti-Dupe.sqf и вставляем в него следующий код:
 

private ["_escMenu","_lastTimesScanned","_currTimesScanned"];

disableSerialization;
sleep 1;
call dayz_forcesave;
_escMenu = findDisplay 49;
_lastTimesScanned = player getVariable ["ClearToLeave",0];

AD_AntiDupePlayer = player;
publicVariable "AD_AntiDupePlayer";

sleep 5;

_currTimesScanned = player getVariable ["ClearToLeave",0];


if (_currTimesScanned - _lastTimesScanned < 1) then
{
titleText ["Анти-Дюп: Разорвано соединение с сервером!", "PLAIN DOWN", 3];
systemchat "Анти-Дюп: Разорвано соединение с сервером!";
_escMenu closedisplay 0;
};

3. В AH добавляем снизу:
 

'AD_AntiDupePlayer' addPublicVariableEventHandler
{
   [] spawn {
      waitUntil {!isNull AD_AntiDupePlayer};
      _plyr = AD_AntiDupePlayer;
      _amnt = _plyr getVariable ['ClearToLeave',0];
      _plyr setVariable ['ClearToLeave',_amnt+1,true];
   };
};

 

4. Нам нужен кастомный файл dayz_spaceInterrupt.sqf. Если у вас его нет, то достаём из addons\dayz_code\actions
И ложим в папку custom. Далее в файле compiles.sqf замените это:
 

dayz_spaceInterrupt =            compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\dayz_spaceInterrupt.sqf";

На
 

dayz_spaceInterrupt =			compile preprocessFileLineNumbers "custom\dayz_spaceInterrupt.sqf"

В этот же файл вписываем 

//Esc
if (_dikCode == 0x01) then {
    _nill = execvm "custom\esc.sqf";
    DZE_cancelBuilding = true;
    call dayz_EjectPlayer;
};

5. Создаём в папке custom файл esc.sqf. Добавляем в него следующий код: 

// F507DMT
for "_x" from 3 to 1 step -1 do {
(findDisplay 106) closeDisplay 1;
uiSleep 1;
    
    if (isNil "EscBlock") then {
     systemchat "[Анти-Дюп]: Инвентарь заблокирован на 5 секунд.";
     EscBlock = true;
    };
};
EscBlock = nil;

6. Добавить в исключение в файлах батлая. Открыть файл publicvariable.txt и вписать во второй строчке !="AD_AntiDupePlayer"
Установка завершена. Думаю, что это больная тема для многих. Поставьте плюсик за перевод :)


Фикс ошибок RPT

23 ноября 2016 - 22:17

Суть проблемы такова. Решил привести свою старую сборку в рабочее состояние. При 20 онлайне серверный фпс упал до 10.
Естественно, столкнулся с ошибками в рпт. Большую часть смог пофиксить сам, осталась ещё одна часть, с которой прошу помочь:
 

if (!_actionSet) then {
s_player_holderPickup>
14:28:49   Error position: <_actionSet) then {
s_player_holderPickup>
14:28:49   Error Undefined variable in expression: _actionset
14:28:49 File z\addons\dayz_code\init\object_BackpackAction.sqf, line 13

Эти постоянно спамит, не даёт покоя

21:03:26 Warning Message: You cannot play/edit this mission; it is dependent on downloadable content that has been deleted.
mbg_killhouses
21:03:26 Cannot create entity with abstract type ZSU_Base (scope = private?)
21:03:26 Cannot create non-ai vehicle ZSU_Base,

Это тоже очень интересные ошибки. Понять не могу, откуда. Полагаю, что киллхаусы в variables вписать?


Ещё очень долго подключается к серверу при высоком онлайне. Это с чем связано может быть?


Даём новому игроку денег в банк| ZSC 2.0| Banks

23 ноября 2016 - 21:22

Триггер взят с Epochmod.com.
Переведён мною.

Для этого нам понадобятся:
1. Доступ к SQL
2. ZSC 2.0
3. Прямые руки :D

 

CREATE TRIGGER `StartingMoney` AFTER INSERT ON `player_data`
 FOR EACH ROW INSERT INTO banking_data
( PlayerUID, PlayerName, BankSaldo,  LastUpdated)
VALUES
(NEW.PlayerUID, NEW.PlayerName, 100000, NOW())

Выберите свою базу данных, вставьте этот код и запустите его.
Теперь каждый игрок, заходя на сервер, получит 100к валюты в свой банк.
Вы можете изменить "100000" на любую сумму, которую сочтёте нужным.

Пожалуйста, поддержите плюсиком за данный гайд :)


Худ | Дебаг монитор

22 ноября 2016 - 04:20

http://itmages.ru/im...219992/be3f0914
http://itmages.ru/im...219997/f33c7d57
1. Есть у кого такой худ, как на скрине? 
2. Вопрос к Ультиме. Взял с RN портала себе такой дебаг монитор. Не работает строчка "онлайн" и "до рестарта осталось". Как это реализовать? 
Код дебаг монитора:
 

if ((isServer) || (isDedicated)) exitWith {diag_log "custom_debug:: Script tried to launch serverside where it should not be!";};
waitUntil {!isNil "dayz_animalCheck"};

[2] spawn // Specify the default state. 0=OFF 1=SMALL 2=LARGE
{
    private ["_displayActive","_fps","_lastFpsUpdate","_logo"];
	displayState = (_this select 0);
	_displayActive = if (displayState == 0) then { false } else { true };
	_fps = round(diag_fps);
	_lastFpsUpdate = diag_tickTime;
	_logo = "custom_debug\logo_red.paa";                             /*DIK*/
    (findDisplay 46) displayAddEventHandler ['keyDown','if ((_this select 1) == 0xCF) then { if (displayState > 0) then { displayState = displayState - 1; } else { displayState = 2;}; };'];
	                                                                           /*DIK*/
	while {true} do {
    	if ((diag_tickTime - _lastFpsUpdate) > 0.9) then {
		    _fps = round(diag_fps);
			_lastFpsUpdate = diag_tickTime;
		};
		sleep 0.1;
        switch (displayState) do {
            case 0: { // Display off.
                if (_displayActive) then {_displayActive = false; hintSilent "";}; 
			};
            case 1: { // Display small.
			    _displayActive = true;
				hintSilent parseText format
				["
				 <img size='1.4' align='left' image='%1'/><br/>
				 <t size='1'   color='#EE8888' font='Zeppelin33' align='left'>Кровь: %2</t><br/>
				 <t size='1'   color='#6EF191' font='Zeppelin33' align='left'>ФПС: %3</t>
				 ",
				 _logo,
				 (player getVariable ['USEC_BloodQty',r_player_blood]),
				 _fps
				];
			};
            case 2: { // Display large.
			    _displayActive = true;
				hintSilent parseText format
				["
				 <img size='3.2' align='center' image='%1'/><br/>
				 <br/>
				  <t size='1'   color='#6ECCF1' font='Bitstream' align='left'>Выживание: %11 Дней</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито бандитов: %2</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито зомби: %3</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Убито героев: %4</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Выстрел в голову: %12</t><br/>
				 <t size='1'   color='#00CC00' font='Bitstream' align='center'>Онлайн: %14</t><br/>
				 <t size='1'   color='#6EF191' font='Bitstream' align='left'>Репутация: %5</t><br/>
				 <t size='1'   color='#EE8888' font='Bitstream' align='left'>Кровь: %6</t><br/>
				 <t size='1'   color='#6ECCF1' font='Zeppelin33' align='left'>ФПС: %7</t><br/>
				 <t size='1'   color='#6EF191' font='Bitstream' align='left'>Осталось до рестарта: %13 Минут</t><br/>
				 <t size='0.9' color='#EE8888' font='Zeppelin33' align='left'>[END] Свернуть</t>
				 ",
				 _logo,
				 (player getVariable ['banditKills',0]),
				 (player getVariable ['zombieKills',0]),
				 (player getVariable ['humanKills',0]),
				 (player getVariable ['humanity',0]),
				 (player getVariable ['USEC_BloodQTY',r_player_blood]),
				 _fps,
				 (dayz_Survived),
				 (player getVariable['headShots',0]),
				 (240-(round(serverTime/60))),
				 (count playableUnits)
				];
			};
		};
    };
};