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
123new

AdminBookMenu для DayZ 0.62

Recommended Posts

И снвова здравствуйте, товарищи!

Думаю, многие из вас уже натыкались на BookMenu в сборках серверной части 0.62 в сети, но большинство не смогло их установить. В данной теме я опишу гайд, который поможет вам установить похожее меню на свой сервер, созданный на основе серверных файлов моей сборки:

 

Начнем:

1. Скачиваем архив: https://yadi.sk/d/tLLdv6vJRoYThQ

https://mega.nz/#!6CoyiCbY!FlMeng4M3ZtSQk1ttjim1-AD-_J8AerXrqK7VK0FWRI

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

2. Помещаем файл AdminBook.c по пути: scripts\4_World\Entities\ItemBase

3. Открываем в Notepad++: scripts\4_World\Entities\ManBase\PlayerBase.c
4. Находим:

void OnGetActions (ActionMenuContext ctx, Man player)
	{  	
		super.OnGetActions(ctx, player);
		if ( GetDayZGame().IsNewPlayer() && GetGame().IsServer() && m_ActionManager ) m_ActionManager.OnGetActions(ctx);
	}

И меняем на

void OnGetActions (ActionMenuContext ctx, Man player)
	{  	
		super.OnGetActions(ctx, player);
		if ( GetDayZGame().IsNewPlayer() && GetGame().IsServer() && m_ActionManager ) m_ActionManager.OnGetActions(ctx);

		float mySwitch;
		player.GetVariable ("toggleFreeCamOptions", mySwitch);
		
		if ( mySwitch == 1) //Shows actions on player only if switch is toggled on//set to 1 if 0 then does not show it!
		{
			ctx.AddAction("EXIT", 					1, 	NULL, 	1, 	true, 	true);
			// ctx.AddAction("TELEPORT TO PLAYER", 	2, 	NULL, 	1, 	true, 	true);
			// ctx.AddAction("MY ACTION #3", 		2, 	NULL, 	1, 	true, 	true);
			// ctx.AddAction("MY ACTION #4", 		2, 	NULL, 	1, 	true, 	true);
		}
		
	}

А также находим:

bool OnAction(int action_id, Man player, ParamsReadContext ctx)
	{
		super.OnAction(action_id, player, ctx);
		if( GetDayZGame().IsNewPlayer() && action_id == 109 && GetGame().IsServer() &&  m_ActionManager) m_ActionManager.OnAction();
	}

и меняем на

bool OnAction(int action_id, Man player, ParamsReadContext ctx)
	{
		super.OnAction(action_id, player, ctx);
		if( GetDayZGame().IsNewPlayer() && action_id == 109 && GetGame().IsServer() &&  m_ActionManager) m_ActionManager.OnAction();
		
		if ( GetGame().IsServer() )
		{
			switch (action_id)
			{
				case 1:
					
					string PlayerAdmin;
					player.GetVariable ( "PlayerName", PlayerAdmin );
					
					string cameraCode = "{ if (name _x == '" + PlayerAdmin + "') then {(owner _x) SpawnForClient { _cam = 'camconstruct' camCreate [0,0,0]; _cam CameraEffect ['Terminate', 'Back']; camDestroy _cam; }; }; }forEach players;";
										
					GetGame().ExecuteSQF(cameraCode);

					player.SetVariable( "toggleFreeCamOptions", 0);

					break;
					
				case 2:
				
					string freeCamTeleportPos;
					player.GetVariable ( "freeCamTeleportPos", freeCamTeleportPos );
					
					vector teleportLocation = freeCamTeleportPos.ToVector();
					
					player.SetPosition(teleportLocation);

					break;
					
			};
		};
	}

P.S. Это необходимые опции для выхода с режима наблюдения

5. Открываем файл: MPMissions\dayz_Auto.ChernarusPlus\scripts\init\init_newBody.sqf  и находим строки:

playerBodies set [count playerBodies,_agent];
	_agent setVariable ["UID",_uid];

Добавляем ниже строки

_agent setVariable ["toggleFreeCamOptions",0];
	_agent setVariable ["freeCamTeleportPos",0];

Там же находим строку

myNotifiers = _agent getVariable ["myNotifiers",[]];

и добавляем ниже

_agent setVariable ["playerName",name _agent];

6. Открываем: scripts\DataBase\DataBase.h

И добавляем в конце файла следующее:

// InGame AdminMenu 'AdminBook' by 123new
	static const string AdminMenu_adminList = "76561200555123705,UID4,UID5"; 
	static const string AdminMenu_ModerList = "UID1,UID2,UID3";

Где, как вы уже догадались, в указанном формате UID модеров и админов на сервере

P.S. Соблюдайте, чтобы UID в списке админов не дублировался в списке модераторов, и наоборот

7. Запускаем сервер,добавляем в лут себе объект с id "BookTheThreeMusketeers" и проверяем то что мы сделали!
Меню будет на правой кнопке мышки на книжке, если вы прописали верно ваш UID.

 

У администрации доступно:
1. Изменение погоды
2. Выдача 3 наборов с лутом в качестве примера (сами потом редактируйте, на enscript) (при выдаче лута скидывайте книгу на землю!!!)
3. Наблюдение за игроками (дистанция ограничена дальностью отрисовки и синхронизации объектов на стороне клиента игры)

У модерации доступно:
1. Наблюдение за игроками (дистанция ограничена дальностью отрисовки и синхронизации объектов на стороне клиента игры)

Замеченные недостатки:
Поскольку меню работает по никам игроков, то возможны проблемы, поскольку некоторые символы могут не восприняться enscript текущей версии игры и вызывать проблемы скрипта.
Дальность наблюдения ограничена (см выше)
Поскольку Enscript 0.62 версии игры крайне сырой, возможны 'убегания' меню за экран

Где редактировать меню?
Все просто, тут весь код: scripts\4_World\Entities\ItemBase\AdminBook.c

Благодарности: Автору uhneb за его вариант с рабочим меню, которые сделал он, либо комьюнити, с которым он работал
Работоспособность: DayZ 0.62

Возможно, можно сделать эти меню более граммотно с нынешними знаниями по 0.63, но я считаю это уже нецелесообразным!

 

Чужая наработка автора BorizK (за что и благодарим его) на базе этого меню:

Описание имеется там же несколькими сообщениями ниже!

 

Замечу, что данный гайд основывается именно на мою версию сборки серверных файлов игры DayZ 0.62, но не исключено, что может подходить и к вашим серверным файлам! Также, возможно дорабатывать и изменять опционал меню, используя привычные sqf-функции. Для этого создавайте эти функции в sqf из mpmission, а затем дорабатывайте само book-menu под нужные вам опции. Пример исполнения sqf-кода на enscript (только для dayz 0.62) имеется в опции наблюдения!

Edited by 123new (see edit history)

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 Fan10m22
      серверный мод(для выдачи товаров), скрипт для работы сайта

      Похожий сайты:
      https://midnight-dayz.ru/store
      https://dayzpay.ru/

      Если знаете как сделать или есть уже готовое что то пишите в лс
      Вк: https://vk.com/whoiam5637
       
    • By Fan10m22
      Вообщем буду краток:
      Меня зовут Макс мне 20 лет.
      Я хочу открыть свой сервер Dayz на карте чернарусия. Для этого к меня есть малый опыт в открытие, но готов учиться. Есть в районе от 100-150 на создание сервера. 
      Нужны люди умеющие или бывшие держатели своего сервера. Возраст не важен главное желание. 
      Нужен:
      Кодер - человек который будет отвечать за работоспособность самого сервера.
      Дизайнер - который может сделать любой раскрас на одежде и по возможности создать совершенно новую одежду броню и т.д 
       
      Концепт сервера: ПВП сервер с трейдерами и т.д.
       
      За остальным пишите мне в:
      Вк: https://vk.com/whoiam5637
      Телеграмм: @abudab1
    • By Trueтень733
      500 метров и начинается туман ,есть у кого настройки тумана ???Спасибо)))

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

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • By Trueтень733
      Ищем человека кто сможет сделать Автоивент,либо подскажите у кого есть какие автоивенты для DayZ,кто занимается именно созданием ивентов,Спасибо!
    • By TokZe
      Добрый вечер, знающие подскажите как реализовать продажу через сайт, без очереди и вип!
      также как вывести топ игроков на сайт
  • 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.