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

Recommended Posts

Автор я

На основе наработок комьюнити, на основе идей DaOne

 

Мучайте

P.S. Так же там есть доп функционал - для вызовов из класса миссии

P.S.2. Инструкция (на англ) внутрях

 

 

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

Share this post


Link to post
Share on other sites









Как понимаю, чтобы комманда работала, надо залогиниться как админ в чате сервера через #login {mypass} угадал?

Share this post


Link to post
Share on other sites

123new Да

Там правда код местами не структуирован - тк я постоянно эксперементирую и тд итп

некоторое не работает

Но админы на наших серверах и соседских юзают вовсю и не используют не зомберри не комьюнити онлайн тулз

Минус чатка игроков очищается при использовании

Впрочем я сделал еще и следующее

Парамер команды чатки на выходе подменяется и в чат игрокам при использовании летит пустая строка

Но это пришлось немного отмоддидь нативный scripts

Share this post


Link to post
Share on other sites

ясно, годно. Хоть и не оч чисто)

Share this post


Link to post
Share on other sites

Такая админка через чат @login уже была, все команды которые исполнял админ, все игроки видели на сервере

Share this post


Link to post
Share on other sites

danisimus тут не видно - чат чистится раньше чем они долетают до игроков

тут реализована полная очистка

у меня же есть вариант (сейчас на тесте) где только одна строка - оно то работает то нет

Edited by BorizzK (see edit history)

Share this post


Link to post
Share on other sites

Самое основное это перехват чатки (разумеется в чат над войти #login пароль)

 

	override void OnEvent(EventType eventTypeId, Param params) //Call from chat
	{
		switch(eventTypeId)
		{
			case ChatMessageEventTypeID:
			{
				ChatMessageEventParams chat_params = ChatMessageEventParams.Cast(params);
				if (chat_params.param1 == 0 && chat_params.param2 != "" && chat_params.param3 != "") //trigger only when channel is Global == 0, Player Name does not equal to null and entered command
				{
					AdminMod.OnAdminChatRequest(params); //Redirect call from chat to AdminMod
				}
			break;
			}
			default:
			{
				super.OnEvent(eventTypeId,params);
			break;
			}
		break;
		}
	}

 

Share this post


Link to post
Share on other sites
35 минут назад, BorizzK сказал:

Самое основное это перехват чатки (разумеется в чат над войти #login пароль)

 


	override void OnEvent(EventType eventTypeId, Param params) //Call from chat
	{
		switch(eventTypeId)
		{
			case ChatMessageEventTypeID:
			{
				ChatMessageEventParams chat_params = ChatMessageEventParams.Cast(params);
				if (chat_params.param1 == 0 && chat_params.param2 != "" && chat_params.param3 != "") //trigger only when channel is Global == 0, Player Name does not equal to null and entered command
				{
					AdminMod.OnAdminChatRequest(params); //Redirect call from chat to AdminMod
				}
			break;
			}
			default:
			{
				super.OnEvent(eventTypeId,params);
			break;
			}
		break;
		}
	}

 

ESP есть?

Share this post


Link to post
Share on other sites

danisimus какое еще esp в чисто серверной админке?

можно вывести список игроков с уидами и координатами - /listplayers

 

Share this post


Link to post
Share on other sites

@irkutsk38 я понимаю, что Enter, но как не странно, но команды не работают (я даже не менял ничего). 

Share this post


Link to post
Share on other sites

griha41 Перехват чата на стороне сервера в 1.05 в принципе не возможен
Нужно писать свой интерфейс

Я уже начал

Но неизвестно когда допилю

Share this post


Link to post
Share on other sites
58 минут назад, BorizzK сказал:

griha41 Перехват чата на стороне сервера в 1.05 в принципе не возможен
Нужно писать свой интерфейс

Я уже начал

Но неизвестно когда допилю

expansion мод и серверным модом его моддить, глобальный чат с него кушать на изи.
Если интересно еще и с локального кушать, то была дома поделка, могу сварганить на основе его мода, а там уже своим серверным модом хоть че крути-верти с чатом и его данными

 

Share this post


Link to post
Share on other sites

123new Да

Ибо они ваще сломали ChatPlayer - не работает - совсем

Я в экспаншн еще не лазил - не разбирался чо там моддидь и откуда чо ловить

 

Я пока VPP пользую - хотя она конечно не дает многого

потому для тестов оставил и серв и клиент 1.4

 

Ща вот BuildAnywhere перепилил и опубликовал v3 - исправил косяки Клитуса в конфиге и добавил фикс грядки что бы не ставили где попало - пока временный

Edited by BorizzK (see edit history)

Share this post


Link to post
Share on other sites

BorizzK все вписал в init.c но почему-то не работает) помоги пж. надо ли на стороне клиента что-то писать?

Edited by fedotovyasha (see edit history)

Share this post


Link to post
Share on other sites

Сейчас перехват чата работает только через сторнние чаты

 

Штатный чат сломан на стороне сервера

Share this post


Link to post
Share on other sites

Радостная новость. Ожидается фикс в  1.06, срока чейнджлога

Added: Sending ChatMessageEvent when a chat message is received on server - https://feedback.bistudio.com/T143957/

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

 

Но, поживём - посмотрим.

Share this post


Link to post
Share on other sites

griha41 да на экспе уже работает

Но есть нюанс

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

Можно для игроков сделать команды...

Share this post


Link to post
Share on other sites
15 минут назад, BorizzK сказал:

griha41 да на экспе уже работает

Но есть нюанс

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

Можно для игроков сделать команды...

ну это много что упрощает, хоть чатовую но админку можно сделать, и это то что минимум необходимо этой игре. Уж не говоря о не админ функционале типа раст комманд

Share this post


Link to post
Share on other sites

@BorizzK, сможешь выложить свою админку, как будет релиз на стабилке?

А то что-то соскучился по этой вещичке, да и если честно, то тогда не надо будет логиниться под админом (если собщения от игрока перехватываются).

А для остальных игроков - можно будет сделать что-то вроде какой-нибудь консольки, типа командного меню, с плюшками типа правила, дата-время (сервера) и т.д. думаю будет весело :-) Правда было-бы адски весело, если если бы бохемия предоставила заголовочники библиотек для ДЗ, тогда можно было-б припаять на сервер сайд жалобницу с е-маилом или подобным трешем... Но это всё мечты.

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 Sancezz063
      Привет, есть ли актуальная админка , которая работает без общей загрузки мода.
      Раньше была Dayz-Sa-Tomato которая не требовала чтобы все игроки загружали эту админку, но разработчик прекратил разработку этой админки.
      Есть ли аналоги ? 
    • By Alex39
      Прописал скрипт, серверные сообщение, вроде как работают, но есть косяки, может кто подскажет в чем проблема,
      override void OnInit() { GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(NumPlayersOnServer, 30000, true); // 30 seconds } void NumPlayersOnServer() { ref array<Man> players = new array<Man>; GetGame().GetPlayers( players ); int numPlayers = players.Count(); for( int i=0; i < players.Count(); ++i ) { Man player = players.Get(i); if( player ) { string messPlayers = "Players on the server: " + numPlayers.ToString(); Param1<string> m_MessageParam = new Param1<string>(messPlayers); GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_MessageParam, true, player.GetIdentity()); } } }
       
      Проблема пропадание трейдера, админ тулз из за этого скрипта
       
      override void OnInit() { GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(NumPlayersOnServer, 30000, true); // 30 seconds }  
    • By 123new
      В данной теме мы с вами научимся создавать простой скрипт, который позволит выводить в чат объявления о количестве игроков.
       
      Нам понадобится:
      1. Сервер DayZ 1.0, сделанный по одному из гайдов:
      2. Notepad++
      3. Немножечко трезвого ума
       
      Приступим:
      1. Открываем Mpmissions - dayzOffline.chernarusplus - init.c
      2. В самом начале файла добавляем:
      #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\PlayersMessagesCount.c" Находим функцию
      void main() и перед ее закрывающей скобкой "}"добавляем:
      GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(SendPlayersCount, CountPlayers_TIME_InfoPlayers_Repeat, true); 3. Помещаем в папку файл
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Либо создаем вручную этот файл с именем "PlayersMessagesCount.c" и заполняем его следующим текстом:
      int CountPlayers_TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000) string Message_Chat = "Online Players: "; void SendPlayersCount() { array<Man> players = new array<Man>; GetGame().GetPlayers( players ); int numbOfplayers = players.Count(); if( numbOfplayers > 0 ) { foreach(Man player: players) { CountPlayers_SendPersonalMessage(Message_Chat + numbOfplayers.ToString(), player); } // GetGame().ChatPlayer(0,Message_Chat + numbOfplayers.ToString()); } } void CountPlayers_SendPersonalMessage(string message, Man player) { if(( player ) && (message != "")) { Param1<string> m_GlobalMessage = new Param1<string>(message); GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_GlobalMessage, true, player.GetIdentity()); } } 4. Настраиваем файл как нам нужно. Т.е. в строке
      int CountPlayers_TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000) указываем время повтора вывода сообщений в чат (поумолчанию стоит 2 минуты)
      и текст сообщений в переменной
      string Message_Chat = "Online Players: ";  
      P.S. Если сообщения вам не видны, включите их видимость в настройках вашего клиента игры для себя!
       
    • By 123new
      В данной теме мы с вами научимся создавать простой скрипт, который позволит выводить в чат объявления о количестве игроков.
       
      Нам понадобится:
      1. Сервер DayZ 0.63, сделанный по одному из гайдов:
      2. Notepad++
      3. Немножечко трезвого ума
       
      Приступим:
      1. Открываем Mpmissions - dayzOffline.chernarusplus - init.c
      2. В самом начале файла добавляем:
      #include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\PlayersMessagesCount.c" И после строки
      weather.SetWindFunctionParams(0, 0, 0); добавляем:
      GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(SendPlayersCount, TIME_InfoPlayers_Repeat, true); Пример:

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

      3. Помещаем в папку файл Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      Либо создаем вручную этот файл с именем "PlayersMessagesCount.c" и заполняем его следующим текстом:
      int TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000) string Message_Chat = "Online Players: "; void SendPlayersCount() { array<Man> players = new array<Man>; GetGame().GetPlayers( players ); int numbOfplayers = players.Count(); if( numbOfplayers > 0 ) { GetGame().ChatPlayer(0,Message_Chat + numbOfplayers.ToString()); } } 4. Настраиваем файл как нам нужно. Т.е. в строке
      int TIME_InfoPlayers_Repeat = 120000; //in ms (120 seconds = 120000) указываем время повтора вывода сообщений в чат (поумолчанию стоит 2 минуты)
      и текст сообщений в переменной
      string Message_Chat = "Online Players: ";  
      P.S. Если сообщения вам не видны, включите их видимость в настройках вашего клиента игры для себя!
       
  • 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.