Cvars
hi, i'm new in amx i read in forums about cvars but i don't understand why my code don't work.
PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx> #include <amxmisc> #include <dbi> #include <engine> #include <csx>
#define PLUGIN "Change Name" #define VERSION "1.0" #define AUTHOR "spiider"
#define CVAR_CHHOST "host" #define CVAR_CHUSER "user" #define CVAR_CHPASS "pass" #define CVAR_CHDB "db" #define TABLE "users"
new names[32] // id->playername new g_regged[33] // vars going here new gate_matchID public pug_cvar_shield = 1;
public plugin_modules() { require_module("engine") require_module("dbi") }
// here goes check client and change name :)
public client_authorized(id) { g_regged[id] = checkregister(authid) if (g_regged[id]) { } else { // here say your steamid is not registered for this game server_cmd("kick #%d A tua SteamID %s nao esta registada para este jogo.", get_user_userid(id), authid) }
return true }
// here goes check if is registered for this game bool:checkregister(authid[]) { new Sql:sql if (!connect(sql)) return false const LONGER = 128 new query[LONGER + 1] new test // here is my problem i can't get value from matchID cvar :(
test = get_pcvar_num(gate_matchID) format(query, LONGER, "SELECT `playerID` FROM players WHERE `steamID` = ^"%s^" AND `matchID` = ^"%s^" LIMIT 1", authid,test) new Result:result = dbi_query(sql, query) if (result <= RESULT_FAILED) { new error[256] dbi_error(sql, error, 255) log_amx("Error while quering SQL server for %s, can't check registration: %s", authid, error) dbi_close(sql) return false } else if (result == RESULT_NONE) { dbi_close(sql) return false }
if (!dbi_nextrow(result)) { dbi_close(sql) return false // not register for this game }
dbi_close(sql)
return true }
// here goes the database connection bool:connect(&Sql:sql) { const LEN = 128 new host[LEN], user[LEN], pass[LEN], db[LEN], error_msg[LEN]
get_cvar_string(CVAR_CHHOST, host, LEN - 2) get_cvar_string(CVAR_CHUSER, user, LEN - 2) get_cvar_string(CVAR_CHPASS, pass, LEN - 2) get_cvar_string(CVAR_CHDB, db, LEN - 2)
sql = dbi_connect(host, user, pass, db, error_msg, LEN - 2)
if (!sql) { log_amx("ERROR - Can't connect to SQL db: %s", error_msg) return false }
return true }
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar(CVAR_CHHOST, "host") register_cvar(CVAR_CHUSER, "user") register_cvar(CVAR_CHPASS, "password") register_cvar(CVAR_CHDB, "db") gate_matchID = register_cvar("matchID", "1") // get_cvar_pointer ("matchID")
new Sql:sql if (!connect(sql)) { log_amx("Couldn't connect to SQL database at plugin_init! Pausing plugin.") pause("a") return } else server_print("[%s] Connected successfully to SQL database.", PLUGIN) dbi_close(sql) }
well, i want get the value from cvar and when a player join server, read value and check if steamid is reged in the database with the paremeters.
|