Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*x---------------------------------Important-------------------------------------x*/
- //**INCLUDES**//
- #include <a_samp>
- //**PRAGMAS**//
- #pragma tabsize 0
- //**MISC**//
- /*x---------------------------------Defining-------------------------------------x*/
- //**COLORS*//
- #define GREEN 0x21DD00FF
- #define RED 0xE60000FF
- #define ADMIN_RED 0xFB0000FF
- #define YELLOW 0xFFFF00FF
- #define ORANGE 0xF97804FF
- #define LIGHTRED 0xFF8080FF
- #define LIGHTBLUE 0x00C2ECFF
- #define PURPLE 0xB360FDFF
- #define PLAYER_COLOR 0xFFFFFFFF
- #define BLUE 0x1229FAFF
- #define LIGHTGREEN 0x38FF06FF
- #define DARKPINK 0xE100E1FF
- #define DARKGREEN 0x008040FF
- #define ANNOUNCEMENT 0x00CACAFB
- #define COLOR_SYSTEM 0xEFEFF7AA
- #define NICESKY 0x99FFFFAA
- #define GRAY 0xCECECEFF
- //**MISC**//
- #define STRING 128
- //**VARIABLES**//
- enum Info
- {
- AdminLevel,
- Password[128],
- Cash,
- Warns,
- Jail,
- Logged,
- Mute,
- };
- new CountText[5][30] ={
- "~w~countdown~n~~r~~h~1",
- "~w~countdown~n~~r~2",
- "~w~countdown~n~~y~3",
- "~w~countdown~n~~b~4",
- "~w~countdown~n~~b~~h~5"
- };
- new AccountInfo[MAX_PLAYERS][Info];
- new SuperPunch[MAX_PLAYERS];
- new ViewCmds[MAX_PLAYERS];
- new Count=5;
- new player[24];
- new giveplayer[24];
- new Hide[200];
- new Drugs[200];
- new Admin;
- //**FORWARDS**//
- forward SendClientMessageToAdmins(color,string[],alevel);
- forward OnPlayerRegister(playerid,password[]);
- forward OnPlayerLogin(playerid,password[]);
- forward OnPlayerUpdate(playerid);
- forward BanLog(string[]);
- forward KickLog(string[]);
- forward VehicleLog(string[]);
- forward CountDown();
- forward Encrypt(string[]);
- /*x---------------------------------CallBacks-------------------------------------x*/
- stock strtok(const string[], &index,seperator=' ')
- {
- new length = strlen(string);
- new offset = index;
- new result[128];
- while ((index < length) && (string[index] != seperator) && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- if ((index < length) && (string[index] == seperator))
- {
- index++;
- }
- return result;
- }
- stock IsNumeric(const string[])
- {
- for (new i = 0, j = strlen(string); i < j; i++)
- if (string[i] > '9' || string[i] < '0')
- return 0;
- return 1;
- }
- ReturnUser(text[], playerid = INVALID_PLAYER_ID)
- {
- new pos = 0;
- while (text[pos] < 0x21)
- {
- if (text[pos] == 0) return INVALID_PLAYER_ID;
- pos++;
- }
- new userid = INVALID_PLAYER_ID;
- if (IsNumeric(text[pos]))
- {
- userid = strval(text[pos]);
- if (userid >=0 && userid < MAX_PLAYERS)
- {
- if(!IsPlayerConnected(userid))
- userid = INVALID_PLAYER_ID;
- else return userid;
- }
- }
- new len = strlen(text[pos]);
- new count = 0;
- new pname[MAX_PLAYER_NAME];
- for (new i = 0; i < MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i))
- {
- GetPlayerName(i, pname, sizeof (pname));
- if (strcmp(pname, text[pos], true, len) == 0)
- {
- if (len == strlen(pname)) return i;
- else
- {
- count++;
- userid = i;
- }
- }
- }
- }
- if (count != 1)
- {
- if (playerid != INVALID_PLAYER_ID)
- {
- if (count) SendClientMessage(playerid, COLOR_SYSTEM, "There are multiple users, enter full playername.");
- else SendClientMessage(playerid, COLOR_SYSTEM, "Playername not found.");
- }
- userid = INVALID_PLAYER_ID;
- }
- return userid;
- }
- stock ini_GetKey( line[] )
- {
- new keyRes[256];
- keyRes[0] = 0;
- if ( strfind( line , "=" , true ) == -1 ) return keyRes;
- strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
- return keyRes;
- }
- stock ini_GetValue( line[] )
- {
- new valRes[256];
- valRes[0]=0;
- if ( strfind( line , "=" , true ) == -1 ) return valRes;
- strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
- return valRes;
- }
- public VehicleLog(string[])
- {
- new entry[256];
- format(entry, sizeof(entry), "%s\r\n",string);
- new File:hFile;
- hFile = fopen("vehiclespawn.log", io_append);
- if (hFile)
- {
- fwrite(hFile, entry);
- fclose(hFile);
- }
- }
- public KickLog(string[])
- {
- new entry[256];
- format(entry, sizeof(entry), "%s\r\n",string);
- new File:hFile;
- hFile = fopen("kick.log", io_append);
- if (hFile)
- {
- fwrite(hFile, entry);
- fclose(hFile);
- }
- }
- public BanLog(string[])
- {
- new entry[256];
- format(entry, sizeof(entry), "%s\r\n",string);
- new File:hFile;
- hFile = fopen("ban.log", io_append);
- if (hFile)
- {
- fwrite(hFile, entry);
- fclose(hFile);
- }
- }
- public SendClientMessageToAdmins(color,string[],alevel)
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if (AccountInfo[i][AdminLevel] >= alevel)
- {
- SendClientMessage(i, color, string);
- printf("%s", string);
- }
- }
- }
- return 1;
- }
- public OnPlayerRegister(playerid, password[])
- {
- if(IsPlayerConnected(playerid))
- {
- GetPlayerName(playerid, player, 50);
- new string3[32];
- new playername3[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername3, sizeof(playername3));
- format(string3, sizeof(string3), "/sAccounts/%s.ini", playername3);
- new ip[20];
- GetPlayerIp(playerid,ip,sizeof(ip));
- new File: hFile = fopen(string3, io_write);
- if (hFile)
- {
- strmid(AccountInfo[playerid][Password], password, 0, strlen(password), 255);
- AccountInfo[playerid][Cash] = GetPlayerMoney(playerid);
- new var[128];
- format(var, 128, "Password=%s\n", AccountInfo[playerid][Password]);fwrite(hFile, var);
- format(var, 128, "Cash=%d\n", AccountInfo[playerid][Cash]);fwrite(hFile, var);
- format(var, 128, "AdminLevel=%d\n",AccountInfo[playerid][AdminLevel]);fwrite(hFile, var);
- format(var, 128, "Warnings=%d\n",AccountInfo[playerid][Warns]);fwrite(hFile, var);
- format(var, 128, "IP=%s\n",ip);fwrite(hFile, var);
- fclose(hFile);
- SendClientMessage(playerid, GREEN, "|- Account successfully registered. You can now login ( /login [password] ) -|");
- }
- }
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- if(AccountInfo[playerid][Logged] == 1)
- {
- new string3[128];
- new playername3[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername3, sizeof(playername3));
- format(string3, sizeof(string3), "/sAccounts/%s.ini", playername3);
- new ip[20];
- GetPlayerIp(playerid,ip,sizeof(ip));
- new File: hFile = fopen(string3, io_write);
- if (hFile)
- {
- AccountInfo[playerid][Cash] = GetPlayerMoney(playerid);
- new var[128];
- format(var, 128, "Password=%s\n", AccountInfo[playerid][Password]);fwrite(hFile, var);
- format(var, 128, "Cash=%d\n", AccountInfo[playerid][Cash]);fwrite(hFile, var);
- format(var, 128, "AdminLevel=%d\n",AccountInfo[playerid][AdminLevel]);fwrite(hFile, var);
- format(var, 128, "Warnings=%d\n",AccountInfo[playerid][Warns]);fwrite(hFile, var);
- format(var, 128, "IP=%s\n",ip);fwrite(hFile, var);
- fclose(hFile);
- }
- }
- }
- return 1;
- }
- public OnPlayerLogin(playerid,password[])
- {
- // new tmp2[256];
- new string2[128];
- new playername2[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playername2, sizeof(playername2));
- format(string2, sizeof(string2), "/sAccounts/%s.ini", playername2);
- new File: UserFile = fopen(string2, io_read);
- if ( UserFile )
- {
- new PassData[256];
- new keytmp[256], valtmp[256];
- fread( UserFile , PassData , sizeof( PassData ) );
- keytmp = ini_GetKey( PassData );
- if( strcmp( keytmp , "Password" , true ) == 0 )
- {
- valtmp = ini_GetValue( PassData );
- strmid(AccountInfo[playerid][Password], valtmp, 0, strlen(valtmp)-1, 255);
- }
- if(strcmp(AccountInfo[playerid][Password],password, true ) == 0 )
- {
- new key[256] , val[256];
- new Data[256];
- while ( fread( UserFile , Data , sizeof( Data ) ) )
- {
- key = ini_GetKey( Data );
- if( strcmp( key , "AdminLevel" , true ) == 0 ) { val = ini_GetValue( Data ); AccountInfo[playerid][AdminLevel] = strval( val ); }
- if( strcmp( key , "Cash" , true ) == 0 ) { val = ini_GetValue( Data ); AccountInfo[playerid][Cash] = strval( val ); }
- if( strcmp( key , "Warnings" , true ) == 0 ) { val = ini_GetValue( Data ); AccountInfo[playerid][Warns] = strval( val ); }
- }
- fclose(UserFile);
- AccountInfo[playerid][Logged] = 1;
- }
- else
- {
- SendClientMessage(playerid, RED, "Incorrect Password.");
- fclose(UserFile);
- return 1;
- }
- GivePlayerMoney(playerid,AccountInfo[playerid][Cash]);
- format(string2, sizeof(string2), " |- You have successfully logged in as %s -|",playername2);
- SendClientMessage(playerid, GREEN,string2);
- printf("%s has logged in.",playername2);
- if (AccountInfo[playerid][AdminLevel] >= 1)
- {
- format(string2, sizeof(string2), "|» You are now logged in as a Level %d Admin «|",AccountInfo[playerid][AdminLevel]);
- SendClientMessage(playerid, LIGHTGREEN,string2);
- ViewCmds[playerid] = 1;
- Admin++;
- }
- }
- return 1;
- }
- public OnFilterScriptInit()
- {
- print("<|-----------------------------------------|>");
- print(" | .: [ - argh! admin system by mincer - ] :. |");
- print("<|-----------------------------------------|>");
- Admin = 0;
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- new string[128];
- GetPlayerName(playerid,player,24);
- format(string,128,"/sAccounts/%s.ini",player);
- if (fexist(string) && AccountInfo[playerid][Logged] == 0)
- {
- SendClientMessage(playerid,RED,"Your account is registered. You must first login in order to spawn.");
- return 0;
- }
- else return 1;
- }
- public OnPlayerConnect(playerid)
- {
- AccountInfo[playerid][Jail] = 0;
- AccountInfo[playerid][AdminLevel] = 0;
- AccountInfo[playerid][Warns] = 0;
- AccountInfo[playerid][Logged] = 0;
- AccountInfo[playerid][Mute] = 0;
- Drugs[playerid] = 0;
- Hide[playerid] = 0;
- SuperPunch[playerid] = 0;
- ViewCmds[playerid] = 0;
- new string[128];
- GetPlayerName(playerid, player, 50);
- format(string, sizeof(string), "/sAccounts/%s.ini", player);
- if(fexist(string))
- {
- SendClientMessage(playerid, GRAY, "[LOGIN]: That account is registered.");
- SendClientMessage(playerid, GRAY, "Please login to retrieve your account info/stats ( /login [password] )");
- }
- else SendClientMessage(playerid,RED,"[REGISTER]: Your account isn't registered. Please register. ( /register [password] )");
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if (AccountInfo[playerid][AdminLevel] >= 1) Admin++;
- OnPlayerUpdate(playerid);
- AccountInfo[playerid][Jail] = 0;
- AccountInfo[playerid][AdminLevel] = 0;
- AccountInfo[playerid][Warns] = 0;
- AccountInfo[playerid][Logged] = 0;
- AccountInfo[playerid][Mute] = 0;
- Drugs[playerid] = 0;
- Hide[playerid] = 0;
- SuperPunch[playerid] = 0;
- ViewCmds[playerid] = 0;
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- SendDeathMessage(killerid, playerid, reason);
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- if (AccountInfo[playerid][Mute] == 1)
- {
- SendClientMessage(playerid, RED, "You are muted! You cannot talk.");
- return 0;
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[128];
- new tmp[128];
- new idx;
- new giveplayerid;
- new sendername[24];
- new string[STRING];
- cmd = strtok(cmdtext,idx);
- /*»»»»»»»»»»»»»»»»»»»»»»»»»»»» [ADMINS] «««««««««««««««««««««««««««*/
- if(strcmp(cmd, "/makeadmin", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /makeadmin [playerid] [level 1-5]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Player will be an admin.");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- tmp = strtok(cmdtext, idx);
- new level = strval(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- if (level >= 0 && level <= 6)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- printf("[ADMIN NEWS]: %s made %s a level %d admin.", sendername, giveplayer, level);
- format(string, sizeof(string), "You are now an administrator level %d thanks to %s.", level, sendername);
- SendClientMessage(giveplayerid, LIGHTBLUE, string);
- format(string, sizeof(string), "|- Administrator %s has given %s an Admin Level. [Level: %d] -|", sendername,giveplayer,level);
- SendClientMessage(playerid, ADMIN_RED, string);
- AccountInfo[giveplayerid][AdminLevel] = level;
- format(string, sizeof(string), "You have given %s level %d admin.", giveplayer,AccountInfo[giveplayerid][AdminLevel]);
- SendClientMessage(playerid, LIGHTBLUE, string);
- }
- else return SendClientMessage(playerid, RED, "Level must be at least 0(player) or 6(Lead Admin-Hidden in the admin list) !");
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%i is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else SendClientMessage(playerid, RED, "You are not a lead admin!");
- return 1;
- }
- if(strcmp(cmd, "/kickall", true) == 0)
- {
- new reason[STRING];
- if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
- {
- GetPlayerName(playerid, sendername, sizeof(sendername));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
- {
- reason[idx - offset] = cmdtext[idx];
- idx++;
- }
- reason[idx - offset] = EOS;
- if(!strlen(reason))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /kickall [reason]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will kick all the players.");
- return 1;
- }
- printf("[ADMIN NEWS]: Admin %s kicked everyone. Reason: %s", sendername, reason);
- format(string, sizeof(string), "-| Administrator %s kicked everyone. [Reason: %s ]|-", sendername,reason);
- SendClientMessageToAll(ADMIN_RED, string);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if (i != playerid)
- {
- Kick(i);
- KickLog(string);
- }
- }
- }
- else SendClientMessage(playerid, RED, "You are not a lead admin!");
- return 1;
- }
- if(strcmp(cmd, "/nuke", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 3)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /nuke [playerid]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Player will explode.");
- return 1;
- }
- new Float:X,Float:Y,Float:Z;
- giveplayerid = ReturnUser(tmp);
- if(IsPlayerConnected(giveplayerid))
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, player, sizeof(player));
- GetPlayerPos(giveplayerid, X,Y,Z);
- CreateExplosion(X,Y,Z,2,7.0);
- SetPlayerHealth(giveplayerid, 0.0);
- format(string, sizeof(string), "-| Administrator %s nuked %s |-",player,giveplayer);
- SendClientMessageToAdmins(ADMIN_RED, string,1);
- }
- else if (!IsPlayerConnected(giveplayerid))
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You're not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/score", true) == 0)
- {
- new score;
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- if (IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 1)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /score [playerid] [score]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will set a specified player's score");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /score [playerid] [score]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will set a specified player's score");
- return 1;
- }
- score = strval(tmp);
- if(IsPlayerConnected(giveplayerid))
- {
- GetPlayerName(giveplayerid,giveplayer,24);
- GetPlayerScore(giveplayerid);
- SetPlayerScore(giveplayerid, score);
- format(string, sizeof(string), "You have changed %s's score number to %d.",giveplayer, score);
- SendClientMessage(playerid, GREEN, string);
- }
- else if (!IsPlayerConnected(giveplayerid))
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You're not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/angle", true) == 0)
- {
- if (IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 1)
- {
- new Float:angle;
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /angle [angle degree]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will change your current angle.");
- GetPlayerFacingAngle(playerid,angle);
- format(string, sizeof(string), "HELP: Your current angle is %f **NOTE**: Bugged a little.",angle);
- SendClientMessage(playerid, ORANGE, string);
- return 1;
- }
- angle = strval(tmp);
- if (GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
- {
- SetVehicleZAngle(GetPlayerVehicleID(playerid),angle);
- format(string, sizeof(string), "You have changed your angle degree to %f",angle);
- SendClientMessage(playerid, GREEN, string);
- }
- else
- {
- SetPlayerFacingAngle(playerid,angle);
- format(string, sizeof(string), "You have changed your angle degree to %f",angle);
- SendClientMessage(playerid, GREEN, string);
- }
- }
- else
- {SendClientMessage(playerid, RED, "You're not an admin with the required level.");}
- return 1;
- }
- if(strcmp(cmd, "/banip", true) == 0)
- {
- tmp = strtok(cmdtext,idx);
- if (AccountInfo[playerid][AdminLevel] >= 5)
- {
- new ip[128],ban[128];
- giveplayerid = ReturnUser(tmp);
- if (IsPlayerConnected(giveplayerid))
- {
- GetPlayerName(giveplayerid,giveplayer,24);
- GetPlayerIp(giveplayerid,ip,128);
- strdel(ip,strlen(ip)-2,strlen(ip));
- format(ip,128,"%s**",ip);
- format(ban,128,"banip %s",ip);
- SendRconCommand(ban);
- SendClientMessage(playerid, GREEN, "Player Banned");
- }
- else
- {
- format(string, sizeof(string), "%i is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You're not a lead admin !");
- }
- return 1;
- }
- if(strcmp(cmd, "/getip", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /getip [playerid]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will view a player's IP.");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(IsPlayerConnected(giveplayerid))
- {
- new sstring[256];
- new ip[128];
- GetPlayerIp(giveplayerid,ip,128);
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- format(sstring, sizeof(sstring), "-| %s's IP: %s |-", giveplayer,ip);
- SendClientMessage(playerid,LIGHTBLUE, sstring);
- }
- else
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin.");
- }
- return 1;
- }
- if(strcmp(cmd, "/ban", true) == 0)
- {
- new reason[128];
- if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /ban [playerid] [reason]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will BAN the specified player.");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if (AccountInfo[giveplayerid][AdminLevel] > AccountInfo[playerid][AdminLevel])
- {
- format(string, sizeof(string), "-| [%i]%s tried to ban you! |-",playerid,player);
- SendClientMessage(giveplayerid, ADMIN_RED,string);
- SendClientMessage(playerid, ADMIN_RED, "You are not allowed to ban an admin with a higher level than you!");
- }
- else if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
- {
- reason[idx - offset] = cmdtext[idx];
- idx++;
- }
- reason[idx - offset] = EOS;
- if(!strlen(reason))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /ban [playerid] [reason]");
- return 1;
- }
- else
- {
- new sstring[256];
- new ip[128];
- printf("[ADMIN NEWS]: Admin %s banned %s. Reason: %s", sendername, giveplayer, reason);
- format(string, sizeof(string), "-| Administrator %s banned %s. [Reason: %s ]|-", sendername,giveplayer,reason);
- SendClientMessageToAll(ADMIN_RED, string);
- GetPlayerIp(giveplayerid,ip,128);
- format(sstring, sizeof(sstring), "-| Banned Player's IP: %s |-", ip);
- SendClientMessageToAdmins(ADMIN_RED, sstring,1);
- AccountInfo[giveplayerid][AdminLevel] = 0;
- BanEx(giveplayerid,reason);
- }
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/kick", true) == 0)
- {
- new reason[256];
- if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /kick [playerid] [reason]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will kick the specified player.");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
- {
- reason[idx - offset] = cmdtext[idx];
- idx++;
- }
- reason[idx - offset] = EOS;
- if(!strlen(reason))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /kick [playerid] [reason]");
- return 1;
- }
- else
- {
- printf("[ADMIN NEWS]: Admin %s kicked %s. Reason: %s", sendername, giveplayer, reason);
- format(string, sizeof(string), "-| Administrator %s kicked %s. [Reason: %s ]|-", sendername,giveplayer,reason);
- SendClientMessageToAll(ADMIN_RED, string);
- Kick(giveplayerid);
- KickLog(string);
- format(string, sizeof(string), "** [%i]%s left the server. ( Kicked ) **",playerid,player);
- SendClientMessageToAll(GRAY, string);
- }
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/mute", true) == 0)
- {
- new reason[164];
- if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /mute [playerid] [reason]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will mute the specified player.");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- if (AccountInfo[giveplayerid][Mute] == 0)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
- {
- reason[idx - offset] = cmdtext[idx];
- idx++;
- }
- reason[idx - offset] = EOS;
- if(!strlen(reason))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /mute [playerid] [reason]");
- return 1;
- }
- else
- {
- printf("[ADMIN NEWS]: Admin %s muted %s. Reason: %s", sendername, giveplayer, reason);
- format(string, sizeof(string), "-| Administrator %s muted %s. [Reason: %s ]|-", sendername,giveplayer,reason);
- SendClientMessageToAll(ADMIN_RED, string);
- AccountInfo[giveplayerid][Mute] = 1;
- }
- }
- else if (AccountInfo[giveplayerid][Mute] == 1)
- {
- SendClientMessage(playerid, RED, "Player is already muted!");
- }
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/unmute", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /unmute [playerid]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will unmute the specified player. ");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- if (AccountInfo[giveplayerid][Mute] == 1)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- printf("[ADMIN NEWS]: Admin %s unmuted %s.", sendername, giveplayer);
- format(string, sizeof(string), "-| Administrator %s unmuted %s |-", sendername,giveplayer);
- SendClientMessageToAll(ADMIN_RED, string);
- AccountInfo[giveplayerid][Mute] = 0;
- }
- else if (AccountInfo[giveplayerid][Mute] == 0)
- {
- SendClientMessage(playerid, RED, "Player isn't muted.");
- }
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/freeze", true) == 0)
- {
- new reason[64];
- if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /freeze [playerid] [reason]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will freeze the specified player. ");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
- {
- reason[idx - offset] = cmdtext[idx];
- idx++;
- }
- reason[idx - offset] = EOS;
- if(!strlen(reason))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /freeze [playerid] [reason]");
- return 1;
- }
- else
- {
- printf("[ADMIN NEWS]: Admin %s froze %s. Reason: %s", sendername, giveplayer, reason);
- format(string, sizeof(string), "-| Administrator %s froze %s. [Reason: %s ]|-", sendername,giveplayer,reason);
- SendClientMessageToAdmins(ADMIN_RED, string,1);
- TogglePlayerControllable(giveplayerid,0);
- }
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/unfreeze", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /unfreeze [playerid]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will unfreeze the specified player. ");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- printf("[ADMIN NEWS]: Admin %s unfroze %s.", sendername, giveplayer);
- format(string, sizeof(string), "-| Administrator %s unfroze %s |-", sendername,giveplayer);
- SendClientMessageToAdmins(ADMIN_RED, string,1);
- TogglePlayerControllable(giveplayerid,1);
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/setname", true) == 0)
- {
- new newname[128];
- if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /setname [playerid] [newname]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will change the player's current name. ");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- while ((idx < length) && ((idx - offset) < (sizeof(newname) - 1)))
- {
- newname[idx - offset] = cmdtext[idx];
- idx++;
- }
- newname[idx - offset] = EOS;
- if(!strlen(newname))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /setname [playerid] [newname]");
- return 1;
- }
- else
- {
- printf("[ADMIN NEWS]: Admin %s renamed %s.", sendername, giveplayer);
- format(string, sizeof(string), "-| Administrator %s renamed %s. [New Name: %s ] |-", sendername,giveplayer,newname);
- SendClientMessageToAdmins(ADMIN_RED, string,1);
- SetPlayerName(giveplayerid, newname);
- }
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/givecash", true) == 0)
- {
- new cash;
- if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /givecash [playerid] [cash]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will give the player some cash. ");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- tmp = strtok(cmdtext, idx);
- cash = strval(tmp);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /givecash [playerid] [cash]");
- return 1;
- }
- else
- {
- printf("[ADMIN NEWS]: Admin %s gave %s $%d.", sendername, giveplayer, cash);
- format(string, sizeof(string), "-| Administrator %s gave %s $%d |-", sendername,giveplayer,cash);
- SendClientMessageToAdmins(ADMIN_RED, string,1);
- GivePlayerMoney(giveplayerid, cash);
- }
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/kill", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /kill [playerid]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will kill the specified player.");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- printf("[ADMIN NEWS]: Admin %s killed %s", sendername, giveplayer);
- format(string, sizeof(string), "-| Administrator %s killed %s |-", sendername,giveplayer);
- SendClientMessageToAdmins(ADMIN_RED, string,1);
- SetPlayerHealth(giveplayerid, 0.0);
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You have committed suicide.");
- SetPlayerHealth(playerid,0.0);
- }
- return 1;
- }
- if(strcmp(cmd, "/goto", true) == 0)
- {
- new Float:pX,Float:pY,Float:pZ;
- if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /goto [playerid]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will teleport to the specified player.");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(playerid,player,50);
- GetPlayerName(giveplayerid,giveplayer,50);
- if (GetPlayerState(playerid) == 2)
- {
- GetPlayerPos(giveplayerid,pX,pY,pZ);
- SetVehiclePos(GetPlayerVehicleID(playerid),pX,pY,pZ+2);
- }
- else
- {
- GetPlayerPos(giveplayerid,pX,pY,pZ);
- SetPlayerPos(playerid,pX,pY,pZ+2);
- }
- SetPlayerInterior(playerid,GetPlayerInterior(giveplayerid));
- printf("[ADMIN NEWS]: Admin %s teleported to %s. ( /goto )", player, giveplayer);
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/get", true) == 0)
- {
- new Float:pX,Float:pY,Float:pZ;
- if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /get [playerid]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will teleport the specified player to you.");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(playerid,player,50);
- GetPlayerName(giveplayerid,giveplayer,50);
- if (GetPlayerState(giveplayerid) == PLAYER_STATE_DRIVER)
- {
- GetPlayerPos(playerid,pX,pY,pZ);
- SetVehiclePos(GetPlayerVehicleID(giveplayerid),pX,pY,pZ+2);
- }
- else
- {
- GetPlayerPos(playerid,pX,pY,pZ);
- SetPlayerPos(giveplayerid,pX,pY,pZ+2);
- }
- SetPlayerInterior(giveplayerid,GetPlayerInterior(playerid));
- printf("[ADMIN NEWS]: Admin %s teleported %s to him. ( /get )", player, giveplayer);
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(!strcmp(cmdtext, "//", true, 2))
- {
- if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
- {
- if(!strlen(cmdtext[2])) return SendClientMessage(playerid, ORANGE, "USAGE: '/a<text>'");
- GetPlayerName(playerid, player, sizeof(player));
- format(string, sizeof(string), "Admin [%i]%s: %s" ,playerid,player, cmdtext[2]);
- SendClientMessageToAdmins(DARKPINK,string,1);
- return 1;
- }
- else return SendClientMessage(playerid, RED, "You are not an admin!");
- }
- if(strcmp(cmd, "/slap", true) == 0)
- {
- new Float:pX,Float:pY,Float:pZ;
- if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /slap [playerid]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will slap the specified player(He will teleport 5 meters higher)");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- GetPlayerPos(giveplayerid,pX,pY,pZ);
- SetPlayerPos(giveplayerid,pX,pY,pZ+5);
- printf("[ADMIN NEWS]: Admin %s slapped %s.", sendername, giveplayer);
- format(string, sizeof(string), "-| Administrator %s slapped %s |-",sendername, giveplayer);
- SendClientMessageToAdmins(ADMIN_RED,string,1);
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/bslap", true) == 0)
- {
- new Float:pX,Float:pY,Float:pZ;
- if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /bslap [playerid]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will double slap the specified player(He will teleport 10 meters higher)");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- GetPlayerPos(giveplayerid,pX,pY,pZ);
- SetPlayerPos(giveplayerid,pX,pY,pZ+10);
- printf("[ADMIN NEWS]: Admin %s bitch slapped %s.", sendername, giveplayer);
- format(string, sizeof(string), "-| Administrator %s bitch slapped %s |-",sendername, giveplayer);
- SendClientMessageToAdmins(ADMIN_RED,string,1);
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/disarm", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /disarm [playerid]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will disarm the player.");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- ResetPlayerWeapons(giveplayerid);
- format(string, sizeof(string), "-| Administrator %s disarmed %s |-",sendername, giveplayer);
- SendClientMessageToAdmins(ADMIN_RED,string,1);
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/say", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
- {
- GetPlayerName(playerid, player, sizeof(player));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- new result[256];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
- {
- result[idx - offset] = cmdtext[idx];
- idx++;
- }
- result[idx - offset] = EOS;
- if(!strlen(result))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /say [message]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will broadcast an admin message.");
- return 1;
- }
- format(string, sizeof(string), "* Admin: %s", result);
- SendClientMessageToAll(LIGHTRED, string);
- printf("%s", string);
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/bc", true) == 0 || strcmp(cmd, "/broadcast", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
- {
- GetPlayerName(playerid, player, sizeof(player));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- new result[256];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
- {
- result[idx - offset] = cmdtext[idx];
- idx++;
- }
- result[idx - offset] = EOS;
- if(!strlen(result))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /bc [message]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will broadcast a screen message");
- return 1;
- }
- format(string, sizeof(string), "~w~%s", result);
- GameTextForAll(string,5000,4);
- printf("%s", string);
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/veh", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /veh [carid] [color1] [color2]");
- return 1;
- }
- new car;
- car = strval(tmp);
- if(car < 400 || car > 611) { SendClientMessage(playerid, RED, "Vehicle ID can't be below 400 nor above 611 !"); return 1; }
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /veh [carid] [color1] [color2]");
- return 1;
- }
- new color1;
- color1 = strval(tmp);
- if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, RED, "Color ID can't be below 0 nor above 126 !"); return 1; }
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /veh [carid] [color1] [color2]");
- return 1;
- }
- new color2;
- color2 = strval(tmp);
- if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, RED, "Color ID can't be below 0 nor above 126 !"); return 1; }
- new Float:X,Float:Y,Float:Z;
- GetPlayerPos(playerid, X,Y,Z);
- new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 600000000);
- format(string, sizeof(string), "Vehicle ID %d spawned.", carid);
- SendClientMessage(playerid, GREEN, string);
- GetPlayerName(playerid,player,sizeof(player));
- format(string, sizeof(string), "-| Administrator %s spawned a vehicle [ ID: %d (%d) ]|-",player, carid,GetVehicleModel(carid));
- SendClientMessageToAdmins(ADMIN_RED,string,1);
- }
- else
- {
- SendClientMessage(playerid, RED, "You're not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/weaps", true) == 0)
- {
- if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 1)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /weaps [playerid/name]");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if (giveplayerid != INVALID_PLAYER_ID)
- {
- new bullets[12];
- new weapons[12];
- new weapname[12][50];
- GetPlayerWeaponData(giveplayerid,1,weapons[0],bullets[0]);
- GetPlayerWeaponData(giveplayerid,2,weapons[1],bullets[1]);
- GetPlayerWeaponData(giveplayerid,3,weapons[2],bullets[2]);
- GetPlayerWeaponData(giveplayerid,4,weapons[3],bullets[3]);
- GetPlayerWeaponData(giveplayerid,5,weapons[4],bullets[4]);
- GetPlayerWeaponData(giveplayerid,6,weapons[5],bullets[5]);
- GetPlayerWeaponData(giveplayerid,7,weapons[6],bullets[6]);
- GetPlayerWeaponData(giveplayerid,8,weapons[7],bullets[7]);
- GetPlayerWeaponData(giveplayerid,9,weapons[8],bullets[8]);
- GetPlayerWeaponData(giveplayerid,10,weapons[9],bullets[9]);
- GetPlayerWeaponData(giveplayerid,11,weapons[10],bullets[10]);
- GetPlayerWeaponData(giveplayerid,12,weapons[11],bullets[11]);
- GetWeaponName(weapons[0],weapname[0],50);
- GetWeaponName(weapons[1],weapname[1],50);
- GetWeaponName(weapons[2],weapname[2],50);
- GetWeaponName(weapons[3],weapname[3],50);
- GetWeaponName(weapons[4],weapname[4],50);
- GetWeaponName(weapons[5],weapname[5],50);
- GetWeaponName(weapons[6],weapname[6],50);
- GetWeaponName(weapons[7],weapname[7],50);
- GetWeaponName(weapons[8],weapname[8],50);
- GetWeaponName(weapons[9],weapname[9],50);
- GetWeaponName(weapons[10],weapname[10],50);
- GetWeaponName(weapons[11],weapname[11],50);
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- format(string,sizeof(string)," |- %s's Weapons -|",giveplayer);
- SendClientMessage(playerid,LIGHTGREEN,string);
- format(string, sizeof(string),"%s(0) - %s(%d) - %s(%d) - %s(%d) - %s(%d) - %s(%d)",weapname[0],weapname[1],bullets[1],weapname[2],bullets[2],weapname[3],bullets[3],weapname[4],bullets[4],weapname[5],bullets[5]);
- SendClientMessage(playerid,YELLOW,string);
- format(string,sizeof(string),"%s(%d) - %s(%d) - %s(%d) - %s(0) - %s(0) - %s(0)",weapname[6],bullets[6],weapname[7],bullets[7],weapname[8],bullets[8],weapname[9],weapname[10],weapname[11]);
- SendClientMessage(playerid,YELLOW,string);
- }
- else SendClientMessage(playerid, RED, "Player is not active.");
- }
- else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
- return 1;
- }
- if(strcmp(cmd, "/sethp", true) == 0)
- {
- if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 3)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /sethp [playerid/name] [health]");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- tmp = strtok(cmdtext, idx);
- new hp = strval(tmp);
- if (giveplayerid != INVALID_PLAYER_ID)
- {
- if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /sethp [playerid/name] [health]");
- SetPlayerHealth(giveplayerid,hp);
- Drugs[giveplayerid] = 0;
- GetPlayerName(playerid, sendername, sizeof(sendername));
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- format(string,sizeof(string),"|- Administrator %s has changed %s's HP. [HP: %d] -|",sendername,giveplayer,hp);
- SendClientMessageToAdmins(ADMIN_RED,string,1);
- }
- else
- {
- SendClientMessage(playerid, RED, "Player is not active.");
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You're not an admin with the required level.");
- }
- return 1;
- }
- if (strcmp(cmd, "/logout", true) ==0 )
- {
- if(AccountInfo[playerid][Logged] == 1)
- {
- if(AccountInfo[playerid][AdminLevel] >= 1)
- {
- OnPlayerUpdate(playerid);
- AccountInfo[playerid][Logged] = 0;
- AccountInfo[playerid][AdminLevel] = 0;
- SendClientMessage(playerid, GREEN, "You have successfuly logged out.");
- }
- else SendClientMessage(playerid, RED, "You're not an admin with the required level.");
- }
- else return SendClientMessage(playerid, RED, "You're not logged in! ( /login [password] )");
- return 1;
- }
- if(strcmp(cmd, "/warn", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 1)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /warn [playerid] [reason]");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(IsPlayerConnected(giveplayerid))
- {
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, player, sizeof(player));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- new reason[256];
- while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
- {
- reason[idx - offset] = cmdtext[idx];
- idx++;
- }
- reason[idx - offset] = EOS;
- if(!strlen(reason))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /warn [playerid] [reason]");
- return 1;
- }
- new sstring[256];
- AccountInfo[giveplayerid][Warns] += 1;
- format(string, sizeof(string), "You got warned by Admin %s. Reason: %s", player, reason);
- SendClientMessage(giveplayerid, ADMIN_RED, string);
- SendClientMessage(giveplayerid, RED, "6 Warnings = Auto-Ban! Check your stats to see how many warnings you have. ( /stats )");
- format(string, sizeof(string), "-| Administrator %s warned %s. [Reason: %s ] |-",player ,giveplayer, reason);
- SendClientMessageToAdmins(ADMIN_RED,string,1);
- format(string, sizeof(string), "-| %s's warnings: %d |-",giveplayer, AccountInfo[giveplayerid][Warns]);
- SendClientMessageToAdmins(ADMIN_RED,string,1);
- if(AccountInfo[giveplayerid][Warns] >= 3)
- {
- new ip[128];
- format(string, sizeof(string), "-| Administrator %s banned %s. [Reason: 3 Warnings.] |-", player,giveplayer);
- BanLog(string);
- format(string, sizeof(string), "-| Administrator %s banned %s. [Reason: 3 Warnings.] |-", player,giveplayer);
- SendClientMessageToAll(ADMIN_RED, string);
- GetPlayerIp(giveplayerid,ip,128);
- format(sstring, sizeof(sstring), "-| Banned Player's IP: %s |-", ip);
- SendClientMessageToAdmins(ADMIN_RED, sstring,1);
- AccountInfo[giveplayerid][AdminLevel]= 0;
- Ban(giveplayerid);
- return 1;
- }
- return 1;
- }
- else
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- format(string, sizeof(string), "You are not an admin with the required level.");
- SendClientMessage(playerid, RED, string);
- }
- return 1;
- }
- if(strcmp(cmd, "/pstats", true) == 0)
- {
- if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 1)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /pstats [playerid]");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if (giveplayerid != INVALID_PLAYER_ID)
- {
- new Float:health,Float:armor;
- GetPlayerHealth(giveplayerid,health);
- GetPlayerArmour(giveplayerid,armor);
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- format(string, sizeof(string), "Stats of %s:- Health: %.0f - Cash: %d - Warnings: %d - Armor: %.0f",giveplayer, health,GetPlayerMoney(giveplayerid),AccountInfo[giveplayerid][Warns],armor);
- SendClientMessage(playerid,PURPLE,string);
- if(AccountInfo[giveplayerid][Logged] == 1) SendClientMessage(playerid, PURPLE, "Logged In: Yes");
- else if(AccountInfo[giveplayerid][Logged] == 0) SendClientMessage(playerid, PURPLE, "Logged In: No");
- SendClientMessage(playerid,YELLOW,"Type /pweapons [playerid/name] to check the player's weapons");
- }
- else
- {
- SendClientMessage(playerid, RED, "Player is not active.");
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You're not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/fuck", true) == 0)
- {
- new Float:pX,Float:pY,Float:pZ;
- new Float:X,Float:Y,Float:Z;
- if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /fuck [playerid]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will fuck up a player.");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- GetPlayerPos(giveplayerid,pX,pY,pZ);
- SetPlayerPos(giveplayerid,pX,pY,pZ+50);
- GetPlayerPos(giveplayerid,X,Y,Z);
- CreateExplosion(X,Y,Z,2,5.0);
- format(string, sizeof(string), "-| Administrator %s fucked up %s |-",sendername, giveplayer);
- SendClientMessageToAdmins(ADMIN_RED,string,1);
- SendClientMessage(giveplayerid, RED, "You are being fucked up by an admin.");
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/giveweapon", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /giveweapon [playerid] [weaponid] [ammo]");
- return 1;
- }
- new gun;
- new ammo;
- giveplayerid = ReturnUser(tmp);
- tmp = strtok(cmdtext, idx);
- gun = strval(tmp);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /giveweapon [playerid] [weaponid] [ammo]");
- return 1;
- }
- tmp = strtok(cmdtext, idx);
- ammo = strval(tmp);
- if(ammo <1||ammo > 10000)
- { SendClientMessage(playerid, RED, "You can only give a maximum capacity of 10 000 bullets and not less than 1."); return 1; }
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(playerid, sendername, sizeof(sendername));
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GivePlayerWeapon(giveplayerid, gun, ammo);
- format(string, sizeof(string), "-| Administrator %s gave a weapon to %s |-",sendername, giveplayer);
- SendClientMessageToAdmins(ADMIN_RED,string,1);
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level!");
- }
- return 1;
- }
- if(strcmp(cmd, "/setwarn", true) == 0)
- {
- new warnings;
- if (AccountInfo[playerid][AdminLevel] >= 4 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /setwarn [playerid] [warning]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will set a certain player's warning.");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- tmp = strtok(cmdtext, idx);
- warnings = strval(tmp);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /setwarn [playerid] [warning]");
- return 1;
- }
- else
- {
- AccountInfo[giveplayerid][Warns] = warnings;
- format(string, sizeof(string), "Admin %s changed your warnings to %d", player, warnings);
- SendClientMessage(giveplayerid, GREEN, string);
- SendClientMessage(giveplayerid, RED, "3 Warnings = Auto-Ban! Ask an admin to check how many warnings you have");
- format(string, sizeof(string), "-| Administrator %s changed %s's warnings. [Warnings: %d ] |-",player ,giveplayer, AccountInfo[giveplayerid][Warns]);
- SendClientMessageToAdmins(ADMIN_RED,string,1);
- }
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/an", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
- {
- GetPlayerName(playerid, player, sizeof(player));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- new result[256];
- while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
- {
- result[idx - offset] = cmdtext[idx];
- idx++;
- }
- result[idx - offset] = EOS;
- if(!strlen(result))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /an [message]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will broadcast an announcement.");
- return 1;
- }
- format(string, sizeof(string), "%s", result);
- SendClientMessageToAll(ANNOUNCEMENT, string);
- printf("%s", string);
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not a lead admin.");
- }
- return 1;
- }
- if(strcmp(cmd, "/superpunch", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 5 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext,idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /superpunch [on/off]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will give you the power of Super Punch. When pressing 'PUNCH' button, you will explode but will live.");
- }
- else if(strcmp(tmp,"on",true) == 0)
- {
- SuperPunch[playerid] = 1;
- SendClientMessage(playerid,GREEN,"You are now blessed with SUPER PUNCH! Go knock someone out, now.");
- }
- else if(strcmp(tmp,"off",true) == 0)
- {
- SuperPunch[playerid] = 0;
- SendClientMessage(playerid,GREEN,"Your super punch is now disabled.");
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if (strcmp(cmd, "/superpunchp", true) ==0 )
- {
- new tmp2[256];
- if (AccountInfo[playerid][AdminLevel] > 5 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext,idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid,ORANGE,"USAGE: /superpunchp [playerid] [on/off]");
- SendClientMessage(playerid,ORANGE,"FUNCTION: Will give the player the power of SuperPunch.");
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- tmp2 = strtok(cmdtext,idx);
- if(strcmp(tmp2,"on",true) == 0)
- {
- GetPlayerName(playerid, player, sizeof(player));
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- SuperPunch[giveplayerid] = 1;
- format(string, sizeof(string), "Admin %s blessed you with the power of Super Punch !", player);
- SendClientMessage(giveplayerid,GREEN,string);
- format(string, sizeof(string), "-| Administrator %s blessed %s with the power of Super Punch |-", player,giveplayer);
- SendClientMessageToAdmins(ADMIN_RED,string,1);
- }
- else if(strcmp(tmp2,"off",true) == 0)
- {
- format(string, sizeof(string), "Admin %s removed your Super Punch power.", player);
- SendClientMessage(giveplayerid,RED,string);
- SuperPunch[giveplayerid] = 0;
- }
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid,RED,string);
- }
- }
- else
- {
- SendClientMessage(playerid,RED,"You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/viewcmds", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext,idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /viewcmds [on/off]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will see the players typing '/count' and wrong commands.");
- }
- else if(strcmp(tmp,"on",true) == 0)
- {
- ViewCmds[playerid] = 1;
- SendClientMessage(playerid,GREEN,"You can know view players typing '/count' and wrong commands.");
- }
- else if(strcmp(tmp,"off",true) == 0)
- {
- ViewCmds[playerid] = 0;
- SendClientMessage(playerid,GREEN,"You can no longer view players typing '/count' and wrong commands.");
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/jail", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 2)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /jail [playerid] [reason]");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(IsPlayerConnected(giveplayerid))
- {
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- if(AccountInfo[giveplayerid][Jail] == 0)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, player, sizeof(player));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- new reason[256];
- while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
- {
- reason[idx - offset] = cmdtext[idx];
- idx++;
- }
- reason[idx - offset] = EOS;
- if(!strlen(reason))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /jail [playerid] [reason]");
- return 1;
- }
- format(string, sizeof(string), "You got jailed by Admin %s. Reason: %s", player, reason);
- SendClientMessage(giveplayerid, ADMIN_RED, string);
- format(string, sizeof(string), "-| Administrator %s jailed %s. [ Reason: %s ] |-",player ,giveplayer, reason);
- SendClientMessageToAll(ADMIN_RED,string);
- AccountInfo[giveplayerid][Jail] = 1;
- OnPlayerJailed(giveplayerid);
- return 1;
- }
- else
- {
- SendClientMessage(playerid, RED, "Player is already jailed!");
- }
- }
- else
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- format(string, sizeof(string), "You are not an admin with the required level.");
- SendClientMessage(playerid, RED, string);
- }
- return 1;
- }
- if(strcmp(cmd, "/unjail", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /unjail [playerid]");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- if(AccountInfo[giveplayerid][Jail] == 1)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- printf("[ADMIN NEWS]: Admin %s unjailed %s.", sendername, giveplayer);
- format(string, sizeof(string), "-| Administrator %s unjailed %s |-",sendername, giveplayer);
- SendClientMessageToAll(ADMIN_RED,string);
- AccountInfo[giveplayerid][Jail] = 0;
- OnPlayerUnjailed(giveplayerid);
- }
- else
- {
- SendClientMessage(playerid, RED, "Player is not jailed!");
- }
- }
- else
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(!strcmp(cmdtext, "/aclearchat", true))
- {
- if(AccountInfo[playerid][AdminLevel] >= 3 || IsPlayerAdmin(playerid))
- {
- for(new chat=0; chat<51; chat++)
- {
- SendClientMessageToAll(GREEN, " ");
- }
- GetPlayerName(playerid, player, 20);
- format(string, 256, "-| Administrator %s cleared the chat |-", player);
- SendClientMessageToAll(ADMIN_RED, string);
- return 1;
- }
- else
- {
- SendClientMessage(playerid, RED, "You are not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmd, "/hide", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 1)
- {
- Hide[playerid] = 1;
- SendClientMessage(playerid,GREEN,"|- You're now hidden from the admin list -|");
- Admin--;
- }
- return 1;
- }
- if(strcmp(cmd, "/unhide", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 1)
- {
- if (Hide[playerid] != 1) return SendClientMessage(playerid,RED,"You're not hidden in the admin list!");
- Hide[playerid] = 0;
- Admin++;
- SendClientMessage(playerid,GREEN,"|- You're now visible in the admin list -|");
- }
- return 1;
- }
- if(strcmp(cmd, "/virtual", true) == 0)
- {
- if(IsPlayerAdmin(playerid) || AccountInfo[playerid][AdminLevel] >= 2)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /virtual [playerid/name] [virtual world (1-6)]");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- tmp = strtok(cmdtext, idx);
- new v = strval(tmp);
- if (giveplayerid != INVALID_PLAYER_ID)
- {
- if (!strlen(tmp)) return SendClientMessage(playerid, ORANGE, "USAGE: /virtual [playerid/name] [virtual world (1-6)]");
- SetPlayerVirtualWorld(giveplayerid,v);
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- format(string,sizeof(string),"|- Administrator %s has changed %s's Virtual World. [World: %d] -|",player,giveplayer,v);
- SendClientMessageToAdmins(ADMIN_RED,string,1);
- }
- else
- {
- SendClientMessage(playerid, RED, "Player is not active.");
- }
- }
- else
- {
- SendClientMessage(playerid, RED, "You're not an admin with the required level.");
- }
- return 1;
- }
- if(strcmp(cmdtext,"/count",true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid,RED,"You're not an admin");
- if(Count >= 5)
- {
- format(string,sizeof(string),"|- Administrator %s started a Countdown -|",player);
- SendClientMessageToAll(LIGHTGREEN, string);
- CountDown();
- for(new a = 0; a < MAX_PLAYERS; a++)
- {
- if(IsPlayerConnected(a))
- {
- if (AccountInfo[a][AdminLevel] >= 1)
- {
- if (ViewCmds[a] == 1)
- {
- GetPlayerName(playerid, player, sizeof(player));
- format(string, sizeof(string), "[%i] %s: %s",playerid,player,cmdtext);
- SendClientMessage(a,PURPLE,string);
- }
- }
- }
- break;
- }
- }
- else SendClientMessage(playerid, RED, "Countdown is already in progress.");
- return 1;
- }
- if(strcmp(cmd, "/spec", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid,RED,"You're not an admin !");
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "|__________________________________|");
- SendClientMessage(playerid, ORANGE, "USAGE: /spec [playerid]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will spectate a player.");
- SendClientMessage(playerid, ORANGE, "HELP: /spec off to stop spectating");
- SendClientMessage(playerid, ORANGE, "|__________________________________|");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if (giveplayerid != INVALID_PLAYER_ID)
- {
- if (AccountInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid,RED,"You're not an admin !");
- TogglePlayerSpectating(playerid, 1);
- SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(giveplayerid));
- SetPlayerInterior(playerid,GetPlayerInterior(giveplayerid));
- if (IsPlayerInAnyVehicle(giveplayerid)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(giveplayerid));
- else PlayerSpectatePlayer(playerid, giveplayerid);
- SendClientMessage(playerid, ORANGE, "HELP: '/view off' to stop spectating");
- }
- else if(strcmp(tmp, "off", true) == 0)
- {
- TogglePlayerSpectating(playerid, 0);
- SetPlayerVirtualWorld(playerid,0);
- }
- else
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- return 1;
- }
- if(strcmp(cmd, "/report", true) == 0)
- {
- new reason[STRING];
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /report [playerid] [reason]");
- SendClientMessage(playerid, ORANGE, "FUNCTION: Will report the specified player to the administrators(online).");
- return 1;
- }
- giveplayerid = ReturnUser(tmp);
- if(giveplayerid != INVALID_PLAYER_ID)
- {
- GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
- GetPlayerName(playerid, sendername, sizeof(sendername));
- new length = strlen(cmdtext);
- while ((idx < length) && (cmdtext[idx] <= ' '))
- {
- idx++;
- }
- new offset = idx;
- while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
- {
- reason[idx - offset] = cmdtext[idx];
- idx++;
- }
- reason[idx - offset] = EOS;
- if(!strlen(reason))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /report [playerid] [reason]");
- return 1;
- }
- format(string, sizeof(string), "[REPORT]: %s reported %s for: %s", sendername,giveplayer,reason);
- SendClientMessageToAdmins(ADMIN_RED, string,1);
- format(string, sizeof(string), "Your report on '%s' has been sent to the current online admins. Thank you.", giveplayer);
- SendClientMessage(playerid, GREEN, string);
- }
- else if(giveplayerid == INVALID_PLAYER_ID)
- {
- format(string, sizeof(string), "%d is not an active player.", giveplayerid);
- SendClientMessage(playerid, RED, string);
- }
- return 1;
- }
- if(strcmp(cmd, "/ah", true) == 0)
- {
- if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid, YELLOW, " |- Server Admin Commands -|");
- SendClientMessage(playerid, ORANGE, "LEAD(5): /makeadmin /kickall ");
- SendClientMessage(playerid, ORANGE, "LEVEL 1+: /(un)freeze /score /angle /kick /kill /goto /getip /weaps /spec /warn");
- SendClientMessage(playerid, ORANGE, "LEVEL 2+: /(un)mute /givecash /get /pstats /setname /logout /demolish /virtual");
- SendClientMessage(playerid, ORANGE, "LEVEL 3+: /nuke /ban /disarm /say /giveweapon /slap /viewcmds //(un jail");
- SendClientMessage(playerid, ORANGE, "LEVEL 4+: /fuck /bc /setwarn /an /aclearchat /bslap /(un)hide /sethp");
- SendClientMessage(playerid, ORANGE, "ADMIN CHAT: // Example: //hello");
- }
- else SendClientMessage(playerid, RED, "You are not an admin!");
- return 1;
- }
- if (strcmp(cmd, "/admins", true) == 0)
- {
- new count = 0;
- SendClientMessage(playerid, GREEN, " [Online Admins]");
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if (IsPlayerConnected(i))
- {
- if(AccountInfo[i][AdminLevel] >= 1 && AccountInfo[i][AdminLevel] <= 5 && Hide[i] == 0)
- {
- GetPlayerName(i, player, sizeof(player));
- format(string, 128, "Level %d [%i]%s", AccountInfo[i][AdminLevel],i,player);
- SendClientMessage(playerid, LIGHTGREEN, string);
- count++;
- }
- }
- }
- if (count == 0) SendClientMessage(playerid,RED,"No admin online in the list");
- SendClientMessage(playerid, GREEN, "[____________________________________]");
- return 1;
- }
- if (strcmp(cmd, "/register", true) ==0 )
- {
- if(IsPlayerConnected(playerid))
- {
- if(AccountInfo[playerid][Logged] == 1)
- {
- SendClientMessage(playerid, RED, "You are already logged in.");
- return 1;
- }
- GetPlayerName(playerid, sendername, sizeof(sendername));
- format(string, sizeof(string), "/sAccounts/%s.ini", sendername);
- new File: hFile = fopen(string, io_read);
- if (hFile)
- {
- SendClientMessage(playerid, RED, "That name is already taken. Please reconnect using a different username.");
- fclose(hFile);
- return 1;
- }
- new tmppass[128];
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /register [password]");
- return 1;
- }
- strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
- Encrypt(tmppass);
- OnPlayerRegister(playerid,tmppass);
- }
- return 1;
- }
- if (strcmp(cmd, "/login", true) ==0 )
- {
- new tmppass[128];
- if(AccountInfo[playerid][Logged] == 1)
- {
- SendClientMessage(playerid, RED, "You are already logged in.");
- return 1;
- }
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, ORANGE, "USAGE: /login [password]");
- return 1;
- }
- new plname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, plname, sizeof(plname));
- format(string, sizeof(string), "/sAccounts/%s.ini", plname);
- if(!fexist(string))
- {
- SendClientMessage(playerid, RED, "That account isn't registered! Please register: /register [password]");
- return 1;
- }
- strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
- Encrypt(tmppass);
- OnPlayerLogin(playerid,tmppass);
- return 1;
- }
- /*»»»»»»»»»»»»»»»»»»»»»»»»»»»» [WRONG COMMAND] «««««««««««««««««««««««««««*/
- return 0;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if (SuperPunch[playerid] == 1)
- {
- if (GetPlayerState(playerid) != 2)
- {
- if (newkeys == KEY_FIRE && Drugs[playerid] == 0)
- {
- new Float:X,Float:Y,Float:Z,Float:Health;
- GetPlayerHealth(playerid,Health);
- if (GetPlayerWeapon(playerid) == 0)
- {
- GetPlayerPos(playerid,X,Y,Z);
- CreateExplosion(X,Y,Z,7,7.0);
- SetPlayerHealth(playerid,Health);
- }
- }
- else if (newkeys == KEY_FIRE && Drugs[playerid] == 1)
- {
- new Float:X,Float:Y,Float:Z;
- if (GetPlayerWeapon(playerid) == 0)
- {
- SetPlayerHealth(playerid,10000);
- GetPlayerPos(playerid,X,Y,Z);
- CreateExplosion(X,Y,Z,7,7.0);
- SetPlayerHealth(playerid,10000);
- }
- }
- }
- }
- }
- OnPlayerJailed(playerid)
- {
- SetPlayerInterior(playerid, 0);
- SetPlayerPos(playerid, -18.6314,2322.3423,24.3034);
- return 1;
- }
- OnPlayerUnjailed(playerid)
- {
- SetPlayerHealth(playerid, 0);
- return 1;
- }
- public CountDown()
- {
- if (Count > 0)
- {
- GameTextForAll(CountText[Count-1],2500,3);
- Count--;
- SetTimer("CountDown",1000,0);
- }
- else
- {
- GameTextForAll("~g~~h~!!! GoGoGo !!!",2500,3);
- Count = 5;
- }
- return 1;
- }
- public Encrypt(string[])
- {
- for(new x=0; x < strlen(string); x++)
- {
- string[x] += (3^x) * (x % 15);
- if(string[x] > (0xff))
- {
- string[x] -= 256;
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement