Advertisement
havasi01

Havasi Admin System Beta

Feb 23rd, 2014
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.83 KB | None | 0 0
  1. /*Havasi Admin System
  2. Ha hibát találsz, írd le a fórumon
  3. Köszönöm: havasi01 */
  4.  
  5. #include <a_samp>
  6. #include <dini>
  7. #include <sscanf2>
  8. #include <dudb>
  9. #include <zcmd>
  10.  
  11. #define reg 0
  12. #define bej 1
  13. #define ERROR 0xFF0000FF
  14.  
  15. forward KickTimer(playerid);
  16.  
  17. new nev[MAX_PLAYER_NAME];
  18. new Belepve[MAX_PLAYERS];
  19. enum JatekosAdatok
  20. {
  21. Szint,
  22. Penz,
  23. AdminSzint
  24.  
  25. }
  26. new JatekosInfo[MAX_PLAYERS][JatekosAdatok];
  27.  
  28.  
  29.  
  30. main()
  31. {
  32. print("\n----------------------------------");
  33. print(" Blank Gamemode by your name here");
  34. print("----------------------------------\n");
  35. }
  36.  
  37.  
  38. public OnGameModeInit()
  39. {
  40. // Don't use these lines if it's a filterscript
  41. SetGameModeText("Blank Script");
  42. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  43. return 1;
  44. }
  45.  
  46. public OnGameModeExit()
  47. {
  48. return 1;
  49. }
  50.  
  51. public OnPlayerRequestClass(playerid, classid)
  52. {
  53. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  54. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  55. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  56. new file[256];
  57. GetPlayerName(playerid,nev,sizeof(nev));
  58. format(file,sizeof(file),"/Felhasznalok/%s.ini",nev);
  59. new string[256];
  60. if(!fexist(file))
  61. {
  62. format(string, sizeof string, "Hello %s! \nRegisztrálj, hogy játszhass \n\nÍrd ide a jelszavad:", nev);
  63. ShowPlayerDialog(playerid, reg, DIALOG_STYLE_INPUT, "Regisztráció", string, "Regisztráció", "Kilépés");
  64. }
  65. if(fexist(file))
  66. {
  67. format(string, sizeof string, "Hello %s! \nA játékhoz jelentkezz be! \n\nÍrd ide a jelszavad!", nev);
  68. ShowPlayerDialog(playerid, bej, DIALOG_STYLE_INPUT, "Bejelentkezés", string, "Bejelentkezés", "Kilépés");
  69. }
  70. return 1;
  71. }
  72.  
  73. public OnPlayerConnect(playerid)
  74. {
  75.  
  76. return 1;
  77. }
  78.  
  79. public OnPlayerDisconnect(playerid, reason)
  80. {
  81. new file[128];
  82. GetPlayerName(playerid,nev,sizeof(nev));
  83. format(file,sizeof(file),"/Felhasznalok/%s.ini",nev);
  84. if(fexist(file) && Belepve[playerid]== 1)
  85. {
  86. dini_IntSet(file,"Szint",JatekosInfo[playerid][Szint]);
  87. dini_IntSet(file,"Penz",JatekosInfo[playerid][Penz]);
  88. dini_IntSet(file,"AdminSzint",JatekosInfo[playerid][AdminSzint]);
  89. }
  90. Belepve[playerid] =0;
  91. JatekosInfo[playerid][Szint] = 0;
  92. JatekosInfo[playerid][AdminSzint] = 0;
  93. JatekosInfo[playerid][Penz]= 0;
  94. printf("%s kilépett.",nev);
  95. return 1;
  96. }
  97.  
  98. public OnPlayerSpawn(playerid)
  99. {
  100. return 1;
  101. }
  102.  
  103. public OnPlayerDeath(playerid, killerid, reason)
  104. {
  105. return 1;
  106. }
  107.  
  108. public OnVehicleSpawn(vehicleid)
  109. {
  110. return 1;
  111. }
  112.  
  113. public OnVehicleDeath(vehicleid, killerid)
  114. {
  115. return 1;
  116. }
  117.  
  118. public OnPlayerText(playerid, text[])
  119. {
  120. return 1;
  121. }
  122.  
  123. public OnPlayerCommandText(playerid, cmdtext[])
  124. {
  125. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  126. {
  127. // Do something here
  128. return 1;
  129. }
  130. return 0;
  131. }
  132.  
  133. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  134. {
  135. return 1;
  136. }
  137.  
  138. public OnPlayerExitVehicle(playerid, vehicleid)
  139. {
  140. return 1;
  141. }
  142.  
  143. public OnPlayerStateChange(playerid, newstate, oldstate)
  144. {
  145. return 1;
  146. }
  147.  
  148. public OnPlayerEnterCheckpoint(playerid)
  149. {
  150. return 1;
  151. }
  152.  
  153. public OnPlayerLeaveCheckpoint(playerid)
  154. {
  155. return 1;
  156. }
  157.  
  158. public OnPlayerEnterRaceCheckpoint(playerid)
  159. {
  160. return 1;
  161. }
  162.  
  163. public OnPlayerLeaveRaceCheckpoint(playerid)
  164. {
  165. return 1;
  166. }
  167.  
  168. public OnRconCommand(cmd[])
  169. {
  170. return 1;
  171. }
  172.  
  173. public OnPlayerRequestSpawn(playerid)
  174. {
  175. return 1;
  176. }
  177.  
  178. public OnObjectMoved(objectid)
  179. {
  180. return 1;
  181. }
  182.  
  183. public OnPlayerObjectMoved(playerid, objectid)
  184. {
  185. return 1;
  186. }
  187.  
  188. public OnPlayerPickUpPickup(playerid, pickupid)
  189. {
  190. return 1;
  191. }
  192.  
  193. public OnVehicleMod(playerid, vehicleid, componentid)
  194. {
  195. return 1;
  196. }
  197.  
  198. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  199. {
  200. return 1;
  201. }
  202.  
  203. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  204. {
  205. return 1;
  206. }
  207.  
  208. public OnPlayerSelectedMenuRow(playerid, row)
  209. {
  210. return 1;
  211. }
  212.  
  213. public OnPlayerExitedMenu(playerid)
  214. {
  215. return 1;
  216. }
  217.  
  218. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  219. {
  220. return 1;
  221. }
  222.  
  223. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  224. {
  225. return 1;
  226. }
  227.  
  228. public OnRconLoginAttempt(ip[], password[], success)
  229. {
  230. return 1;
  231. }
  232.  
  233. public OnPlayerUpdate(playerid)
  234. {
  235. return 1;
  236. }
  237.  
  238. public OnPlayerStreamIn(playerid, forplayerid)
  239. {
  240. return 1;
  241. }
  242.  
  243. public OnPlayerStreamOut(playerid, forplayerid)
  244. {
  245. return 1;
  246. }
  247.  
  248. public OnVehicleStreamIn(vehicleid, forplayerid)
  249. {
  250. return 1;
  251. }
  252.  
  253. public OnVehicleStreamOut(vehicleid, forplayerid)
  254. {
  255. return 1;
  256. }
  257.  
  258. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  259. {
  260. if (dialogid == reg)
  261. {
  262. if(response)
  263. {
  264. new file[128];
  265. new string[128];
  266.  
  267. GetPlayerName(playerid, nev, sizeof(nev));
  268. if(strlen(inputtext) == 0)
  269. {
  270. format(string, sizeof string, "Hello %s! \nA játékhoz regisztálj! \n\nÍrd ide a jelszavad!", nev);
  271. ShowPlayerDialog(playerid, reg, DIALOG_STYLE_INPUT, "Regisztráció", string, "Regisztráció", "Kilépés");
  272. return 0;
  273. }
  274. format(file,sizeof(file),"/Felhasznalok/%s.ini",nev);
  275. if(!fexist(file))
  276. {
  277. dini_Create(file);
  278. dini_IntSet(file, "Antibug",0);
  279. dini_IntSet(file, "Jelszo",udb_hash(inputtext));
  280. dini_IntSet(file,"Szint", 0);
  281. dini_IntSet(file,"Penz", 0);
  282. dini_IntSet(file,"AdminSzint", 0);
  283.  
  284. format(string, sizeof string, "Hello %s! \nTe már regisztáltál! \n\nÍrd ide a jelszavad!", nev);
  285. ShowPlayerDialog(playerid, bej, DIALOG_STYLE_INPUT, "Bejelentkezés", string, "Belépés", "Kilépés");
  286. PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
  287. printf("%s regisztrált a szerverre!",nev);
  288. }
  289. else
  290. {
  291. format(string, sizeof string, "Hello %s! \nTe már regisztáltál! \n\nÍrd ide a jelszavad!", nev);
  292. ShowPlayerDialog(playerid, bej, DIALOG_STYLE_INPUT, "Bejelentkezés", string, "Belépés", "Kilépés");
  293. }
  294. }
  295. }
  296. if(dialogid == bej)
  297. {
  298. if(response)
  299. {
  300. new file[128];
  301. new string[128];
  302. GetPlayerName(playerid, nev, sizeof(nev));
  303. if(strlen(inputtext) == 0)
  304. {
  305. format(string, sizeof string, "Bejelentkezési panel \n\nHello %s! \nTe már regisztáltál! \n\nÍrd ide a jelszavad!", nev);
  306. ShowPlayerDialog(playerid, bej, DIALOG_STYLE_INPUT, "Bejelentkezés", string, "Belépés", "Kilépés");
  307. return 0;
  308. }
  309. format(file,sizeof(file),"/Felhasznalok/%s.ini",nev);
  310. if(fexist(file))
  311. {
  312.  
  313. new jelszo = dini_Int(file, "Jelszo");
  314. if(udb_hash(inputtext) == jelszo)
  315. {
  316. Belepve[playerid] = 1;
  317. ResetPlayerMoney(playerid);
  318. JatekosInfo[playerid][Szint] = dini_Int(file,"Szint");
  319. JatekosInfo[playerid][Penz] = dini_Int(file,"Penz");
  320. JatekosInfo[playerid][Penz] = dini_Int(file,"AdminSzint");
  321. }
  322. else
  323. {
  324. SendClientMessage(playerid, ERROR, "Rossz jelszó!");
  325. printf("%s -nek nem sikerült bejelentkezni!", nev);
  326. Kick(playerid);
  327. }
  328. }
  329. }
  330. else
  331. {
  332. Kick(playerid);
  333. }
  334. }
  335. return 1;
  336. }
  337.  
  338. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  339. {
  340. return 1;
  341. }
  342. ////////////parancsok/////////
  343. CMD:goto(playerid,params[])
  344. {
  345. if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
  346. {
  347. if(JatekosInfo[playerid][AdminSzint] >= 2)
  348. {
  349. new id;
  350. if(sscanf(params,"u",id))return SendClientMessage(playerid,-1,"Használat: /goto [Player ID]");
  351. if(Belepve[id] == 1)
  352. {
  353. new Float:x,Float:y,Float:z;
  354. GetPlayerPos(id,x,y,z);
  355. SetPlayerPos(playerid,x,y,z);
  356. new string[128];
  357. new neve[MAX_PLAYER_NAME];
  358. GetPlayerName(playerid,nev,sizeof(nev));
  359. GetPlayerName(id,neve,sizeof(neve));
  360. format(string,sizeof(string),"Elteleportáltál hozzá: %s",neve);
  361. SendClientMessage(playerid,-1,string);
  362. format(string,sizeof(string),"Hozzád teleportált: %s",nev);
  363. SendClientMessage(id,-1,string);
  364. printf("%s elteleportált hozzá: %s",nev,neve);
  365. format(string,sizeof(string),"%s elteleportált hozzá: %s",nev,neve);
  366. AdminnakUzenet(string,3);
  367.  
  368.  
  369.  
  370. }
  371. else SendClientMessage(playerid,ERROR,"A játékos nem online!");
  372. }
  373. else SendClientMessage(playerid,ERROR,"Nem vagy 2-es szintű admin!");
  374. }
  375. else SendClientMessage(playerid,ERROR,"Nem vagy bejelentkezve!");
  376. return 1;
  377. }
  378. CMD:admin(playerid,params[])
  379. {
  380. if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
  381. {
  382. if(IsPlayerAdmin(playerid) || JatekosInfo[playerid][AdminSzint] >= 4)
  383. {
  384. new id,szint;
  385. if(sscanf(params,"ui",id,szint))return SendClientMessage(playerid,-1,"Használat: /admin [Player ID] [Szint]");
  386. if(szint < 0 || szint > 4) return SendClientMessage(playerid,-1,"A szintnek 0 és 4 között kell lennie!");
  387. JatekosInfo[id][AdminSzint] = szint;
  388. new neve[MAX_PLAYER_NAME];
  389. GetPlayerName(playerid,nev,sizeof(nev));
  390. GetPlayerName(id,neve,sizeof(neve));
  391. new string[128];
  392. format(string,sizeof(string),"%s megváltoztatta az adminszintedet erre: %d",nev,szint);
  393. SendClientMessage(id,-1,string);
  394. format(string,sizeof(string),"Megváltoztattad %s adminszintjét erre: %d",neve,szint);
  395. SendClientMessage(playerid,-1,string);
  396. printf("%s megváltoztatta %s adminszintjét erre: %d",nev,neve,szint);
  397.  
  398. }
  399. else SendClientMessage(playerid,ERROR,"Nem vagy rcon vagy 3-as szintű admin!");
  400. }
  401. else SendClientMessage(playerid,ERROR,"Nem vagy bejelentkezve!");
  402. return 1;
  403. }
  404. CMD:get(playerid,params[])
  405. {
  406. if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
  407. {
  408. if(JatekosInfo[playerid][AdminSzint] >= 2)
  409. {
  410. new id;
  411. if(sscanf(params,"u",id))return SendClientMessage(playerid,-1,"Használat: /get [Player ID]");
  412. if(Belepve[id] == 1)
  413. {
  414. new Float:x,Float:y,Float:z;
  415. GetPlayerPos(playerid,x,y,z);
  416. SetPlayerPos(id,x,y,z);
  417. new string[128];
  418. new neve[MAX_PLAYER_NAME];
  419. GetPlayerName(playerid,nev,sizeof(nev));
  420. GetPlayerName(id,neve,sizeof(neve));
  421. format(string,sizeof(string),"Magadhoz teleportáltad: %s",neve);
  422. SendClientMessage(playerid,-1,string);
  423. format(string,sizeof(string),"Hozzá teleportálsz: %s",nev);
  424. SendClientMessage(id,-1,string);
  425. printf("%s magához teleportálta őt: %s",nev,neve);
  426. format(string,sizeof(string),"%s magához teleportálta őt: %s",nev,neve);
  427. AdminnakUzenet(string,3);
  428.  
  429.  
  430.  
  431. }
  432. else SendClientMessage(playerid,ERROR,"A játékos nem online!");
  433. }
  434. else SendClientMessage(playerid,ERROR,"Nem vagy 2-es szintű admin!");
  435. }
  436. else SendClientMessage(playerid,ERROR,"Nem vagy bejelentkezve!");
  437. return 1;
  438. }
  439. CMD:asay(playerid,params[])
  440. {
  441. if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
  442. {
  443. if(JatekosInfo[playerid][AdminSzint] >= 1)
  444. {
  445. new szoveg[128];
  446. if(sscanf(params,"s[128]",szoveg))return SendClientMessage(playerid,-1,"Használat: /asay [Szöveg]");
  447. new string[128];
  448. GetPlayerName(playerid,nev,sizeof(nev));
  449. format(string,sizeof(string),"[ADMIN] %s: %s",nev,szoveg);
  450. SendClientMessageToAll(-1,string);
  451. printf(string);
  452.  
  453. }
  454. else SendClientMessage(playerid,ERROR,"Nincs admin jogod!");
  455. }
  456. else SendClientMessage(playerid,ERROR,"Nem vagy bejelentkezve!Először jelentkezz be!");
  457. return 1;
  458. }
  459. CMD:kick(playerid,params[])
  460. {
  461. if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
  462. {
  463. if(JatekosInfo[playerid][AdminSzint] >= 2)
  464. {
  465. new id,indok[128];
  466. if(sscanf(params,"us",id,indok))return SendClientMessage(playerid,-1,"Használat: /kick [Player ID] [Indok]");
  467. if(IsPlayerConnected(id))
  468. {
  469. new neve[MAX_PLAYER_NAME];
  470. GetPlayerName(playerid,nev,sizeof(nev));
  471. GetPlayerName(id,neve,sizeof(neve));
  472. new string[256];
  473. format(string,sizeof(string),"%s kirúgta %s-t. Indok: %s",nev,neve,indok);
  474. SendClientMessageToAll(-1,string);
  475. printf(string);
  476. UjKick(id);
  477. }
  478. else SendClientMessage(playerid,ERROR,"Ez a játékos nincs a szerveren!");
  479. }
  480. else SendClientMessage(playerid,ERROR,"Nem vagy 2-es szintű admin!");
  481. }
  482. else SendClientMessage(playerid,ERROR,"Te nem vagy bejelentkezve! Először jelentkezz be!");
  483. return 1;
  484. }
  485. CMD:ahelp(playerid)
  486. {
  487. if(IsPlayerConnected(playerid) && Belepve[playerid] == 1)
  488. {
  489. if(JatekosInfo[playerid][AdminSzint] >= 1)
  490. {
  491. SendClientMessage(playerid,-1,"---ADMIN PARANCSOK---");
  492. new string[128];
  493. SendClientMessage(playerid,-1,"---SZINT 1---");
  494. format(string,sizeof(string),"/asay ");
  495. SendClientMessage(playerid,-1,string);
  496. if(JatekosInfo[playerid][AdminSzint] >= 2)
  497. {
  498. format(string,sizeof(string),"/goto | /get | /kick");
  499. SendClientMessage(playerid,-1,string);
  500. }
  501. if(JatekosInfo[playerid][AdminSzint] >= 3)
  502. {
  503. format(string,sizeof(string),"/kick");
  504. SendClientMessage(playerid,-1,string);
  505. }
  506. if(JatekosInfo[playerid][AdminSzint] >= 4)
  507. {
  508. format(string,sizeof(string),"/admin");
  509. SendClientMessage(playerid,-1,string);
  510. }
  511.  
  512. }
  513. else SendClientMessage(playerid,ERROR,"Te nem vagy admin!");
  514. }
  515. else SendClientMessage(playerid,ERROR,"Nem vagy bejelentkezve! Először jelentkezz be!");
  516. return 1;
  517. }
  518. ///////////////////////////////
  519. //////////////AdminakÜzenet////////
  520. public AdminnakUzenet(const string[],level)
  521. {
  522. for(new i = 0; i < MAX_PLAYERS; i++)
  523. {
  524. if(Belepve[i] == 1)
  525. {
  526. if (JatekosInfo[i][AdminSzint] >= level)
  527. {
  528. SendClientMessage(i, -1, string);
  529. printf(string);
  530. }
  531. }
  532. }
  533. return 1;
  534. }
  535. /////////////Kick és indok///////////
  536. stock UjKick(playerid)
  537. {
  538. SetTimerEx("KickTimer",1000,false,"u",playerid);
  539. }
  540. public KickTimer(playerid)
  541. {
  542. Kick(playerid);
  543. }
  544. ///////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement