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
DrTauren

Настройка стартового лута игроков

Recommended Posts

4 часа назад, Yuki сказал:

Возможно. Но тут ты должен модифицировать класс уже имеющейся одежды.
Я вот себе админ сумку сделал
 

itemsCargoSize[]={10,40};


itemsCargoSize[]={10,40};

 

тока клиент модом, насколько понимаю, а то будет товарищь тешить себя мыслью

Share this post


Link to post
Share on other sites







1 час назад, 123new сказал:

тока клиент модом, насколько понимаю, а то будет товарищь тешить себя мыслью

Ну естественно только клиент модом, там же надо новый класс в игру добавлять по сути.

Share this post


Link to post
Share on other sites

@DrTauren А вообще имеется возможность прописания стартового лута, в зависимости от точки спавна? Например, спавнишься в больничке, то в мед халате... спавнишь в полицайке, то в форме полицейского? Если да, то можно в трёх словах, где это искать )

Share this post


Link to post
Share on other sites
1 час назад, Verum сказал:

@DrTauren А вообще имеется возможность прописания стартового лута, в зависимости от точки спавна? Например, спавнишься в больничке, то в мед халате... спавнишь в полицайке, то в форме полицейского? Если да, то можно в трёх словах, где это искать )

в 0.63? Я серьезно щас начну выдавать предупреждения за флуд из-за написания в несоответствующих по подразделу темах

Share this post


Link to post
Share on other sites

Такой глупый вопрос и просьба продемонстрируйте пожалуйста развернуто как сделать 2 стартовых сета, а то только один выходит!

Спасибо за помощь!

 

Share this post


Link to post
Share on other sites
21.09.2018 в 07:46, DrTauren сказал:

Miarcad есть правда в твоих словах, но статью ещё не дописал, пометочка об этом стоит. Пока что написал как добавить чисто в инвентарь :smile:

player.GetHumanInventory().CreateInHands("M4A1")


player.GetHumanInventory().CreateInHands("M4A1")

Это работает, да. Единственное, что оружие спавнится при этом без магазина (хотя графически он присутствует), без прицела, цевья и всего остального.

 

С командой:

player.GetWeaponManager().AttachMagazine(mag);


player.GetWeaponManager().AttachMagazine(mag);

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

Остаётся ждать инфы в этой теме от тех кто уже разобрался, тогда и доделаю гайд по-полной и всё оформлю хорошенько :relieved:

itemCreated = NULL;                                                            // Обнуляем значение переменной после работы с ней, нужно если мы будем использовать ее далее
                itemCreated = player.GetHumanInventory().CreateInHands("TF_M4A1_CQBR");              


                if (itemCreated)                                                            // Проверяем, создался ли АКМ
                {
                    itemCreated.GetInventory().CreateAttachment( "TF_M4_ADARBttstck" );                
                    itemCreated.GetInventory().CreateAttachment( "TF_M4_SMR13Hndgrd_MLOCK_FDE" );             
                    itemCreated.GetInventory().CreateAttachment( "Mag_STANAG_60Rnd" );                
                    itemCreated.GetInventory().CreateAttachment( "TF_BCM_MLOCK_Grip_FDE" );               
                    itemCreated.GetInventory().CreateAttachment( "TF_EOTechXPSOpticDown_Black" );                              
                    itemCreated.GetInventory().CreateAttachment( "GhillieAtt_Mossy" );                
                    itemCreated.GetInventory().CreateInInventory( "Battery9V" );               
                    itemCreated.GetInventory().CreateInInventory( "" );                
                    itemCreated.GetInventory().CreateInInventory( "" );
                    itemCreated.GetInventory().CreateAttachment( "" );               
                    itemCreated.GetInventory().CreateAttachment( "" );                
                }
                
                break;
            }

Share this post


Link to post
Share on other sites

как сделать чтобы после появления у тебя уже был забинжен бинт и нож на цифру ?

Share this post


Link to post
Share on other sites

@эльдар Рабочий

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

