Причина при отключении игрока

Иван Пяткин

Участник
Сообщения
26
Реакции
0
Всем привет. Когда игрок отключается по собственному желанию, в чат выводится причина (disconnect by user.)
Можно ли эту причину переименовать?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2
Иван Пяткин, можно
 

Иван Пяткин

Участник
Сообщения
26
Реакции
0
AlmazON, а другие способы есть? Regex не юзаю...

Добавлено через 12 минут
с помощью плагина можно это реализовать?
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #5
Иван Пяткин,
PHP:
public OnPluginStart() HookEvent("player_disconnect", Event_PlayerDisconnect, EventHookMode_Pre);

public Action:Event_PlayerDisconnect(Handle:hEvent, const String:name[], bool:dontBroadcast)
{
	decl String:sReason[192];
	GetEventString(hEvent, "reason", sReason, sizeof(sReason));
	if(StrEqual(sReason, "disconnect by user", false))
	{
		strcopy(sReason, sizeof(sReason), "твоя причина");
		return Plugin_Changed;
	}
	return Plugin_Continue;
}

P.S. Не проверял
 

Tallanvor

НЕ ПИШУ я плагины!!! И не правлю! И ваще...
Сообщения
1,352
Реакции
554
Иван Пяткин, скомпилилось без ошибок?
 

Иван Пяткин

Участник
Сообщения
26
Реакции
0
HooLIGUN, я этот плагин использую. в нём и пишет что Disconnect by user. А мне просто хочется причину переименовать.
 

Иван Пяткин

Участник
Сообщения
26
Реакции
0
AlmazON, вроде и с ботами есть такая причина... скорее всего в игре так заложено сразу
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #13
Я знаю что мой код не работает. Там нужно делать по другому
Нужно kdlp-gameevents чуток изменить и всё.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #15
AlmazON, не будет работать, нужно отключать стандартное сообщение и выводить свое. Идеально было бы изменить kdlp-gameevents
 

Иван Пяткин

Участник
Сообщения
26
Реакции
0
R1KO, а можно из kdlp-gameevents вырезать этот кусок и в отдельный плагин затолкать?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #17
Иван Пяткин,
PHP:
public OnPluginStart() HookEvent("player_disconnect", Event_PlayerDisconnect, EventHookMode_Pre); 

public Action:Event_PlayerDisconnect(Handle:hEvent, const String:name[], bool:dontBroadcast) 
{ 
    decl String:sReason[192]; 
    GetEventString(hEvent, "reason", sReason, sizeof(sReason)); 
    if(StrEqual(sReason, "Disconnect by user.", false)) 
    { 
		if (!dontBroadcast) SetEventBroadcast(hEvent, true);
		decl String:sName[MAX_NAME_LENGTH]; 
		GetEventString(hEvent, "name", sName, sizeof(sName));
		PrintToChatAll("Игрок %s отключился (Причина: твоя причина)", sName);
    }
}
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #18
AlmazON, да. Будет блокироваться сообщение в котором есть "disconnect by user".
А по другому не выйдет. Насколько я понял в этом событии нельзя сделать
return Plugin_Changed; или return Plugin_Handled;
 

Иван Пяткин

Участник
Сообщения
26
Реакции
0
AlmazON, верно, я же юзаю kdlp-gameevents, и хотелось бы чтобы только сама причина изменялась а не всё сообщение..

Добавлено через 9 минут
R1KO, т.е. заменить только причину не получится никак?
 
Последнее редактирование:
Сверху Снизу