No ban option? Yet I have z flag?
I'm going to try to describe this all in very simple terms.. just not to waste time.
This plugin checks what usergroup you're in on our vbulletin site, if it sees you're in Managers group for example, it gives you Z flag
(as you can see in the code it does that)
Problem is... Honor members, advisors, leaders, council and managers all have the ban flag ( I am pretty sure I specified that in the code, especially since managers have z flag)
Even thought they are supposed to have it, if I type !ban bob (and Im a manager) there is no reply in the chat, the person doesnt get banned and it doesnt even tell me I dont have access (not that its supposed to) if I type !kick bob , then yeah it will kick him/her
Any idea why the ban is not working?
Code:
#include <sourcemod>
public Plugin:myinfo =
{
name = "fmod",
author = "KoST, 8088, Modified by Bouncer",
description = "Pull users from vB db and assign flags",
version = "1.0.0.0",
url = "http://www.steamfortress.com , www.brotherhoodofgamers.com"
};
new Handle:db
public OnPluginStart(){
SQL_CheckConfig("vbulletin");
new String:error[255];
db=SQL_Connect("vbulletin", true, error, sizeof(error));
if (db == INVALID_HANDLE)
{
PrintToServer("\tCould not connect: %s", error);
} else {
PrintToServer("\tCONNECTED YAY");
}
}
public OnPluginEnd(){
CloseHandle(db);
}
public OnClientPostAdminCheck(client){
decl String:authid[64];
decl String:qry[255];
//creating userid and qry_groupid vars for query_groupid
//decl String:userid[255];
decl String:qry_groupid[255];
GetClientAuthString(client, authid, 63);
//LogMessage("Steam_ID of new user is %s", authid);
Format(qry, 254, "%s%s%s","SELECT userid FROM userfield WHERE field5 = '",authid,"'");
// SELECT usergroupid FROM user, userfield WHERE `user`.`userid` = `userfield`.`userid` AND `userfield`.`field5` = 'STEAM_0:1:501983'
new Handle:query = SQL_Query(db, qry);
if (query != INVALID_HANDLE && SQL_GetRowCount(query)){
//LogMessage("Query : %s", qry);
//LogMessage("%s found, user seems to be registered", authid);
PrintToChat(client, "\x04Hi and welcome back !", authid);
// query_groupid
Format(qry_groupid, 254, "%s%s%s","SELECT usergroupid,username FROM user, userfield WHERE `user`.`userid` = `userfield`.`userid` AND `userfield`.`field5` = '",authid,"'");
//new groupid[64];
//groupid=0;
new Handle:query_groupid = SQL_Query(db, qry_groupid);
if (query_groupid != INVALID_HANDLE && SQL_GetRowCount(query)){
SQL_FetchRow(query_groupid);
//SQL_FetchString(query_groupid, 0, groupid, sizeof(groupid));
new groupid = SQL_FetchInt(query_groupid, 0);
PrintToChat(client, "\x04Hi, [ %N ] Your usergroupid is [ %i ]", client, groupid);
//return groupid;
PrintToChat(client, "\x04Hi, [ %N ] Your usergroupid is [ %i ]", client, groupid);
PrintToChat(client, "\x04Your usergroupid is [ %i ]", groupid);
//LogMessage("Query succesful");
//LogMessage("qry_groupid result :%s", qry_groupid);
if (groupid == 16){
// assign Manager flags
new clientFlags = 0;
clientFlags = GetUserFlagBits(client);
clientFlags|= ADMFLAG_ROOT|ADMFLAG_CUSTOM5;
SetUserFlagBits(client, clientFlags);
LogMessage("groupid : %i, status : Manager", groupid);
}
else if (groupid == 14){
// assign Council flags
new clientFlags = 0;
clientFlags = GetUserFlagBits(client);
clientFlags|= ADMFLAG_BAN;
SetUserFlagBits(client, clientFlags);
LogMessage("groupid : %i, status : Council", groupid);
}
else if (groupid == 13){
// assign Division Leader flags
new clientFlags = 0;
clientFlags = GetUserFlagBits(client);
clientFlags|= ADMFLAG_RESERVATION|ADMFLAG_GENERIC|ADMFLAG_KICK|ADMFLAG_BAN|ADMFLAG_SLAY|ADMFLAG_CHANGEMAP|ADMFLAG_CHAT|ADMFLAG_VOTE|ADMFLAG_PASSWORD;
SetUserFlagBits(client, clientFlags);
LogMessage("groupid : %i, status : Division Leader", groupid);
}
else if (groupid == 12){
// assign Advisor flags
new clientFlags = 0;
clientFlags = GetUserFlagBits(client);
clientFlags|= ADMFLAG_RESERVATION|ADMFLAG_GENERIC|ADMFLAG_KICK|ADMFLAG_BAN|ADMFLAG_SLAY|ADMFLAG_CHANGEMAP|ADMFLAG_CHAT|ADMFLAG_VOTE;
SetUserFlagBits(client, clientFlags);
LogMessage("groupid : %i, status : Advisor", groupid);
}
else if (groupid == 11){
// assign Honor Member flags
new clientFlags = 0;
clientFlags = GetUserFlagBits(client);
clientFlags|= ADMFLAG_RESERVATION|ADMFLAG_GENERIC|ADMFLAG_KICK|ADMFLAG_BAN|ADMFLAG_SLAY|ADMFLAG_CHAT|ADMFLAG_VOTE;
SetUserFlagBits(client, clientFlags);
LogMessage("groupid : %i, status : Honor Member", groupid);
}
else if (groupid == 10){
// assign Member flags
new clientFlags = 0;
clientFlags = GetUserFlagBits(client);
clientFlags|= ADMFLAG_RESERVATION|ADMFLAG_GENERIC|ADMFLAG_KICK|ADMFLAG_CHAT|ADMFLAG_VOTE;
SetUserFlagBits(client, clientFlags);
LogMessage("groupid : %i, status : Member", groupid);
}
else if (groupid == 17){
// assign Recruit flags
new clientFlags = 0;
clientFlags = GetUserFlagBits(client);
clientFlags|= ADMFLAG_RESERVATION;
SetUserFlagBits(client, clientFlags);
LogMessage("groupid : %i, status : Recruit", groupid);
}
else if (groupid == 8){
KickClient(client, "You seem to be banned on our website.")
LogMessage("groupid : %i, status : banned user", groupid);
}
else {
// unregistered
LogMessage("no groupid, status : unregistered user. Moddafokka !");
}
}else{
LogMessage("query_groupid failed");
}
CloseHandle(query_groupid);
//return groupid;
}else{
LogMessage("%s not found, user seems to be unregistered", authid);
PrintToChat(client, "\x04You seem to be unregistered on our site.\nYou can register at www.brotherhoodofgamers.com", authid);
}
}
|