Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //============================================================================//
- // Includék //
- //============================================================================//
- #include <a_samp>
- #include <zcmd>
- #include <sscanf2>
- #include <a_mysql>
- //============================================================================//
- // Definációk //
- //============================================================================//
- #define SERVER_NAME "Your server name"
- #define notknown "This command is unknown to the server. Please use /help to or '@ [chat]' to ask a question, or visit our forums."
- #define SERVER_MAP "Sanandreas"
- #define SERVER_WEBSITE "www.mywebsite.com"
- #define SQL_HOST "localhost"
- #define SQL_USER "root"
- #define SQL_PASS ""
- #define SQL_DB "database"
- #define WARNING (20) )
- #define WARNING_LIMIT (10000)
- #define Blue "{003DF5}"
- #define Red "{FF0000}"
- #define Green "{66FF00}"
- #define White "{FFFFFF}"
- #define DIALOG_REGISTER 100
- #define MAX_HOUSES 100
- #define DIALOG_LOGIN 101
- #define DIALOG_POS 102
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_GREEN 0x33AA33AA
- #define COLOR_RED 0xAA3333AA
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_BLUE 0x0000BBAA
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- #define COLOR_ORANGE 0xFF9900AA
- #define COLOR_RED 0xAA3333AA
- #define COLOR_LIME 0x10F441AA
- #define COLOR_MAGENTA 0xFF00FFFF
- #define COLOR_NAVY 0x000080AA
- #define COLOR_AQUA 0xF0F8FFAA
- #define COLOR_CRIMSON 0xDC143CAA
- #define COLOR_DEEPPINK 0xFF1493FF
- #define COLOR_FLBLUE 0x6495EDAA
- #define COLOR_BISQUE 0xFFE4C4AA
- #define COLOR_BLACK 0x000000AA
- #define COLOR_CHARTREUSE 0x7FFF00AA
- #define COLOR_BROWN 0XA52A2AAA
- #define COLOR_CORAL 0xFF7F50AA
- #define COLOR_GOLD 0xB8860BAA
- #define COLOR_GREENYELLOW 0xADFF2FAA
- #define COLOR_INDIGO 0x4B00B0AA
- #define COLOR_IVORY 0xFFFF82AA
- #define COLOR_LAWNGREEN 0x7CFC00AA
- #define COLOR_SEAGREEN 0x20B2AAAA
- #define COLOR_LIMEGREEN 0x32CD32AA //<--- Dark lime
- #define COLOR_MIDNIGHTBLUE 0X191970AA
- #define COLOR_MAROON 0x800000AA
- #define COLOR_OLIVE 0x808000AA
- #define COLOR_ORANGERED 0xFF4500AA
- #define COLOR_PINK 0xFFC0CBAA // - Light light pink
- #define COLOR_SPRINGGREEN 0x00FF7FAA
- #define COLOR_TOMATO 0xFF6347AA // - Tomato >:/ sounds wrong lol... well... :P
- #define COLOR_YELLOWGREEN 0x9ACD32AA //- like military green
- #define COLOR_MEDIUMAQUA 0x83BFBFAA
- #define COLOR_MEDIUMMAGENTA 0x8B008BAA // dark magenta ^
- new randommessages[][]=
- {
- "Random üzenet 1.",
- "Random üzenet 2..",
- "Random üzenet 3.",
- "Random üzenet 4.",
- "Vigyázz! de hackelj mert ha észre vesz egy admin nem leszel feloldva!",
- "Ne habozz ha bármi kérdésed van fordulj adminokhoz bátran!",
- "Jó játékot kíván a xyz team."
- };
- enum pInfo
- {
- pScore,
- pMoney,
- pLevel,
- pVIP,
- pKMA,
- pRank,
- pKills,
- pDeaths,
- pMuted,
- pJailed,
- pFrozen,
- pMutedTimes,
- pJailedTimes,
- pFrozenTimes,
- pLogins,
- pCookies,
- Float:pPosX,
- Float:pPosY,
- Float:pPosZ,
- Float:pPosA
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- new MoneyGiven[MAX_PLAYERS];
- new IsRegistered[MAX_PLAYERS];
- new Logged[MAX_PLAYERS];
- new JustLogged[MAX_PLAYERS];
- new Otherid;
- stock IsPlayerBanned(playerid)
- {
- new IP[16], String[128], Query[128], reason[64], admin[32], i[128], seconds;
- GetPlayerIp(playerid, IP, sizeof(IP));
- format(Query, sizeof(Query), "Választ * FROM `Bans` WHERE (`Username` = '%s' OR `IP` = '%s') AND `Banned` = 1 LIMIT 1", GetName(playerid), IP);
- mysql_query(Query);
- mysql_store_result();
- if(mysql_num_rows() != 0)
- {
- while(mysql_fetch_row_format(Query, "|"))
- {
- mysql_fetch_field_row(i, "Indok"); format(reason, sizeof(reason), i);
- mysql_fetch_field_row(i, "Másodperc"); seconds = strval(i);
- mysql_fetch_field_row(i, "Admin"); format(admin, sizeof(admin), i);
- }
- if(seconds > gettime())
- {
- format(String, sizeof(String), "Az ok, amiért kibannoltak: %s", reason);
- SendClientMessage(playerid, COLOR_RED, String);
- SendClientMessage(playerid, COLOR_RED, "Még mindig levagy tiltva a szerveről! ne próbálj meg feljöni hiszen fölöslegesen próbálkozol ha egy admin unbannolt akkor gyere fel! ");
- format(String, sizeof(String), "Nem vagy feloldva! %s", timec(gettime()-(gettime()-seconds)));
- SendClientMessage(playerid, COLOR_RED, String);
- SendClientMessage(playerid, COLOR_RED, "If you attempt to, you might get rebanned for trying to 'ban evade.'");
- SendClientMessage(playerid, COLOR_RED, "If you feel that you have been unfairly banned, please visit our website to appeal the ban.");
- Kick(playerid);
- }
- else
- {
- format(Query, sizeof(Query), "UPDATE `Bans` SET `Banned` = 0 WHERE `Username` = '%s'", GetName(playerid));
- mysql_query(Query);
- format(String, sizeof(String), "%s (%i) has been unbanned from the server!", GetName(playerid), playerid);
- SendClientMessageToAll(COLOR_GREEN, String);
- }
- }
- mysql_free_result();
- return 1;
- }
- //Thanks to Blacklite/mr_djole
- stock timec(timestamp, compare = -1)
- {
- if (compare == -1) {
- compare = gettime();
- }
- new
- n,
- Float:d = (timestamp > compare) ? timestamp - compare : compare - timestamp,
- returnstr[32];
- if (d < 60) {
- format(returnstr, sizeof(returnstr), "Less than 60 seconds. ");
- return returnstr;
- } else if (d < 3600) { // 3600 = 1 hour
- n = floatround(floatdiv(d, 60.5), floatround_floor);
- format(returnstr, sizeof(returnstr), "A minute.");
- } else if (d < 86400) { // 86400 = 1 day
- n = floatround(floatdiv(d, 3600.5), floatround_floor);
- format(returnstr, sizeof(returnstr), "An hour.");
- } else if (d < 2592000) { // 2592000 = 1 month
- n = floatround(floatdiv(d, 86400.5), floatround_floor);
- format(returnstr, sizeof(returnstr), "A Day.");
- } else if (d < 31536000) { // 31536000 = 1 year
- n = floatround(floatdiv(d, 2592000.5), floatround_floor);
- format(returnstr, sizeof(returnstr), "A Month.");
- } else {
- n = floatround(floatdiv(d, 31536000.5), floatround_floor);
- format(returnstr, sizeof(returnstr), "A year. Go on a holiday till then.");
- }
- if (n == 1) {
- format(returnstr, sizeof(returnstr), "%s", returnstr);
- } else {
- format(returnstr, sizeof(returnstr), "%d %ss", n, returnstr);
- }
- return returnstr;
- }
- stock GetIP(Playerid)
- {
- new IP[16];
- GetPlayerIp(Playerid, IP, sizeof(IP));
- return IP;
- }
- stock MySQL_Register(playerid, passwordstring[])
- {
- new query1[350], pname[24];
- new Bannedby[20];
- format(Bannedby, 20, "Not Banned");
- GetPlayerName(playerid, pname, 24);
- format(query1, sizeof(query1), "INSERT INTO playerdata (user, password, score, money, level, vip, kma, rank, kills, deaths, muted, jailed, frozen, mutedtimes, jailedtimes, frozentimes, logins, posx, posy, posz, posa, IP) VALUES('%s', SHA1('%s'), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '%s')", pname, passwordstring, GetIP(playerid));
- mysql_query(query1);
- SendClientMessage(playerid,COLOR_PINK,"You have successfully registered on the server! Enjoy!");
- GameTextForPlayer(playerid,"~G~You have registered successfully!",5000,4);
- Logged[playerid] = 1;
- new st[128];
- format(st,128,"%s has registered at SA-MP: DayZ ! Welcome, %s!",GetName(playerid),GetName(playerid));
- SendClientMessageToAll(COLOR_LIGHTBLUE,st);
- return 1;
- }
- stock MySQL_Login(playerid)
- {
- new query2[300], pname[24], savingstring[20];
- GetPlayerName(playerid, pname, 24);
- format(query2, sizeof(query2), "SELECT score, money, level, vip, kma, rank, kills, deaths, muted, jailed, frozen, mutedtimes, jailedtimes, frozentimes, logins, posx, posy, posz, posa FROM playerdata WHERE user = '%s'", pname);
- mysql_query(query2);
- mysql_store_result();
- while(mysql_fetch_row_format(query2,"|"))
- {
- mysql_fetch_field_row(savingstring, "score"); SetPlayerScore(playerid, strval(savingstring));
- mysql_fetch_field_row(savingstring, "money"); MoneyGiven[playerid] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "level"); PlayerInfo[playerid][pLevel] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "vip"); PlayerInfo[playerid][pVIP] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "kma"); PlayerInfo[playerid][pKMA] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "rank"); PlayerInfo[playerid][pRank] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "kills"); PlayerInfo[playerid][pKills] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "deaths"); PlayerInfo[playerid][pDeaths] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "muted"); PlayerInfo[playerid][pMuted] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "jailed"); PlayerInfo[playerid][pJailed] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "frozen"); PlayerInfo[playerid][pFrozen] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "mutedtimes"); PlayerInfo[playerid][pMutedTimes] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "jailedtimes"); PlayerInfo[playerid][pJailedTimes] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "frozentimes"); PlayerInfo[playerid][pFrozenTimes] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "logins"); PlayerInfo[playerid][pLogins] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "posx"); PlayerInfo[playerid][pPosX] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "posy"); PlayerInfo[playerid][pPosY] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "posz"); PlayerInfo[playerid][pPosZ] = strval(savingstring);
- mysql_fetch_field_row(savingstring, "posa"); PlayerInfo[playerid][pPosA] = strval(savingstring);
- }
- mysql_free_result();
- JustLogged[playerid] = 1;
- Logged[playerid] = 1;
- PlayerInfo[playerid][pLogins]++;
- GameTextForPlayer(playerid,"~g~You have succesfully ~n~logged in!",5000,5);
- new st[128];
- format(st,128,"%s has joined SA-MP: DayZ ! Welcome back, %s!",GetName(playerid),GetName(playerid));
- SendClientMessageToAll(COLOR_LIGHTBLUE,st);
- return 1;
- }
- stock GetName(playerid)
- {
- new pname[24];
- GetPlayerName(playerid, pname, 24);
- return pname;
- }
- //============================================================================//
- // Forwards //
- //============================================================================//
- //============================================================================//
- // Main //
- //============================================================================//
- main(){}
- public OnFilterScriptInit()
- {
- mysql_debug(1);
- print("-------------------------------------------------------------");
- print("-------------------------------------------------------------");
- print("-------------------------------------------------------------");
- print("FILTERSCRIPT LOADED.");
- print("-------------------------------------------------------------");
- print("-------------------------------------------------------------");
- print("-------------------------------------------------------------");
- SetTimer("randommsgs",25000,1);
- //================================================================//
- // MySQL part //
- //================================================================//
- mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS);
- mysql_query("CREATE TABLE IF NOT EXISTS playerdata(user VARCHAR(24), password VARCHAR(40), score INT(20), money INT(20), level INT(1), vip INT(20), kma INT(20), rank INT(20), kills INT(20), deaths INT(20), muted INT(20), jailed INT(20), frozen INT(20), mutedtimes INT(20), jailedtimes INT(20), frozentimes INT(20), logins INT(20), posx INT(20), posy INT(20), posz INT(20), posa INT(20), IP VARCHAR(16) )");
- mysql_query("CREATE TABLE IF NOT EXISTS Bans(Username VARCHAR(32), Admin VARCHAR(32), IP VARCHAR(16), Reason VARCHAR(64), Seconds INT(12), Banned INT(5) )");
- mysql_debug(1);
- if(mysql_ping()>2)
- print("Connection to database failed.");
- else print("Connection to database successful.");
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- if(!strcmp(cmd,"!help",true))
- {
- print("- ADMIN COMMANDS - ");
- print(" /mute, /slap.");
- print(" /veh, /fstyle.");
- print(" /fakechat, /offmap.");
- print(" /refill, /dnd.");
- print(" /unmute, /explode.");
- print(" /spec, /specoff.");
- print(" /setdrunk, /setwanted");
- print(" /freeze, /unfreeze.");
- print(" /jail, /unjail.");
- print(" /kick, /ban.");
- print(" /kill, /dv.");
- print(" /ckill, /fixv.");
- print(" /settime, /setweather.");
- }
- return 0;
- }
- forward randommsgs();
- public randommsgs()
- {
- new rand=random(sizeof(randommessages));
- SendClientMessageToAll(0xEFEFF7AA,randommessages[rand]);
- return 1;
- }
- new isgod[MAX_PLAYERS];
- CMD:veh(playerid,params[])
- {
- new vehid; new color1; new color2;
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=3)
- {
- if(sscanf(params,"iii",vehid,color1,color2)) return SendClientMessage(playerid,COLOR_DEEPPINK,"Usage: /veh [Vehicle ID] [Color 1] [Color 2].");
- {
- new Float:x, Float:y, Float:z;
- GetPlayerPos(playerid,x,y,z);
- CreateVehicle(vehid,x+2,y+2,z+2,0,color1,color2,0);
- SendClientMessage(playerid,COLOR_DEEPPINK,"Here's your car, mate!");
- }
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- return 1;
- }
- CMD:dnd(playerid,params[])
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
- {
- if(isgod[playerid]==0)
- {
- SetPlayerColor(playerid,COLOR_DEEPPINK);
- SetPlayerHealth(playerid,9999);
- SetPlayerArmour(playerid,9999);
- new Text3D:a = Create3DTextLabel("Admin - On duty! Don't disturb.", COLOR_PINK, 30.0, 40.0, 50.0, 40.0, 0);
- Attach3DTextLabelToPlayer(a, playerid, 0.0, 0.0, 0.2);
- isgod[playerid] =1;
- }
- else if(isgod[playerid] == 1)
- {
- SetPlayerColor(playerid,COLOR_WHITE);
- SetPlayerHealth(playerid,100);
- SetPlayerArmour(playerid,100);
- }
- }
- else return SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- return 1;
- }
- CMD:slap(playerid,params[])
- {
- new targetid; new Float:x, Float:y, Float:z;
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
- {
- if(sscanf(params,"u",targetid)) return SendClientMessage(playerid,COLOR_DEEPPINK,"Usage: /slap [player id]");
- {
- GetPlayerPos(targetid,x,y,z);
- SetPlayerPos(targetid,x,y,z+20);
- new PlayerName[MAX_PLAYER_NAME];
- GetPlayerName(targetid,PlayerName,MAX_PLAYER_NAME);
- new string[128];
- format(string,sizeof(string),"You have slapped %s.",PlayerName);
- SendClientMessage(playerid,COLOR_DEEPPINK,string);
- SendClientMessage(targetid,COLOR_RED,"You got slapped by someone.");
- }
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- return 1;
- }
- CMD:fakechat(playerid,params[])
- {
- new targetid; new text[128];
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=4)
- {
- if(IsPlayerConnected(targetid))
- {
- if(sscanf(params,"us",targetid,text)) return SendClientMessage(playerid,COLOR_DEEPPINK,"Usage: /fakechat [player id] [Text]");
- {
- SendPlayerMessageToAll(targetid,text);
- }
- }
- else SendClientMessage(playerid,0xFF7800FF, "Specified Player offline!");
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- }
- return 0;
- }
- new ismuted[MAX_PLAYERS] = 0;
- CMD:mute(playerid,params[])
- {
- new targetid; new reason[128];new PlayerName[MAX_PLAYER_NAME];
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=1)
- {
- if(IsPlayerConnected(targetid))
- {
- if(sscanf(params,"us",targetid,reason)) return SendClientMessage(playerid,COLOR_DEEPPINK,"Usage: /mute [player id] [reason]");
- {
- ismuted[targetid] = 1;
- GetPlayerName(targetid,PlayerName,MAX_PLAYER_NAME);
- new string[128];
- format(string,sizeof(string),"You have muted %s.",PlayerName);
- SendClientMessage(playerid,COLOR_DEEPPINK,string);
- new string2[128];
- format(string2,sizeof(string2),"You have been shut up, REASON: %s",reason);
- SendClientMessage(targetid,COLOR_PINK,string2);
- new string3[128];
- format(string3,sizeof(string3),"%s has been shut up (muted) by someone. REASON: %s",PlayerName,reason);
- SendClientMessageToAll(COLOR_DEEPPINK,string3);
- }
- }
- else SendClientMessage(playerid,0xFF7800FF, "Specified Player offline!");
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- }
- return 1;
- }
- new isplayerspectating[MAX_PLAYERS] = 0;
- CMD:spec(playerid,params[])
- {
- new targetid;
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=1)
- {
- if(IsPlayerConnected(targetid))
- {
- if(sscanf(params,"u",targetid)) return SendClientMessage(playerid,COLOR_DEEPPINK,"Usage: /spec [player id]");
- {
- if(playerid==targetid) return SendClientMessage(playerid,COLOR_RED,"Why in god's name, would you like to spectate yourself?");
- {
- new Float:x, Float:y, Float:z;
- isplayerspectating[playerid] =1;
- SetPVarFloat(playerid,"locx",x);
- SetPVarFloat(playerid,"locy",x);
- SetPVarFloat(playerid,"locz",x);
- GetPlayerPos(playerid,x,y,z);
- new lol = GetPlayerState(targetid);
- if (lol == 1)
- {
- TogglePlayerSpectating(playerid,1);
- PlayerSpectatePlayer(playerid,targetid);
- }
- if(lol == 2 || lol == 3)
- {
- TogglePlayerSpectating(playerid,1);
- new vehid = GetPlayerVehicleID(targetid);
- PlayerSpectateVehicle(playerid,vehid);
- }
- if(lol == 7 || lol == 8 || lol == 9)
- {
- SendClientMessage(playerid,COLOR_RED,"The player you are trying to spectate, is either dead, spawning or joining.");
- }
- if(lol == 4)
- {
- TogglePlayerSpectating(playerid,1);
- PlayerSpectatePlayer(playerid,targetid);
- }
- if(lol == 5 || lol == 6)
- {
- TogglePlayerSpectating(playerid,1);
- new vehid = GetPlayerVehicleID(targetid);
- PlayerSpectateVehicle(playerid,vehid);
- }
- }
- }
- }
- else SendClientMessage(playerid,0xFF7800FF, "Specified Player offline!");
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- }
- return 1;
- }
- CMD:specoff(playerid,params[])
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel] >=1)
- {
- if(isplayerspectating[playerid]==1)
- {
- TogglePlayerSpectating(playerid,0);
- SetPlayerPos(playerid,GetPVarFloat(playerid,"locx"),GetPVarFloat(playerid,"locy"),GetPVarFloat(playerid,"locz"));
- }
- else return SendClientMessage(playerid,COLOR_RED,"Yeah, right. You aren't spectating anyone, for god's sake.");
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- return 1;
- }
- CMD:unmute(playerid,params[])
- {
- new targetid; new PlayerName[MAX_PLAYER_NAME];
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel] >=1)
- {
- if(IsPlayerConnected(targetid))
- {
- if(sscanf(params,"u",targetid)) return SendClientMessage(playerid,COLOR_DEEPPINK,"Usage: /unmute [player id]");
- {
- ismuted[targetid] = 0;
- GetPlayerName(targetid,PlayerName,MAX_PLAYER_NAME);
- new string[128];
- format(string,sizeof(string),"You have unmuted %s.",PlayerName);
- SendClientMessage(playerid,COLOR_DEEPPINK,string);
- format(string,sizeof(string),"You have been unmuted.");
- SendClientMessage(targetid,COLOR_PINK,string);
- format(string,sizeof(string),"%s has been unmuted",PlayerName);
- SendClientMessageToAll(COLOR_DEEPPINK,string);
- }
- }
- else SendClientMessage(playerid,0xFF7800FF, "Specified Player offline!");
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- }
- return 1;
- }
- CMD:freeze(playerid,params[])
- {
- new targetid; new reason[128];new PlayerName[MAX_PLAYER_NAME];
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel] >=2)
- {
- if(IsPlayerConnected(targetid))
- {
- if(sscanf(params,"us",targetid,reason)) return SendClientMessage(playerid,COLOR_DEEPPINK,"Usage: /freeze [player id] [reason]");
- {
- TogglePlayerControllable(targetid,0);
- GetPlayerName(targetid,PlayerName,MAX_PLAYER_NAME);
- new string[128];
- format(string,sizeof(string),"You have frozen %s.",PlayerName);
- SendClientMessage(playerid,COLOR_DEEPPINK,string);
- new string2[128];
- format(string2,sizeof(string2),"You have been frozen, REASON: %s",reason);
- SendClientMessage(targetid,COLOR_PINK,string2);
- new string3[128];
- format(string3,sizeof(string3),"%s has been frozen by someone. REASON: %s",PlayerName,reason);
- SendClientMessageToAll(COLOR_DEEPPINK,string3);
- }
- }
- else SendClientMessage(playerid,0xFF7800FF, "Specified Player offline!");
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- }
- return 1;
- }
- CMD:unfreeze(playerid,params[])
- {
- new targetid;
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
- {
- if(IsPlayerConnected(targetid))
- {
- if(sscanf(params,"u",targetid)) SendClientMessage(playerid,COLOR_DEEPPINK,"Usage: /freeze [player id]");
- {
- TogglePlayerControllable(targetid,1);
- SendClientMessage(playerid,COLOR_DEEPPINK,"You have unfrozen the player.");
- SendClientMessage(targetid, COLOR_GREEN,"You have been unfrozen.");
- }
- }
- else SendClientMessage(playerid,0xFF7800FF, "Specified Player offline!");
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- }
- return 1;
- }
- CMD:jail(playerid, params[])
- {
- new targetid;
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>= 2)
- {
- if(IsPlayerConnected(targetid))
- {
- if(sscanf(params,"u",targetid)) return SendClientMessage(playerid,COLOR_DEEPPINK,"Usage: /jail [player id]");
- {
- new Float:x1, Float:y1, Float:z1;
- GetPlayerPos(targetid,x1,y1,z1);
- SetPVarFloat(targetid,"loc1",x1);
- SetPVarFloat(targetid,"loc2",y1);
- SetPVarFloat(targetid,"loc3",z1);
- SetPlayerInterior(targetid,6);
- SendClientMessage(targetid,COLOR_PINK,"You have been jailed.");
- SendClientMessage(playerid,COLOR_DEEPPINK,"You have jailed the specified person.");
- SetPlayerPos(targetid,264.2620,77.8714,1001.0391);
- }
- }
- else SendClientMessage(playerid,0xFF7800FF, "Specified Player offline!");
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- }
- return 1;
- }
- CMD:unjail(playerid,params[])
- {
- new targetid;
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
- {
- if(IsPlayerConnected(targetid))
- {
- if(sscanf(params,"u",targetid)) SendClientMessage(playerid,COLOR_DEEPPINK,"Usage: /jail [player id]");
- {
- SetPlayerInterior(targetid, 0);
- SetPlayerPos(targetid,GetPVarFloat(targetid,"loc1"),GetPVarFloat(targetid,"loc2"),GetPVarFloat(targetid,"loc3"));
- SendClientMessage(targetid,COLOR_PINK,"You have been unjailed.");
- SendClientMessage(playerid,COLOR_DEEPPINK,"You have unjailed the specified person.");
- }
- }
- else SendClientMessage(playerid,0xFF7800FF, "Specified Player offline!");
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- }
- return 1;
- }
- CMD:dveh(playerid,params[])
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=3)
- {
- new vehid;
- if(IsPlayerInAnyVehicle(playerid))
- {
- vehid = GetPlayerVehicleID(playerid);
- DestroyVehicle(vehid);
- SendClientMessage(playerid,COLOR_DEEPPINK,"The vehicle has been destroyed.");
- }
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- return 1;
- }
- CMD:kill(playerid,params[])
- {
- new targetid;
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
- {
- if(IsPlayerConnected(targetid))
- {
- if(sscanf(params,"u",targetid)) SendClientMessage(playerid,COLOR_DEEPPINK,"Usage: /kill [player id]");
- {
- SetPlayerHealth(targetid,0.0);
- GivePlayerMoney(targetid,-1000);
- SendClientMessage(playerid,COLOR_PINK,"You have killed the specified player.");
- SendClientMessage(targetid,COLOR_PINK,"You have been killed.");
- }
- }
- else SendClientMessage(playerid,0xFF7800FF, "Specified Player offline!");
- }
- SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- }
- return 1;
- }
- CMD:ckill(playerid,params[])
- {
- new targetid;
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=3)
- {
- if(IsPlayerConnected(targetid))
- {
- if(sscanf(params,"u",targetid)) return SendClientMessage(playerid,COLOR_DEEPPINK,"Usage: /ckill [player id]");
- else
- {
- ForceClassSelection(targetid);
- SendClientMessage(playerid,COLOR_PINK,"You have forced the specified player into class selection.");
- SendClientMessage(targetid,COLOR_PINK,"You have been forced into class selection.");
- }
- }
- else SendClientMessage(playerid,0xFF7800FF, "Specified Player offline!");
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- }
- return 1;
- }
- CMD:setweather(playerid,params[])
- {
- new weather;
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=3)
- {
- if(weather<45 || weather>0)
- {
- if(sscanf(params,"i",weather)) SendClientMessage(playerid,COLOR_DEEPPINK,"Usage: /setweather [weather ID (0-45)]");
- {
- SetWeather(weather);
- SendClientMessageToAll(COLOR_GREEN,"The weather has been changed.");
- }
- }
- else SendClientMessage(playerid,COLOR_RED,"Wrong weather ID.");
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- }
- return 1;
- }
- CMD:fixv(playerid,params[])
- {
- new vehid;new targetid;
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=3)
- {
- if(IsPlayerInAnyVehicle(targetid))
- vehid = GetPlayerVehicleID(targetid);
- {
- RepairVehicle(vehid);
- SendClientMessage(playerid,COLOR_PINK,"Nitro added and vehicle fixed!"); //No idea what colour that is though.
- }
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- return 1;
- }
- CMD:admins(playerid,params[])
- {
- SendClientMessage(playerid,COLOR_GREEN,"They are there, no need to worry. If you are a hacker, then you sure need to.");
- return 1;
- }
- CMD:acmds(playerid,params[])
- {
- {
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=3)
- {
- switch (PlayerInfo[playerid][pLevel])
- {
- case 1: SendClientMessage(playerid,COLOR_DEEPPINK,"/spec, /specoff, /kick, /mute, /unmute. [Use ' | [text] to chat with other admins.]");
- case 2: SendClientMessage(playerid,COLOR_DEEPPINK,"/spec, /specoff, /kick, /mute, /unmute, /kill, /jail, /unjail, /freeze, /unfreeze. [Use ' | [text] to chat with other admins.]");
- case 3:
- {
- SendClientMessage(playerid,COLOR_DEEPPINK,"/spec, /specoff, /kick, /mute, /unmute, /kill, /jail, /unjail, /freeze, /unfreeze.");
- SendClientMessage(playerid,COLOR_DEEPPINK,"/veh, /dv, /fixv, /setweather, /ckill. [Use ' | [text] to chat with other admins.]");
- }
- case 4:
- {
- SendClientMessage(playerid,COLOR_DEEPPINK,"/spec, /specoff, /kick, /mute, /unmute, /kill, /jail, /unjail, /freeze, /unfreeze.");
- SendClientMessage(playerid,COLOR_DEEPPINK,"/veh, /dv, /fixv, /setweather, /ckill, /setadmin. [Use ' | [text] to chat with other admins.]");
- }
- }
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- //================================================================//
- // MySQL part //
- //================================================================//
- if(!Logged[playerid])
- {
- if(!IsRegistered[playerid])
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Please register",""White"Welcome to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to register!\n\n"White"Please insert a password below:", "Register", "Cancel");
- return 0;
- }
- if(IsRegistered[playerid] == 1)
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Please log-in", ""White"Welcome back to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to log-in!\n\n"White"Please insert "Red"your"White" password below:", "Login", "Cancel");
- return 0;
- }
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- //================================================================//
- // MySQL part //
- //================================================================//
- SetPlayerPos(playerid, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ]);
- SetPlayerFacingAngle(playerid, PlayerInfo[playerid][pPosA]);
- SendClientMessage(playerid,COLOR_LIGHTBLUE,"Your last saved position has been loaded.");
- if(MoneyGiven[playerid] != -1)
- {
- GivePlayerMoney(playerid, MoneyGiven[playerid]);
- MoneyGiven[playerid] = -1;
- }
- if(JustLogged[playerid] == 1)
- {
- new s[64];
- format(s,64,"Welcome back! Hope you enjoy.",GetName(playerid));
- SendClientMessage(playerid,COLOR_GREEN,s);
- JustLogged[playerid] = 0;
- }
- }
- public OnPlayerConnect(playerid)
- {
- IsPlayerBanned(playerid);
- //================================================================//
- // MySQL part //
- //================================================================//
- MoneyGiven[playerid] = -1;
- JustLogged[playerid] = 0;
- new query[300], pname[24];
- GetPlayerName(playerid, pname, 24);
- format(query, sizeof(query), "SELECT IP FROM `playerdata` WHERE user = '%s' LIMIT 1", pname);
- mysql_query(query);
- mysql_store_result();
- new rows = mysql_num_rows();
- if(!rows)
- {
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Please register",""White"Welcome to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to register!\n\n"White"Please insert a password below:", "Register", "Cancel");
- }
- if(rows == 1)
- {
- new IP[2][15];
- mysql_fetch_field_row(IP[0],"IP");
- GetPlayerIp(playerid, IP[1], 15);
- if(strlen(IP[0]) != 0 && !strcmp(IP[0], IP[1], true))
- {
- MySQL_Login(playerid);
- }
- else if(!strlen(IP[0]) || strcmp(IP[0], IP[1], true))
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Please log-in", ""White"Welcome back to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to log-in!\n\n"White"Please insert "Red"your"White" password below:", "Login", "Cancel");
- IsRegistered[playerid] = 1;
- }
- }
- mysql_free_result();
- return 1;
- }
- CMD:setadmin(playerid,params[])
- {
- new targetid; new l;
- if(PlayerInfo[playerid][pLevel] >= 4 || IsPlayerAdmin(playerid))
- {
- if(sscanf(params,"ui",targetid,l)) return SendClientMessage(playerid,COLOR_RED,"Usage: /setadmin (playerid) (level)");
- {
- PlayerInfo[targetid][pLevel] = l;
- new st[128];
- format(st,128,"UPDATE `playerdata` SET level='%d' WHERE user='%s'",l,GetName(targetid));
- mysql_query(st);
- format(st,128,"SELECT level='%d' FROM `playerdata`",PlayerInfo[playerid][pLevel]);
- mysql_query(st);
- GameTextForPlayer(playerid,"Promoted to an ~g~admin.",10000,5);
- }
- }
- else return SendClientMessage(targetid,COLOR_ORANGERED,notknown);
- return 1;
- }
- CMD:kick(playerid,params[])
- {
- new targetid; new reason[128];
- if(PlayerInfo[playerid][pLevel] >= 1 || IsPlayerAdmin(playerid))
- {
- if(sscanf(params,"us[128]",targetid,reason)) return SendClientMessage(playerid,COLOR_RED,"Usage: /kick (playerid) (reason)");
- {
- new str[128];
- format(str,128,"%s has been kicked out of the server. REASON: %s",GetName(targetid),reason);
- SendClientMessageToAll(COLOR_LIGHTBLUE,str);
- SetPlayerPos(targetid,193.5177,176.2223,1003.0234);
- SetPlayerInterior(targetid,3);
- GameTextForPlayer(targetid,"~r~You have been kicked from the ~p~server.",5000,5);
- format(str,128,"You have been kicked from the server. REASON: %s. Please read the rules once you come back.",reason);
- SendClientMessage(targetid,COLOR_RED,str);
- Kick(targetid);
- }
- }
- else
- return SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- //================================================================//
- // MySQL part //
- //================================================================//
- if(Logged[playerid] == 1)
- {
- new Float:x, Float:y, Float:z, Float:a;
- GetPlayerPos(playerid, x, y, z);
- GetPlayerFacingAngle(playerid, a);
- PlayerInfo[playerid][pPosX] = x;
- PlayerInfo[playerid][pPosY] = y;
- PlayerInfo[playerid][pPosZ] = z;
- PlayerInfo[playerid][pPosA] = a;
- new score = GetPlayerScore(playerid);
- new money = GetPlayerMoney(playerid);
- new query[300], pname[24]; new nquery[300];
- GetPlayerName(playerid, pname, 24);
- format(query, sizeof(query), "UPDATE `playerdata` SET score='%d', money='%d', level='%d', vip='%d', kma='%d', rank='%d', kills='%d', deaths='%d', muted='%d', jailed='%d', frozen='%d' WHERE user='%s'",
- score,
- money,
- PlayerInfo[playerid][pLevel],
- PlayerInfo[playerid][pVIP],
- PlayerInfo[playerid][pKMA],
- PlayerInfo[playerid][pRank],
- PlayerInfo[playerid][pKills],
- PlayerInfo[playerid][pDeaths],
- PlayerInfo[playerid][pMuted],
- PlayerInfo[playerid][pJailed],
- PlayerInfo[playerid][pFrozen],
- pname);
- format(nquery,300,"UPDATE `playerdata` SET mutedtimes='%d', jailedtimes='%d', frozentimes='%d', logins='%d', posx='%f', posy='%f', posz='%f', posa='%f' WHERE user='%s'",PlayerInfo[playerid][pMutedTimes],
- PlayerInfo[playerid][pJailedTimes],
- PlayerInfo[playerid][pFrozenTimes],
- PlayerInfo[playerid][pLogins],
- PlayerInfo[playerid][pPosX],
- PlayerInfo[playerid][pPosY],
- PlayerInfo[playerid][pPosZ],
- PlayerInfo[playerid][pPosA],
- pname);
- mysql_query(query);
- mysql_query(nquery);
- }
- return 1;
- }
- forward SaveStats(playerid);
- public SaveStats(playerid)
- {
- if(Logged[playerid] == 1)
- {
- new Float:x, Float:y, Float:z, Float:a;
- GetPlayerPos(playerid, x, y, z);
- GetPlayerFacingAngle(playerid, a);
- PlayerInfo[playerid][pPosX] = x;
- PlayerInfo[playerid][pPosY] = y;
- PlayerInfo[playerid][pPosZ] = z;
- PlayerInfo[playerid][pPosA] = a;
- new score = GetPlayerScore(playerid);
- new money = GetPlayerMoney(playerid);
- new query[300], pname[24]; new nquery[300];
- GetPlayerName(playerid, pname, 24);
- format(query, sizeof(query), "UPDATE `playerdata` SET score='%d', money='%d', level='%d', vip='%d', kma='%d', rank='%d', kills='%d', deaths='%d', muted='%d', jailed='%d', frozen='%d WHERE user='%s'",
- score,
- money,
- PlayerInfo[playerid][pLevel],
- PlayerInfo[playerid][pVIP],
- PlayerInfo[playerid][pKMA],
- PlayerInfo[playerid][pRank],
- PlayerInfo[playerid][pKills],
- PlayerInfo[playerid][pDeaths],
- PlayerInfo[playerid][pMuted],
- PlayerInfo[playerid][pJailed],
- PlayerInfo[playerid][pFrozen],
- pname);
- format(nquery,300,"UPDATE `playerdata` SET mutedtimes='%d', jailedtimes='%d', frozentimes='%d', logins='%d', posx='%f', posy='%f', posz='%f', posa='%f', IP=%d WHERE user='%s'",PlayerInfo[playerid][pMutedTimes],
- PlayerInfo[playerid][pJailedTimes],
- PlayerInfo[playerid][pFrozenTimes],
- PlayerInfo[playerid][pLogins],
- PlayerInfo[playerid][pPosX],
- PlayerInfo[playerid][pPosY],
- PlayerInfo[playerid][pPosZ],
- PlayerInfo[playerid][pPosA],
- GetIP(playerid),
- pname
- );
- mysql_query(query);
- mysql_query(nquery);
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(killerid!=INVALID_PLAYER_ID)
- PlayerInfo[killerid][pKills]++;
- PlayerInfo[playerid][pDeaths]++;
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if(ismuted[playerid] == 1)
- {
- SendClientMessage(playerid,COLOR_RED,"You have been muted. You cannot chat, unless, unmuted.");
- return 0;
- }
- if(text[0]=='@')
- {
- if(PlayerInfo[playerid][pLevel]>0)
- {
- new st[128];
- format(st,128,"ADMIN %s: %s",GetName(playerid),text);
- for(new i;i<MAX_PLAYERS;i++)
- {
- if(PlayerInfo[i][pLevel]>0)
- {
- SendClientMessage(i, COLOR_YELLOW, st);
- }
- }
- }
- return 0;
- }
- return 1;
- }
- public OnPlayerCommandPerformed(playerid, cmdtext[], success)
- {
- if(!success) return SendClientMessage(playerid, COLOR_ORANGERED, notknown);
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- if(GetPlayerPing(playerid)>400)
- {
- SendClientMessage(playerid,COLOR_RED,"Your ping is too high. Sorry, you cannot play.");
- Kick(playerid);
- }
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_POS)
- {
- if(response)
- {
- }
- else if(response)
- {
- return 1;
- }
- }
- //================================================================//
- // MySQL part //
- //================================================================//
- if(dialogid == DIALOG_REGISTER)
- {
- if(response)
- {
- if(!strlen(inputtext) || strlen(inputtext) > 100)
- {
- SendClientMessage(playerid,COLOR_RED,"Please enter a password within the length of 1 - 100 characters.");
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""Blue"Please register",""White"Welcome to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to register!\n\n"White"Please insert a password below:", "Register", "Cancel");
- }
- else if(strlen(inputtext) > 0 && strlen(inputtext) < 100)
- {
- new escpass[100];
- mysql_real_escape_string(inputtext, escpass);
- MySQL_Register(playerid, escpass);
- }
- }
- if(!response)
- {
- SendClientMessage(playerid, COLOR_RED, "You must login to play and hence have been kicked.");
- Kick(playerid);
- }
- }
- if(dialogid == DIALOG_LOGIN)
- {
- if(!response)
- {
- SendClientMessage(playerid, COLOR_RED, "You must login to play and hence have been kicked.");
- Kick(playerid);
- }
- if(response)
- {
- new query[200], pname[24], escapepass[100];
- GetPlayerName(playerid, pname, 24);
- mysql_real_escape_string(inputtext, escapepass);
- format(query, sizeof(query), "SELECT `user` FROM playerdata WHERE user = '%s' AND password = SHA1('%s')", pname, escapepass);
- mysql_query(query);
- mysql_store_result();
- new numrows = mysql_num_rows();
- if(numrows == 1) MySQL_Login(playerid);
- if(!numrows)
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, ""Blue"Please log-in", ""White"Welcome back to "Red""SERVER_NAME""White"!\n"White"In order to start playing, you have to log-in!\n\n"White"Please insert "Red"your"White" password below:", "Login", "Cancel");
- GameTextForPlayer(playerid,"~r~Wrong password.",2000,6);
- }
- mysql_free_result();
- }
- }
- return 1;
- }
- //============================================================================//
- // Admin Commands //
- //============================================================================//
- CMD:ban(playerid, params[])
- {
- new reason[64], Reason[64], Mins, Hours, Days, Query[256], String[128];
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)
- {
- //You have to be logged into rcon.
- if(sscanf(params, "uiiiS(No reason)[64]", Otherid, Mins, Hours, Days, reason)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /ban (playerid) (minutes) (hours) (days) (reason - optional)");
- {
- if(!IsPlayerConnected(Otherid)) return SendClientMessage(playerid, COLOR_RED, "The player you want to ban is not connected.");
- {
- if(strlen(reason) > 64) return SendClientMessage(playerid, COLOR_RED, "Type a 'ban reason' within 64 characters.");
- {
- new CTS = ((Mins*60) + (Hours*3600) + (Days*86400));
- mysql_real_escape_string(reason, Reason);
- format(Query, sizeof(Query), "INSERT INTO `Bans` (Username, Admin, IP, Reason, Seconds, Banned) VALUES ('%s', '%s', '%s', '%s', '%d', 1)", GetName(Otherid), GetName(playerid), GetIP(Otherid), Reason, (CTS+gettime()));
- mysql_query(Query);
- format(String, sizeof(String), "%s has been banned from the server. REASON: %s.", GetName(Otherid), Reason);
- SendClientMessageToAll(COLOR_ORANGERED, String);
- SetPlayerPos(Otherid,193.5177,176.2223,1003.0234);
- SetPlayerInterior(Otherid,3);
- GameTextForPlayer(Otherid,"~r~You have been banned from the ~p~server.",5000,5);
- format(String,128,"You have been banned from the server. REASON: %s Please read the /rules once you come back.",Reason);
- SendClientMessage(Otherid,COLOR_RED,String);
- Kick(Otherid);
- }
- }
- }
- }
- else SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- return 1;
- }
- CMD:checkban(playerid, params[])
- {
- new account[24], Query[128], String[128];
- new reason[64], user[32], admin[24], IP[16], i[128];
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)//You have to be logged into rcon.
- {
- if(sscanf(params, "s[24]", account)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /checkban [playername/id]");
- {
- if(strlen(account) > 24) return SendClientMessage(playerid, COLOR_RED, "Player name cannot exceed 24 characters.");
- {
- format(Query, sizeof(Query), "SELECT Username, Reason, Admin, IP FROM `Bans` WHERE `Username` = '%s' AND `Banned` = 1 LIMIT 1", account);
- mysql_query(Query);
- mysql_store_result();
- if(mysql_num_rows() == 0)
- {
- mysql_free_result();
- format(String, sizeof(String), "This player does not exist.", account);
- SendClientMessage(playerid, COLOR_RED, String);
- return 1;
- }
- else if(mysql_num_rows() != 0)
- {
- while(mysql_fetch_row_format(Query, "|"))
- {
- mysql_fetch_field_row(i, "Username"); format(user, sizeof(user), i);
- mysql_fetch_field_row(i, "Reason"); format(reason, sizeof(reason), i);
- mysql_fetch_field_row(i, "Admin"); format(admin, sizeof(admin), i);
- mysql_fetch_field_row(i, "IP"); format(IP, sizeof(IP), i);
- }
- format(String, sizeof(String), "%s (IP: %s) is still banned by %s. REASON: %s", user, IP, admin, reason);
- SendClientMessage(playerid, COLOR_LIGHTBLUE, String);
- }
- mysql_free_result();
- }
- }
- }
- else return SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- return 1;
- }
- CMD:unban(playerid, params[])
- {
- new account[24], Query[128], String[128];
- if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pLevel]>=2)//You have to be logged into rcon.
- {
- if(sscanf(params, "s[24]", account)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /unban (playerid/name)");
- {
- if(strlen(account) > 24) return SendClientMessage(playerid, COLOR_RED, "Name of the player can't exceed 24 characters.");
- {
- format(Query, sizeof(Query), "SELECT `Username` FROM `Bans` WHERE `Username` = '%s' AND `Banned` = 1 LIMIT 1", account);
- mysql_query(Query);
- mysql_store_result();
- if(!mysql_num_rows())
- {
- mysql_free_result();
- format(String, sizeof(String), "This user doesn't exist.", account);
- return SendClientMessage(playerid, COLOR_RED, String);
- }
- else if(mysql_num_rows() != 0)
- {
- format(Query, sizeof(Query), "UPDATE `Bans` SET `Banned` = 0 WHERE `Username` = '%s'", account);
- mysql_query(Query);
- format(String, sizeof(String), "You have unbanned %s! May he be destined to be banned again!", account);
- SendClientMessage(playerid, COLOR_GREEN, String);
- }
- }
- }
- }
- else
- return SendClientMessage(playerid,COLOR_ORANGERED,notknown);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment