Advertisement
WildWave

Untitled

May 4th, 2014
686
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.83 KB | None | 0 0
  1. //Credits to WildWave + Y_Less
  2. //Found bug ? Skype : ofekshirin or http://www.fxp.co.il/member.php?u=839912
  3. //======Includes=======//
  4. #include <a_samp>
  5. #include <YSI\y_ini>
  6. #include <YSI\y_ini>
  7. #include <ZCMD>
  8. #include <sscanf2>
  9. //======Formats=======//
  10. #define SendFormatMessage(%0,%1,%2,%3) format(String, sizeof(String),%2,%3) && SendClientMessage(%0, %1, String)
  11. #define SendFormatMessageToAll(%0,%1,%2) format(String, sizeof(String),%1,%2) && SendClientMessageToAll(%0, String)
  12. //==========Defines========//
  13. #define DIALOG_Alog 7
  14. #define Apass "changeit"
  15. new AdminFile[MAX_PLAYERS][MAX_PLAYER_NAME],
  16. bool:Alogged[MAX_PLAYERS] = false,
  17. GetName[MAX_PLAYERS][MAX_PLAYER_NAME],
  18. String[128],
  19. Float:Pos[4];
  20. enum pInfo
  21. {
  22. pAdmin,
  23. bool:pBan
  24. }
  25. new PlayerInfo[MAX_PLAYERS][pInfo];
  26. public OnPlayerConnect(playerid)
  27. {
  28. GetPlayerName(playerid,GetName[playerid],MAX_PLAYER_NAME+1) && format(AdminFile[playerid],sizeof(AdminFile),"Admin/%s.ini",GetName[playerid]);
  29. inline LoadUserDate(string:name[],string:value[])
  30. {
  31. INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
  32. INI_Bool("Ban",PlayerInfo[playerid][pBan]);
  33. }
  34. if(fexist(AdminFile[playerid]))
  35. {
  36. INI_ParseFile(AdminFile[playerid],using inline "LoadUserDate");
  37. }
  38. if(PlayerInfo[playerid][pBan] == true) return Kick(playerid);
  39. if(PlayerInfo[playerid][pAdmin] >= 1 && !Alogged[playerid]) return SendClientMessage(playerid,-1,"{FF0000}/alog מערכת האדמינים גילתה שאתה אדמין , אנא הקש את סיסמאת האדמינים");
  40. return 1;
  41. }
  42. public OnPlayerCommandReceived(playerid, cmdtext[])
  43. {
  44. if(PlayerInfo[playerid][pAdmin] >= 1 && !Alogged[playerid] && strcmp(cmdtext, "/alog", true)) return SendClientMessage(playerid, -1, "אתה לא יכול לרשום בצאט עד שתתחבר למערכת האדמינים"),0;
  45. return 1;
  46. }
  47. public OnPlayerDisconnect(playerid, reason)
  48. {
  49. if(PlayerInfo[playerid][pAdmin] >= 1) Alogged[playerid] = false;
  50. new INI:File = INI_Open(AdminFile[playerid]);
  51. INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
  52. INI_WriteInt(File,"Ban",PlayerInfo[playerid][pBan]);
  53. INI_Close(File);
  54. return 1;
  55. }
  56. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  57. {
  58. if(dialogid == DIALOG_Alog && response && !strcmp(inputtext,Apass,true))
  59. {
  60. Alogged[playerid] = true;
  61. format(String,sizeof(String),"נכנס למערכת האדמינים בהצלחה [ID:%d]%s האדמין",playerid,GetName[playerid]);
  62. SendMessageToAdmin(String);
  63. }
  64. else
  65. {
  66. format(String,sizeof(String),"ניסה להכנס למערכת האדמינים אך נכשל [ID:%d]%s האדמין",playerid,GetName[playerid]);
  67. SendMessageToAdmin(String);
  68. }
  69. return 1;
  70. }
  71. //=================Commands=============================//
  72. CMD:alog(playerid,params[])
  73. {
  74. if(PlayerInfo[playerid][pAdmin] >= 1)
  75. {
  76. if(Alogged[playerid]) return SendClientMessage(playerid,-1,"{FF0000}[Error:] אתה כבר מחובר למערכת");
  77. ShowPlayerDialog(playerid,DIALOG_Alog,DIALOG_STYLE_INPUT,"{FF00FF}מערכת אדמינים","{FF00FF}אנא הקש את סיסמאת האדמינים שקיבלת","אוקיי","ביטול");
  78. }
  79. return 1;
  80. }
  81. CMD:admins(playerid,params[])
  82. {
  83. new aCount = 0;
  84. for(new i, j = GetMaxPlayers(); i != j; i++)
  85. {
  86. if(PlayerInfo[i][pAdmin] && IsPlayerConnected(i) && Alogged[i] == true) aCount ++;
  87. format(String,sizeof(String),"{FF00FF}%s [AdminLevel: %s | %s]",GetName[i],PlayerInfo[playerid][pAdmin],AdminsLevelS(i));
  88. }
  89. if(aCount <= 0) return SendClientMessage(playerid,-1,"Error:{FF0000} אין אדמינים מחוברים");
  90. SendClientMessage(playerid,-1,String);
  91. return 1;
  92. }
  93. CMD:sethp(playerid,params[])
  94. {
  95. if( PlayerInfo[playerid][pAdmin] < 2 ) return 1;
  96. if(sscanf(params,"uf",params[0],params[1])) return SendClientMessage(playerid,-1,"Usage:{ff0000} /SetHP [playerid] [Amount]");
  97. SetPlayerHealth(params[0],params[1]);
  98. SendFormatMessageToAll(-1,"{FF00FF}%s שינה את כמות החיים של %s האדמין",GetName[ params[0] ],GetName[playerid]);
  99. return 1;
  100. }
  101. CMD:setar(playerid,params[])
  102. {
  103. if( PlayerInfo[playerid][pAdmin] < 2 ) return 1;
  104. if(sscanf(params,"uf",params[0],params[1])) return SendClientMessage(playerid,-1,"Usage:{ff0000} /SetAR [playerid] [Amount]");
  105. SetPlayerArmour(params[0],params[1]);
  106. SendFormatMessageToAll(-1,"{FF00FF}%s שינה את כמות המגן של %s האדמין",GetName[ params[0] ],GetName[playerid]);
  107. return 1;
  108. }
  109. CMD:giveweapon(playerid,params[])
  110. {
  111. if( PlayerInfo[playerid][pAdmin] < 3 ) return 1;
  112. if(sscanf(params,"udd",params[0],params[1],params[2])) return SendClientMessage(playerid,-1,"Usage:{ff0000} /GiveWeapon [playerid] [WeaponID] [Amount]");
  113. GivePlayerWeapon(params[0],params[1],params[2]);
  114. SendFormatMessage(playerid,-1,"{FF00FF}נשק %s הבאת לשחקן",GetName[ params[0] ]);
  115. SendFormatMessage(params[0],-1,"{FF00FF}הביא לך נשק %s האדמין",GetName[playerid]);
  116. return 1;
  117. }
  118. CMD:resetweapon(playerid,params[])
  119. {
  120. if(PlayerInfo[playerid][pAdmin] < 3 ) return 1;
  121. if(sscanf(params,"u",params[0])) return SendClientMessage(playerid,-1,"Usage:{ff0000} /ResetWeapon [playerid]");
  122. ResetPlayerWeapons(params[0]);
  123. SendFormatMessage(playerid,-1,"{FF00FF}ריסט לנשקים %s עשית לשחקן",GetName[ params[0] ]);
  124. SendFormatMessage(params[0],-1,"{FF00FF}עשה לך ריסט לנשקים %s האדמין",GetName[playerid]);
  125. return 1;
  126. }
  127. CMD:say(playerid,params[])
  128. {
  129. if(PlayerInfo[playerid][pAdmin] < 1) return 1;
  130. if(sscanf(params,"s[26]",String)) return SendClientMessage(playerid,-1,"Usage:{ff0000} /Say [Message]");
  131. SendFormatMessageToAll(-1,"{FF0000}**Administrator %s : %s",GetName[playerid],String);
  132. return 1;
  133. }
  134. CMD:setadmin(playerid,params[])
  135. {
  136. if(!IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] < 5) return 1;
  137. if(sscanf(params,"ui",params[0],params[1])) return SendClientMessage(playerid,-1,"Usage:{FF0000} /SetAdmin [playerid] [0-5]");
  138. if( params[1] > 5 ) return SendClientMessage( playerid, -1, "/SetAdmin [playerid] [0-5]" );
  139. PlayerInfo[params[0]][pAdmin] = params[1];
  140. SendFormatMessageToAll(-1,"{FF00FF}%d עלה לאדמין ברמה %s השחקן",params[1],GetName[ params[0] ]);
  141. return 1;
  142. }
  143. CMD:gmx(playerid,params[])
  144. {
  145. if(PlayerInfo[playerid][pAdmin] < 5) return 1;
  146. SendFormatMessageToAll(-1,"{FF0000}עשה ריסט לשרת %s האדמין",GetName[playerid]);
  147. SendRconCommand("gmx");
  148. return 1;
  149. }
  150. CMD:goto(playerid,params[])
  151. {
  152. if(PlayerInfo[playerid][pAdmin] <= 1) return 1;
  153. if(sscanf(params,"u",params[0])) return SendClientMessage(playerid,-1,"Usage:{FF0000} /Goto [playerid]");
  154. GetPlayerPos(params[0],Pos[0],Pos[1],Pos[2]);
  155. SetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
  156. SendFormatMessage(playerid,-1,"{FF00FF}%s השתגרת לשחקן",GetName[ params[0] ]);
  157. SendFormatMessage(params[0],-1,"{FF00FF}השתגר אליך %s האדמין",GetName[playerid]);
  158. return 1;
  159. }
  160. CMD:get(playerid,params[])
  161. {
  162. if(PlayerInfo[playerid][pAdmin] <= 1) return 1;
  163. if(sscanf(params,"u",params[0])) return SendClientMessage(playerid,-1,"Usage:{FF0000} /Get[playerid]");
  164. GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
  165. SetPlayerPos(params[0],Pos[0],Pos[1],Pos[2]);
  166. SendFormatMessage(playerid,-1,"{FF00FF}%s שיגרת את השחקן",GetName[ params[0] ]);
  167. SendFormatMessage(params[0],-1,"{FF00FF}שיגר אותך %s האדמין",GetName[playerid]);
  168. return 1;
  169. }
  170. CMD:kick(playerid,params[])
  171. {
  172. if(PlayerInfo[playerid][pAdmin] <= 1) return 1;
  173. if(sscanf(params,"us[26]",params[0],String)) return SendClientMessage(playerid,-1,"Usage:{FF0000} /Kick [playerid] [Reason]");
  174. SendFormatMessageToAll(-1,"%s הביא קיק לשחקן %s האדמין",GetName[ params[0] ], GetName[playerid]);
  175. SendFormatMessageToAll(-1,"%s : סיבה",String);
  176. Kick(params[0]);
  177. return 1;
  178. }
  179. CMD:ban(playerid,params[])
  180. {
  181. if(PlayerInfo[playerid][pAdmin] <= 2) return 1;
  182. if(sscanf(params,"us[26]",params[0],String)) return SendClientMessage(playerid,-1,"Usage:{FF0000} /Ban [playerid] [Reason]");
  183. PlayerInfo[params[0]][pBan] = true;
  184. Kick(params[0]);
  185. SendFormatMessageToAll(-1,"%s הביא באן לשחקן %s האדמין",GetName[ params[0] ], GetName[playerid]);
  186. SendFormatMessageToAll(-1,"%s : סיבה",String);
  187. return 1;
  188. }
  189. CMD:unban(playerid,params[])
  190. {
  191. if(PlayerInfo[playerid][pAdmin] <= 2) return 1;
  192. new iPlayerName[26];
  193. if(sscanf(params,"s",iPlayerName[0]))return SendClientMessage(playerid,-1,"Usage:{FF0000} /UnBan [playerid]");
  194. if(!fexist(AdminFile[iPlayerName[0]])) return SendClientMessage(playerid,-1,"Error:{FF0000} שם זה אינו בבאן");
  195. format(AdminFile[playerid],32,"%s",iPlayerName[0]);
  196. if(!fexist(AdminFile[iPlayerName[0]]))return SendClientMessage(playerid,-1,"Error:{FF0000} שם זה אינו קיים");
  197. new INI:File = INI_Open(AdminFile[iPlayerName[0]]);
  198. INI_WriteBool(File,"Ban",false);
  199. INI_Close(File);
  200. SendFormatMessageToAll(-1,"את הבאן %s הוריד לשחקן %s האדמין",GetName[iPlayerName[0]], GetName[playerid]);
  201. return 1;
  202. }
  203. CMD:report(playerid,params[0])
  204. {
  205. if(PlayerInfo[playerid][pAdmin] >= 2) return 1;
  206. new str[50];
  207. if(sscanf(params,"us[26]",params[0],String)) return SendClientMessage(playerid,-1,"Usage:{FF0000} /Report [playerid] [Reason]");
  208. format(str,sizeof(str),"%s דיווח על השחקן %s השחקן",GetName[ params[0] ] , GetName[playerid]);
  209. SendMessageToAdmin(str);
  210. format(str,sizeof(str),"%s סיבה",String);
  211. SendMessageToAdmin(str);
  212. return 1;
  213. }
  214. CMD:ahelp(playerid,params[])
  215. {
  216. if(PlayerInfo[playerid][pAdmin] <= 1) return 1;
  217. SendClientMessage(playerid,-1,"{FF0000}~!~!~!~!~!~! Admin Help ~!~!~!~!~!~!");
  218. SendClientMessage(playerid,-1,"{FF00FF}/Say - לדבר כאדמין | /SetAdmin - לשים אדמין | /SetHP - לערוך לשחקן חיים | /Gmx - לעשות ריסט לשרת");
  219. SendClientMessage(playerid,-1,"{FF00FF}/GiveWeapon - לתת לשחקן נשק | /ResetWeapons - לאפס לשחקן נשקים | /SetAr - לערוך לשחקן מגן");
  220. SendClientMessage(playerid,-1,"{FF00FF}/Get - לשגר שחקן | /Goto - להשתגר לשחקן | /Ban - לתת באן לשחקן | /Unban - להוריד באן לשחקן | /Kick - לתת לשחקן קיק");
  221. SendClientMessage(playerid,-1,"{FF0000}~!~!~!~!~!~! Admin Help ~!~!~!~!~!~!");
  222. return 1;
  223. }
  224. stock AdminsLevelS(playerid)
  225. {
  226. new GetAdminLevel[50];
  227. new lvl = PlayerInfo[playerid][pAdmin];
  228. switch(lvl)
  229. {
  230. case 1: GetAdminLevel = "אדמין מתחיל";
  231. case 2: GetAdminLevel = "אדמין רגיל";
  232. case 3: GetAdminLevel = "סופר אדמין";
  233. case 4: GetAdminLevel = "סגן מנהל הקהילה";
  234. case 5: GetAdminLevel = "מנהל הקהילה";
  235. }
  236. return GetAdminLevel;
  237. }
  238. 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