Edited by Irkutsk86 (see edit history)

Share this post


Link to post
Share on other sites

если что, напоминаю, чисто так, для проформы, тема в разделе для

28393010_.png.774a251bf429886dd3863766fc92e513.png

соответственно вы ее обсуждаете 😉

 

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites

write the appropriate code in the game functions you need. For the 0.63 version of the game, this code is approximately the same as for the release version of the game.

Share this post


Link to post
Share on other sites

 

setTimeForScripts 90;

//call compile preprocessFileLineNumbers "\dz\modulesDayZ\init.sqf";
call compile preprocessFileLineNumbers "modules_dayz\init.sqf";

DB_DEBUG = false;  // not edit
DZ_MP_CONNECT = true;  // not edit
DZ_PLAYER_COUNT = getServerMaxPlayers;  // not edit

// database time settings
DZ_SAVE_SLEEP = 120; // time saving player when player is online and play (time in seconds)
DZ_TIME_EXIT_AGENT = 30; // time saving player when player is online and play (time in seconds)
DZ_TIME_DELETE_DEAD_ZED = 60; // time deleting dead object ZED after him dead in server (time in seconds)
DZ_TIME_DELETE_DEAD_PLAYER = 60; // time deleting dead agent player after him dead in server (time in seconds)
DZ_TIME_WAITING_SPAWN_PLAYER = 30; // time waiting player in blackscreen after connect to server (time in seconds)

//settings
DZ_MAX_ZOMBIES = 1000;
DZ_MAX_ANIMALS = 500;
_Enable_SPAWNER_CARS = false;  // WARN: cars and helicrashs is saved in server storage! Need spawn only 1 start server! Next starts is not spawn him!
// Edit spawnscript cars this scripts\custom\SpawnCars.sqf
_Enable_SPAWNER_HELICRASHES = true; // WARN: cars and helicrashs is saved in server storage! Also, Heli spawned with events.xml from server, but added in script test function clear old heli.
// Edit spawnscript helicrashs this scripts\custom\Helicarsh.sqf
DZ_COUNT_HELICRASHES = 12;
DZ_Enable_Kill_Messages = true;
DZ_Enable_Login_Disconnect_Messages = true;

//Donate
array_donategroup_ADMIN = ["9600161061273613348"];

//----- simple scheduler part -----

connectedPlayers = [];
for "_x" from 0 to (DZ_PLAYER_COUNT-1) do
{
	connectedPlayers set [_x,0];
};


diag_log format ["SCHEDULER: Connected players array init, count %1, %2",count connectedPlayers, connectedPlayers];
//---------------------------------

call db_loadPlaer;
//call dbLoadPlayer;  original fnc, not work

_humidity = random 0.8;
//setDate [2013, 07, 07, 6, 0];
[0,0] setOvercast _humidity;
setWindMaxSpeed 10;
setWindSpeedOfChange 50;
setWindFnMin 0.2;
setWindFnMax 1;
simulWeatherSync;

//dbInitEconomy ["http://localhost:8080/"];
dbInitEconomy [true];
setTimeForScripts 0.03;

//call init_spawnZombies;
//sleep 1;
call init_spawnWildAnimals;
sleep 1;

if (_Enable_SPAWNER_CARS) then {
	Call init_spawn_cars; 
};
if (_Enable_SPAWNER_HELICRASHES) then {
	Call init_spawn_Helicarshes;
};

//----- simple scheduler part -----
index = 0;
indexTarget = DZ_PLAYER_COUNT;
onEachFrame {	
	if (index < DZ_PLAYER_COUNT) then {
		_playerToTick = connectedPlayers select index;	
		//diag_log format ["SCHEDULER: Select clientId to tick %1 on index %2", _playerToTick, index];	
		if (_playerToTick != 0) then {
			_player = playerOn _playerToTick;		
			if (alive _player) then
			{
				_player call tick_modifiers;	
				_player call tick_states;		
				_player call tick_environment;
				_player call fnc_sendNotifiersToEnfusion;
			};
		};
	};
	index = index + 1;		
	if (index == indexTarget) then {
		indexTarget = (round(diag_fps * 2)) max DZ_PLAYER_COUNT; //indexTarget = (round(diag_fps * 2)) max DZ_PLAYER_COUNT; //ideal is 25fps to get 2s ticks
		index = 0;
	};
};


