Advertisement
WeAreHoW

wAdmin v.BETA

Feb 22nd, 2015
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.42 KB | None | 0 0
  1. /*wAdmin Adminrendszer készítette: WeAreHoW
  2. A modot a sampforum.hu felhasználóinak készítettem!
  3. Ha buggot találtok, válaszba írjátok, vagy írjatok egy e-mailt: heroesofwarcod@gmail.com
  4. A rendszer sehonnan sem copyzott.*/
  5.  
  6. #include <a_samp>
  7. #include <dini>
  8. #include <dudb>
  9. #include <sscanf2>
  10. #include <zcmd>
  11.  
  12. #define PIROS 0xff0000AA
  13. #define SOTETKEK 0x0e27b3A
  14. #define VILAGOSKEK 0x2bffffAA
  15. #define FEKETE 0x000000AA
  16.  
  17. #define DIALOG_REGISTER 0
  18. #define DIALOG_LOGIN 1
  19.  
  20. enum pInfos
  21. {
  22. Health,
  23. Money,
  24. Skin,
  25. Kills,
  26. Deaths,
  27. AdminLevel
  28. }
  29. new pInfo[MAX_PLAYERS][pInfos];
  30.  
  31. new MuteTimer[MAX_PLAYERS];
  32.  
  33. new nev[MAX_PLAYER_NAME];
  34. new ONLINE[MAX_PLAYERS];
  35. new bool:inGod[MAX_PLAYERS];
  36. new bool:inMute[MAX_PLAYERS];
  37. new bool:inDuty[MAX_PLAYERS];
  38. new bool:inFreeze[MAX_PLAYERS];
  39.  
  40. forward SendAdminMessage(const string[],level);
  41.  
  42. #if defined FILTERSCRIPT
  43.  
  44. public OnFilterScriptInit()
  45. {
  46. print("\n--------------------------------------");
  47. print("wAdmin Hungarian Admin System loaded by: WeAreHoW");
  48. print("--------------------------------------\n");
  49. return 1;
  50. }
  51.  
  52. public OnFilterScriptExit()
  53. {
  54. return 1;
  55. }
  56.  
  57. main()
  58.  
  59.  
  60. #endif
  61.  
  62.  
  63. public OnPlayerRequestClass(playerid, classid)
  64. {
  65. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  66. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  67. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  68. return 1;
  69. }
  70.  
  71. public OnPlayerConnect(playerid)
  72. {
  73. new file[256];
  74. GetPlayerName(playerid,nev,sizeof(nev));
  75. format(file,sizeof(file),"wAdmin/Characters/%s.ini",nev);
  76. new string[256];
  77. if(!fexist(file))
  78. {
  79. format(string, sizeof string, "Üdvözöllek %s! \nKérjük regisztrálj, hogy a wAdmin el tudja menteni a karakteredet! \n\nÍrd ide a jelszavadat:", nev);
  80. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Regisztráció", string, "Regisztráció", "Kilépés");
  81. }
  82. if(fexist(file))
  83. {
  84. format(string, sizeof string, "Üdvözöllek %s! \nKérjük jelentkezz be, hogy a wAdmin be tudja tölteni a karakteredet! \n\nÍrd be a jelszavadat:", nev);
  85. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Bejelentkezés", string, "Bejelentkezés", "Kilépés");
  86. }
  87. return 1;
  88. }
  89.  
  90. public OnPlayerDisconnect(playerid, reason)
  91. {
  92. new file[128];
  93. GetPlayerName(playerid,nev,sizeof(nev));
  94. format(file,sizeof(file),"/Karakterek/%s.ini",nev);
  95. if(fexist(file) && ONLINE[playerid]== 1)
  96. {
  97. dini_IntSet(file,"AdminLevel",pInfo[playerid][AdminLevel]);
  98. dini_IntSet(file,"Money",pInfo[playerid][Money]);
  99. dini_IntSet(file,"Kills",pInfo[playerid][Kills]);
  100. dini_IntSet(file,"Deaths",pInfo[playerid][Deaths]);
  101. dini_IntSet(file,"Health",pInfo[playerid][Health]);
  102. dini_IntSet(file,"Skin",pInfo[playerid][Skin]);
  103. }
  104. ONLINE[playerid]=0;
  105. pInfo[playerid][AdminLevel]= 0;
  106. pInfo[playerid][Money]= 0;
  107. pInfo[playerid][Kills]= 0;
  108. pInfo[playerid][Deaths]= 0;
  109. pInfo[playerid][Skin]= 0;
  110. pInfo[playerid][Health]= 0;
  111. return 1;
  112. }
  113.  
  114. public OnPlayerDeath(playerid, killerid, reason)
  115. {
  116. if(ONLINE[killerid] == 1)
  117. {
  118. pInfo[killerid][Kills] ++;
  119. }
  120. if(ONLINE[playerid] == 2)
  121. {
  122. pInfo[playerid][Deaths] ++;
  123. }
  124. return 1;
  125. }
  126.  
  127. public OnPlayerText(playerid, text[])
  128. {
  129. if(inMute[playerid])
  130. {
  131. SendClientMessage(playerid, PIROS, "Le vagy némítva, úgyhogy nem tudsz írni a chatbe!");
  132. return 0;
  133. }
  134. return 1;
  135. }
  136. public OnPlayerCommandReceived(playerid, cmdtext[])
  137. {
  138. return 1;
  139. }
  140.  
  141. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  142. {
  143. if (dialogid == DIALOG_REGISTER)
  144. {
  145. if(response)
  146. {
  147. new file[128];
  148. new string[128];
  149.  
  150. GetPlayerName(playerid, nev, sizeof(nev));
  151. if(strlen(inputtext) == 0)
  152. {
  153. format(string, sizeof string, "Üdvözöllek %s! \nKérjük regisztrálj, hogy a wAdmin el tudja menteni a karakteredet! \n\nÍrd ide a jelszavadat:", nev);
  154. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Regisztráció", string, "Regisztráció", "Kilépés");
  155. return 0;
  156. }
  157. format(file,sizeof(file),"wAdmin/Characters/%s.ini",nev);
  158. if(!fexist(file))
  159. {
  160. dini_Create(file);
  161. dini_IntSet(file, "Antibug",0);
  162. dini_IntSet(file, "Jelszo",udb_hash(inputtext));
  163. dini_IntSet(file,"AdminLevel", 0);
  164. dini_IntSet(file,"Money", 0);
  165. dini_IntSet(file,"Kills", 0);
  166. dini_IntSet(file,"Deaths", 0);
  167. dini_IntSet(file,"Skin", 0);
  168. dini_IntSet(file,"Health", 0);
  169.  
  170. format(string, sizeof string, "Üdvözöllek %s! \nRegisztrálva vagy a wAdmin adminrendszerbe! \n\nÍrd be a jelszavadat:", nev);
  171. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Bejelentkezés", string, "Belépés", "Kilépés");
  172. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  173. printf("%s regisztrált a szerverre!",nev);
  174. }
  175. else
  176. {
  177. format(string, sizeof string, "Üdvözöllek %s! \nRegisztrálva vagy a wAdmin adminrendszerbe! \n\nÍrd be a jelszavadat:", nev);
  178. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Bejelentkezés", string, "Belépés", "Kilépés");
  179. }
  180. }
  181. }
  182. if(dialogid == DIALOG_LOGIN)
  183. {
  184. if(response)
  185. {
  186. new file[128];
  187. new string[128];
  188. GetPlayerName(playerid, nev, sizeof(nev));
  189. if(strlen(inputtext) == 0)
  190. {
  191. format(string, sizeof string, "Bejelentkezés \n\nÜdvözöllek %s! \nRegisztráltál a wAdmin adminrendszerbe! \n\nÍrd be a jelszavadat:", nev);
  192. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Bejelentkezés", string, "Belépés", "Kilépés");
  193. return 0;
  194. }
  195. format(file,sizeof(file),"wAdmin/Characters/%s.ini",nev);
  196. if(fexist(file))
  197. {
  198.  
  199. new jelszo = dini_Int(file, "Jelszo");
  200. if(udb_hash(inputtext) == jelszo)
  201. {
  202. ONLINE[playerid] = 1;
  203. ResetPlayerMoney(playerid);
  204. pInfo[playerid][Money] = dini_Int(file,"Money");
  205. pInfo[playerid][AdminLevel] = dini_Int(file,"AdminLevel");
  206. pInfo[playerid][Kills] = dini_Int(file,"Kills");
  207. pInfo[playerid][Deaths] = dini_Int(file,"Deaths");
  208. pInfo[playerid][Skin] = dini_Int(file,"Skin");
  209. pInfo[playerid][Health] = dini_Int(file,"Health");
  210. }
  211. else
  212. {
  213. SendClientMessage(playerid, PIROS, "Hibás jelszót adtál meg!");
  214. Kick(playerid);
  215. }
  216. }
  217. }
  218. else
  219. {
  220. Kick(playerid);
  221. }
  222. }
  223. return 1;
  224. }
  225.  
  226. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  227. {
  228. return 1;
  229. }
  230. CMD:setplayeradminlevel(playerid,params[])
  231. {
  232. if(pInfo[playerid][AdminLevel] == 5 || IsPlayerAdmin(playerid))
  233. {
  234. if(inDuty[playerid] == true)
  235. {
  236. new id,adminszint;
  237. if(sscanf(params,"ui",id,adminszint))return SendClientMessage(playerid,PIROS,"Használat: /setplayeradminlevel [ID] [Szint]");
  238. if(adminszint < 0 || adminszint > 5) return SendClientMessage(playerid,PIROS,"Az adminszintnek 0 és 5 között kell lennie!");
  239. pInfo[id][AdminLevel] = adminszint;
  240. new neve[MAX_PLAYER_NAME];
  241. new string[128];
  242. GetPlayerName(playerid,nev,sizeof(nev));
  243. GetPlayerName(id,neve,sizeof(neve));
  244. format(string,sizeof(string),"%s (rcon)admin megváltoztatta az adminszintedet erre: %d!",nev,adminszint);
  245. SendClientMessage(id,VILAGOSKEK,string);
  246. format(string,sizeof(string),"%s játékos adminszintjét sikeresen megváltoztattad erre: %d!",neve,adminszint);
  247. SendClientMessage(playerid,VILAGOSKEK,string);
  248. format(string,sizeof(string),"%s megváltoztatta %s adminszintjét erre: %d!",nev,neve,adminszint);
  249. SendAdminMessage(string,1);
  250. }
  251. else SendClientMessage(playerid,PIROS,"Nem vagy adminszolgálatban!(/duty)");
  252. }
  253. else SendClientMessage(playerid,PIROS,"Nem vagy RCON vagy 5-ös szintű admin!");
  254. return 1;
  255. }
  256. public SendAdminMessage(const string[],level)
  257. {
  258. for(new i = 0; i < MAX_PLAYERS; i++)
  259. {
  260. if(ONLINE[i] == 1)
  261. {
  262. if (pInfo[i][AdminLevel] >= level)
  263. {
  264. SendClientMessage(i, FEKETE, string);
  265. printf(string);
  266. }
  267. }
  268. }
  269. return 1;
  270. }
  271. CMD:asay(playerid,params[])
  272. {
  273. if(pInfo[playerid][AdminLevel] >= 1)
  274. {
  275. if(inDuty[playerid] == true)
  276. {
  277. new szoveg,adminszint;
  278. if(sscanf(params,"s[128]",szoveg)) return SendClientMessage(playerid,PIROS,"Használat: /asay [Szöveg]");
  279. pInfo[playerid][AdminLevel] = adminszint;
  280. GetPlayerName(playerid,nev,sizeof(nev));
  281. new string[128];
  282. format(string,sizeof(string),"{ff0000}[ADMIN]{001eff}%s ({ffcc00}%d szintű admin):{000000}%s",nev,adminszint,szoveg);
  283. SendClientMessageToAll(-1,string);
  284. }
  285. else SendClientMessage(playerid,PIROS,"Nem vagy adminszolgálatban!(/duty)");
  286. }
  287. else SendClientMessage(playerid,PIROS,"Nem vagy 1-es szintű admin!");
  288. return 1;
  289. }
  290. CMD:destroyvehicle(playerid,params[])
  291. {
  292. if(pInfo[playerid][AdminLevel] > 2)
  293. {
  294. if(inDuty[playerid] == true)
  295. {
  296. new id;
  297. if(sscanf(params,"u",id)) return SendClientMessage(playerid,PIROS,"Használat: /destroyvehicle [ID]");
  298. if(ONLINE[id] == 1)
  299. {
  300. new veh;
  301. veh = GetPlayerVehicleID(id);
  302. DestroyVehicle(veh);
  303. new neve[MAX_PLAYER_NAME];
  304. GetPlayerName(playerid,nev,sizeof(nev));
  305. GetPlayerName(id,neve,sizeof(neve));
  306. new string[128];
  307. format(string,sizeof(string),"%s ADMIN kitörölte a járművedet!",nev);
  308. SendClientMessage(id,SOTETKEK,string);
  309. format(string,sizeof(string),"Sikeresen kitörölted %s járművét!",neve);
  310. SendClientMessage(playerid,SOTETKEK,string);
  311. format(string,sizeof(string),"[ADMIN]%s kitörölte %s járművét! (Jármű ID:%d)",nev,neve,veh);
  312. SendAdminMessage(string,1);
  313. }
  314. else SendClientMessage(playerid,PIROS,"Ez a játékos jelenleg nincs fent a szerveren!");
  315. }
  316. else SendClientMessage(playerid,PIROS,"Nem vagy adminszolgálatban!(/duty)");
  317. }
  318. else SendClientMessage(playerid,PIROS,"Nem vagy 3-mas szintű admin!");
  319. return 1;
  320. }
  321. CMD:givemoney(playerid,params[])
  322. {
  323. if(pInfo[playerid][AdminLevel] >= 3)
  324. {
  325. if(inDuty[playerid] == true)
  326. {
  327. new id,osszeg;
  328. if(sscanf(params,"ui",id,osszeg)) return SendClientMessage(playerid,PIROS,"Használat: /givemoney [ID] [Összeg]");
  329. if(osszeg < 0 || osszeg > 5) return SendClientMessage(playerid,PIROS,"Az összegnek 100 és 1000000 között kell lennie!");
  330. if(ONLINE[id] == 1)
  331. {
  332. pInfo[playerid][Money]+=osszeg;
  333. new neve[MAX_PLAYER_NAME];
  334. GetPlayerName(playerid,nev,sizeof(nev));
  335. GetPlayerName(id,neve,sizeof(neve));
  336. new string[128];
  337. format(string,sizeof(string),"%s ADMIN adott neked ennyi pénzt: %d$",nev, osszeg);
  338. SendClientMessage(id,SOTETKEK,string);
  339. format(string,sizeof(string),"Sikeresen adtál %s játékosnak ennyi pénzt: %d$",neve,osszeg);
  340. SendClientMessage(playerid,SOTETKEK,string);
  341. format(string,sizeof(string),"[ADMIN]%s adott %s játékosnak ennyi pénzt: %d$!",nev,neve,osszeg);
  342. SendAdminMessage(string,1);
  343. }
  344. else SendClientMessage(playerid,PIROS,"Ez a játékos jelenleg nincs a szerveren!");
  345. }
  346. else SendClientMessage(playerid,PIROS,"Nem vagy adminszolgálatban!(/duty)");
  347. }
  348. else SendClientMessage(playerid,PIROS,"Nem vagy 3-mas szintű admin!");
  349. return 1;
  350. }
  351. CMD:setskin(playerid,params[])
  352. {
  353. if(pInfo[playerid][AdminLevel] >= 2)
  354. {
  355. if(inDuty[playerid] == true)
  356. {
  357. new id,skin;
  358. if(sscanf(params,"ui",id,skin)) return SendClientMessage(playerid,PIROS,"Használat: /setskin [ID] [Skin ID]");
  359. if(skin < 1 || skin > 299) return SendClientMessage(playerid,PIROS,"A skinidnek 1 és 299 között kell lennie!");
  360. if(ONLINE[id] == 1)
  361. {
  362. SetPlayerSkin(playerid,skin);
  363. new neve[MAX_PLAYER_NAME];
  364. GetPlayerName(playerid,nev,sizeof(nev));
  365. GetPlayerName(id,neve,sizeof(neve));
  366. new string[128];
  367. format(string,sizeof(string),"%s ADMIN megváltoztatta a skinedet!(Skin ID: %d)",nev, skin);
  368. SendClientMessage(id,SOTETKEK,string);
  369. format(string,sizeof(string),"Sikeresen megváltoztattad %s játékos skinét!(Skin ID: %d)",neve,skin);
  370. SendClientMessage(playerid,SOTETKEK,string);
  371. format(string,sizeof(string),"[ADMIN]%s megváltoztatta a skinét %s játékosnak!(Skin ID: %d)",nev,neve,skin);
  372. SendAdminMessage(string,1);
  373. }
  374. else SendClientMessage(playerid,PIROS,"Ez a játékos jelenleg nincs a szerveren!");
  375. }
  376. else SendClientMessage(playerid,PIROS,"Nem vagy adminszolgálatban!(/duty)");
  377. }
  378. else SendClientMessage(playerid,PIROS,"Nem vagy 2-es szintű admin!");
  379. return 1;
  380. }
  381. CMD:god(playerid,params[])
  382. {
  383. if(pInfo[playerid][AdminLevel] >= 1)
  384. {
  385. if(inDuty[playerid] == true)
  386. {
  387. if(inGod[playerid] == false)
  388. {
  389. new string[128];
  390. SetPlayerHealth(playerid,100000);
  391. inGod[playerid] = true;
  392. GetPlayerName(playerid,nev,sizeof(nev));
  393. format(string,sizeof(string),"Sikeresen bekapcsoltad a GOD Mode-t!");
  394. SendClientMessage(playerid,SOTETKEK,string);
  395. format(string,sizeof(string),"%s bekapcsolta a GOD Mode-t!",nev);
  396. SendAdminMessage(string,1);
  397. }
  398. if(inGod[playerid] == true)
  399. {
  400. new string[128];
  401. SetPlayerHealth(playerid,100);
  402. inGod[playerid] = false;
  403. GetPlayerName(playerid,nev,sizeof(nev));
  404. format(string,sizeof(string),"Sikeresen kikapcsoltad a GOD Mode-t!");
  405. SendClientMessage(playerid,SOTETKEK,string);
  406. format(string,sizeof(string),"%s kikapcsolta a GOD Mode-t!",nev);
  407. SendAdminMessage(string,1);
  408. }
  409. }
  410. else SendClientMessage(playerid,PIROS,"Nem vagy adminszolgálatban!(/duty)");
  411. }
  412. else SendClientMessage(playerid,PIROS,"Nem vagy admin!");
  413. return 1;
  414. }
  415. CMD:mute(playerid,params[])
  416. {
  417. if(pInfo[playerid][AdminLevel] >= 3)
  418. {
  419. new id,indok,minutes;
  420. if(sscanf(params,"urs[128]",id,minutes,indok)) return SendClientMessage(playerid,PIROS,"Használat: /mute [ID][Perc][Indok]");
  421. if(minutes < 1 || minutes > 60) return SendClientMessage(playerid,PIROS,"A percnek 1 és 60 között kell lennie!");
  422. if(ONLINE[id] == 1)
  423. {
  424. inMute[id] = true;
  425. MuteTimer[id] = SetTimer("Unmute", minutes*60*1000, false);
  426. new neve[MAX_PLAYER_NAME];
  427. new string[128];
  428. GetPlayerName(playerid,nev,sizeof(nev));
  429. GetPlayerName(playerid,neve,sizeof(neve));
  430. format(string,sizeof(string),"%s ADMIN lenémított %d percre ezzel az indokkal: %s!",nev,minutes,indok);
  431. SendClientMessage(id,SOTETKEK,string);
  432. format(string,sizeof(string),"Sikeresen lenémítottad %s játékost %d percre %s indokkal!",neve,minutes,indok);
  433. SendClientMessage(playerid,SOTETKEK,string);
  434. format(string,sizeof(string),"[ADMIN]%s lenémította %s játékost ennyi percre: %d! Indok: %s!",nev,neve,minutes,indok);
  435. SendAdminMessage(string,1);
  436. }
  437. }
  438. return 1;
  439. }
  440. CMD:goto(playerid,params[])
  441. {
  442. if(pInfo[playerid][AdminLevel] >= 1)
  443. {
  444. if(inDuty[playerid] == true)
  445. {
  446. new id;
  447. if(sscanf(params,"u",id)) return SendClientMessage(playerid,PIROS,"Használat: /goto [ID]");
  448. if(ONLINE[id] == 1)
  449. {
  450. new Float:x,Float:y,Float:z;
  451. new neve[MAX_PLAYER_NAME];
  452. new string[128];
  453. GetPlayerName(playerid,nev,sizeof(nev));
  454. GetPlayerName(playerid,neve,sizeof(neve));
  455. GetPlayerPos(playerid,x,y,z);
  456. SetPlayerPos(playerid,x,y,z);
  457. format(string,sizeof(string),"%s ADMIN rád teleportált!",nev);
  458. SendClientMessage(id,SOTETKEK,string);
  459. format(string,sizeof(string),"Sikeresen rá teleportáltál %s játékosra!",neve);
  460. SendClientMessage(playerid,SOTETKEK,string);
  461. format(string,sizeof(string),"[ADMIN]%s ráteleportált %s játékosra!",nev,neve);
  462. SendAdminMessage(string,1);
  463. }
  464. else SendClientMessage(playerid,PIROS,"Ez a játékos jelenleg nincs a szerveren!");
  465. }
  466. else SendClientMessage(playerid,PIROS,"Nem vagy adminszolgálatban!(/duty)");
  467. }
  468. else SendClientMessage(playerid,PIROS,"Nem vagy 1-es szintű admin!");
  469. return 1;
  470. }
  471. CMD:get(playerid,params[])
  472. {
  473. if(pInfo[playerid][AdminLevel] >= 2)
  474. {
  475. if(inDuty[playerid] == true)
  476. {
  477. new id;
  478. if(sscanf(params,"u",id)) return SendClientMessage(playerid,PIROS,"Használat: /get [ID]");
  479. if(ONLINE[id] == 1)
  480. {
  481. new Float:x,Float:y,Float:z;
  482. new neve[MAX_PLAYER_NAME];
  483. new string[128];
  484. GetPlayerName(playerid,nev,sizeof(nev));
  485. GetPlayerName(playerid,neve,sizeof(neve));
  486. GetPlayerPos(playerid,x,y,z);
  487. SetPlayerPos(playerid,x,y,z);
  488. format(string,sizeof(string),"%s ADMIN magára teleportált!",nev);
  489. SendClientMessage(id,SOTETKEK,string);
  490. format(string,sizeof(string),"Sikeresen magadra teleportáltad %s játékost!",neve);
  491. SendClientMessage(playerid,SOTETKEK,string);
  492. format(string,sizeof(string),"[ADMIN]%s magára teleportálta %s játékost!",nev,neve);
  493. SendAdminMessage(string,1);
  494. }
  495. else SendClientMessage(playerid,PIROS,"Ez a játékos jelenleg nincs a szerveren!");
  496. }
  497. else SendClientMessage(playerid,PIROS,"Nem vagy adminszolgálatban!(/duty)");
  498. }
  499. else SendClientMessage(playerid,PIROS,"Nem vagy 2-es szintű admin!");
  500. return 1;
  501. }
  502. CMD:giveweapon(playerid,params[])
  503. {
  504. if(pInfo[playerid][AdminLevel] >= 3)
  505. {
  506. if(inDuty[playerid] == true)
  507. {
  508. new id,weapon,ammo;
  509. if(sscanf(params,"uii",id,weapon,ammo)) return SendClientMessage(playerid,PIROS,"Használat: /giveweapon [ID] [Weapon ID] [Töltény]");
  510. if(weapon < 1 || weapon > 46) return SendClientMessage(playerid,PIROS,"A fegyver ID-nek 1 és 46 között kell lennie!");
  511. if(ammo < 1 ||ammo > 200) return SendClientMessage(playerid,PIROS,"A tölténynek 1 és 200 között kell lennie!");
  512. if(ONLINE[id] == 1)
  513. {
  514. new string[128];
  515. new neve[MAX_PLAYER_NAME];
  516. GetPlayerName(playerid,nev,sizeof(nev));
  517. GetPlayerName(playerid,neve,sizeof(neve));
  518. GivePlayerWeapon(id,weapon,ammo);
  519. format(string,sizeof(string),"%s ADMIN adott neked egy fegyvert(ID:%d) ennyi tölténnyel: %d!",nev,weapon,ammo);
  520. SendClientMessage(id,SOTETKEK,string);
  521. format(string,sizeof(string),"Sikeresen adtál %s játékosnak egy fegyvert(ID:%d) %d tölténnyel!",neve,weapon,ammo);
  522. SendClientMessage(playerid,SOTETKEK,string);
  523. format(string,sizeof(string),"[ADMIN]%s adott %s játékosnak egy fegyvert(ID:%d) amiben %d töltény van!",nev,neve,weapon,ammo);
  524. SendAdminMessage(string,1);
  525. }
  526. else SendClientMessage(playerid,PIROS,"Ez a játékos jelenleg nincs online!");
  527. }
  528. else SendClientMessage(playerid,PIROS,"Nem vagy adminszolgálatban!(/duty)");
  529. }
  530. else SendClientMessage(playerid,PIROS,"Nem vagy 3-mas szintű admin!");
  531. return 1;
  532. }
  533. CMD:duty(playerid,params[])
  534. {
  535. if(pInfo[playerid][AdminLevel] >= 1)
  536. {
  537. if(inDuty[playerid] == false)
  538. {
  539. new string[128];
  540. new adminszint;
  541. pInfo[playerid][AdminLevel] = adminszint;
  542. GetPlayerName(playerid,nev,sizeof(nev));
  543. format(string,sizeof(string),"Sikeresen beléptél adminszolgálatba!");
  544. SendClientMessage(playerid,SOTETKEK,string);
  545. format(string,sizeof(string),"%s %d szintű admin belépett adminszolgálatba!",nev,adminszint);
  546. SendClientMessage(playerid,SOTETKEK,string);
  547. inDuty[playerid] = true;
  548. format(string,sizeof(string),"%s %d szintű admin belépett adminszolgálatba!",nev);
  549. SendAdminMessage(string,1);
  550. }
  551. if(inDuty[playerid] == true)
  552. {
  553. new string[128];
  554. new adminszint;
  555. pInfo[playerid][AdminLevel] = adminszint;
  556. inDuty[playerid] = false;
  557. GetPlayerName(playerid,nev,sizeof(nev));
  558. format(string,sizeof(string),"Sikeresen kiléptél az adminszolgálatból!");
  559. SendClientMessage(playerid,SOTETKEK,string);
  560. format(string,sizeof(string),"%s %d szintű admin kilépett adminszolgálatból!",nev,adminszint);
  561. SendClientMessageToAll(SOTETKEK,string);
  562. SendAdminMessage(string,1);
  563. }
  564. }
  565. else SendClientMessage(playerid,PIROS,"Nem vagy admin!");
  566. return 1;
  567. }
  568. CMD:freeze(playerid,params[])
  569. {
  570. if(pInfo[playerid][AdminLevel] >= 2)
  571. {
  572. if(inDuty[playerid] == true)
  573. {
  574. new id;
  575. if(sscanf(params,"u",id)) return SendClientMessage(playerid,PIROS,"Használat: /freeze [ID]");
  576. if(inFreeze[id] == false) SendClientMessage(playerid,PIROS,"Ez a játékos már le van fagyasztva!");
  577. if(ONLINE[id] == 1)
  578. {
  579. new string[128];
  580. new neve[MAX_PLAYER_NAME];
  581. inFreeze[id] = true;
  582. GetPlayerName(playerid,nev,sizeof(nev));
  583. GetPlayerName(playerid,neve,sizeof(neve));
  584. TogglePlayerControllable(id,false);
  585. format(string,sizeof(string),"%s ADMIN lefagyasztott téged!",nev);
  586. SendClientMessage(id,SOTETKEK,string);
  587. format(string,sizeof(string),"Sikeresen lefagyasztottad %s játékost!",neve);
  588. SendClientMessage(playerid,SOTETKEK,string);
  589. format(string,sizeof(string),"[ADMIN]%s lefagyaszotta %s játékost!",nev,neve);
  590. SendAdminMessage(string,1);
  591. }
  592. else SendClientMessage(playerid,PIROS,"Ez a játékos jelenleg nincs online!");
  593. }
  594. else SendClientMessage(playerid,PIROS,"Nem vagy adminszolgálatban!(/duty)");
  595. }
  596. else SendClientMessage(playerid,PIROS,"Nem vagy 2-es szintű admin!");
  597. return 1;
  598. }
  599. CMD:unfreeze(playerid,params[])
  600. {
  601. if(pInfo[playerid][AdminLevel] >= 2)
  602. {
  603. if(inDuty[playerid] == true)
  604. {
  605. new id;
  606. if(sscanf(params,"u",id)) return SendClientMessage(playerid,PIROS,"Használat: /freeze [ID]");
  607. if(inFreeze[id] == true) SendClientMessage(playerid,PIROS,"Ez a játékos nincs lefagyasztva!");
  608. if(ONLINE[id] == 1)
  609. {
  610. new string[128];
  611. new neve[MAX_PLAYER_NAME];
  612. GetPlayerName(playerid,nev,sizeof(nev));
  613. GetPlayerName(playerid,neve,sizeof(neve));
  614. TogglePlayerControllable(id,true);
  615. inFreeze[id] = false;
  616. format(string,sizeof(string),"%s ADMIN feloldotta a lefagyasztásod téged!",nev);
  617. SendClientMessage(id,SOTETKEK,string);
  618. format(string,sizeof(string),"Sikeresen feloldottad a fagyasztását %s játékosnak!",neve);
  619. SendClientMessage(playerid,SOTETKEK,string);
  620. format(string,sizeof(string),"[ADMIN]%s feloldotta a fagyasztását %s játékosnak!",nev,neve);
  621. SendAdminMessage(string,1);
  622. }
  623. else SendClientMessage(playerid,PIROS,"Ez a játékos jelenleg nincs online!");
  624. }
  625. else SendClientMessage(playerid,PIROS,"Nem vagy adminszolgálatban!(/duty)");
  626. }
  627. else SendClientMessage(playerid,PIROS,"Nem vagy 2-es szintű admin!");
  628. return 1;
  629. }
  630. CMD:removeweapons(playerid,params[])
  631. {
  632. if(pInfo[playerid][AdminLevel] >= 3)
  633. {
  634. if(inDuty[playerid] == true)
  635. {
  636. new id;
  637. if(sscanf(params,"u",id)) return SendClientMessage(playerid,PIROS,"Használat: /removeweapons [ID]");
  638. if(ONLINE[id] == 1)
  639. {
  640. new string[128];
  641. new neve[MAX_PLAYER_NAME];
  642. GetPlayerName(playerid,nev,sizeof(nev));
  643. GetPlayerName(playerid,neve,sizeof(neve));
  644. ResetPlayerWeapons(id);
  645. format(string,sizeof(string),"%s ADMIN elvette a fegyvereidet!",nev);
  646. SendClientMessage(id,SOTETKEK,string);
  647. format(string,sizeof(string),"Sikeresen elvetted a fegyvereit %s játékosnak!",neve);
  648. SendClientMessage(playerid,SOTETKEK,string);
  649. format(string,sizeof(string),"[ADMIN]%s elvette a fegyvereit %s játékosnak!",nev,neve);
  650. SendAdminMessage(string,1);
  651. }
  652. else SendClientMessage(playerid,PIROS,"Ez a játékos jelenleg nincs online!");
  653. }
  654. else SendClientMessage(playerid,PIROS,"Nem vagy adminszolgálatban!(/duty)");
  655. }
  656. else SendClientMessage(playerid,PIROS,"Nem vagy 3-mas szintű admin!");
  657. return 1;
  658. }
  659. CMD:settime(playerid,params[])
  660. {
  661. if(pInfo[playerid][AdminLevel] >= 4)
  662. {
  663. if(inDuty[playerid] == true)
  664. {
  665. new hours,minutes;
  666. if(sscanf(params,"dd",hours,minutes)) return SendClientMessage(playerid,PIROS,"Használat: /settime [Óra] [Perc]");
  667. if(hours < 1 || hours > 24) return SendClientMessage(playerid,PIROS,"Az órának 1 és 24 között kell lennie!");
  668. if(minutes < 1 || minutes > 60) return SendClientMessage(playerid,PIROS,"A percnek 1 és 60 között kell lennie!");
  669. {
  670. for(new i; i<MAX_PLAYERS;i++)
  671. {
  672. SetPlayerTime(i,hours,minutes);
  673. }
  674. new string[128];
  675. GetPlayerName(playerid,nev,sizeof(nev));
  676. format(string,sizeof(string),"%s átállította az időt %d óra %d percre.",nev,hours,minutes);
  677. SendAdminMessage(string,1);
  678. SendClientMessageToAll(FEKETE,string);
  679. format(string,sizeof(string),"Sikeresen átállítottad az időt %d óra %d percre.!",hours,minutes);
  680. SendClientMessage(playerid,PIROS,string);
  681. }
  682. }
  683. else SendClientMessage(playerid,PIROS,"Nem vagy adminszolgálatban!(/duty)");
  684. }
  685. else SendClientMessage(playerid,PIROS,"Nem vagy 4-es szintű admin!");
  686. return 1;
  687. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement