Иконка ресурса

Simple Welcome Message 1.2

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Пробуй
PHP:
#pragma semicolon 1 

#include <sourcemod> 

public OnClientPutInServer(client)
{
	if (client > 0 && !IsFakeClient(client))
	{
		new Handle:panel = CreatePanel();
		{
			SetPanelTitle(panel, "Информационная панель");
			DrawPanelText(panel, "Первое правило\nВторое правило\nТретье правило\n|---|\nСогласны с правилами?");
			DrawPanelItem(panel, "Да");
			DrawPanelItem(panel, "Нет");			
			SendPanelToClient(panel, client, Handler, 0); 
			CloseHandle(panel);
		}
	}			
}

public Handler(Handle:panel, MenuAction:action, param1, param2) 
{ 
	if (action == MenuAction_Select) 
	{
		if (param2 == 2)
		{
			KickClient(param1, "Вы должны согласиться с правилами!");
		}
	} 
}
 

HappyRabbit

Участник
Сообщения
125
Реакции
4
The End Is Near..., Спасибо за быстрый ответ, щас посмотрю=)
---------------------------------------------------
Все работает как я и просил , спасибо большое)
 
Последнее редактирование:

Avalon

Участник
Сообщения
5
Реакции
0
The End Is Near..., Как добавить еще пункты в правила? При добавлении новых пунктов, исчезает кнопки да и нет
 

pracc

Быть, а не казаться.
Сообщения
946
Реакции
541
Как добавить еще пункты в правила? При добавлении новых пунктов, исчезает кнопки да и нет

PHP:
#pragma semicolon 1 

#include <sourcemod> 

public OnClientPutInServer(client)
{
    if (client > 0 && !IsFakeClient(client))
    {
        new Handle:panel = CreatePanel();
        {
            SetPanelTitle(panel, "Информационная панель");
            DrawPanelText(panel, "Первое правило\nВторое правило\nТретье правило\nЧетвёртое правило\nПятое правило\nШестое правило\nСедьмое правило\nВосьмое правило\n|---|\nСогласны с правилами?");
            DrawPanelItem(panel, "Да");
            DrawPanelItem(panel, "Нет");            
            SendPanelToClient(panel, client, Handler, 0); 
            CloseHandle(panel);
        }
    }            
}

public Handler(Handle:panel, MenuAction:action, param1, param2) 
{ 
    if (action == MenuAction_Select) 
    {
        if (param2 == 2)
        {
            KickClient(param1, "Вы должны согласиться с правилами!");
        }
    } 
}

Попробуй.
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • #25
Cockfish, не ощущаешь разницу в панели и меню?
 

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • #27
Cockfish, насколько я знаю, то DrawPanelText(Handle:panel, const String:text[]) может включать ограниченное количество символов, а забив через \n ты ничего не получишь.
 

Avalon

Участник
Сообщения
5
Реакции
0
Уважаемые Гуру!
Сделайте пожалуйста, чтобы это меню выходило 1 раз или же 3 раза. А то на каждой карте.
 
Сообщения
2,587
Реакции
1,344
Avalon, ну выгружай плагин на тех картах, где он не нужен.
 
Последнее редактирование модератором:

Avalon

Участник
Сообщения
5
Реакции
0
Самое хорошее решение, чем пилить столько кода с "куки" для запоминания, что этот игрок уже видел приветствие.
На заказ написали, весь код занял 57 строк. При заходе игрока показывает один раз до дисконекта.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #33
AlmazON, можно записывать в базу дату последнего входа и при новом входе проверять насколько давно он заходил и по результату проверки выводить/не выводить сообщение.
 

Bruce_Lee

Участник
Сообщения
12
Реакции
1
Уважаемые кто знает что это?
L 01/02/2015 - 23:51:11: SourceMod error session started
L 01/02/2015 - 23:51:11: Info (map "$2000$") (file "errors_20150102.log")
L 01/02/2015 - 23:51:11: [SM] Native "PrintHintText" reported: Client 3 is not in game
L 01/02/2015 - 23:51:11: [SM] Displaying call stack trace for plugin "simplewelcomemsg.smx":
L 01/02/2015 - 23:51:11: [SM] [0] Line 534, C:\Documents and Settings\Zuko\Pulpit\scripting\simplewelcomemsg.sp::HintMessageDisplay()
L 01/02/2015 - 23:51:11: [SM] [1] Line 104, C:\Documents and Settings\Zuko\Pulpit\scripting\simplewelcomemsg.sp::Timer_Welcome()
 

Димок

Участник
Сообщения
153
Реакции
7
Уважаемые кто знает что это?
L 01/02/2015 - 23:51:11: SourceMod error session started
L 01/02/2015 - 23:51:11: Info (map "$2000$") (file "errors_20150102.log")
L 01/02/2015 - 23:51:11: [SM] Native "PrintHintText" reported: Client 3 is not in game
L 01/02/2015 - 23:51:11: [SM] Displaying call stack trace for plugin "simplewelcomemsg.smx":
L 01/02/2015 - 23:51:11: [SM] [0] Line 534, C:\Documents and Settings\Zuko\Pulpit\scripting\simplewelcomemsg.sp::HintMessageDisplay()
L 01/02/2015 - 23:51:11: [SM] [1] Line 104, C:\Documents and Settings\Zuko\Pulpit\scripting\simplewelcomemsg.sp::Timer_Welcome()
Ошибка!
 

Bruce_Lee

Участник
Сообщения
12
Реакции
1
А как поправить?

Добавлено через 6 минут
Что нужно прописать, чтобы в хинт отображался ник игрока? Пробовал так:
//Hint Message
"HintMessage"
{
"#format" "{1:N}"
"en" "Welcome on our server! GL and HF! {1}"
"pl" "Witaj na naszym serwerze! GL and HF! {1}"
}
, никакого результата...

Мне вот тоже захотелось что бы отображался ник игрока к примеру вот здесь: Panel Messages.

Сделайте пожалста такую настройку..

Добавлено через 8 минут

Да я с самого начала это понял, но как исправить. У меня установлен плагин с динамическими ботами, это из за него такая ошка. Может кто поправить что бы они взаимодействовали нормально.?
 
Последнее редактирование:

Bruce_Lee

Участник
Сообщения
12
Реакции
1
PHP:
#pragma semicolon 1 

#include <sourcemod> 

public OnClientPutInServer(client)
{
    if (client > 0 && !IsFakeClient(client))
    {
        new Handle:panel = CreatePanel();
        {
            SetPanelTitle(panel, "Информационная панель");
            DrawPanelText(panel, "Первое правило\nВторое правило\nТретье правило\nЧетвёртое правило\nПятое правило\nШестое правило\nСедьмое правило\nВосьмое правило\n|---|\nСогласны с правилами?");
            DrawPanelItem(panel, "Да");
            DrawPanelItem(panel, "Нет");            
            SendPanelToClient(panel, client, Handler, 0); 
            CloseHandle(panel);
        }
    }            
}

public Handler(Handle:panel, MenuAction:action, param1, param2) 
{ 
    if (action == MenuAction_Select) 
    {
        if (param2 == 2)
        {
            KickClient(param1, "Вы должны согласиться с правилами!");
        }
    } 
}

Попробуй.

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

Вложения

  • simplerules.sp
    1.6 КБ · Просмотры: 43

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Lite Welcome Message v0.1.0

Вариант простейшего и оптимального приветствия игроку, а также остальным - сообщения о нём, когда новичок перейдёт из MOTD-окна в любую игровую команду. Оффтоп
16060ad08393.jpg

Отображает приветствие всем, включая ботов:
PHP:
public OnPluginStart() HookEvent("player_team", PT);

public PT(Handle:E, String:N[], bool:B) if(GetEventInt(E, "oldteam")==0 && GetEventBool(E, "disconnect")==false)
for(new c=GetClientOfUserId(GetEventInt(E, "userid")), i=1; i<=MaxClients; i++) if(IsClientInGame(i))
PrintToChat(i, c!=i ? "\x01К нам зашёл \x03%N \x01- \x04поздоровайтесь \x01с \x05ним\x01!":"\x01\04Добро пожаловать \x05на сервер\x04, \x03%N\x04!", c);
Отображает приветствие только о людях (не ботов):
PHP:
public OnPluginStart() HookEvent("player_team", PT);

public PT(Handle:E, String:N[], bool:B) if(GetEventInt(E, "oldteam")==0 && GetEventBool(E, "disconnect")==false)
{
	new c = GetClientOfUserId(GetEventInt(E, "userid"));
	if(IsFakeClient(c)==false) for(new i=1; i<=MaxClients; i++) if(IsClientInGame(i))
	PrintToChat(i, c!=i ? "\x01К нам зашёл \x03%N \x01- \x04поздоровайтесь \x01с \x05ним\x01!":"\x01\04Добро пожаловать \x05на сервер\x04, \x03%N\x04!", c);
}
\x01К нам зашёл \x03%N \x01- \x04поздоровайтесь \x01с \x05ним\x01!
Информационный текст всем.
\x01\04Добро пожаловать \x05на сервер\x04, \x03%N\x04!
Приветствие самому игроку.
Где %N - никнейм игрока.
 

illusioNx

Участник
Сообщения
1
Реакции
0
Уважаемые знатоки! подскажите как поменять цвет текста в HintMessage
 
Последнее редактирование:

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
поменять цвет текста в HintMessage
Для CS:GO используй
 
Последнее редактирование модератором:
Сверху Снизу