SoD Player Stats v.1.0.11

Evgeny Kuznetsov

Участник
Сообщения
7
Реакции
0
а подскажите можно ли обнулить определённого человека по стим иду или по нику?
а то у меня на сервере топ багнул и у меня один игрок несколько раз написан хотя стим ид один и тот же т.к. со стима играет а в топе пишется несколько раз.
Зарание спасибо
 

REC2010

Участник
Сообщения
6
Реакции
0
Не могу настроить sodstats

L 09/02/2013 - 01:56:35: Error log file session closed.
L 09/02/2013 - 01:56:35: SourceMod error session started
L 09/02/2013 - 01:56:35: Info (map "2000") (file "errors_20130902.log")
L 09/02/2013 - 01:56:35: [SM] Warning encountered parsing languages.cfg file.
L 09/02/2013 - 01:56:35: [SM] Invalid language code "pt_p" is being ignored.
L 09/02/2013 - 01:56:36: [CLIENTPREFS] unable to open database file
L 09/02/2013 - 01:56:36: [SM] Native "RegClientCookie" reported: Clientprefs is disabled due to a failed database connection
L 09/02/2013 - 01:56:36: [SM] Displaying call stack trace for plugin "RoundEndSound.smx":
L 09/02/2013 - 01:56:36: [SM] [0] Line 145, D:\Games\Servers\CSS-Public_Server\orangebox\cstrike\addons\sourcemod\scripting\RoundEndSound.sp::OnConfigsExecuted()
L 09/02/2013 - 01:56:36: [SM] Native "SQL_TQuery" reported: Invalid database Handle 0 (error: 4)
L 09/02/2013 - 01:56:36: [SM] Displaying call stack trace for plugin "sodstats.smx":
L 09/02/2013 - 01:56:36: [SM] [0] Line 294, sodstats\natives.sp::GetPlayerBySteamId()
L 09/02/2013 - 01:56:36: [SM] [1] Line 209, sodstats.sp::OnClientAuthorized()
L 09/02/2013 - 01:56:37: [SM] Native "AreClientCookiesCached" reported: Clientprefs is disabled due to a failed database connection
L 09/02/2013 - 01:56:37: [SM] Displaying call stack trace for plugin "RoundEndSound.smx":
L 09/02/2013 - 01:56:37: [SM] [0] Line 590, D:\Games\Servers\CSS-Public_Server\orangebox\cstrike\addons\sourcemod\scripting\RoundEndSound.sp::OnClientPutInServer()

не работает плагин , помогите настроить
 
Сообщения
2,587
Реакции
1,343
Re: Не могу настроить sodstats

Редактируй databases.cfg, конкретнее - пропиши:

C-подобный:
	"clientprefs"
	{
		"driver"			"sqlite"
		"host"				"localhost"
		"database"			"clientprefs-sqlite"
		"user"				"root"
		"pass"				""
		//"timeout"			"0"
		//"port"			"0"
	}

Также, открой languages.cfg, и оставь там только такие строки:

C-подобный:
"Languages"
{
	"en"		"English"
	"ru"		"Russian"
}

Затем открой core.cfg и замени:

"ServerLang" "en"

на

"ServerLang" "ru"

Дальше посмотрим.
 

REC2010

Участник
Сообщения
6
Реакции
0
Re: Не могу настроить sodstats

Редактируй databases.cfg, конкретнее - пропиши:

C-подобный:
	"clientprefs"
	{
		"driver"			"sqlite"
		"host"				"localhost"
		"database"			"clientprefs-sqlite"
		"user"				"root"
		"pass"				""
		//"timeout"			"0"
		//"port"			"0"
	}

Также, открой languages.cfg, и оставь там только такие строки:

C-подобный:
"Languages"
{
	"en"		"English"
	"ru"		"Russian"
}

Затем открой core.cfg и замени:

"ServerLang" "en"

на

"ServerLang" "ru"

Дальше посмотрим.

Все равно не работает :(

новый log
L 09/02/2013 - 17:13:37: SourceMod error session started
L 09/02/2013 - 17:13:37: Info (map "de_dust2") (file "errors_20130902.log")
L 09/02/2013 - 17:13:37: [CLIENTPREFS] unable to open database file
L 09/02/2013 - 17:13:38: [ipchatblock.smx] IP Chat Block Whitelist Config file not found.
L 09/02/2013 - 17:13:38: [sodstats.smx] [SoD-Rank] Unable to connect to database (unable to open database file)
L 09/02/2013 - 17:13:41: [CLIENTPREFS] unable to open database file
L 09/02/2013 - 17:13:42: [SM] Native "RegClientCookie" reported: Clientprefs is disabled due to a failed database connection
L 09/02/2013 - 17:13:42: [SM] Displaying call stack trace for plugin "RoundEndSound.smx":
L 09/02/2013 - 17:13:42: [SM] [0] Line 145, D:\Games\Servers\CSS-Public_Server\orangebox\cstrike\addons\sourcemod\scripting\RoundEndSound.sp::OnConfigsExecuted()
L 09/02/2013 - 17:14:42: [SM] Native "SQL_TQuery" reported: Invalid database Handle 0 (error: 4)
L 09/02/2013 - 17:14:42: [SM] Displaying call stack trace for plugin "sodstats.smx":
L 09/02/2013 - 17:14:42: [SM] [0] Line 294, sodstats\natives.sp::GetPlayerBySteamId()
L 09/02/2013 - 17:14:42: [SM] [1] Line 209, sodstats.sp::OnClientAuthorized()
L 09/02/2013 - 17:14:51: [SM] Native "AreClientCookiesCached" reported: Clientprefs is disabled due to a failed database connection
L 09/02/2013 - 17:14:51: [SM] Displaying call stack trace for plugin "RoundEndSound.smx":
L 09/02/2013 - 17:14:51: [SM] [0] Line 590, D:\Games\Servers\CSS-Public_Server\orangebox\cstrike\addons\sourcemod\scripting\RoundEndSound.sp::OnClientPutInServer()
 

REC2010

Участник
Сообщения
6
Реакции
0
Попробуй удалить(убрать) clientprefs-sqlite.sq3 и перезапустить сервер.
удалил , все равно не работает

новый лог
L 09/02/2013 - 19:37:42: SourceMod error session started
L 09/02/2013 - 19:37:42: Info (map "de_dust2") (file "errors_20130902.log")
L 09/02/2013 - 19:37:42: [CLIENTPREFS] unable to open database file
L 09/02/2013 - 19:37:42: [ipchatblock.smx] IP Chat Block Whitelist Config file not found.
L 09/02/2013 - 19:37:42: [sodstats.smx] [SoD-Rank] Unable to connect to database (unable to open database file)
L 09/02/2013 - 19:37:46: [CLIENTPREFS] unable to open database file
L 09/02/2013 - 19:37:53: [STEAMTOOLS] Unable to get steamclient handle.
L 09/02/2013 - 19:37:53: [STEAMTOOLS] Ran out of methods to acquire SteamWorks interfaces.
L 09/02/2013 - 19:37:54: [SM] Native "RegClientCookie" reported: Clientprefs is disabled due to a failed database connection
L 09/02/2013 - 19:37:54: [SM] Displaying call stack trace for plugin "RoundEndSound.smx":
L 09/02/2013 - 19:37:54: [SM] [0] Line 145, D:\Games\Servers\CSS-Public_Server\orangebox\cstrike\addons\sourcemod\scripting\RoundEndSound.sp::OnConfigsExecuted()
L 09/02/2013 - 19:38:56: [SM] Native "SQL_TQuery" reported: Invalid database Handle 0 (error: 4)
L 09/02/2013 - 19:38:56: [SM] Displaying call stack trace for plugin "sodstats.smx":
L 09/02/2013 - 19:38:56: [SM] [0] Line 294, sodstats\natives.sp::GetPlayerBySteamId()
L 09/02/2013 - 19:38:56: [SM] [1] Line 209, sodstats.sp::OnClientAuthorized()
L 09/02/2013 - 19:39:08: [SM] Native "AreClientCookiesCached" reported: Clientprefs is disabled due to a failed database connection
L 09/02/2013 - 19:39:08: [SM] Displaying call stack trace for plugin "RoundEndSound.smx":
L 09/02/2013 - 19:39:08: [SM] [0] Line 590, D:\Games\Servers\CSS-Public_Server\orangebox\cstrike\addons\sourcemod\scripting\RoundEndSound.sp::OnClientPutInServer()


Значит руки выпримляй, самая простая статистика. Че сложного поставил SM релиз, залил стату и забыл.

На старых версиях все работало без проблем , а вот на v80 без танцев с бубном чет не особо хочет
 

REC2010

Участник
Сообщения
6
Реакции
0
Проблема решена , оказалось и правду руки не из того места растут ) , Русские буквы в директорие сервера были )
 

WeSTMan

А вот тут текст!
Сообщения
833
Реакции
516
Проблема при коннекте игрока:
L 10/11/2013 - 16:03:27: SourceMod error session started
L 10/11/2013 - 16:03:27: Info (map "de_dust2") (file "errors_20131011.log")
L 10/11/2013 - 16:03:27: [sodstats.smx] [SoD-Stats] SQL_CreatePlayerCallback failure: unrecognized token: "'[LeM0n]Флешечка :D''cl'', 0, 0, current_timestamp)"
L 10/11/2013 - 16:45:31: Error log file session closed.
 

DexKekcuk #13

Участник
Сообщения
628
Реакции
69
Ребят подскажи что сделать?
Исправил чуть цвета в [SOD-STATS] добавил morecolors и исправил всё на CPrintToChat в этом файле.

Ошибок нет при колпиляции, но когда пишу в чате rank ничего не пишет просто пустота, но в консоли сервера пишет это :
attachment.php
 

Вложения

  • Снимок.jpg
    Снимок.jpg
    6.9 КБ · Просмотры: 337

DexKekcuk #13

Участник
Сообщения
628
Реакции
69
Я решил привязать #include <morecolors>.
1.Я привязал morecolors к resetrank.sp Цвета все работает все хорошо:

PHP:
#include "sodstats\include\sodstats.inc"
#include <sourcemod>
#include <morecolors>

public OnClientPutInServer(client)
{
    CreateTimer(15.0, TimerAnnounce, client);
}

public Action:TimerAnnounce(Handle:timer, any:client)
{
    if(IsClientInGame(client))
    {
        CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] Напишите в чате {green}!resetrank {lightgreen}для сброса статистики!");
    }
}

public Action:Command_Reset(client, args)
{
	ResetRank(client);
	return Plugin_Handled;
}

public Action:Command_ResetPlayer(client, args)
{
	if (args < 1)
	{
		CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] Сброс игроку: {green}sm_stats_resetrank <name>");
		return Plugin_Handled;	
	}
	new String:arg1[64];
	new String:arg3[64];
	new String:arg5[64];
	decl String:Query[256];
	
 
	GetCmdArg(1, arg1, sizeof(arg1));
	GetCmdArg(3, arg3, sizeof(arg3));
	GetCmdArg(5, arg5, sizeof(arg5));
	
	FormatEx(Query, sizeof(Query), "SELECT * FROM players WHERE steamid = '%s:%s:%s'", arg1, arg3, arg5);
	
	g_player_count = SQL_TQuery(stats_db, CountPlayer, Query, GetClientUserId(client), DBPrio_High);
	
	PrintToChatAll("Rows: %i", g_player_count);
	
	return Plugin_Handled;
}

public CountPlayer(Handle:owner, Handle:hndl, const String:error[], any:userid)
{
	new rows = SQL_GetRowCount(hndl);
	
	return rows;
}

ResetRank(client)
{
	if(GetConVarInt(g_resetenable))
	{
		decl String:authid[64];
		GetClientAuthString(client, authid, 63);
		decl String:query[255];
		
		if(GetConVarInt(g_resetmode))
			Format(query, 255, "UPDATE players SET score = 0, kills = 0, deaths = 0, shots = 0, hits = 0, time_played = 0, headshots = 0 WHERE steamid = '%s'", authid);
		else
			Format(query, 255, "UPDATE players SET score = 0, kills = 0, deaths = 0, shots = 0, hits = 0, headshots = 0 WHERE steamid = '%s'", authid);
		
		if(SQL_TQuery(stats_db, SQL_reset, query, client))
		{
			new time = GetTime();
			g_last_saved_time[client] = time;
			
			g_kills[client]      		= 0;
			g_deaths[client]       		= 0;
			g_shots[client]       		= 0;
			g_hits[client]       		= 0;
			g_score[client]       		= 0;
			g_headshots[client]       	= 0;
			
			if(GetConVarInt(g_resetmode))
				g_time_played[client]      	= 0;
				
			g_session_kills[client]     = 0;
			g_session_deaths[client]    = 0;
			g_session_shots[client]     = 0;
			g_session_score[client]     = 0;
			g_session_headshots[client] = 0;
			
			CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] Вы {green}успешно {lightgreen}сбросили свою статистику!");	
		}
		else
		{
			CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] {red}Ошибка {lightgreen}при сбросе статистики!");
		}
	}
	else
	{
		CPrintToChat(client, "{lightgreen}[{green}Ранк{lightgreen}] Возможность сброса статистики {red}отключена{lightgreen}!");
	}
}

2.Когда я привязал morecolors к файлу rank.sp и начал добавлять цвета для себя.
Получилось так:

PHP:
// File:   rank.sp
// Author: ]SoD[ Frostbyte

#include "sodstats\include\sodstats.inc"
#include <sourcemod>
#include <morecolors>
PrintRankToAll(client)
{
	Stats_GetPlayerRank(client, Rank_Callback, client);
}

public Rank_Callback(rank, delta, any:data, error)
{
	new client = data;
	new Handle:pack = CreateDataPack();
	WritePackCell(pack, rank);
	WritePackCell(pack, delta);
	WritePackCell(pack, client);
	Stats_GetPlayerById(client, Rank_PlayerIdCallback, pack);
}

