Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 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 servers
  • Don'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
DimonButkovski

[ГАЙД]Неиспользуемые сейфы

Recommended Posts

Переписал код , нуждается в тестировании , (прошлая на 1.0.5.1 не работала ) 

 

Вот новая миссия 

private ["_rndvault","_curvaultcode","_curvault","_vaultarray","_numvaults","_allvaults","_spawnChance", "_spawnMarker", "_spawnRadius", "_markerRadius", "_item", "_debug", "_start_time", "_loot", "_loot_amount", "_loot_box", "_wait_time", "_spawnRoll", "_position", "_event_marker"];

diag_log ("Checking vaults...");
_allvaults = (allmissionobjects "VaultStorageLocked") + (allmissionobjects "LockboxStorageLocked");
_vaultarray = [];
{
	_curvault = _x;
	_curvaultcode = parseNumber (_curvault getVariable "CharacterID");
	if (_curvaultcode == 0 ) then {
		_vaultarray = _vaultarray + [_curvault];
		};
}forEach _allvaults;

_numvaults = (count _vaultarray);
diag_log ("Total open vaults on server: " + str(_numvaults));

if (_numvaults == 0) exitWith {};
_counter = 0;

{
if(_counter < 5)then{
_position = getPos _x;
_markerRadius = 250; 
_iPosX = _position select 0;
_iPosY = _position select 1;
_positionOffset = Random(_markerRadius);
_randomMath = Random(4);
if (_randomMath < 1 ) then {
 _randomPosition = [_iPosX - _positionOffset,_iPosY - _positionOffset,0 ];
} else {
	if (_randomMath < 2 ) then {
		_randomPosition = [_iPosX + _positionOffset,_iPosY + _positionOffset,0 ];
	} else{
		if (_randomMath < 3 ) then {
			_randomPosition = [_iPosX - _positionOffset,_iPosY + _positionOffset,0 ];
		} else {
			_randomPosition = [_iPosX + _positionOffset,_iPosY - _positionOffset,0 ];
		};
	};
};
_event_marker = createMarker [ format ["loot_event_marker_%1", _start_time], _randomPosition];
_event_marker setMarkerShape "ELLIPSE";
_event_marker setMarkerColor "Color4_FD_F";
_event_marker setMarkerSize [_markerRadius, _markerRadius];
_event_marker setMarkerText "Abandoned Safe: 0000";
_counter = _counter + 1;
};
}forEach _vaultarray;

 

Прошу добавить себе миссию  event , и сообщить о работоспособности . 

Edited by Bandit3 (see edit history)

Share this post


Link to post
Share on other sites



ОООООООООООООООООООООООООО ДААААААААААААААААААААААААААА

Давно хотел задать такую тему а тут, КРАСАВА

 

 

 

 

Тока напиши  в какую категорию запрос вставлять, и вообще поподробнее все это, а то не понятно как работает, а так тема вообще улет))

Edited by BIG_MONSTR (see edit history)

Share this post


Link to post
Share on other sites

Хорошая вещь, надо будет попробовать

Share this post


Link to post
Share on other sites

Для базы вполне хватит и этого запроса:

DROP EVENT IF EXISTS resetVaults; CREATE EVENT resetVaultsCode0000
ON SCHEDULE EVERY 1 DAY
COMMENT 'Sets safe codes to 0000 if not used for 60 days'
DO
UPDATE object_data SET CharacterID = 0 WHERE `LastUpdated` <= date_sub(CURRENT_TIMESTAMP, INTERVAL 60 DAY) AND (Classname LIKE '%vault%');
UPDATE object_data SET CharacterID = 10000 WHERE `LastUpdated` <= date_sub(CURRENT_TIMESTAMP, INTERVAL 60 DAY) AND (Classname LIKE '%box%'); 

 

Первый для больших сейфов (0000), второй для маленьких(Red00). У меня стоит 60 дней, но не суть.

Edited by rss_adm (see edit history)

Share this post


Link to post
Share on other sites

Хочу предупредить тех, кто собирается ставить этот скрипт.

 

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

 

Автор, если постишь, то расскажи как решить эту ошибку :) :

 

 

 

10:45:06 Error Undefined variable in expression: _curvaultcode
10:45:06 File z\addons\dayz_server\modules\vlt.sqf, line 19
10:45:06 Error in expression <= _allvaults select _i;
_curvaultcode = _curvault getVariable "CharacterID";
if >

10:45:06 Error position: <_curvault getVariable "CharacterID";
if >
10:45:06 Error Undefined variable in expression: _curvault
10:45:06 File z\addons\dayz_server\modules\vlt.sqf, line 18
10:45:06 "Total open vaults on server: 112"
10:45:06 "Location of randomly picked 0000 vault = [10546.8,16157.5,0.00197601]" 

 

 

 

Edited by rss_adm (see edit history)

Share this post


Link to post
Share on other sites

Хочу предупредить тех, кто собирается ставить этот скрипт.

 

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

 

Автор, если постишь, то расскажи как решить эту ошибку :) :

 

 

 

10:45:06 Error Undefined variable in expression: _curvaultcode
10:45:06 File z\addons\dayz_server\modules\vlt.sqf, line 19
10:45:06 Error in expression <= _allvaults select _i;
_curvaultcode = _curvault getVariable "CharacterID";
if >

10:45:06 Error position: <_curvault getVariable "CharacterID";
if >
10:45:06 Error Undefined variable in expression: _curvault
10:45:06 File z\addons\dayz_server\modules\vlt.sqf, line 18
10:45:06 "Total open vaults on server: 112"
10:45:06 "Location of randomly picked 0000 vault = [10546.8,16157.5,0.00197601]" 

 

 

 

Переписал код ,нуждается в тестировании ,жду ответа 

private ["_rndvault","_curvaultcode","_curvault","_vaultarray","_numvaults","_allvaults","_spawnChance", "_spawnMarker", "_spawnRadius", "_markerRadius", "_item", "_debug", "_start_time", "_loot", "_loot_amount", "_loot_box", "_wait_time", "_spawnRoll", "_position", "_event_marker"];

diag_log ("Checking vaults...");
_allvaults = (allmissionobjects "VaultStorageLocked") + (allmissionobjects "LockboxStorageLocked");
_vaultarray = [];
{
	_curvault = _x;
	_curvaultcode = parseNumber (_curvault getVariable "CharacterID");
	if (_curvaultcode == 0 ) then {
		_vaultarray = _vaultarray + [_curvault];
		};
}forEach _allvaults;

_numvaults = (count _vaultarray);
diag_log ("Total open vaults on server: " + str(_numvaults));

if (_numvaults == 0) exitWith {};
_counter = 0;

{
if(_counter < 5)then{
_position = getPos _x;
_markerRadius = 250; 
_iPosX = _position select 0;
_iPosY = _position select 1;
_positionOffset = Random(_markerRadius);
_randomMath = Random(4);
if (_randomMath < 1 ) then {
 _randomPosition = [_iPosX - _positionOffset,_iPosY - _positionOffset,0 ];
} else {
	if (_randomMath < 2 ) then {
		_randomPosition = [_iPosX + _positionOffset,_iPosY + _positionOffset,0 ];
	} else{
		if (_randomMath < 3 ) then {
			_randomPosition = [_iPosX - _positionOffset,_iPosY + _positionOffset,0 ];
		} else {
			_randomPosition = [_iPosX + _positionOffset,_iPosY - _positionOffset,0 ];
		};
	};
};
_event_marker = createMarker [ format ["loot_event_marker_%1", _start_time], _randomPosition];
_event_marker setMarkerShape "ELLIPSE";
_event_marker setMarkerColor "Color4_FD_F";
_event_marker setMarkerSize [_markerRadius, _markerRadius];
_event_marker setMarkerText "Abandoned Safe: 0000";
_counter = _counter + 1;
};
}forEach _vaultarray;

Share this post


Link to post
Share on other sites

Запихнул скрипт в тестовый серв, пока ошибок в RPT нет.

Подскажите как время, через которое откроется сейф, изменить на поменьше?

 

скрипт кинул в папку с миссией и в init.sqf вконце написал так

[] execVM "scripts\vlt.sqf";

Все правильно сделал?

Edited by stspartak (see edit history)

Share this post


Link to post
Share on other sites

Запихнул скрипт в тестовый серв, пока ошибок в RPT нет.

Подскажите как время, через которое откроется сейф, изменить на поменьше?

 

скрипт кинул в папку с миссией и в init.sqf вконце написал так

[] execVM "scripts\vlt.sqf";

Все правильно сделал?

Поддерживаю вопрос. И через сколько они вообще открываются?

Share this post


Link to post
Share on other sites

Если подключать файл через events, то там есть таймер.

Распиши пожалуйста, по подробнее.

Share this post


Link to post
Share on other sites

Вроде бы работает , нужно еще время для тестов .

 

в РТП  без ошибок

"Checking vaults..."
"Total open vaults on server: 0"

Share this post


Link to post
Share on other sites

 

Вроде бы работает , нужно еще время для тестов .

 

в РТП  без ошибок

"Checking vaults..."
"Total open vaults on server: 0"

А попробуйте поставить один сейф и в базе ему CharacterID выставить 0. Скрипт найдет этот сейф и тогда будет лог. Я в данный момент не имею возможности протестить..

Share this post


Link to post
Share on other sites

 

А попробуйте поставить один сейф и в базе ему CharacterID выставить 0

 

А зачем? Таких сейфов не может быть.

Share this post


Link to post
Share on other sites

А попробуйте поставить один сейф и в базе ему CharacterID выставить 0. Скрипт найдет этот сейф и тогда будет лог. Я в данный момент не имею возможности протестить..

У меня тоже очень мало времени что бы протестить все на 100% . (работа .сон ,работа) вот позавчера поставил на сервер 3 сейфа , жду.  и тоже проблематично ,сервер стоит на дом пк ( на хост пока что нет денег )  и компьютер то вкл то выкл . то интеренет пропадет то еще что то ))) нужно тестировать на полноценном сервере .вот и прошу народ что бы поставили себе на сервера . 

P.S rss_sdm  .  на форум Epoch попрошу не сливать . (обойдутся ) 

Share this post


Link to post
Share on other sites

А зачем? Таких сейфов не может быть.

Как не может быть? Очень даже может. Колонка CharacterID это и есть код от сейфов. И выставленный в 0 дает сейфу код 0000

Share this post


Link to post
Share on other sites

 

Переписал код ,нуждается в тестировании ,жду ответа 

private ["_rndvault","_curvaultcode","_curvault","_vaultarray","_numvaults","_allvaults","_spawnChance", "_spawnMarker", "_spawnRadius", "_markerRadius", "_item", "_debug", "_start_time", "_loot", "_loot_amount", "_loot_box", "_wait_time", "_spawnRoll", "_position", "_event_marker"];

diag_log ("Checking vaults...");
_allvaults = (allmissionobjects "VaultStorageLocked") + (allmissionobjects "LockboxStorageLocked");
_vaultarray = [];
{
	_curvault = _x;
	_curvaultcode = parseNumber (_curvault getVariable "CharacterID");
	if (_curvaultcode == 0 ) then {
		_vaultarray = _vaultarray + [_curvault];
		};
}forEach _allvaults;

_numvaults = (count _vaultarray);
diag_log ("Total open vaults on server: " + str(_numvaults));

if (_numvaults == 0) exitWith {};
_counter = 0;

{
if(_counter < 5)then{
_position = getPos _x;
_markerRadius = 250; 
_iPosX = _position select 0;
_iPosY = _position select 1;
_positionOffset = Random(_markerRadius);
_randomMath = Random(4);
if (_randomMath < 1 ) then {
 _randomPosition = [_iPosX - _positionOffset,_iPosY - _positionOffset,0 ];
} else {
	if (_randomMath < 2 ) then {
		_randomPosition = [_iPosX + _positionOffset,_iPosY + _positionOffset,0 ];
	} else{
		if (_randomMath < 3 ) then {
			_randomPosition = [_iPosX - _positionOffset,_iPosY + _positionOffset,0 ];
		} else {
			_randomPosition = [_iPosX + _positionOffset,_iPosY - _positionOffset,0 ];
		};
	};
};
_event_marker = createMarker [ format ["loot_event_marker_%1", _start_time], _randomPosition];
_event_marker setMarkerShape "ELLIPSE";
_event_marker setMarkerColor "Color4_FD_F";
_event_marker setMarkerSize [_markerRadius, _markerRadius];
_event_marker setMarkerText "Abandoned Safe: 0000";
_counter = _counter + 1;
};
}forEach _vaultarray;

Не работает,к сожалению....рпт спам в виде 

 

12:25:03 "Checking vaults..."

12:25:04 Error in expression if (_curvaultcode == 0 ) then {

_vaultarray >

12:25:04 Error position: <_curvaultcode == 0 ) then {

_vaultarray >

12:25:04 Error Undefined variable in expression: _curvaultcode

12:25:04 File z\addons\dayz_server\modules\abandoned_safe.sqf, line 9

12:25:04 Error in expression if (_curvaultcode == 0 ) then {

_vaultarray >

12:25:04 Error position: <_curvaultcode == 0 ) then {

_vaultarray >

12:25:04 Error Undefined variable in expression: _curvaultcode

12:25:04 File z\addons\dayz_server\modules\abandoned_safe.sqf, line 9

12:25:04 Error in expression if (_curvaultcode == 0 ) then {

_vaultarray >

12:25:04 Error position: <_curvaultcode == 0 ) then {

_vaultarray >

12:25:04 Error Undefined variable in expression: _curvaultcode

12:25:04 File z\addons\dayz_server\modules\abandoned_safe.sqf, line 9

12:25:04 "Total open vaults on server: 19"

12:25:04 Error in expression _event_m>

12:25:04 Error position: <_start_time], _randomPosition];

_event_m>

12:25:04 Error Undefined variable in expression: _start_time

12:25:04 File z\addons\dayz_server\modules\abandoned_safe.sqf, line 41

12:25:04 Error in expression _event_m>

12:25:04 Error position: <_start_time], _randomPosition];

_event_m>

12:25:04 Error Undefined variable in expression: _start_time

12:25:04 File z\addons\dayz_server\modules\abandoned_safe.sqf, line 41

12:25:04 Error in expression _event_m>

12:25:04 Error position: <_start_time], _randomPosition];

_event_m>

12:25:04 Error Undefined variable in expression: _start_time

12:25:04 File z\addons\dayz_server\modules\abandoned_safe.sqf, line 41

12:25:04 Error in expression _event_m>

12:25:04 Error position: <_start_time], _randomPosition];

_event_m>

12:25:04 Error Undefined variable in expression: _start_time

12:25:04 File z\addons\dayz_server\modules\abandoned_safe.sqf, line 41

12:25:04 Error in expression _event_m>

12:25:04 Error position: <_start_time], _randomPosition];

_event_m>

12:25:04 Error Undefined variable in expression: _start_time

12:25:04 File z\addons\dayz_server\modules\abandoned_safe.sqf, line 41

 

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 Gromillla
      Подскажите скрипт вывода на карту сейфов с паролем 0000, для всех игроков.
    • By Sonne
      Доброе утро собственно. Возникла ошибка с пропажей содержимого в сейфах после рестартов. Встречался кто нить с таким на версии 1.0.6? И как лечили если таковое было, логи пусты.
    • By Alexis
      кароче, рассказываю, дал запрос бд на открытии старых сейфов, и тут я узрел! ЧТО О БОЖЕ У МЕНЯ НЕТ ЗАПРОСА НА УДАЛЕНИЕ СЕЙФОВ С 0000!!! Подкиньте такой запрос пожалуйста...)
    • By BigCrazyCat
      Иногда после некоторого времени лут из сейфов просто пропадает.Часто это ключи.В чем может быть проблема?
    • By fckface
      Добрый день. Искал похожие темы на форуме - с данной проблемой не нашел ни одного топика, так что извините если дублирую.
       
      ПРОБЛЕМА: Все объекты, которые может ставить игрок (лавочки,стены,сейфы) устанавливаются как положено, к объектам с кодами правильно присваивается CharID.
      Только всем объектам присваивается ObjectUID с значениями от 16 до 20 цифр, а то и больше, из-за чего сейфы нельзя лутать после открытия и т.д. Я так понимаю что ObjectUID с такими значениями попадает в недопустимые для MySQL и он не может с ними работать
      Я не знаю почему так происходит и откуда начинать копать.
      Спасибо заранее.
  • Our picks

×
×
  • 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.