Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <ZCMD>
- #include <sscanf2>
- #include <dini>
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_LIGHTRED 0xFF6347AA
- new PKicks[MAX_PLAYERS], PWarns[MAX_PLAYERS], PBanned[MAX_PLAYERS],
- PBanReason[MAX_PLAYERS][50];
- CMD:kick(playerid,params[])
- {
- new string[256],id,name[10],reason[50];
- if(sscanf(params,"us[10]s[50]",id,name,reason))
- return SendClientMessage(playerid,COLOR_GREY,"[SYNTAX]:/kick [ID/PartOfName] [Shown Name] [Reason]");
- if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID)
- return SendClientMessage(playerid,COLOR_GREY,"INVALID PLAYERID!");
- format(string, sizeof(string), "SERVER: %s have been kicked by %s, reason: %s.",pName(id),name,reason);
- SendClientMessageToAll(COLOR_LIGHTRED,string);
- PKicks[id]++;
- Kick(playerid);
- return 1;
- }
- CMD:warn(playerid,params[])
- {
- new string[256],id,name[10],reason[50];
- if(sscanf(params,"us[10]s[50]",id,name,reason))
- return SendClientMessage(playerid,COLOR_GREY,"[SYNTAX]:/warn [ID/PartOfName] [Shown Name] [Reason]");
- if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID)
- return SendClientMessage(playerid,COLOR_GREY,"INVALID PLAYERID!");
- if(PWarns[id] > 2) {
- format(string, sizeof(string), "SERVER: %s have been banned by %s, reason: 3 Warnings.",pName(id),name,reason);
- SendClientMessageToAll(COLOR_LIGHTRED,string);
- PBanned[id] = 1;
- format(PBanReason[playerid],128,"%s","3 Warnings");
- BanEx(id,"3 Warnings");
- return 0;
- }
- format(string, sizeof(string), "SERVER: %s have been warned by %s, reason: %s.",pName(id),name,reason);
- SendClientMessageToAll(COLOR_LIGHTRED,string);
- PWarns[playerid]++;
- return 1;
- }
- CMD:unwarn(playerid,params[])
- {
- new string[256],id,name[10],reason[50];
- if(sscanf(params,"us[10]s[50]",id,name,reason))
- return SendClientMessage(playerid,COLOR_GREY,"[SYNTAX]:/warn [ID/PartOfName] [Shown Name] [Reason]");
- if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID)
- return SendClientMessage(playerid,COLOR_GREY,"INVALID PLAYERID!");
- if(!PWarns[id])
- return SendClientMessage(playerid,COLOR_GREY,"This player have no warnings!");
- format(string, sizeof(string), "SERVER: %s have been unwarned by %s, reason: %s.",pName(id),name,reason);
- SendClientMessageToAll(COLOR_LIGHTRED,string);
- PWarns[playerid]--;
- return 1;
- }
- CMD:ban(playerid,params[])
- {
- new string[256],id,name[10],reason[50];
- if(sscanf(params,"us[10]s[50]",id,name,reason))
- return SendClientMessage(playerid,COLOR_GREY,"[SYNTAX]:/ban [ID/PartOfName] [Shown Name] [Reason]");
- if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID)
- return SendClientMessage(playerid,COLOR_GREY,"INVALID PLAYERID!");
- format(string, sizeof(string), "SERVER: %s have been banned by %s, reason: %s.",pName(id),name,reason);
- SendClientMessageToAll(COLOR_LIGHTRED,string);
- format(PBanReason[playerid],128,"%s",reason);
- PBanned[id] = 1;
- BanEx(id,reason);
- return 1;
- }
- CMD:unban(playerid,params[])
- {
- new string[256],name[MAX_PLAYER_NAME],file[MAX_PLAYER_NAME+5];
- if(sscanf(params,"s[MAX_PLAYER_NAME]",name))
- return SendClientMessage(playerid,COLOR_GREY,"[SYNTAX]:/unban [PlayerName]");
- format(file,sizeof(file),"%s.ini",name);
- if(!dini_Exists(file))
- return SendClientMessage(playerid,COLOR_GREY,"Player file not exists!");
- if(!dini_Int(file,"Banned"))
- return SendClientMessage(playerid,COLOR_GREY,"This player is not banned!");
- dini_IntSet(file,"Banned",0);
- dini_Set(file,"BanReason","None");
- format(string, sizeof(string), "SERVER: %s have been unbanned.",name);
- SendClientMessage(playerid,COLOR_LIGHTRED,string);
- return 1;
- }
- CMD:playerstats(playerid,params[])
- {
- new string[256],id;
- if(sscanf(params,"u",id))
- return SendClientMessage(playerid,COLOR_GREY,"[SYNTAX]:/playerstats [ID/PartOfName]");
- if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID)
- return SendClientMessage(playerid,COLOR_GREY,"INVALID PLAYERID!");
- format(string,sizeof(string),"|| Name: %s. || Warnings: %d. || Kicks: %d.",pName(id),PWarns[playerid],PKicks[playerid]);
- SendClientMessage(playerid,COLOR_LIGHTRED,string);
- return 1;
- }
- CMD:playerstats2(playerid,params[])
- {
- new string[256],name[MAX_PLAYER_NAME];
- if(sscanf(params,"s[MAX_PLAYER_NAME]",name))
- return SendClientMessage(playerid,COLOR_GREY,"[SYNTAX]:/playerstats2 [Name]");
- new file[MAX_PLAYER_NAME+5];
- format(file,sizeof(file),"%s.ini",name);
- if(!dini_Exists(file))
- return SendClientMessage(playerid,COLOR_GREY,"Player file not exists!");
- format(string,sizeof(string),"|| Name: %s. || Warnings: %d. || Kicks: %d. || Banned: %d. || BanReason: %s.",name,dini_Int(file,"Warnings"),dini_Int(file,"Kicks"),dini_Int(file,"Banned"),dini_Get(file,"BanReason"));
- SendClientMessage(playerid,COLOR_LIGHTRED,string);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- format(PBanReason[playerid],50,"%s","None");
- PBanned[playerid] = 0;
- PKicks[playerid] = 0;
- PWarns[playerid] = 0;
- if(!dini_Exists(pFile(playerid))) {
- dini_Create(pFile(playerid));
- dini_IntSet(pFile(playerid),"Banned",PBanned[playerid]);
- dini_Set(pFile(playerid),"BanReason","None");
- dini_IntSet(pFile(playerid),"Kicks",PKicks[playerid]);
- dini_IntSet(pFile(playerid),"Warnings",PWarns[playerid]);
- } else {
- PBanned[playerid] = dini_Int(pFile(playerid),"Banned");
- format(PBanReason[playerid],50,"%s",dini_Get(pFile(playerid),"BanReason"));
- PKicks[playerid] = dini_Int(pFile(playerid),"Kicks");
- PWarns[playerid] = dini_Int(pFile(playerid),"Warnings");
- if(PBanned[playerid] != 0) {
- new string[256];
- format(string,sizeof(string),"SERVER: You are banned from this server, reason: %s.",PBanReason[playerid]);
- SendClientMessage(playerid,COLOR_LIGHTRED,string);
- Kick(playerid);
- return 0;
- }
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(dini_Exists(pFile(playerid))) {
- dini_IntSet(pFile(playerid),"Banned",PBanned[playerid]);
- dini_Set(pFile(playerid),"BanReason",PBanReason[playerid]);
- dini_IntSet(pFile(playerid),"Kicks",PKicks[playerid]);
- dini_IntSet(pFile(playerid),"Warnings",PWarns[playerid]);
- }
- return 1;
- }
- stock pName(playerid) {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- return name;
- }
- stock pFile(playerid) {
- new file[MAX_PLAYER_NAME+5];
- format(file,sizeof(file),"%s.ini",pName(playerid));
- return file;
- }
Advertisement
Add Comment
Please, Sign In to add comment