//---------------------------------

[] spawn
{
        while {true} do
        {
			{	
				_x call tick_modifiers;	
				_x call tick_states;		
				_x call tick_environment;
				_x call fnc_sendNotifiersToEnfusion;
			}foreach players;
			sleep 2;
		};
};
private ["_id","_uid","_agent"];

_id = _this select 0;

_uid = _this select 1;

diag_log format["INFO SPAWN SYSTEM: SPAWN NEW AGENT FOR PLAYER WITH UID %1!",_uid];

//_pos = _posArr select (floor random (count _posArr));
_pos = _uid call fnc_posBubbles;

if (DB_DEBUG) then { _pos = [7053.37,2771.16,11.8116]; };

_mySkin = DZ_SkinsArray select (floor random (count DZ_SkinsArray));

_top = getArray(configFile >> "cfgCharacterCreation" >> "top");
_bottom = getArray(configFile >> "cfgCharacterCreation" >> "bottom");
_shoe = getArray(configFile >> "cfgCharacterCreation" >> "shoe");

_myTop = _top select (floor random (count _top));  
_myBottom = _bottom select (floor random (count _bottom));  
_myShoe = _shoe select (floor random (count _shoe));  

diag_log format["INFO SPAWN SYSTEM: SELECTED FOR SPAWN NEW AGENT PLAYER WITH UID %1: POSITION: %2 SKIN %3 TOP %4 BOTTOM %5 SHOE %6!",_uid,_pos,_mySkin,_myTop,_myBottom,_myShoe];

_agent = createAgent [_mySkin,  _pos, [], 0, "NONE"];

{null = _agent createInInventory _x} forEach [_myTop,_myBottom,_myShoe];
	
_v = _agent createInInventory "Consumable_Roadflare";
_v = _agent createInInventory "Consumable_Rags"; _v setQuantity 1;

if (_uid in array_donategroup_ADMIN) then
{
	_v = _agent createInInventory "Gorka_pants_summer";
	_v = _agent createInInventory "Gorka_up_summer";
	_v = _agent createInInventory "BagTortilla";
	_v = _agent createInInventory "MilitaryBoots_Black";
	_v = _agent createInInventory "GorkaHelmet_complete_Green";
	_v = _agent createInInventory "HighCapacityVest_Olive";
	_v = _agent createInInventory "WorkingGloves_Brown";
	_v = _agent createInInventory "BalaclavaMask_Green";
	_v = _agent createInInventory "Medical_Morphine";
	_v = _agent createInInventory "Medical_BandageDressing";_v setVariable ["quantity",1];
	_v = _agent createInInventory "Medical_TransfusionKit";
	_v = _agent createInInventory "AKM";
	_v = _agent createInInventory "Att_Bipod_Atlas";
	_v = _agent createInInventory "Att_Light_Universal";
	_v = _agent createInInventory "Att_Buttstock_AK_Wood";
	_v = _agent createInInventory "Att_Optic_PSO1";
	_v = _agent createInInventory "Att_Handguard_AK_Rail_Black";
	_v = _agent createInInventory "Att_Suppressor_AK";
	_v = _agent createInInventory "M_AKM_drum_Black";
	_v = _agent createInInventory "M_AKM_drum_Black";
	_v = _agent createInInventory "M_AKM_drum_Black";
	_v = _agent createInInventory "FireFighterAxe";
	_v = _agent createInInventory "glock19";
	_v = _agent createInInventory "Att_Suppressor_Pistol";
	_v = _agent createInInventory "M_Glock_15Rnd";
	_v = _agent createInInventory "M_Glock_15Rnd";
	_v = _agent createInInventory "CombatKnife";
	_v = _agent createInInventory "Drink_Canteen";_v setVariable ["quantity",1000];
	_v = _agent createInInventory "Drink_Canteen";_v setVariable ["quantity",1000];
	_v = _agent createInInventory "Food_Rice";_v setVariable ["quantity",1];
	_v = _agent createInInventory "Consumable_Matchbox";_v setVariable ["quantity",100];
	_v = _agent createInInventory "Tool_LeatherSewingKit";
	_v = _agent createInInventory "Tool_SewingKit";        	
};
	
