Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Admin Script MySQL R38 - BlueG Version.
- // www.sa-mp.ro
- // sRk7
- #include <a_samp>
- #include <sscanf2> // Y_Less
- #include <zcmd> // ZeeX
- #include <a_mysql> // R38 - BlueG
- #define s_host "127.0.0.1"
- #define s_user "root"
- #define s_db "admin-system"
- #define s_pass ""
- #define SCM SendClientMessage
- #define SPD ShowPlayerDialog
- #define log 6081
- #define reg 6082
- enum pInfo
- {
- pID,
- pPass,
- pName,
- pWarn,
- pKick,
- pBann,
- pLvl,
- pVip,
- pAdmin,
- pKills,
- pDeath,
- pRegs
- }
- new PD[MAX_PLAYERS][pInfo], cH;
- new pd[5];
- forward OnPlayerRegistred(playerid);
- forward OnPlayerCheck(playerid);
- forward OnPlayerLoad(playerid);
- forward OnPlayerCheckBan(playerid);
- stock SaveLogs(type[], cont[], date[])
- {
- new query[256];
- format(query, sizeof(query), "INSERT INTO `logs`(`Type`, `Content`, `Date`) VALUES ('%s','%s','%s');", type, cont, date);
- mysql_query(cH, query);
- return 1;
- }
- stock GetN(playerid)
- {
- new n[MAX_PLAYER_NAME+1];
- GetPlayerName(playerid, n, 32);
- return n;
- }
- stock SaveBans(playerid, player[], admin[], reason[], time)
- {
- new query[356];
- format(query, sizeof(query), "INSERT INTO `bans`(`ID`, `Player`, `Admin`, `Reason`, `Time`) VALUES ('%d','%s','%s','%s','%d')", playerid, player, admin, reason, time);
- mysql_query(cH, query);
- return 1;
- }
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Admin Script MySQL R38 - BlueG Version.\n");
- print(" sRk7 Version. - MySQL R38+");
- print("--------------------------------------\n");
- cH = mysql_connect(s_host, s_user, s_db, s_pass);
- mysql_log(LOG_DEBUG | LOG_ERROR | LOG_WARNING, LOG_TYPE_HTML);
- pd[0] = CreateObject(19420, 2039.14868, 1339.95459, 10.91220, 0.00000, 0.00000, 0.00000);
- pd[1] = CreateObject(19420, 2039.11792, 1347.52869, 11.02620, 0.00000, 0.00000, 0.00000);
- pd[2] = CreateVehicle(415, 2039.1443, 1340.1223, 10.3378, 0.0000, -1, -1, 100);
- pd[3] = CreateVehicle(411, 2039.1498, 1347.3320, 10.3399, 0.0000, -1, -1, 100);
- // pd[3] = CreateVehicle(415, 2039.1443, 1340.1223, 10.3378, 0.0000, -1, -1, 100);
- AttachObjectToVehicle(pd[0], pd[2], 2039.14868, 1339.95459, 10.91220, 0.00000, 0.00000, 0.00000);
- AttachObjectToVehicle(pd[1], pd[3], 2039.11792, 1347.52869, 11.02620, 0.00000, 0.00000, 0.00000);
- return 1;
- }
- public OnFilterScriptExit()
- {
- mysql_close(cH);
- return 1;
- }
- public OnPlayerRegistred(playerid)
- {
- PD[playerid][pID] = cache_insert_id(cH);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new query[128];
- mysql_format(cH, query, sizeof(query), "SELECT `Password`,`ID` FROM `accounts` WHERE `Username`='%s'", GetN(playerid));
- mysql_tquery(cH, query, "OnPlayerCheck", "i", playerid);
- SetTimerEx("OnPlayerCheckBan", 30000, 0, "i", playerid); // 30 secounds.
- return 1;
- }
- public OnPlayerCheck(playerid)
- {
- new rows, fields;
- cache_get_data(rows, fields, cH);
- if(rows)
- {
- cache_get_field_content(0, "Password", PD[playerid][pPass], cH, 129);
- PD[playerid][pID] = cache_get_field_content_int(0, "ID", cH);
- SPD(playerid, log, DIALOG_STYLE_PASSWORD, "{52CFE2}C{FFFFFF}onectare", "Salut, introdu parola pentru a te conecta !", "Login", "Quit");
- }
- else
- {
- SPD(playerid, reg, DIALOG_STYLE_PASSWORD, "{52CFE2}I{FFFFFF}nregistrare", "Salut, introdu parola pentru a te inregistra !", "Register", "Quit");
- }
- return 1;
- }
- public OnPlayerCheckBan(playerid)
- {
- if(PD[playerid][pBann] != 0) return BanEx(playerid, "Acest cont este banat !");
- return 1;
- }
- public OnPlayerLoad(playerid)
- {
- PD[playerid][pWarn] = cache_get_field_content_int(0, "Warn", cH);
- PD[playerid][pKick] = cache_get_field_content_int(0, "KickCount", cH);
- PD[playerid][pBann] = cache_get_field_content_int(0, "Banned", cH);
- PD[playerid][pLvl] = cache_get_field_content_int(0, "Level", cH);
- PD[playerid][pVip] = cache_get_field_content_int(0, "Premium", cH);
- PD[playerid][pAdmin] = cache_get_field_content_int(0, "AdminLevel", cH);
- PD[playerid][pKills] = cache_get_field_content_int(0, "Kills", cH);
- PD[playerid][pDeath] = cache_get_field_content_int(0, "Deaths", cH);
- PD[playerid][pRegs] = cache_get_field_content_int(0, "Registred", cH);
- SetPlayerScore(playerid, PD[playerid][pLvl]);
- SCM(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF}Te-ai logat cu succes !");
- GameTextForPlayer(playerid, "~w~Checking account status...", 5000, 4);
- if(PD[playerid][pBann] != 0)
- {
- GameTextForPlayer(playerid, "~w~~r~Sorry your account is banned !", 2000, 4);
- SCM(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF}Acest cont apara ca fiind banat.");
- SetTimerEx("OnPlayerCheckBan", 2000, 0, "i", playerid);
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new lastupdate[600];
- strcat(lastupdate, "UPDATE `accounts` SET `AdminLevel`='%d',`Warn`='%d',`KickCount`='%d',`Banned`='%d',`Level`='%d',`Premium`='%d',`Kills`='%d',`Deaths`='%d' WHERE `Username`='%s'");
- format(lastupdate, sizeof(lastupdate), lastupdate, PD[playerid][pAdmin], PD[playerid][pWarn], PD[playerid][pKick], PD[playerid][pBann], GetPlayerScore(playerid), PD[playerid][pVip], PD[playerid][pKills], PD[playerid][pDeath], GetN(playerid));
- mysql_query(cH, lastupdate);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(killerid != INVALID_PLAYER_ID)
- {
- PD[playerid][pKills] ++;
- }
- PD[playerid][pDeath] ++;
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case reg:
- {
- if(!response) return Kick(playerid);
- new query[1024];
- mysql_format(cH, query, sizeof(query), "INSERT INTO `accounts`(`ID`, `Password`, `Username`, `AdminLevel`, `Warn`, `KickCount`, `Banned`, `Level`, `Premium`, `Kills`, `Deaths`, `Registred`) VALUES ('%d','%s','%s',0,0,0,0,1,0,0,0,1)", playerid, inputtext, GetN(playerid));
- mysql_tquery(cH, query, "OnPlayerRegistred", "d", playerid);
- SetPlayerScore(playerid, 1);
- SpawnPlayer(playerid);
- }
- case log:
- {
- if(!response) return Kick(playerid);
- if(!strcmp(inputtext, PD[playerid][pPass], true))
- {
- new query[128];
- mysql_format(cH, query, sizeof(query), "SELECT * FROM `accounts` WHERE `Username`='%s' LIMIT 1", GetN(playerid));
- mysql_tquery(cH, query, "OnPlayerLoad", "d", playerid);
- SpawnPlayer(playerid);
- }
- else return 1;
- }
- }
- return 1;
- }
- CMD:stats(playerid, params[])
- {
- new sTr[1000];
- strcat(sTr, "{87BE90}Info %s Statistics\n--------------------------\n{FFFFFF}ID: [%d]\nName: [%s]\nWarn [%d/3]\nKick Count: [%d]\nBanned: [%d]\nRegistred: [%i]\nPremium: [%d]\nScore: [%d]\n\n{87BE90}Killer Stats:\n------------------\n{FFFFFF}Kills: [%d]\nDeath: [%i]\n\n{87BE90}Admin Info:\n----------------\n{FFFFFF}Admin Level: [%i]");
- format(sTr, sizeof(sTr), sTr, GetN(playerid), playerid, GetN(playerid), PD[playerid][pWarn], PD[playerid][pKick], PD[playerid][pBann], PD[playerid][pRegs], PD[playerid][pVip], GetPlayerScore(playerid), PD[playerid][pKills], PD[playerid][pDeath], PD[playerid][pAdmin]);
- SPD(playerid, 2014, DIALOG_STYLE_MSGBOX, "Player Statistics", sTr, "Ok", "");
- return 1;
- }
- CMD:ahelp(playerid, params[])
- {
- SCM(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF}Admin Level 1: /ban, /kick, /goto, /gotohere, /aads /ann");
- SCM(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF}Admin Level 2: /warn, /unwarn, /bano(ffline), /setvip, /acar");
- SCM(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF}Admin Level 2: /setadmin, /setvip, /setlevel");
- return 1;
- }
- // Admin command's
- CMD:ban(playerid, params[])
- {
- if(PD[playerid][pAdmin] >= 1)
- {
- new tid, time, reason[128];
- if(sscanf(params, "uis[128]", tid, time, reason)) return SCM(playerid, 0xB7CAE9FF, "Use: {FFFFFF}/ban <Playerid/PartOfName> <Time> <Reason>");
- if(IsPlayerConnected(tid) != 1 || tid == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF}Acest player nu este conectat sau nu exista.");
- PD[playerid][pBann] = 1;
- new adm[32], plr[32];
- format(adm, sizeof(adm), "%s", GetN(playerid));
- format(plr, sizeof(plr), "%s", GetN(tid));
- SaveBans(tid, plr, adm, reason, time);
- BanEx(tid, reason);
- new text[500];
- format(text, sizeof(text), "AdmBot: %s a fost banat de %s. Motiv: %s", GetN(tid), GetN(playerid), reason);
- SendClientMessageToAll(0xD6802CFF, text);
- } else SCM(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF}Nu esti admin level 1 !");
- return 1;
- }
- CMD:kick(playerid, params[])
- {
- if(PD[playerid][pAdmin] >= 1)
- {
- new tid, type[32], cont[256], date[32], rs[128], text[500];
- if(sscanf(params, "us[128]", tid, rs)) return SCM(playerid, 0xB7CAE9FF, "Use: {FFFFFF}/kick <Playerid/PartOfName> <Reason>");
- if(IsPlayerConnected(tid) != 1 || tid == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF}Acest player nu este conectat sau nu exista.");
- PD[playerid][pKick] ++, Kick(playerid);
- format(cont, sizeof(cont), "%s a primit kick de la adminul %s. Motiv: %s | Data: %s", GetN(tid), GetN(playerid), rs, date);
- type = "Kick Action";
- format(text, sizeof(text), "Kick Manager: %s a primit kick de la adminul %s. Motiv: %s", GetN(tid), GetN(playerid), rs);
- SendClientMessageToAll(0xD6802CFF, text);
- new z, l, a, o, m, s; getdate(a,l,z), gettime(o, m, s);
- format(date, sizeof(date), "%02d/%02d/%02d - %02d:%02d:%02d", z, l, a, o, m, s);
- SaveLogs(type, cont, date);
- } else SCM(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF} Nu esti admin level 1 !");
- return 1;
- }
- CMD:goto(playerid, params[])
- {
- if(PD[playerid][pAdmin] >= 1)
- {
- new tid, Float:tpos[3];
- if(sscanf(params, "u", tid)) return SCM(playerid, 0xB7CAE9FF, "Use: {FFFFFF}/goto <Playerid/PartOfName>");
- GetPlayerPos(tid, tpos[0], tpos[1], tpos[2]);
- SetPlayerPos(playerid, tpos[0], tpos[1]+2, tpos[2]+1);
- new str[128];
- format(str, sizeof(str), "SERVER: {FFFF8B}Te-ai teleportat la %s", GetN(tid));
- SCM(playerid, 0xB7CAE9FF, str);
- format(str, sizeof(str), "SERVER: {FFFF8B}Adminul %s sa teleportat la tine", GetN(playerid));
- SCM(tid, 0xB7CAE9FF, str);
- } else SCM(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF} Nu esti admin level 1 !");
- return 1;
- }
- CMD:gotohere(playerid, params[])
- {
- if(PD[playerid][pAdmin] >= 1)
- {
- } else SCM(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF} Nu esti admin level 1 !");
- return 1;
- }
- CMD:aads(playerid, params[])
- {
- if(PD[playerid][pAdmin] >= 1)
- {
- new msg[256], msg2[256];
- if(sscanf(params, "s[256]", msg)) return SCM(playerid, 0xB7CAE9FF, "Use: {FFFFFF}/aads <Global Message> | /ann <Global Message>");
- SendClientMessageToAll(0xB7CAE9FF, "----------------------------->> Global Admin Message <<----------------------------------");
- format(msg2, sizeof(msg2), "(( Admin Global Advertise: {FFFF8B}%s {B7CAE9}- %s ))", GetN(playerid), msg);
- SendClientMessageToAll(0xB7CAE9FF, msg2);
- SendClientMessageToAll(0xB7CAE9FF, "---------------------------------------------------------------------------------------------------");
- } else SCM(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF} Nu esti admin level 1 !");
- return 1;
- }
- CMD:ann(playerid, params[])
- {
- return cmd_aads(playerid, params);
- }
- // Admin level 2 Command's
- CMD:bano(playerid, params[])
- {
- if(PD[playerid][pAdmin] >= 2)
- {
- // return 1;
- } else SCM(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF} Nu esti admin level 2 !");
- return 1;
- }
- CMD:banoffline(playerid, params[])
- {
- return cmd_bano(playerid, params);
- }
- CMD:warn(playerid, params[])
- {
- if(PD[playerid][pAdmin] >= 2)
- {
- // return 1;
- } else SCM(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF} Nu esti admin level 2 !");
- return 1;
- }
- CMD:unwarn(playerid, params[])
- {
- if(PD[playerid][pAdmin] >= 2)
- {
- // return 1;
- } else SCM(playerid, 0xB7CAE9FF, "SERVER: {FFFFFF} Nu esti admin level 2 !");
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement