Ребята, а подскажите плагин, чтобы когда игрок заходил на сервер, ему показывалось приветствие в чате типа "ДОБРО ПОЖАЛОВАТЬ НА СЕРВЕР ТАКОЙ-ТО"
Благодарю.
Туторил
1. Открываешь Notepad++
2. Создаешь новый том
3. Вписываешь библиотеку #include <sourcemod>
4. Добавляешь событие public OnPluginStart()
5. В событие добовляешь хок события player_spawn оно отвечает за спавн игрока.
Пример кода:
public OnPluginStart()
{
HookEvent("player_spawn", OnPlayerSpawn);
}
6. Далее пишешь имя событию например OnPlayerSpawn
7. Создаешь событие OnPlayerSpawn
Пример кода:
public OnPlayerSpawn(Handle:hEvent, const String:sEventName[], bool:bDontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(hEvent, "userid"));
}
userid - игрок.
8. Создаешь в событии таймер
Пример кода:
public OnPlayerSpawn(Handle:hEvent, const String:sEventName[], bool:bDontBroadcast)
{
if (IsClientConnected(client)) && (IsClientInGame(client)) && (!IsFakeClient(client))
{
new client = GetClientOfUserId(GetEventInt(hEvent, "userid"));
CreateTimer(10.0, Announce, client);
}
return Plugin_Continue;
}
public Action:Announce(Handle:timer, any:client)
{
if (IsClientInGame(client) && (GetClientTeam(client) == 2))
{
PrintToChat(client,"\x04Добро пожаловать на сервер \x03Название сервера");
}
}
10.0 - Секунды через сколько появится сообщение
9. Сохраняешь все это дело зажав клавиши ctrl + s
10. Дальше сохраняешь глобально, при сохранении указываешь тип файла .sp
Пример: Plugin.sp
Функции которые использовались в этом туториале.
IsClientConnected - https://sm.alliedmod...ClientConnected
IsClientInGame - https://sm.alliedmod.../IsClientInGame
IsFakeClient - https://sm.alliedmod...ts/IsFakeClient
GetClientTeam - https://sm.alliedmod...s/GetClientTeam
CreateTimer - https://sm.alliedmod...ers/CreateTimer
Событие.
OnPluginStart - https://sm.alliedmod...d/OnPluginStart
Ну и финал - Компелируешь плагин, компелятор у тебя уже есть.