←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Plugin i Baza Danych

Zablokowany

  • +
  • -
Pittero - zdjęcie Pittero 21.11.2010

Witajcie, moglby ktos napisac mi plugin sprawdzajacy np po wpisaniu na say /śpr czy moj steam id jest w bazie.
A po wpisaniu /add bedzie dodawalo.
I przydaloby sie tez laczenie:D
Odpowiedz

  • +
  • -
Knopers - zdjęcie Knopers 21.11.2010

Zero własnego zaangażowania ciągle prosisz tylko o gotowe kody ...
#include <amxmodx>
#include <sqlx>
new Handle:SQL_TUPLE, SqlConnected;
public plugin_init()
{
register_plugin("SQL", "AMXX.pl", "Knopers");
register_concmd("say /add", "ADD2MySQL");
register_concmd("say /spr", "CheckMySQL");
set_task(3.0, "connect_sql");
}
public connect_sql()
{
if(SqlConnected) return PLUGIN_CONTINUE;

SQL_TUPLE = SQL_MakeDbTuple("127.0.0.1", "User", "pass", "database");

new sZapytanie[512];
format(sZapytanie, 511, "CREATE TABLE IF NOT EXISTS `polaczenia` (`sid` VARCHAR(65))");
SQL_ThreadQuery(SQL_TUPLE, "connect_sql_handle", sZapytanie);
return PLUGIN_CONTINUE;
}
public connect_sql_handle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
{
SqlConnected = 1;
if(Errcode)
{
SqlConnected = 0;
server_print("Error on Table query: %s",Error);
}
if(FailState == TQUERY_CONNECT_FAILED)
{
server_print("Could not connect to SQL database.");
SqlConnected = 0;
}
else if(FailState == TQUERY_QUERY_FAILED)
{
server_print("Table Query failed.");
SqlConnected = 0;
}
return PLUGIN_CONTINUE;
}
public ADD2MySQL(id)
{
if(SqlConnected)
{
new sid[64];
get_user_authid(id, sid, 63);

new sZapytanie[512];

format(sZapytanie, 511, "INSERT INTO `polaczenia` (`sid`) VALUES ('%s')", sid);

SQL_ThreadQuery(SQL_TUPLE, "ADD_handle", sZapytanie);
}
else connect_sql();
}
public ADD_handle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
{
if(Errcode)
server_print("Error on CreateClass query: %s",Error);
if(FailState == TQUERY_CONNECT_FAILED)
server_print("Could not connect to SQL database.");
else if(FailState == TQUERY_QUERY_FAILED)
server_print("CreateClass Query failed.");
return PLUGIN_CONTINUE;
}
public CheckMySQL(id)
{
if(SqlConnected)
{
new sid[64], data[1];
get_user_authid(id, sid, 63);
data[0] = id;
new sZapytanie[512];

format(sZapytanie, 511, "SELECT * FROM `polaczenia` WHERE `sid` = '%s')", sid);

SQL_ThreadQuery(SQL_TUPLE, "Check_handle", sZapytanie, data, 1);
}
else connect_sql();
}
public Check_handle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
{
new id = Data[0];
if(Errcode)
server_print("Error on CreateClass query: %s",Error);
if(FailState == TQUERY_CONNECT_FAILED)
server_print("Could not connect to SQL database.");
else if(FailState == TQUERY_QUERY_FAILED)
server_print("CreateClass Query failed.");

if(SQL_MoreResults(Query) > 0)
console_print(id, "Jestes w bazie");
else
console_print(id, "Nie ma cie w bazie");
}
Odpowiedz

  • +
  • -
Pittero - zdjęcie Pittero 21.11.2010

Jeszcze jedno pytanKo;p
po co uzyles set_task(3.0, "connect_sql"); ?
jak mozna bylo uzyc connect_sql(); ??
PS. Sprawdzanie czyli SELECT nie dziala poprawnie.
Użytkownik Pittero edytował ten post 21.11.2010 15:36
Odpowiedz
Zablokowany