_agent call init_newPlayer;

// _agent initDBIDs[_id,_uid];

[_agent,_uid,_id] call init_newBody;

null = _uid call fnc_dbCreateCharInProfile;	

connectedPlayers set [(connectedPlayers find 0), _id];
	
// null = _agent call fnc_reloadWeaponOnSpawn;

 

Edited by 123new
исправление дубликата текста вне блока для вставки кода (see edit history)

Share this post


Link to post
Share on other sites
7 часов назад, sdlimayt сказал:

would have to define the init spawn for a specific player via GUID or UID?

as samply, check:

//Donate
array_donategroup_ADMIN = ["9600161061273613348"];

and

if (_uid in array_donategroup_ADMIN) then
{
	_v = _agent createInInventory "Gorka_pants_summer";
	_v = _agent createInInventory "Gorka_up_summer";
	_v = _agent createInInventory "BagTortilla";
	_v = _agent createInInventory "MilitaryBoots_Black";
	_v = _agent createInInventory "GorkaHelmet_complete_Green";
	_v = _agent createInInventory "HighCapacityVest_Olive";
	_v = _agent createInInventory "WorkingGloves_Brown";
	_v = _agent createInInventory "BalaclavaMask_Green";
	_v = _agent createInInventory "Medical_Morphine";
	_v = _agent createInInventory "Medical_BandageDressing";_v setVariable ["quantity",1];
	_v = _agent createInInventory "Medical_TransfusionKit";
	_v = _agent createInInventory "AKM";
	_v = _agent createInInventory "Att_Bipod_Atlas";
	_v = _agent createInInventory "Att_Light_Universal";
	_v = _agent createInInventory "Att_Buttstock_AK_Wood";
	_v = _agent createInInventory "Att_Optic_PSO1";
	_v = _agent createInInventory "Att_Handguard_AK_Rail_Black";
	_v = _agent createInInventory "Att_Suppressor_AK";
	_v = _agent createInInventory "M_AKM_drum_Black";
	_v = _agent createInInventory "M_AKM_drum_Black";
	_v = _agent createInInventory "M_AKM_drum_Black";
	_v = _agent createInInventory "FireFighterAxe";
	_v = _agent createInInventory "glock19";
	_v = _agent createInInventory "Att_Suppressor_Pistol";
	_v = _agent createInInventory "M_Glock_15Rnd";
	_v = _agent createInInventory "M_Glock_15Rnd";
	_v = _agent createInInventory "CombatKnife";
	_v = _agent createInInventory "Drink_Canteen";_v setVariable ["quantity",1000];
	_v = _agent createInInventory "Drink_Canteen";_v setVariable ["quantity",1000];
	_v = _agent createInInventory "Food_Rice";_v setVariable ["quantity",1];
	_v = _agent createInInventory "Consumable_Matchbox";_v setVariable ["quantity",100];
	_v = _agent createInInventory "Tool_LeatherSewingKit";
	_v = _agent createInInventory "Tool_SewingKit";        	
};

in your data init, in is creating items for custom players list UID (Steam64id)

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 123new
      Вижу крайне много любопытных вопросов по поводу идентификаторов игрока в игре. Что же, разжую для не знающих немного.
       
      В игре есть следующие типы идентификаторов:
      1. Steam64ID идентификатор профиля игрока (на пиратках его UID называют), примерно такой: 765475....65 (17 цифр).
      2. Так называемый мною, BIS ID - uid из окна (консоли) сервера игры и ADM-файлов логов сервера, который пишется самой игрой
      3. Battleye GUID игрока.
       
      Первый идентификатор (Steam64ID) на ПК является прямым идентификатором стим-профиля игрока, уникальным у каждого игрока. Т.е. публичным идентификатором вашего профиля для большинства стим-игр (например, Counter-Strike).
      Второй идентификатор (BIS ID) является определенной хеш-суммой, полученной из Steam64ID посредством конвертации сначала в sha256, а затем в base64. Спасибо за это разъяснение и пример кода-конвертации авторам игры на своем официальном форуме.
      Третий идентификатор (Battleye GUID) является публичным идентификатором Battleye античита, получаемый также из Steam64ID поcредством получения его хеш-суммы MD5. Этот же идентификатор есть в логах сервера от Battleye, в любых RCON-приложениях (DART, BEC и т.п.), также его можно конвертировать самим.
       
      Так вот, как же получить Steam64ID:
      1. Зайти на любой ресурс, предназначенный для сбора таких данных. например на: https://steamid.io/
      2. Ввести ссылку на ваш стим-профиль
      3. Получить результат из кучи данных, одно поле из которых и будет содержать ваш Steam64ID
       
      Как получить BIS ID:
      1. Открыть любой Phyton v2.7 -конвертер в интернете, например: https://onecompiler.com/python2/3ycz55xew
      2. Ввести в него следующий код:
      # Hello World program in Python from hashlib import sha256 from base64 import b64encode def construct_bi_uid(steam_id): hashed = sha256() hashed.update(str(steam_id)) return b64encode(hashed.digest()) print construct_bi_uid(76514925976798981) 3. заменить 76514925976798981 на ваш Steam64ID
      4. Отправить код в исполнение, нажав Execute.
      5. Получить результат
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      [Альтернатива] Метод на основе PHP:
      <?php /** * This is how you get user id (bohemia id) like you see in .ADM files from steam id. */ $steam_id = "76514925976798981"; $user_id = base64url_encode(hash('sha256', $steam_id, true)); function base64url_encode($data) { $b64 = base64_encode($data); if ($b64 === false) { return false; } $url = strtr($b64, '+/', '-_'); return $url; } echo $user_id; [Альтернатива] Метод для javascript - node.js:
      var crypto = require('crypto'); var body = "76514925976798981"; var hash = crypto.createHash("sha256"); var hash_result = hash.update(body, 'utf8').digest('base64'); console.log(hash_result);  
      Как получить Battleye GUID:
      1. Открыть любой ресурс с готовой формой конвертирования, например:
      https://armstalker.com/guid/
      https://dayzrussia.com/f/index.php?pages/dayzguid/
      либо написать свою, на основе данных, предложенных на странице Github
      https://gist.github.com/chris579/53053b6d6438df9a9718c23c0d6bbd69
      Оставлю ниже код для Phyton:
      # Thanks to gunlinux import md5 steamid=76514925976798981 temp = "" for i in range(8): temp += chr((steamid & 0xFF)) steamid >>= 8 m = md5.new("BE"+temp) print m.hexdigest() Код для PHP:
      var crypto = require('crypto'); var body = "76514925976798981"; var hash = crypto.createHash("sha256"); var hash_result = hash.update(body, 'utf8').digest('base64'); console.log(hash_result); '2. Вставить в поле ввода UID(Steam64ID) ваш Steam64ID
      3. Нажать кнопку конвертирования или исполнить код, и получить в готовом виде Battleye GUID
       
      Возможно имеются и другие методы и наработки в получении данных идентификаторов более простыми методами, на других языках, либо автоматически. Я описал лишь известные мне.
      Все желающие могут добавить в комментариях свои способы конвертаций, возможно это поможет кому-либо.
    • By vitacite
      Бесплатные проекты - "пацаны собрались и замутили сервачок" долго не живут.  В этом я убеждался много раз. Нет сначала на интузиазме эффективность неплохая, но затем все это затухает управляемость команды падает.  Начинаются вопросы - "а почему это должен делать я?",  отмазки "да я на даче сегодня", "да у меня командировка" и тд...  + кто-то должен спонсировать оплату сервера, антидудосов и прочей лобуды, а такого человека интерес тоже может пропасть в любой момент. А чтобы проект был хороший - кому-то надо реально "въебывать", как на второй работе, и  кому-то постоянно вливать туда бабло.
      Поэтому, лично я, считаю любой некоммерческий проект заранее проваленным!  Побегать недельку другую с друзьями это да. Что-то более серьезное, не тратьте свои силы и время! Как минимум на  тему сталкера я таких проектов видел 10 штук и в некоторых даже сам поучаствовал. Начиналось все амбициозно и даже набирало онлайн до 100 человек. Но заканчивалось все одинаково 3-4 месяца и с десято скучающих тел, на безлюдном сервере.  С точки зрения администации, игроки ведут себя как проститутки, бегая с сервера на сервер, друзья перешли, или потому что на том добавили новый прикольный скрип, или прикольную тачку, или тут плохой пинг, а там хороший, или админ козел забанил за читы и тд.  а все эти приколюхи требуют денег, а игровое сообщество не очень расположено их платить за некачественный контент. Да и сама администрация достаточно быстро забивает и расслабляется.
      (я сейчас не говорю о конкретном проекте, скорее это собирательный образ халявы).
       
      А теперь по-существу.  Так сколько должен стоить контент с хотя бы приемлемым качеством?  

      Свое мнение я написал ниже.
       
       
      Спасибо за внимание.
       
      А что думаете Вы напишите ниже в комментариях!
       
       
    • By DrTauren
      Как всем известно, сегодня, 19 сентября разработчики DayZ Standalone официально опубликовали документацию серверов Dayz, а также предоставили возможность скачать файлы для запуска сервера DayZ. Ниже прилагается перевод официальной документации этих самых файлов с форума DayZ, а также документация касательно других файлов, которых нет в официальной документации. Пользуйтесь на здоровье 
       
      Скачать серверные файлы через Steam: steam://rungameid/223350
      На данный момент присутствует ошибка с невозможностью скачать файлы сервера, если на вашем аккаунте Steam отсутствует купленная DayZ.
       
      P.S. Если у вас есть чем заполнить эту статью, обязательно пишите мне в лс 
    • By Serdce
      Ссылка на первоисточник - https://github.com/BrettNordin/Exile
      Я всего лишь перевёл
      Собственно переходим по ссылке, и скачиваем архив.
      Для тех, кто не знает как качать с хаба скрин 
      И так, едем дальше
      Скачанный архив распаковываем в удобное место для работы,
      Идём в ваш @ExileServer, там нас интересуют файлы - extDB2.dll , extDB2.so , extDB2-conf.ini , XM8.dll , XM8.so Удаляем эти файлы
      Далее идём в @ExileServer которую мы скачали, всё её содержимое копируем в аналогичную папку на сервере.
      Теперь идём в вашу MPmissions и там распаковываем вашу миссию "Exile.название карты",
      Туда мы копируем содержимое папки Exile.MapName из архива,
      Далее открываем ваш config.cpp и ищем там class CfgExileCustomCode 
      В него мы добавляем - #include "CfgExileCustomCode.cpp"
      Должно получится так
      Запаковываем обратно)
      Ну и теперь из архива мы копируем tbbmalloc.dll, tbbmalloc_x64.dll в папку расположения вашего Arma3_server.exe
      Не забываем поменять в вашем файле запуска сервера с arma3server.exe на arma3server_x64.exe 
      Ну и финишная прямая, открываем вашу базу данных ( желательно с название exile ) и добавляем файл Exile_Database_Update_64x.sql
      Далее настройте под себя ваш extdb3-conf.ini
       
  • 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.