←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Poprawienie saylogs

  • +
  • -
MAthiasssMAt's Photo MAthiasssMAt 13.02.2012

Tak jak w temacie. Proszę o poprawienie pluginu saylogsmysql.
Logi:

L 02/13/2012 - 17:52:01: [CSTRIKE] Invalid player 15
L 02/13/2012 - 17:52:01: [AMXX] Displaying debug trace (plugin "saylogs.amxx")
L 02/13/2012 - 17:52:01: [AMXX] Run time error 10: native error (native "cs_get_user_team")
L 02/13/2012 - 17:52:01: [AMXX]    [0] saylogs_369390.sma::logsay (line 52)
L 02/13/2012 - 17:52:01: [AMXX]    [1] saylogs_369390.sma::ReadBlock (line 39)

Sma:

#include <amxmodx>
#include <cstrike>
#include <sqlx>
#define PLUGIN "Live Chat"
#define VERSION "1.0"
#define AUTHOR "speedkill + Miczu"
#define CREATE_DB "CREATE TABLE IF NOT EXISTS Chatslowexp (name varchar(31),ctname varchar(31),ttname varchar(31),timer varchar(31),say_type varchar(31),stringsay varchar(191))"
new Handle:SqlConnection
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("amx_saylogs_host", "localhost");
register_cvar("amx_saylogs_user", "root");
register_cvar("amx_saylogs_pass", "root");
register_cvar("amx_saylogs_db", "Saylogs");
register_clcmd("say","ReadBlock")
register_clcmd("say_team","ReadBlock")
}
public plugin_cfg() {
new Host[32], User[32], Pass[32], DB[32];
get_cvar_string("amx_saylogs_host", Host, 31);
get_cvar_string("amx_saylogs_user", User, 31);
get_cvar_string("amx_saylogs_pass", Pass, 31);
get_cvar_string("amx_saylogs_db", DB, 31);
SqlConnection = SQL_MakeDbTuple(Host,User,Pass,DB)
new QueryCache[1024]
formatex(QueryCache,1023,CREATE_DB)
SQL_ThreadQuery(SqlConnection,"QueryCreateTable",QueryCache)
}
public ReadBlock(id)
{
new GetInfo[256];
read_args(GetInfo, charsmax(GetInfo));
remove_quotes(GetInfo);
if(GetInfo[0] == '/') return PLUGIN_HANDLED;
logsay(id);
return PLUGIN_CONTINUE;
}
public logsay(id)
{
new stringsay[192] ,name[32],say_type[32],timer[32];

get_user_name(id,name,31)
read_args(stringsay,191)
read_argv(0,say_type,31)
get_time("%d/%m/%Y - %H:%M:%S", timer, 31);
new szTemp[512]
if(cs_get_user_team(id) == CS_TEAM_CT)
{
format(szTemp,charsmax(szTemp),"INSERT INTO `Chatslowexp` ( `ctname` ,`timer` , `say_type`, `stringsay`)VALUES ('%s','%s','%s','%s');",name,timer,say_type,stringsay)
SQL_ThreadQuery(SqlConnection,"IgnoreHandle",szTemp)
}
else if(cs_get_user_team(id) == CS_TEAM_T)
{
format(szTemp,charsmax(szTemp),"INSERT INTO `Chatslowexp` ( `ttname` ,`timer` , `say_type`, `stringsay`)VALUES ('%s','%s','%s','%s');",name,timer,say_type,stringsay)
SQL_ThreadQuery(SqlConnection,"IgnoreHandle",szTemp)
}
}
public plugin_end() { SQL_FreeHandle(SqlConnection); }
public IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
return PLUGIN_HANDLED
}
public QueryCreateTable(iFailState,Handle:hQuery,szError[],iError,iData[],iDataSize,Float:flQueueTime) {
switch(iFailState) {
case TQUERY_CONNECT_FAILED: { log_amx("Blad nie mozna polaczyc sie z baza (%i): %s", iError, szError); }
case TQUERY_QUERY_FAILED: { log_amx("Blad nie mozna stworzyc tabelki() (%i): %s", iError, szError); }
default: { /*Stworzono tabelke*/ }
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1250\\ deff0\\ deflang1045{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/
Quote

  • +
  • -
speedkill's Photo speedkill 13.02.2012

Sprawdź takie coś :
public ReadBlock(id)
{
if(is_user_connected(id))
{
//reszta kodu
}
Quote

  • +
  • -
MAthiasssMAt's Photo MAthiasssMAt 13.02.2012

Dobra poszło do testu
Quote