Плагин вывода данных игроков в консоль клиента (дота2)

warlock

Участник
Сообщения
202
Реакции
8
Здравствуйте. Имеется локальный сервер доты 2, тк с интернетом у нас в городе беда - играют у меня. В связи с этим ищу следующие плагины:
Плагин, который ставит рандомный пароль в начале игры (когда уже все зашли и стоят на фонтане), и выводит его в консоль клиента.
Так же ищу плагин, который выводит информацию о играющих игроках (их ник, айпи и стим_ид)., дабы было проще банить, за нарушение правил. Сейчас имеется плагин, который выводит эту информацию в чат, но это не очень удобно (из консоли проще скопировать, чат в доте не копируется).
Есть предложения?
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
Плагин, который ставит рандомный пароль в начале игры (когда уже все зашли и стоят на фонтане), и выводит его в консоль клиента.
Он приватный. Оффтоп
ищу плагин, который выводит информацию о играющих игроках (их ник, айпи и стим_ид)
Найди любой, что нравится в чате и далее замени PrintToChat на PrintToConsole, PrintToChatAll на цикл с PrintToConsole.
 

warlock

Участник
Сообщения
202
Реакции
8
Пробовал заменить на принттукоесоль-не писало в консоль. Можешь в лс чиркануть, где его купить?
Про вывод игроков в консоль тоже интересует
 

pracc

Быть, а не казаться.
Сообщения
946
Реакции
541
А разве в твоём городе где беда с интернетом много кто играет в dota2 и имеет смысл кого-то банить?
Я думаю, что в таком городе с плохим интернетом в dota2 играют 2-3 игрока и то тех не стоит банить, а беречь как синица око.
 

warlock

Участник
Сообщения
202
Реакции
8
То, что вы думаете-оставьте пои себе. Тут не об этом.
AlmazON - нет, нужно именно в консоль клиента. В сервере и так можно посмотреть данные игрока по логам, ну или HLSW) нужно непосредственно игроку в консоль.
 

warlock

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

#include <sourcemod>
#include <geoip>

#define VERSION "1.0"

public Plugin:myinfo =
{
name = "Connect Player",
author = "Beelzebub",
description = "Connect player to server",
version = VERSION,
};

new Handle:wS_Timer[MAXPLAYERS+1];

public OnClientPutInServer(client)
{
// Сохраняем Handle таймера
wS_Timer[client] = CreateTimer(15.0, wS_Hello, client);
}

// Если игрок покидает сервер, не увидев приветствие, то убиваем таймер.

public OnClientDisconnect(client)
{
if (wS_Timer[client] != INVALID_HANDLE)
{
KillTimer(wS_Timer[client]);
wS_Timer[client] = INVALID_HANDLE;
}
}

public Action:wS_Hello(Handle:timer, any:client)
{
// Приветствуем через чат
if (!IsFakeClient(client))
{
decl String:steamid[32],String:clientname[24];
decl String:country[45];
decl String:ip[64];

GetClientName(client, clientname, sizeof(clientname));
GetClientIP(client, ip, sizeof(ip));
GeoipCountry(ip, country, sizeof(country));
GetClientAuthString(client,steamid,sizeof(steamid));

PrintToChatAll("%s Подключился %s %s", clientname, ip, steamid);
}
// Сбрасываем Handle таймера на INVALID_HANDLE, чтобы знать, что активного таймера НЕТ.
wS_Timer[client] = INVALID_HANDLE;
}
Вот. С PrintToChat - работает. PrintToConsole/PrintToServer-нет.
 

AlmazON

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

warlock

Участник
Сообщения
202
Реакции
8
Не компилится.
#pragma semicolon 1

#include
#include

#define VERSION "1.0"

public Plugin:myinfo =
{
name = "Connect Player",
author = "Beelzebub",
description = "Connect player to server",
version = VERSION,
};

new Handle:wS_Timer[MAXPLAYERS+1];

public OnClientPutInServer(client)
{
// Сохраняем Handle таймера
wS_Timer[client] = CreateTimer(15.0, wS_Hello, client);
}

// Если игрок покидает сервер, не увидев приветствие, то убиваем таймер.

public OnClientDisconnect(client)
{
if (wS_Timer[client] != INVALID_HANDLE)
{
KillTimer(wS_Timer[client]);
wS_Timer[client] = INVALID_HANDLE;
}
}

public Action:wS_Hello(Handle:timer, any:client)
{
// Приветствуем через чат
if (!IsFakeClient(client))
{
decl String:steamid[32],String:clientname[24];
decl String:country[45];
decl String:ip[64];

GetClientName(client, clientname, sizeof(clientname));
GetClientIP(client, ip, sizeof(ip));
GeoipCountry(ip, country, sizeof(country));
GetClientAuthString(client,steamid,sizeof(steamid));

for (new i = 1; i <= MaxClients; ++i)
{
if (IsClientInGame(i)) PrintToConsole(i, "%s Подключился %s %s", clientname, ip, steamid);
}
// Сбрасываем Handle таймера на INVALID_HANDLE, чтобы знать, что активного таймера НЕТ.
wS_Timer[client] = INVALID_HANDLE;
}
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,756
Так может взять наконец не какой-то дефектный код, а нормальный? Не компилится как раз выше, что не меняли по моему совету.
Кстати, команда status в консоли клиента разве не работает? Там же есть все IP и SteamID.
 

warlock

Участник
Сообщения
202
Реакции
8
В dota2 команда status со стороны клиента не работает) максимум ping, но там только ник.

Добавлено через 3 минуты
З.ы у меня мой плагин (без вашего совета) компилится)
 
Последнее редактирование:

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
Так может взять наконец не какой-то дефектный код, а нормальный? Не компилится как раз выше, что не меняли по моему совету.
Кстати, команда status в консоли клиента разве не работает? Там же есть все IP и SteamID.

В доте 2, не показывает стим айди.
 
Сверху Снизу