public Rank_PlayerIdCallback(const String:name[], const String:steamid[], any:stats[], any:data, error)
{
	if(error == ERROR_PLAYER_NOT_FOUND)
	{
		LogError("[Ранк] RankCallback: Игрок не найден.");
		return;
	}

	new Handle:pack = data;
	ResetPack(pack);
	
	new rank = ReadPackCell(pack);
	new delta = ReadPackCell(pack);
	new client = ReadPackCell(pack);
	
	decl String:text[256];
	
	new bool:isAlive = IsPlayerAlive(client);
	
	if(g_gameid == ID_CSS || g_gameid == ID_TF2)
	{
		Format(text, sizeof(text), "{green}[Ранк] %s занимает %i из %i |%i очков| (%i до след. места) [Убийств: %i - Смертей: %i]", 
								   name, 
								   rank, 
								   g_player_count, 
								   stats[STAT_SCORE] + g_start_points, 
								   delta, 
								   stats[STAT_KILLS], 
								   stats[STAT_DEATHS]);
		
		ColoredToAll(client, text, isAlive);
	}
	else
	{
		Format(text, sizeof(text), "\x04[Ранк] \x03%s\x01 занимает \x03%i \x01из \x04%i\x01 |%i очков| (%i до след. места) [\x01Убийств: \x04%i \x01- Смертей: \x04%i\x01]", 
								   name, 
								   rank, 
								   g_player_count, 
								   stats[STAT_SCORE] + g_start_points, 
								   delta, 
								   stats[STAT_KILLS], 
								   stats[STAT_DEATHS]);
		
		
		
		switch(g_displaymode)
		{
			case DISPLAYMODE_PUBLIC:
				CPrintToChatAll(text);
			case DISPLAYMODE_PRIVATE:
				CPrintToChat(client, text);
			case DISPLAYMODE_CHAT:
			{
				if(isAlive == true)
				{
					CPrintToChatAll(text);
				}
				else
				{
					new maxclients = GetMaxClients();
					for(new i = 1; i <= maxclients; i++)
					{
						if(IsClientInGame(i) && !IsFakeClient(i) && (!IsPlayerAlive(i) || isAlive))
						{
							CPrintToChat(i, text);
						}
					}
				}
			}
		}
	}
}

ColoredToAll(client, const String:message[], isAlive)
{
	switch(g_displaymode)
	{
		case DISPLAYMODE_PUBLIC:
		{
			new maxclients = GetMaxClients();
			for(new i = 1; i <= maxclients; i++)
			{
				if(IsClientInGame(i) && !IsFakeClient(i))
				{
					SayText2(i, client, message);
				}
			}
		}
		case DISPLAYMODE_PRIVATE:
			SayText2(client, client, message);
		case DISPLAYMODE_CHAT:
		{
			new maxclients = GetMaxClients();
			for(new i = 1; i <= maxclients; i++)
			{
				if(IsClientInGame(i) && !IsFakeClient(i) && (!IsPlayerAlive(i) || isAlive))
				{
					SayText2(i, client, message);
				}
			}
		}
	}
}

// CREDITS TO DJTSUNAMI FOR THIS
public SayText2(to, from, const String:message[])
{
	new Handle:hBf = StartMessageOne("SayText2", to);
	
	BfWriteByte(hBf, from);
	BfWriteByte(hBf, true);
	BfWriteString(hBf, message);
	
	EndMessage();
}

И получилось так что цвета вообще не читало хотя где ниже идут все PrintToChat я исправил на CPrintToChat.

3. При компиляции нет никаких проблем. Но когда пишу в чат мне ничего не отображает, но когда смотрю в консоль сервера пишет вот так прикрепил*

Прошу помогите исправить ошибку. Вторую строчку решил оставить без изменения но все равно ничего не работает даже когда меняешь.
 

Вложения

  • Снимок.jpg
    Снимок.jpg
    6.9 КБ · Просмотры: 23
Сообщения
2,587
Реакции
1,343
Alex Tarasenko, держи готовый, логически подумай и сможешь добавить любой цвет, без мореколорс
 

Вложения

  • rank.sp
    3.2 КБ · Просмотры: 48

DexKekcuk #13

Участник
Сообщения
628
Реакции
69
☆★☆БАТЯ☆★☆™, Спасиб, можно еще узнать допустим это зеленый цвет \x04 И где можно найти какой цвет что обознает в таких симфолах))
 

igor_brichka

Участник
Сообщения
1
Реакции
0
Привет всем, а можно ли какнибудь подписать людей в статистику? и какнибудь изменить свой ранк?
 
Сверху Снизу