Advertisement
Guest User

Untitled

a guest
Jul 14th, 2012
544
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.95 KB | None | 0 0
  1. //=======================================
  2. #include <a_samp>
  3. #include <a_mysql>
  4. #include <zcmd>
  5. #include <foreach>
  6. #include <sscanf2>
  7. #include <streamer>
  8. //=======================================
  9. #define SNAME "Your server name here."
  10. #define OWNER "vent - Martin R."
  11. #define SCRIPTER "vent - Martin R."
  12. #define LVERS "14.07.2012"
  13. #define SVERS "v0.4"
  14. #define FORUM "Your forum address here."
  15. //=======================================
  16. #include "erek/mysql.pwn"
  17. #include "erek/defined.pwn"
  18. //=======================================
  19. #define STR_MAX 128
  20. //==================[Forwardid]==================
  21. forward MySQLConnect(sqlhost[], sqluser[], sqlpass[], sqldb[]);
  22. forward MySQLCheck();
  23. forward uuendaAndmed(playerid);
  24. forward BanMySQL(id, pohjus[]);
  25. //=======================================
  26. forward Logi(playerid, string[]);
  27. forward aLogi(playerid, string[]);
  28. //=======================================
  29. forward OnPlayerLogin(playerid,password[]);
  30. forward OnPlayerRegister(playerid,password[]);
  31. //=======================================
  32. forward Stats(playerid, targetid);
  33. forward Money();
  34. //=======================================
  35. //===============================Defined messages=========================//
  36. #define KASUTUS ""LIGHTBLUE"Usage: "White""
  37. #define POLEADMIN ""Red"You're not administrator."
  38. //=======================================
  39. enum mInfo
  40. {
  41. mPassword,
  42. mCash,
  43. mAge,
  44. mSex,
  45. mJob,
  46. mMember,
  47. mLeader,
  48. mRank,
  49. mAdmin,
  50. mMute,
  51. Float:mPosX,
  52. Float:mPosY,
  53. Float:mPosZ,
  54. Float:mPosA,
  55. Float:mHP,
  56. Float:mArmour,
  57. mBanned,
  58. mWarns,
  59. mLogged,
  60. mSQLID,
  61. }
  62. new KasutajaInfo[MAX_PLAYERS][mInfo];
  63.  
  64. enum uInfo
  65. {
  66. update[128],
  67. status[64],
  68. color[32]
  69. };
  70.  
  71. new const Updates[][uInfo] =
  72. {
  73. {"Update1.", "Status.", "{33AA33}"},
  74. {"Update2.", "Status.", "{33AA33}"},
  75. {"Status3.", "Status.", "{AA3333}"},
  76. {"Status4.", "Status.", "{FF9900}"},
  77. {"Status5.", "Status.", "{33AA33}"}
  78. };
  79.  
  80. // {33AA33} = Green.
  81. // {FF9900} = Orange.
  82. // {AA3333} = Red.
  83.  
  84. //=======================================
  85. new gOoc[MAX_PLAYERS];
  86. new SuuredK6rvad[MAX_PLAYERS char];
  87. //=======================================
  88. AntiDeAMX()
  89. {
  90. new a[][] =
  91. {
  92. "Unarmed (Fist)",
  93. "Brass K"
  94. };
  95. #pragma unused a
  96. }
  97. //=======================================
  98. main()
  99. {
  100. print("===========================================");
  101. printf(" Server name: %s",SNAME);
  102. printf(" Owner: %s | Scripter: %s",OWNER,SCRIPTER);
  103. printf(" Last Update: %s",LVERS);
  104. printf(" Script version: %s",SVERS);
  105. print("===========================================");
  106. }
  107.  
  108. public OnGameModeInit()
  109. {
  110. mysql_debug(1);
  111. MySQLConnect(MYSQL_HOST, MYSQL_USER, MYSQL_PW, MYSQL_DB);
  112. //=======================================
  113. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  114. //=======================================
  115. DisableInteriorEnterExits();
  116. ShowPlayerMarkers(0);
  117. ManualVehicleEngineAndLights();
  118. //=======================================
  119. new stuff[128];
  120.  
  121. format(stuff, 128, "hostname %s", SNAME);
  122. SendRconCommand(stuff);
  123.  
  124. SetGameModeText(SVERS);
  125. //=======================================
  126. DisableInteriorEnterExits();
  127. ShowPlayerMarkers(0);
  128. ShowNameTags(1);
  129. EnableStuntBonusForAll(0);
  130. SetNameTagDrawDistance(10.0);
  131. ManualVehicleEngineAndLights();
  132. AntiDeAMX();
  133. //=======================================
  134. SetTimer("updateStats",1000,1);
  135. SetTimer("Money",1000,1); //Money anticheat. (credits to Oliver.)
  136. //=======================================
  137. return 1;
  138. }
  139.  
  140. public OnGameModeExit()
  141. {
  142. return 1;
  143. }
  144.  
  145. public OnPlayerRequestClass(playerid, classid)
  146. {
  147. return 1;
  148. }
  149.  
  150. public OnPlayerConnect(playerid)
  151. {
  152. //=======================================
  153. TogglePlayerSpectating(playerid, 1);
  154. MySQLCheck();
  155. //=======================================
  156. new string[128];
  157. format(string, sizeof(string), "%s has joined the server.",RPName(playerid));
  158. SCMTA(-1, string);
  159. //=======================================
  160. // Sissekanne logisse
  161. new
  162. query[MAX_QUERY],
  163. date[42],
  164. playersip[16],
  165. aasta,
  166. kuu,
  167. paev,
  168. tund,
  169. minut,
  170. sekund
  171. ;
  172.  
  173. GetPlayerIp(playerid, playersip, sizeof(playersip));
  174.  
  175. getdate(aasta, kuu, paev);
  176. gettime(tund, minut, sekund);
  177.  
  178. format(date, sizeof(date), "%02d:%02d %02d/%02d/%d", tund, minut, paev, kuu, aasta);
  179. format(query, sizeof(query), "INSERT INTO logimised (aeg, IP, nimi) VALUES ('%s', '%s', '%s')", date, playersip, RPName(playerid));
  180.  
  181. mysql_query(query);
  182. //=======================================
  183. SCM(playerid, COLOR_YELLOW, "Please wait...");
  184.  
  185. new nimi[MAX_PLAYER_NAME];
  186. GetPlayerName(playerid,nimi,sizeof(nimi));
  187. format(query, sizeof(query), "SELECT IP FROM `kasutajainfo` WHERE kasutajanimi = '%s' LIMIT 1", nimi);
  188. mysql_query(query);
  189. mysql_store_result();
  190.  
  191.  
  192. new logi = mysql_num_rows();
  193. if(!logi)
  194. {
  195. ShowPlayerDialog(playerid, DIALOOG_REGA, DIALOG_STYLE_PASSWORD, "Register", "Welcome to yourservernamehere!\n\nInsert your password to continue.", "Register", "Quit");
  196. }
  197.  
  198. if(logi == 1)
  199. {
  200. new str[128];
  201. format(str, sizeof(str), "Welcome back, %s!\n\nInsert your password to continue.", RPName(playerid));
  202. ShowPlayerDialog(playerid, DIALOOG_LOGI, DIALOG_STYLE_PASSWORD, "Login", str, "Login", "Quit");
  203. }
  204. //=======================================
  205. gOoc[playerid] = 0;
  206. KasutajaInfo[playerid][mLogged] = 0;
  207. //=======================================
  208. return 1;
  209. }
  210.  
  211. public OnPlayerDisconnect(playerid, reason)
  212. {
  213.  
  214. new lause[128];
  215. switch(reason)
  216. {
  217. case 0: format(lause,sizeof(lause),"%s has left the server. (Crashed)",RPName(playerid));
  218. case 1: format(lause,sizeof(lause),"%s has left the server. (Quited - Logged out)",RPName(playerid));
  219. case 2: format(lause,sizeof(lause),"%s has left the server. (Kicked or banned)",RPName(playerid));
  220. }
  221. Logi(playerid, lause);
  222. SCMTA(-1,lause);
  223. return 1;
  224. }
  225.  
  226. public OnPlayerSpawn(playerid)
  227. {
  228. return 1;
  229. }
  230.  
  231. public OnPlayerDeath(playerid, killerid, reason)
  232. {
  233. return 1;
  234. }
  235.  
  236. public OnVehicleSpawn(vehicleid)
  237. {
  238. return 1;
  239. }
  240.  
  241. public OnVehicleDeath(vehicleid, killerid)
  242. {
  243. return 1;
  244. }
  245.  
  246. public OnPlayerText(playerid, text[])
  247. {
  248. MySQLCheck();
  249. new lause[128];
  250. if(KasutajaInfo[playerid][mMute] == 0) return SCM(playerid, -1, "You are muted.");
  251. format(lause, sizeof(lause), "%s ütleb: %s", RPName(playerid), text);
  252. LimiteeritudKaugus(20.0, playerid, -1, lause);
  253. Logi(playerid, lause);
  254. return 0;
  255. }
  256.  
  257. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  258. {
  259. return 1;
  260. }
  261.  
  262. public OnPlayerExitVehicle(playerid, vehicleid)
  263. {
  264. return 1;
  265. }
  266.  
  267. public OnPlayerStateChange(playerid, newstate, oldstate)
  268. {
  269. return 1;
  270. }
  271.  
  272. public OnPlayerEnterCheckpoint(playerid)
  273. {
  274. return 1;
  275. }
  276.  
  277. public OnPlayerLeaveCheckpoint(playerid)
  278. {
  279. return 1;
  280. }
  281.  
  282. public OnPlayerEnterRaceCheckpoint(playerid)
  283. {
  284. return 1;
  285. }
  286.  
  287. public OnPlayerLeaveRaceCheckpoint(playerid)
  288. {
  289. return 1;
  290. }
  291.  
  292. public OnRconCommand(cmd[])
  293. {
  294. return 1;
  295. }
  296.  
  297. public OnPlayerRequestSpawn(playerid)
  298. {
  299. return 1;
  300. }
  301.  
  302. public OnObjectMoved(objectid)
  303. {
  304. return 1;
  305. }
  306.  
  307. public OnPlayerObjectMoved(playerid, objectid)
  308. {
  309. return 1;
  310. }
  311.  
  312. public OnPlayerPickUpPickup(playerid, pickupid)
  313. {
  314. return 1;
  315. }
  316.  
  317. public OnVehicleMod(playerid, vehicleid, componentid)
  318. {
  319. return 1;
  320. }
  321.  
  322. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  323. {
  324. return 1;
  325. }
  326.  
  327. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  328. {
  329. return 1;
  330. }
  331.  
  332. public OnPlayerSelectedMenuRow(playerid, row)
  333. {
  334. return 1;
  335. }
  336.  
  337. public OnPlayerExitedMenu(playerid)
  338. {
  339. return 1;
  340. }
  341.  
  342. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  343. {
  344. return 1;
  345. }
  346.  
  347. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  348. {
  349. return 1;
  350. }
  351.  
  352. public OnRconLoginAttempt(ip[], password[], success)
  353. {
  354. return 1;
  355. }
  356.  
  357. public OnPlayerUpdate(playerid)
  358. {
  359. return 1;
  360. }
  361.  
  362. public OnPlayerStreamIn(playerid, forplayerid)
  363. {
  364. return 1;
  365. }
  366.  
  367. public OnPlayerStreamOut(playerid, forplayerid)
  368. {
  369. return 1;
  370. }
  371.  
  372. public OnVehicleStreamIn(vehicleid, forplayerid)
  373. {
  374. return 1;
  375. }
  376.  
  377. public OnVehicleStreamOut(vehicleid, forplayerid)
  378. {
  379. return 1;
  380. }
  381.  
  382. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  383. {
  384. if(dialogid == DIALOOG_REGA)
  385. {
  386. if(!response) { Kick(playerid); }
  387. if(response)
  388. {
  389. if(!strlen(inputtext) || strlen(inputtext) > 100)
  390. {
  391. ShowPlayerDialog(playerid, DIALOOG_REGA, DIALOG_STYLE_PASSWORD, "Register", "Welcome to yourservernamehere!\n\nInsert your password to continue.", "Register", "Quit");
  392. }
  393. else if(strlen(inputtext) > 0 && strlen(inputtext) < 100)
  394. {
  395. new escpass[100];
  396. mysql_real_escape_string(inputtext, escpass);
  397. OnPlayerRegister(playerid, escpass);
  398. }
  399. }
  400. }
  401. if(dialogid == DIALOOG_LOGI)
  402. {
  403. if(!response) { Kick(playerid); }
  404. if(response)
  405. {
  406. new query[200], pname[24], escapepass[100];
  407. GetPlayerName(playerid, pname, 24);
  408. mysql_real_escape_string(inputtext, escapepass);
  409. format(query, sizeof(query), "SELECT `kasutajanimi` FROM kasutajainfo WHERE kasutajanimi = '%s' AND parool = MD5('%s')", pname, escapepass);
  410. mysql_query(query);
  411. mysql_store_result();
  412. new numrows = mysql_num_rows();
  413. if(numrows == 1) OnPlayerLogin(playerid, inputtext);
  414. if(!numrows)
  415. {
  416. new str[128];
  417. format(str, sizeof(str), "Welcome back, %s!\n\nInsert your password to continue.", RPName(playerid));
  418. ShowPlayerDialog(playerid, DIALOOG_LOGI, DIALOG_STYLE_PASSWORD, "Logi sisse", str, "Logi sisse", "Lahku");
  419. }
  420. mysql_free_result();
  421. }
  422. }
  423. return 1;
  424. }
  425.  
  426. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  427. {
  428. return 1;
  429. }
  430.  
  431. public OnPlayerRegister(playerid, password[])
  432. {
  433. MySQLCheck();
  434. if(mysql_errno() == 0)
  435. {
  436. SCM(playerid, -1, "Registreeritud.");
  437. new mysql[512];
  438. new kasutajanimi[MAX_PLAYER_NAME];
  439. new IP[16];
  440. GetPlayerName(playerid, kasutajanimi, 25);
  441. GetPlayerIp(playerid, IP, 16);
  442. format(mysql, sizeof(mysql), "INSERT INTO kasutajainfo (kasutajanimi, parool, IP) VALUES('%s', MD5('%s'), '%s')", kasutajanimi, password, IP);
  443. mysql_query(mysql);
  444.  
  445. OnPlayerLogin(playerid, password);
  446. }
  447. else
  448. {
  449. SCM(playerid, -1, "Tekkis viga!");
  450. Kick(playerid);
  451. }
  452. return 1;
  453. }
  454.  
  455. public OnPlayerLogin(playerid, password[])
  456. {
  457. TogglePlayerSpectating(playerid, 0);
  458. MySQLCheck();
  459. new query[300], pname[24], savingstring[20];
  460. GetPlayerName(playerid, pname, 24);
  461. format(query, sizeof(query), "SELECT * FROM kasutajainfo WHERE kasutajanimi = '%s'", pname);
  462. mysql_query(query);
  463. mysql_store_result();
  464. while(mysql_fetch_row_format(query,"|"))
  465. {
  466. mysql_fetch_field_row(savingstring, "id"); KasutajaInfo[playerid][mSQLID] = strval(savingstring);
  467. mysql_fetch_field_row(savingstring, "alevel"); KasutajaInfo[playerid][mAdmin] = strval(savingstring);
  468. mysql_fetch_field_row(savingstring, "raha"); KasutajaInfo[playerid][mCash] = strval(savingstring);
  469. mysql_fetch_field_row(savingstring, "X"); KasutajaInfo[playerid][mPosX] = strval(savingstring);
  470. mysql_fetch_field_row(savingstring, "Y"); KasutajaInfo[playerid][mPosY] = strval(savingstring);
  471. mysql_fetch_field_row(savingstring, "Z"); KasutajaInfo[playerid][mPosZ] = strval(savingstring);
  472. mysql_fetch_field_row(savingstring, "A"); KasutajaInfo[playerid][mPosA] = strval(savingstring);
  473. mysql_fetch_field_row(savingstring, "elusid"); KasutajaInfo[playerid][mHP] = strval(savingstring);
  474. mysql_fetch_field_row(savingstring, "kuulivesti"); KasutajaInfo[playerid][mArmour] = strval(savingstring);
  475. mysql_fetch_field_row(savingstring, "sugu"); KasutajaInfo[playerid][mSex] = strval(savingstring);
  476. mysql_fetch_field_row(savingstring, "vanus"); KasutajaInfo[playerid][mAge] = strval(savingstring);
  477. mysql_fetch_field_row(savingstring, "tookoht"); KasutajaInfo[playerid][mJob] = strval(savingstring);
  478. mysql_fetch_field_row(savingstring, "liige"); KasutajaInfo[playerid][mMember] = strval(savingstring);
  479. mysql_fetch_field_row(savingstring, "pealik"); KasutajaInfo[playerid][mLeader] = strval(savingstring);
  480. mysql_fetch_field_row(savingstring, "rank"); KasutajaInfo[playerid][mRank] = strval(savingstring);
  481. mysql_fetch_field_row(savingstring, "bannitud"); KasutajaInfo[playerid][mBanned] = strval(savingstring);
  482. mysql_fetch_field_row(savingstring, "hoiatusi"); KasutajaInfo[playerid][mWarns] = strval(savingstring);
  483. }
  484. mysql_free_result();
  485.  
  486. if(KasutajaInfo[playerid][mBanned] == 1)
  487. {
  488. SCM(playerid, -1, "You are banned.");
  489. Kick(playerid);
  490. }
  491.  
  492. SpawnPlayer(playerid);
  493. SetPlayerPos(playerid, KasutajaInfo[playerid][mPosX],KasutajaInfo[playerid][mPosY],KasutajaInfo[playerid][mPosZ]);
  494. SetPlayerFacingAngle(playerid, KasutajaInfo[playerid][mPosA]);
  495.  
  496. KasutajaInfo[playerid][mLogged] = 1;
  497. return 1;
  498. }
  499.  
  500. stock LimiteeritudKaugus(Float:radius, playerid, colour, string[])
  501. {
  502. new Float:Pos[3];
  503.  
  504. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  505.  
  506. foreach(Player, i) if(IsPlayerInRangeOfPoint(i, radius, Pos[0], Pos[1], Pos[2]))
  507. SCM(i, colour, string);
  508. return 1;
  509. }
  510.  
  511. stock RPName(playerid)
  512. {
  513. new string[24];
  514. GetPlayerName(playerid,string,24);
  515. new str[24];
  516. strmid(str,string,0,strlen(string),24);
  517. for(new i = 0; i < MAX_PLAYER_NAME; i++)
  518. {
  519. if (str[i] == '_') str[i] = ' ';
  520. }
  521. return str;
  522. }
  523.  
  524. public Money()
  525. {
  526. for(new playerid = 0; playerid < MAX_PLAYERS; playerid ++)
  527. {
  528. ResetPlayerMoney(playerid);
  529. GivePlayerMoney(playerid, KasutajaInfo[playerid][mCash]);
  530. }
  531. return 1;
  532. }
  533.  
  534. public Stats(playerid,targetid)
  535. {
  536. if(IsPlayerConnected(playerid) && IsPlayerConnected(targetid))
  537. {
  538. new string[128];
  539. new raha = KasutajaInfo[playerid][mCash];
  540. new alevel = KasutajaInfo[playerid][mAdmin];
  541. new mid = KasutajaInfo[playerid][mSQLID];
  542. new hoiatusi = KasutajaInfo[playerid][mWarns];
  543. format(string, sizeof(string), "[Kasutajainfo] Name: %s | Cash: %d | aLevel: %d | MySQL id: %d", RPName(playerid), raha, alevel, mid);
  544. SCM(playerid, -1, string);
  545. format(string, sizeof(string), "[Kasutajainfo] Warns: %d", hoiatusi);
  546. SCM(playerid, -1, string);
  547. }
  548. }
  549.  
  550. CMD:help(playerid, params[])
  551. {
  552. SCM(playerid, -1, "User: /stats, /me, /do, /s, (/o)oc, /b");
  553. SCM(playerid, -1, "User: /updates");
  554. if(KasutajaInfo[playerid][mMember] == 1 && KasutajaInfo[playerid][mLeader] == 1)
  555. {
  556. SCM(playerid, -1, "Police: ");
  557. }
  558. return 1;
  559. }
  560.  
  561. CMD:ahelp(playerid, params[])
  562. {
  563. if(KasutajaInfo[playerid][mAdmin] > 0)
  564. {
  565. SCM(playerid, -1, "Level 1: /warn, /rwarn");
  566. SCM(playerid, -1, "Level 2: /kick, /ban");
  567. SCM(playerid, -1, "Level 2011: /makeadmin");
  568. }
  569. return 1;
  570. }
  571.  
  572. CMD:stats(playerid, params[])
  573. {
  574. Stats(playerid,playerid);
  575. return 1;
  576. }
  577.  
  578. CMD:makeadmin(playerid, params[])
  579. {
  580. new id;
  581. new alevel;
  582. new string[128];
  583.  
  584. if(KasutajaInfo[playerid][mAdmin] < 1338) return SCM(playerid, -1, POLEADMIN);
  585. if(sscanf(params, "ud",id, alevel)) return SCM(playerid, -1, "/makeadmin [id/nimi] [level]");
  586.  
  587. KasutajaInfo[id][mAdmin] = alevel;
  588.  
  589. format(string, sizeof(string), "Administrator %s set user %s level %d administrator.",RPName(playerid), RPName(id), alevel);
  590. SCM(playerid, -1, string);
  591.  
  592.  
  593. return 1;
  594. }
  595.  
  596. CMD:me(playerid,params[])
  597. {
  598. new tulemus[128], lause[128];
  599. if(sscanf(params, "s[128]", tulemus)) return SendClientMessage(playerid, -1, ""KASUTUS"/me [tegevus]");
  600. format(lause, sizeof(lause), "* %s %s", RPName(playerid), tulemus);
  601. LimiteeritudKaugus(30, playerid,COLOR_VIOLET, lause);
  602.  
  603. return 1;
  604. }
  605. CMD:do(playerid,params[])
  606. {
  607. new tulemus[128], lause[128];
  608. if(sscanf(params, "s[128]", tulemus)) return SendClientMessage(playerid, -1, ""KASUTUS"/do [tegevus]");
  609. format(lause, sizeof(lause), "* %s ((%s))", tulemus, RPName(playerid));
  610. LimiteeritudKaugus(30, playerid,COLOR_VIOLET, lause);
  611. return 1;
  612. }
  613. CMD:ooc(playerid, params[])
  614. {
  615. new lause[256];
  616. if(isnull(params)) return SendClientMessage(playerid, -1, ""KASUTUS"(/o)oc [ooc kanal]");
  617.  
  618. if(KasutajaInfo[playerid][mAdmin] >= 1)
  619. {
  620. format(lause, sizeof(lause), "[OOC] Administrator %s: %s", RPName(playerid), params);
  621. OOCOff(COLOR_RED1, lause);
  622. }
  623. else if(KasutajaInfo[playerid][mAdmin] == 0)
  624. {
  625. format(lause, sizeof(lause), "[OOC] %s: %s", RPName(playerid), params);
  626. OOCOff(COLOR_RED, lause);
  627. }
  628. return 1;
  629. }
  630. CMD:o(playerid, params[])
  631. {
  632. return cmd_ooc(playerid, params);
  633. }
  634. CMD:b(playerid,params[])
  635. {
  636. new tulemus[128], lause[128];
  637. if(sscanf(params, "s[128]", tulemus)) return SendClientMessage(playerid, -1, ""KASUTUS"/b [tekst]");
  638. format(lause, sizeof(lause), "((%s ütleb: %s))", RPName(playerid), tulemus);
  639. LimiteeritudKaugus(30, playerid,COLOR_WHITE, lause);
  640. return 1;
  641. }
  642.  
  643. CMD:s(playerid,params[])
  644. {
  645. new tulemus[128], lause[128];
  646. if(sscanf(params, "s[128]", tulemus)) return SendClientMessage(playerid, -1, ""KASUTUS"/s [tekst]");
  647. format(lause, sizeof(lause), "%s karjub: %s!", RPName(playerid), tulemus);
  648. LimiteeritudKaugus(30, playerid,COLOR_WHITE, lause);
  649. return 1;
  650. }
  651.  
  652. CMD:kick(playerid, params[])
  653. {
  654. new id;
  655. new string[128];
  656. if(KasutajaInfo[playerid][mAdmin] <= 2) return SendClientMessage(playerid, -1, POLEADMIN);
  657. if(sscanf(params, "us[128]", id, string)) return SendClientMessage(playerid, -1, ""KASUTUS"/kick [id/nimi] [põhjus]");
  658. Kick(id);
  659.  
  660. format(string, sizeof(string), "Administraator %s kickis mängija %s. Põhjus: %s",RPName(playerid), RPName(id), string);
  661. SendClientMessageToAll(COLOR_RED, string);
  662. return 1;
  663. }
  664.  
  665. CMD:ban(playerid, params[])
  666. {
  667. new id;
  668. new string[128];
  669. if(KasutajaInfo[playerid][mAdmin] <= 2) return SendClientMessage(playerid, -1, POLEADMIN);
  670. if(sscanf(params, "us[128]", id, string)) return SendClientMessage(playerid, -1, ""KASUTUS"/ban [id/nimi] [põhjus]");
  671.  
  672. BanMySQL(id, string);
  673. return 1;
  674. }
  675.  
  676. CMD:warn(playerid, params[])
  677. {
  678. new id;
  679. new string[128];
  680. if(KasutajaInfo[playerid][mAdmin] <= 2) return SendClientMessage(playerid, -1, POLEADMIN);
  681. if(sscanf(params, "us[128]", id, string)) return SendClientMessage(playerid, -1, ""KASUTUS"/warn [id/nimi] [reason]");
  682.  
  683. KasutajaInfo[id][mWarns] += 1;
  684.  
  685. if(KasutajaInfo[id][mWarns] == 5)
  686. {
  687. SCM(playerid, -1, "You have 5 warnings and you got banned.");
  688. BanMySQL(id, string);
  689. }
  690.  
  691. format(string, sizeof(string), "Administraator %s warned player %s. Reason: %s", RPName(playerid), RPName(id), string);
  692. SCMTA(COLOR_GREEN, string);
  693.  
  694. return 1;
  695. }
  696.  
  697. CMD:rwarn(playerid, params[])
  698. {
  699. new id;
  700. new string[128];
  701. if(KasutajaInfo[playerid][mAdmin] <= 2) return SendClientMessage(playerid, -1, POLEADMIN);
  702. if(sscanf(params, "us[128]", id, string)) return SendClientMessage(playerid, -1, ""KASUTUS"/rwarn [id/nimi] [reason]");
  703. if(KasutajaInfo[id][mWarns] == 0) return SCM(playerid, -1, "His/her warnings are already in 0!");
  704.  
  705. KasutajaInfo[id][mWarns] -= 1;
  706.  
  707. format(string, sizeof(string), "Administrator %s removed warning from player %s. Reason: %s", RPName(playerid), RPName(id), string);
  708. SCMTA(COLOR_GREEN, string);
  709.  
  710. return 1;
  711. }
  712.  
  713. public uuendaAndmed(playerid)
  714. {
  715. MySQLCheck();
  716. if(KasutajaInfo[playerid][mLogged] == 1)
  717. {
  718. foreach(Player, i)
  719. {
  720. new nimi[24];
  721. GetPlayerName(i, nimi, 24);
  722. new Float:x, Float:y, Float:z, Float:a;
  723. GetPlayerPos(i, x, y, z);
  724. GetPlayerFacingAngle(i, a);
  725. KasutajaInfo[i][mPosX] = x;
  726. KasutajaInfo[i][mPosY] = y;
  727. KasutajaInfo[i][mPosZ] = z;
  728. KasutajaInfo[i][mPosA] = a;
  729. new query[512];
  730. new alevel = KasutajaInfo[i][mAdmin];
  731. new raha = KasutajaInfo[i][mCash];
  732. new hoiatusi = KasutajaInfo[i][mWarns];
  733.  
  734. format(query, sizeof(query), "UPDATE kasutajainfo SET alevel = '%d', raha = '%d', X = '%d', Y = '%d', Z = '%d', A = '%d', hoiatusi = '%d', bannitud = '%d' WHERE kasutajanimi = '%s'", alevel, raha, x, y, z, a, hoiatusi, nimi);
  735. mysql_query(query);
  736. mysql_free_result();
  737. }
  738. }
  739. return 1;
  740. }
  741.  
  742. public BanMySQL(id, pohjus[])
  743. {
  744. new nimi[24];
  745. GetPlayerName(id, nimi, 24);
  746.  
  747. new string[128];
  748. KasutajaInfo[id][mWarns] = 0;
  749. KasutajaInfo[id][mBanned] = 1;
  750.  
  751. format(string, sizeof(string), "UPDATE kasutajainfo SET bannitud = '1', hoiatusi = '0' WHERE kasutajanimi = '%s'",nimi);
  752. mysql_query(string);
  753.  
  754. SCM(id, -1, "You are banned!");
  755. SCM(id, -1, "Make an report at "FORUM" page.");
  756. format(string, sizeof(string), "Reason: %s", pohjus);
  757. SCM(id, -1, string);
  758. Kick(id);
  759. return 1;
  760. }
  761.  
  762. stock OOCOff(colour,const string[])
  763. {
  764. foreach (Player,i)
  765. {
  766. if(!gOoc{i})
  767. {
  768. SendClientMessage(i, colour, string);
  769. }
  770. }
  771. }
  772.  
  773. stock GetVehicleSpeed(vehicleid)
  774. {
  775. static Float:x, Float:y, Float:z;
  776. GetVehicleVelocity(vehicleid,x,y,z);
  777. return floatround(floatround(floatsqroot(((x*x)+(y*y))+(z*z))*(136.666667),floatround_round)*(1.009344));
  778. }
  779.  
  780. stock SendEmoteMessage(playerid, teebmida[])
  781. {
  782. new msg[ 512 ];
  783.  
  784. format( msg, sizeof( msg ), "* %s %s", RPNimi( playerid ), teebmida );
  785. ProxDetector( 30.0, playerid, msg, COLOR_PURPLE );
  786. printf( "%s", msg );
  787. return true;
  788. }
  789.  
  790. stock ProxDetector(Float:radi, playerid, string[], colour)
  791. {
  792. new Float:posx, Float:posy, Float:posz;
  793. GetPlayerPos(playerid, posx, posy, posz);
  794. foreach (Player, i)
  795. {
  796. if(!SuuredK6rvad{i})
  797. {
  798. if(GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(playerid))
  799. {
  800. if(IsPlayerInRangeOfPoint(i,radi,posx, posy, posz))
  801. {
  802. SendClientMessage(i, colour, string);
  803. }
  804. }
  805. }
  806. else
  807. {
  808. SendClientMessage(i, colour, string);
  809. }
  810. }
  811. }
  812.  
  813. CMD:updates(playerid, params[])
  814. {
  815. new string[128];
  816. new fullstr[1024];
  817. for(new i = 0; i < sizeof Updates; i++)
  818. {
  819. format(string, sizeof(string), "%s %s - %s\n",Updates[i][color], Updates[i][update], Updates[i][status]);
  820. strcat(fullstr, string);
  821. }
  822. ShowPlayerDialog(playerid, DIALOOG_UUENDUSED, DIALOG_STYLE_LIST, "Updates", fullstr, "Back", "");
  823. return 1;
  824. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement