Пара мини-плагинов

Сообщения
26
Реакции
0
Подсобите, если можно :) Протупил с прошлой темой, поэтому новую создаю.

1. У Korden'a есть плагин по выводу инфы о коннекте и заходе за тиму, можно прикрутить сюда вывод страны и сообщений о коннекте / дисконнекте такого формата:

Имя - Steamid - Страна
Имя - Steamid - Собщение о выходе.

То бишь, полностью избавиться от connect announce от arg, а то ненужных функций куча. + чтобы в консоль это не выводилось, а то напрягает #FFFFFFПрисоединился

2. Сброс тега при спавне игрока (Был уже такой, но под новым см не компилится)

3. Команду, чтобы в консоль был вывод Ник - Steam / Nosteam, а то надоедает на STEAMID смотреть)
 
Последнее редактирование:

AlmazON

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

akvorok.ego

Участник
Сообщения
314
Реакции
186
2. Сброс тега при спавне игрока (Был уже такой, но под новым см не компилится)

При спавне:
PHP:
#include <sourcemod>
#include <cstrike>

public OnPluginStart() 
{
	HookEvent("player_spawn", SetClanTag);
}

public Action:SetClanTag(Handle:event, const String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid")); 
	if (client && IsClientInGame(client) && GetClientTeam(client) > 1) 
	{
		CS_SetClientClanTag(client, " ");
	}
}

Но лучше с таймером:
PHP:
#include <sourcemod>
#include <cstrike>

public OnPluginStart() 
{
	CreateTimer(3.0, UpdateSetClanTag, _, TIMER_REPEAT);
}

public Action:UpdateSetClanTag(Handle:timer)
{
	for (new client = 1; client <= MaxClients; client++)
	{
		if (IsClientInGame(client) && GetClientTeam(client) > 1) 
		{
			CS_SetClientClanTag(client, " ");
		}
	}
}
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
При спавне:
PHP:
#pragma semicolon 1
#include <sourcemod>
#include <cstrike>

public OnPluginStart() 
{
	HookEvent("player_spawn", SetClanTag);
}

public Action:SetClanTag(Handle:event, const String:name[], bool:dontBroadcast)
{
	new client = GetClientOfUserId(GetEventInt(event, "userid")); 
	if (client && IsClientInGame(client) && GetClientTeam(client) > 1) 
	{
		CS_SetClientClanTag(client, " ");
	}
}

Но лучше с таймером:
PHP:
#pragma semicolon 1
#include <sourcemod>
#include <cstrike>

public OnPluginStart() 
{
	CreateTimer(3.0, UpdateSetClanTag, _, TIMER_REPEAT);
}

public Action:UpdateSetClanTag(Handle:timer)
{
	for (new client = 1; client <= MaxClients; client++)
	{
		if (IsClientInGame(client) && GetClientTeam(client) > 1) 
		{
			CS_SetClientClanTag(client, " ");
		}
	}
}
Сразу два объединить, не?
PHP:
#pragma semicolon 1
#include <sourcemod>
#include <cstrike>

public OnPluginStart() 
{
	HookEvent("player_spawn", SetClanTag);
}

public Action:SetClanTag(Handle:event, const String:name[], bool:dontBroadcast)
{
	CreateTimer(3.0, UpdateSetClanTag);
}

public Action:UpdateSetClanTag(Handle:timer)
{
	if (IsClientInGame(client) && GetClientTeam(client) > 1) 
	{CS_SetClientClanTag(client, " ");	}}
 
Последнее редактирование:

akvorok.ego

Участник
Сообщения
314
Реакции
186
Сразу два объединить, не?
PHP:
#pragma semicolon 1
#include <sourcemod>
#include <cstrike>

public OnPluginStart() 
{
	HookEvent("player_spawn", SetClanTag);
}

public Action:SetClanTag(Handle:event, const String:name[], bool:dontBroadcast)
{
	CreateTimer(3.0, UpdateSetClanTag);
}

public Action:UpdateSetClanTag(Handle:timer)
{
	for (new client = 1; client <= MaxClients; client++)
	{
		if (IsClientInGame(client) && GetClientTeam(client) > 1) 
		{
			CS_SetClientClanTag(client, " ");
		}
	}
}

В чем смысл создавать таймер после спавна если можно сразу произвести смену тега?
Да и цикл не к месту...
 
Сообщения
26
Реакции
0
Почему лучше с таймером? Чтобы не выставляли после начала раунда? Я думаю, этим никто не занимается)
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Пустой клан-тег всем игрокам на сервере

Вполне достаточно такого кода:
PHP:
#include <cstrike>

public OnPluginStart() 
{
    HookEvent("player_activate", ClearTag);
    HookEvent("player_changename", ClearTag);
    HookEvent("player_spawn", ClearTag);
    HookEvent("player_team", ClearTag);
}
public ClearTag(Handle:event, String:name[], bool:dontBroadcast) CS_SetClientClanTag(GetClientOfUserId(GetEventInt(event, "userid")), " ");
 
Последнее редактирование:
Сообщения
26
Реакции
0
Re: Пустой клан-тег всем игрокам на сервере

Вполне достаточно такого кода:
PHP:
#include <cstrike>

public OnPluginStart() 
{
	HookEvent("player_activate", Event);
	HookEvent("player_changename", Event);
	HookEvent("player_spawn", Event);
	HookEvent("player_team", Event);
}
public Event(Handle:event, String:name[], bool:dontBroadcast) CS_SetClientClanTag(GetClientOfUserId(GetEventInt(event, "userid")), " ");

не компилится
 
Сообщения
26
Реакции
0
А зачем столько ивентов? На спавне ж хватит вполне. Вроде работает. Но чем лучше того, что дал san911?
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Сообщения
26
Реакции
0
Я не знаю, вот и спрашиваю. Если твой лучше - буду юзать твой. Скомпилил, вроде воркает нормально. Спасибо

Добавлено через 10 минут
С остальным подсобит кто?)
 
Последнее редактирование:
Сверху Снизу