Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Credits to WildWave + Y_Less
- //Found bug ? Skype : ofekshirin or http://www.fxp.co.il/member.php?u=839912
- //======Includes=======//
- #include <a_samp>
- #include <YSI\y_ini>
- #include <YSI\y_ini>
- #include <ZCMD>
- #include <sscanf2>
- //======Formats=======//
- #define SendFormatMessage(%0,%1,%2,%3) format(String, sizeof(String),%2,%3) && SendClientMessage(%0, %1, String)
- #define SendFormatMessageToAll(%0,%1,%2) format(String, sizeof(String),%1,%2) && SendClientMessageToAll(%0, String)
- //==========Defines========//
- #define DIALOG_Alog 7
- #define Apass "changeit"
- new AdminFile[MAX_PLAYERS][MAX_PLAYER_NAME],
- bool:Alogged[MAX_PLAYERS] = false,
- GetName[MAX_PLAYERS][MAX_PLAYER_NAME],
- String[128],
- Float:Pos[4];
- enum pInfo
- {
- pAdmin,
- bool:pBan
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- public OnPlayerConnect(playerid)
- {
- GetPlayerName(playerid,GetName[playerid],MAX_PLAYER_NAME+1) && format(AdminFile[playerid],sizeof(AdminFile),"Admin/%s.ini",GetName[playerid]);
- inline LoadUserDate(string:name[],string:value[])
- {
- INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
- INI_Bool("Ban",PlayerInfo[playerid][pBan]);
- }
- if(fexist(AdminFile[playerid]))
- {
- INI_ParseFile(AdminFile[playerid],using inline "LoadUserDate");
- }
- if(PlayerInfo[playerid][pBan] == true) return Kick(playerid);
- if(PlayerInfo[playerid][pAdmin] >= 1 && !Alogged[playerid]) return SendClientMessage(playerid,-1,"{FF0000}/alog מערכת האדמינים גילתה שאתה אדמין , אנא הקש את סיסמאת האדמינים");
- return 1;
- }
- public OnPlayerCommandReceived(playerid, cmdtext[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1 && !Alogged[playerid] && strcmp(cmdtext, "/alog", true)) return SendClientMessage(playerid, -1, "אתה לא יכול לרשום בצאט עד שתתחבר למערכת האדמינים"),0;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(PlayerInfo[playerid][pAdmin] >= 1) Alogged[playerid] = false;
- new INI:File = INI_Open(AdminFile[playerid]);
- INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
- INI_WriteInt(File,"Ban",PlayerInfo[playerid][pBan]);
- INI_Close(File);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_Alog && response && !strcmp(inputtext,Apass,true))
- {
- Alogged[playerid] = true;
- format(String,sizeof(String),"נכנס למערכת האדמינים בהצלחה [ID:%d]%s האדמין",playerid,GetName[playerid]);
- SendMessageToAdmin(String);
- }
- else
- {
- format(String,sizeof(String),"ניסה להכנס למערכת האדמינים אך נכשל [ID:%d]%s האדמין",playerid,GetName[playerid]);
- SendMessageToAdmin(String);
- }
- return 1;
- }
- //=================Commands=============================//
- CMD:alog(playerid,params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1)
- {
- if(Alogged[playerid]) return SendClientMessage(playerid,-1,"{FF0000}[Error:] אתה כבר מחובר למערכת");
- ShowPlayerDialog(playerid,DIALOG_Alog,DIALOG_STYLE_INPUT,"{FF00FF}מערכת אדמינים","{FF00FF}אנא הקש את סיסמאת האדמינים שקיבלת","אוקיי","ביטול");
- }
- return 1;
- }
- CMD:admins(playerid,params[])
- {
- new aCount = 0;
- for(new i, j = GetMaxPlayers(); i != j; i++)
- {
- if(PlayerInfo[i][pAdmin] && IsPlayerConnected(i) && Alogged[i] == true) aCount ++;
- format(String,sizeof(String),"{FF00FF}%s [AdminLevel: %s | %s]",GetName[i],PlayerInfo[playerid][pAdmin],AdminsLevelS(i));
- }
- if(aCount <= 0) return SendClientMessage(playerid,-1,"Error:{FF0000} אין אדמינים מחוברים");
- SendClientMessage(playerid,-1,String);
- return 1;
- }
- CMD:sethp(playerid,params[])
- {
- if( PlayerInfo[playerid][pAdmin] < 2 ) return 1;
- if(sscanf(params,"uf",params[0],params[1])) return SendClientMessage(playerid,-1,"Usage:{ff0000} /SetHP [playerid] [Amount]");
- SetPlayerHealth(params[0],params[1]);
- SendFormatMessageToAll(-1,"{FF00FF}%s שינה את כמות החיים של %s האדמין",GetName[ params[0] ],GetName[playerid]);
- return 1;
- }
- CMD:setar(playerid,params[])
- {
- if( PlayerInfo[playerid][pAdmin] < 2 ) return 1;
- if(sscanf(params,"uf",params[0],params[1])) return SendClientMessage(playerid,-1,"Usage:{ff0000} /SetAR [playerid] [Amount]");
- SetPlayerArmour(params[0],params[1]);
- SendFormatMessageToAll(-1,"{FF00FF}%s שינה את כמות המגן של %s האדמין",GetName[ params[0] ],GetName[playerid]);
- return 1;
- }
- CMD:giveweapon(playerid,params[])
- {
- if( PlayerInfo[playerid][pAdmin] < 3 ) return 1;
- if(sscanf(params,"udd",params[0],params[1],params[2])) return SendClientMessage(playerid,-1,"Usage:{ff0000} /GiveWeapon [playerid] [WeaponID] [Amount]");
- GivePlayerWeapon(params[0],params[1],params[2]);
- SendFormatMessage(playerid,-1,"{FF00FF}נשק %s הבאת לשחקן",GetName[ params[0] ]);
- SendFormatMessage(params[0],-1,"{FF00FF}הביא לך נשק %s האדמין",GetName[playerid]);
- return 1;
- }
- CMD:resetweapon(playerid,params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 3 ) return 1;
- if(sscanf(params,"u",params[0])) return SendClientMessage(playerid,-1,"Usage:{ff0000} /ResetWeapon [playerid]");
- ResetPlayerWeapons(params[0]);
- SendFormatMessage(playerid,-1,"{FF00FF}ריסט לנשקים %s עשית לשחקן",GetName[ params[0] ]);
- SendFormatMessage(params[0],-1,"{FF00FF}עשה לך ריסט לנשקים %s האדמין",GetName[playerid]);
- return 1;
- }
- CMD:say(playerid,params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 1) return 1;
- if(sscanf(params,"s[26]",String)) return SendClientMessage(playerid,-1,"Usage:{ff0000} /Say [Message]");
- SendFormatMessageToAll(-1,"{FF0000}**Administrator %s : %s",GetName[playerid],String);
- return 1;
- }
- CMD:setadmin(playerid,params[])
- {
- if(!IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] < 5) return 1;
- if(sscanf(params,"ui",params[0],params[1])) return SendClientMessage(playerid,-1,"Usage:{FF0000} /SetAdmin [playerid] [0-5]");
- if( params[1] > 5 ) return SendClientMessage( playerid, -1, "/SetAdmin [playerid] [0-5]" );
- PlayerInfo[params[0]][pAdmin] = params[1];
- SendFormatMessageToAll(-1,"{FF00FF}%d עלה לאדמין ברמה %s השחקן",params[1],GetName[ params[0] ]);
- return 1;
- }
- CMD:gmx(playerid,params[])
- {
- if(PlayerInfo[playerid][pAdmin] < 5) return 1;
- SendFormatMessageToAll(-1,"{FF0000}עשה ריסט לשרת %s האדמין",GetName[playerid]);
- SendRconCommand("gmx");
- return 1;
- }
- CMD:goto(playerid,params[])
- {
- if(PlayerInfo[playerid][pAdmin] <= 1) return 1;
- if(sscanf(params,"u",params[0])) return SendClientMessage(playerid,-1,"Usage:{FF0000} /Goto [playerid]");
- GetPlayerPos(params[0],Pos[0],Pos[1],Pos[2]);
- SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
- SendFormatMessage(playerid,-1,"{FF00FF}%s השתגרת לשחקן",GetName[ params[0] ]);
- SendFormatMessage(params[0],-1,"{FF00FF}השתגר אליך %s האדמין",GetName[playerid]);
- return 1;
- }
- CMD:get(playerid,params[])
- {
- if(PlayerInfo[playerid][pAdmin] <= 1) return 1;
- if(sscanf(params,"u",params[0])) return SendClientMessage(playerid,-1,"Usage:{FF0000} /Get[playerid]");
- GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
- SetPlayerPos(params[0],Pos[0],Pos[1],Pos[2]);
- SendFormatMessage(playerid,-1,"{FF00FF}%s שיגרת את השחקן",GetName[ params[0] ]);
- SendFormatMessage(params[0],-1,"{FF00FF}שיגר אותך %s האדמין",GetName[playerid]);
- return 1;
- }
- CMD:kick(playerid,params[])
- {
- if(PlayerInfo[playerid][pAdmin] <= 1) return 1;
- if(sscanf(params,"us[26]",params[0],String)) return SendClientMessage(playerid,-1,"Usage:{FF0000} /Kick [playerid] [Reason]");
- SendFormatMessageToAll(-1,"%s הביא קיק לשחקן %s האדמין",GetName[ params[0] ], GetName[playerid]);
- SendFormatMessageToAll(-1,"%s : סיבה",String);
- Kick(params[0]);
- return 1;
- }
- CMD:ban(playerid,params[])
- {
- if(PlayerInfo[playerid][pAdmin] <= 2) return 1;
- if(sscanf(params,"us[26]",params[0],String)) return SendClientMessage(playerid,-1,"Usage:{FF0000} /Ban [playerid] [Reason]");
- PlayerInfo[params[0]][pBan] = true;
- Kick(params[0]);
- SendFormatMessageToAll(-1,"%s הביא באן לשחקן %s האדמין",GetName[ params[0] ], GetName[playerid]);
- SendFormatMessageToAll(-1,"%s : סיבה",String);
- return 1;
- }
- CMD:unban(playerid,params[])
- {
- if(PlayerInfo[playerid][pAdmin] <= 2) return 1;
- new iPlayerName[26];
- if(sscanf(params,"s",iPlayerName[0]))return SendClientMessage(playerid,-1,"Usage:{FF0000} /UnBan [playerid]");
- if(!fexist(AdminFile[iPlayerName[0]])) return SendClientMessage(playerid,-1,"Error:{FF0000} שם זה אינו בבאן");
- format(AdminFile[playerid],32,"%s",iPlayerName[0]);
- if(!fexist(AdminFile[iPlayerName[0]]))return SendClientMessage(playerid,-1,"Error:{FF0000} שם זה אינו קיים");
- new INI:File = INI_Open(AdminFile[iPlayerName[0]]);
- INI_WriteBool(File,"Ban",false);
- INI_Close(File);
- SendFormatMessageToAll(-1,"את הבאן %s הוריד לשחקן %s האדמין",GetName[iPlayerName[0]], GetName[playerid]);
- return 1;
- }
- CMD:report(playerid,params[0])
- {
- if(PlayerInfo[playerid][pAdmin] >= 2) return 1;
- new str[50];
- if(sscanf(params,"us[26]",params[0],String)) return SendClientMessage(playerid,-1,"Usage:{FF0000} /Report [playerid] [Reason]");
- format(str,sizeof(str),"%s דיווח על השחקן %s השחקן",GetName[ params[0] ] , GetName[playerid]);
- SendMessageToAdmin(str);
- format(str,sizeof(str),"%s סיבה",String);
- SendMessageToAdmin(str);
- return 1;
- }
- CMD:ahelp(playerid,params[])
- {
- if(PlayerInfo[playerid][pAdmin] <= 1) return 1;
- SendClientMessage(playerid,-1,"{FF0000}~!~!~!~!~!~! Admin Help ~!~!~!~!~!~!");
- SendClientMessage(playerid,-1,"{FF00FF}/Say - לדבר כאדמין | /SetAdmin - לשים אדמין | /SetHP - לערוך לשחקן חיים | /Gmx - לעשות ריסט לשרת");
- SendClientMessage(playerid,-1,"{FF00FF}/GiveWeapon - לתת לשחקן נשק | /ResetWeapons - לאפס לשחקן נשקים | /SetAr - לערוך לשחקן מגן");
- SendClientMessage(playerid,-1,"{FF00FF}/Get - לשגר שחקן | /Goto - להשתגר לשחקן | /Ban - לתת באן לשחקן | /Unban - להוריד באן לשחקן | /Kick - לתת לשחקן קיק");
- SendClientMessage(playerid,-1,"{FF0000}~!~!~!~!~!~! Admin Help ~!~!~!~!~!~!");
- return 1;
- }
- stock AdminsLevelS(playerid)
- {
- new GetAdminLevel[50];
- new lvl = PlayerInfo[playerid][pAdmin];
- switch(lvl)
- {
- case 1: GetAdminLevel = "אדמין מתחיל";
- case 2: GetAdminLevel = "אדמין רגיל";
- case 3: GetAdminLevel = "סופר אדמין";
- case 4: GetAdminLevel = "סגן מנהל הקהילה";
- case 5: GetAdminLevel = "מנהל הקהילה";
- }
- return GetAdminLevel;
- }
- stock SendMessageToAdmin(string[]) for(new i=0;i<MAX_PLAYERS;i++) if(PlayerInfo[i][pAdmin] <= 1 && Alogged[i]) SendClientMessage(i,-1,string);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement