encrusted

Untitled

Sep 12th, 2015
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.46 KB | None | 0 0
  1. /** Adminsystem by Barrie **/
  2.  
  3. #include <a_samp>
  4. #include <ocmd>
  5.  
  6. /* /adminmenu, um ins Adminmenu zu gelangen.
  7. "Server Restart" ist funktionstüchtig.
  8. "Start Event" und "Respawn all vehicles" sind nur Ideen von mir die vielleicht ganz nett wären.
  9. Das "SpielerAdminMenu" (oder wie auch immer ich das nennen soll) wird aufgerufen in dem man einen Spieler anklickt. */
  10.  
  11.  
  12. enum sDaten
  13. {
  14. aLevel,
  15. gebannt
  16. }
  17. new spieler[MAX_PLAYERS][sDaten];
  18.  
  19. #define dialog_adminmenu 1
  20. #define dialog_adminkick 2
  21. #define dialog_adminban 3
  22. #define dialog_admingoto 4
  23. #define dialog_admingethere 5
  24. #define dialog_adminmenu2 6
  25. #define dialog_serverrestart 7
  26.  
  27. new clickedID;
  28. new isViewing[MAX_PLAYERS] = 0;
  29. new gmxtime;
  30.  
  31. forward ServerRestart();
  32. main()
  33. {
  34. print("\n----------------------------------");
  35. print(" adminsystem.");
  36. print("----------------------------------\n");
  37. }
  38.  
  39.  
  40. public OnGameModeInit()
  41. {
  42. SetGameModeText("Blank Script");
  43. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  44. return 1;
  45. }
  46.  
  47. public OnGameModeExit()
  48. {
  49. return 1;
  50. }
  51.  
  52. public OnPlayerRequestClass(playerid, classid)
  53. {
  54. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  55. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  56. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  57. return 1;
  58. }
  59.  
  60. ocmd:adminmenu(playerid,params[])
  61. {
  62. if(spieler[playerid][aLevel] == 1)
  63. {
  64. ShowPlayerDialog(playerid,dialog_adminmenu2,DIALOG_STYLE_LIST,"Adminmenu - Server","Serverrestart\nStart Event\nRespawn all vehicles","Wählen","Abbrechen");
  65. }
  66. else{SendClientMessage(playerid,-1,"Du bist kein Admin.");}
  67. return 1;
  68. }
  69.  
  70. ocmd:admin(playerid,params[])
  71. {
  72. spieler[playerid][aLevel] = 1;
  73. SendClientMessage(playerid,-1,"Du kannst jetzt die Befehle benutzen.");
  74. return 1;
  75. }
  76.  
  77. ocmd:stopviewing(playerid,params[])
  78. {
  79. if(isViewing[playerid] == 1)
  80. {
  81. new str[128];
  82. format(str,sizeof(str),"Du hast aufgehört %s zu beobachten",getPlayerName(clickedID));
  83. SetCameraBehindPlayer(playerid);
  84. isViewing[playerid] = 0;
  85. clickedID = 0;
  86. return 1;
  87. }
  88. return 1;
  89. }
  90.  
  91. public OnPlayerConnect(playerid)
  92. {
  93. if(spieler[playerid][gebannt] == 1)return Kick(playerid);
  94. return 1;
  95. }
  96.  
  97. public OnPlayerDisconnect(playerid, reason)
  98. {
  99. return 1;
  100. }
  101.  
  102. public OnPlayerSpawn(playerid)
  103. {
  104. return 1;
  105. }
  106.  
  107. public OnPlayerDeath(playerid, killerid, reason)
  108. {
  109. return 1;
  110. }
  111.  
  112. public OnVehicleSpawn(vehicleid)
  113. {
  114. return 1;
  115. }
  116.  
  117. public OnVehicleDeath(vehicleid, killerid)
  118. {
  119. return 1;
  120. }
  121.  
  122. public OnPlayerText(playerid, text[])
  123. {
  124. return 1;
  125. }
  126.  
  127. public OnPlayerCommandText(playerid, cmdtext[])
  128. {
  129. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  130. {
  131. // Do something here
  132. return 1;
  133. }
  134. return 0;
  135. }
  136.  
  137. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  138. {
  139. return 1;
  140. }
  141.  
  142. public OnPlayerExitVehicle(playerid, vehicleid)
  143. {
  144. return 1;
  145. }
  146.  
  147. public OnPlayerStateChange(playerid, newstate, oldstate)
  148. {
  149. return 1;
  150. }
  151.  
  152. public OnPlayerEnterCheckpoint(playerid)
  153. {
  154. return 1;
  155. }
  156.  
  157. public OnPlayerLeaveCheckpoint(playerid)
  158. {
  159. return 1;
  160. }
  161.  
  162. public OnPlayerEnterRaceCheckpoint(playerid)
  163. {
  164. return 1;
  165. }
  166.  
  167. public OnPlayerLeaveRaceCheckpoint(playerid)
  168. {
  169. return 1;
  170. }
  171.  
  172. public OnRconCommand(cmd[])
  173. {
  174. return 1;
  175. }
  176.  
  177. public OnPlayerRequestSpawn(playerid)
  178. {
  179. return 1;
  180. }
  181.  
  182. public OnObjectMoved(objectid)
  183. {
  184. return 1;
  185. }
  186.  
  187. public OnPlayerObjectMoved(playerid, objectid)
  188. {
  189. return 1;
  190. }
  191.  
  192. public OnPlayerPickUpPickup(playerid, pickupid)
  193. {
  194. return 1;
  195. }
  196.  
  197. public OnVehicleMod(playerid, vehicleid, componentid)
  198. {
  199. return 1;
  200. }
  201.  
  202. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  203. {
  204. return 1;
  205. }
  206.  
  207. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  208. {
  209. return 1;
  210. }
  211.  
  212. public OnPlayerSelectedMenuRow(playerid, row)
  213. {
  214. return 1;
  215. }
  216.  
  217. public OnPlayerExitedMenu(playerid)
  218. {
  219. return 1;
  220. }
  221.  
  222. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  223. {
  224. return 1;
  225. }
  226.  
  227. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  228. {
  229. return 1;
  230. }
  231.  
  232. public OnRconLoginAttempt(ip[], password[], success)
  233. {
  234. return 1;
  235. }
  236.  
  237. public OnPlayerUpdate(playerid)
  238. {
  239. return 1;
  240. }
  241.  
  242. public OnPlayerStreamIn(playerid, forplayerid)
  243. {
  244. return 1;
  245. }
  246.  
  247. public OnPlayerStreamOut(playerid, forplayerid)
  248. {
  249. return 1;
  250. }
  251.  
  252. public OnVehicleStreamIn(vehicleid, forplayerid)
  253. {
  254. return 1;
  255. }
  256.  
  257. public OnVehicleStreamOut(vehicleid, forplayerid)
  258. {
  259. return 1;
  260. }
  261.  
  262. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  263. {
  264. switch(dialogid)
  265. {
  266. case dialog_adminmenu2:
  267. {
  268. if(response == 1)
  269. {
  270. if(listitem == 0)
  271. {
  272. ShowPlayerDialog(playerid,dialog_serverrestart,DIALOG_STYLE_INPUT,"Adminmenu - Server Restart","Gebe ein in wie vielen Sekunden der Server restartet werden soll:","Restart","Abbrechen");
  273. return 1;
  274. }
  275. }
  276. }
  277. case dialog_serverrestart:
  278. {
  279. if(response == 1)
  280. {
  281. new str[128];
  282. format(str,sizeof(str),"Der Server wird in %i Sekunden restartet!",strval(inputtext));
  283. SendClientMessageToAll(-1,str);
  284. gmxtime = strval(inputtext);
  285. SetTimer("ServerRestart",1000,true);
  286. return 1;
  287. }
  288. }
  289. case dialog_adminkick:
  290. {
  291. if(response == 1)
  292. {
  293. new str[128];
  294. format(str,sizeof(str),"%s wurde von Admin %s gekickt! Grund: %s",getPlayerName(clickedID),getPlayerName(playerid),inputtext);
  295. Kick(clickedID);
  296. SendClientMessageToAll(-1,str);
  297. clickedID = 0;
  298. return 1;
  299. }
  300. else{clickedID = 0;}
  301. }
  302. case dialog_adminban:
  303. {
  304. if(response == 1)
  305. {
  306. new str[128];
  307. format(str,sizeof(str),"%s wurde von Admin %s gebannt! Grund: %s",getPlayerName(clickedID),getPlayerName(playerid),inputtext);
  308. spieler[clickedID][gebannt] = 1;
  309. Ban(clickedID);
  310. SendClientMessageToAll(-1,str);
  311. clickedID = 0;
  312. return 1;
  313. }
  314. else{clickedID = 0;}
  315. }
  316. case dialog_admingoto:
  317. {
  318. if(response == 1)
  319. {
  320. new Float:x, Float:y, Float:z;
  321. GetPlayerPos(clickedID,x,y,z);
  322. SetPlayerPos(playerid,x,y,z);
  323. SendClientMessage(playerid,-1,"Erfolgreich teleportiert");
  324. clickedID = 0;
  325. return 1;
  326. }
  327. else{clickedID = 0;}
  328. }
  329. case dialog_admingethere:
  330. {
  331. if(response == 1)
  332. {
  333. new Float:x, Float:y, Float:z;
  334. GetPlayerPos(playerid,x,y,z);
  335. SetPlayerPos(playerid,x,y,z);
  336. SendClientMessage(playerid,-1,"Erfolgreich teleportiert");
  337. clickedID = 0;
  338. return 1;
  339. }
  340. }
  341. case dialog_adminmenu:
  342. {
  343. if(response == 1)
  344. {
  345. if(listitem == 0)
  346. {
  347. new str[200];
  348. format(str,sizeof(str),"Gebe ein Grund an warum du %s kicken möchtest:",getPlayerName(clickedID));
  349. ShowPlayerDialog(playerid,dialog_adminkick,DIALOG_STYLE_INPUT,"Adminmenu - Kick",str,"Kick","Abbrechen");
  350. return 1;
  351. }
  352. if(listitem == 1)
  353. {
  354. new str[200];
  355. format(str,sizeof(str),"Gebe ein Grund an warum du %s bannen möchtest:",getPlayerName(clickedID));
  356. ShowPlayerDialog(playerid,dialog_adminban,DIALOG_STYLE_INPUT,"Adminmenu - Ban",str,"Kick","Abbrechen");
  357. }
  358. if(listitem == 2)
  359. {
  360. if(isViewing[playerid] == 0)
  361. {
  362. SendClientMessage(playerid,-1,"Gebe /stopviewing ein um aufzuhören.");
  363. isViewing[playerid] = 1;
  364. SetCameraBehindPlayer(clickedID);
  365. return 1;
  366. }
  367. }
  368. if(listitem == 3)
  369. {
  370. new str[200];
  371. format(str,sizeof(str),"Möchtest du dich wirklich zu %s teleportieren?",getPlayerName(clickedID));
  372. ShowPlayerDialog(playerid,dialog_admingoto,DIALOG_STYLE_MSGBOX,"Adminmenu - GoTo",str,"Ja","Nein");
  373. return 1;
  374. }
  375. if(listitem == 4)
  376. {
  377. new str[200];
  378. format(str,sizeof(str),"Möchtest du wirklich %s zu dir teleportieren?",getPlayerName(clickedID));
  379. ShowPlayerDialog(playerid,dialog_admingethere,DIALOG_STYLE_MSGBOX,"Adminmenu - GetHere",str,"Ja","Nein");
  380. return 1;
  381. }
  382. if(listitem == 5)
  383. {
  384. new str[128], str2[128];
  385. format(str2,sizeof(str2),"Admin %s hat dich gefreezt",getPlayerName(playerid));
  386. format(str,sizeof(str),"Du hast %s gefreezt",getPlayerName(clickedID));
  387. SendClientMessage(playerid,-1,str);
  388. SendClientMessage(clickedID,-1,str2);
  389. FreezePlayer(clickedID);
  390. clickedID = 0;
  391. return 1;
  392. }
  393. if(listitem == 6)
  394. {
  395. new str[128], str2[128];
  396. format(str2,sizeof(str2),"Admin %s hat dich unfreezt",getPlayerName(playerid));
  397. format(str,sizeof(str),"Du hast %s unfreezt",getPlayerName(clickedID));
  398. SendClientMessage(playerid,-1,str);
  399. SendClientMessage(clickedID,-1,str2);
  400. UnfreezePlayer(clickedID);
  401. clickedID = 0;
  402. return 1;
  403. }
  404. }
  405. }
  406. }
  407. return 1;
  408. }
  409.  
  410. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  411. {
  412. clickedID = clickedplayerid;
  413. if(spieler[playerid][aLevel] == 1)
  414. {
  415. ShowPlayerDialog(playerid,dialog_adminmenu,DIALOG_STYLE_LIST,"Adminmenu","Kick\nBan\nView\nGoTo\nGetHere\nFreeze\nUnfreeze","Wählen","Abbrechen");
  416. }
  417. return 1;
  418. }
  419.  
  420. public ServerRestart()
  421. {
  422. new gametext[20];
  423. format(gametext,sizeof(gametext),"Serverrestart in %i",gmxtime);
  424. gmxtime -= 1;
  425. GameTextForAll(gametext,1000,6);
  426. if(gmxtime == 0)return SendRconCommand("gmx");
  427. return 1;
  428. }
  429.  
  430. stock getPlayerName(playerid)
  431. {
  432. new name[MAX_PLAYER_NAME];
  433. GetPlayerName(playerid,name,sizeof(name));
  434. return name;
  435. }
  436.  
  437. stock FreezePlayer(playerid)
  438. {
  439. TogglePlayerControllable(playerid,0);
  440. return 1;
  441. }
  442.  
  443. stock UnfreezePlayer(playerid)
  444. {
  445. TogglePlayerControllable(playerid,1);
  446. return 1;
  447. }
Advertisement
Add Comment
Please, Sign In to add comment