Advertisement
Guest User

Untitled

a guest
Jan 19th, 2019
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.05 KB | None | 0 0
  1. //Includes
  2. #include <a_samp>
  3. #include <ocmd>
  4. #include <sscanf2>
  5. #include <a_mysql>
  6.  
  7. enum hausEnum{
  8. Float:h_x,
  9. Float:h_y,
  10. Float:h_z,
  11. Float:ih_x,
  12. Float:ih_y,
  13. Float:ih_z,
  14. h_interior,
  15. h_besitzer[MAX_PLAYER_NAME],
  16. h_id
  17. }
  18. enum buildingsEnum{
  19. Float:b_x,
  20. Float:b_y,
  21. Float:b_z,
  22. Float:b_ix,
  23. Float:b_iy,
  24. Float:b_iz,
  25. b_interior
  26. };
  27.  
  28. //globale Variabeln
  29. new MySQL:dbhandle;
  30.  
  31. new bInfo[][buildingsEnum] = {
  32. //24/7-BSN
  33. {1315.5684,-897.7884,39.5781,-25.8369,-187.6694,1003.5469,17},
  34. //BSN
  35. {1199.3225,-918.2344,43.1221,363.0962,-74.9031,1001.5078,10}
  36. };
  37.  
  38. new hInfo[][hausEnum];
  39. new Text:uhrzeitLabel;
  40.  
  41. //Farben
  42. // System Defined Colors
  43. #define COLOR_ACTIVEBORDER 0xB4B4B4FF
  44. #define COLOR_ACTIVECAPTION 0x99B4D1FF
  45. #define COLOR_ACTIVECAPTIONTEXT 0x000000FF
  46. #define COLOR_ALICEBLUE 0xF0F8FFFF
  47. #define COLOR_ANTIQUEWHITE 0xFAEBD7FF
  48. #define COLOR_APPWORKSPACE 0xABABABFF
  49. #define COLOR_AQUA 0x00FFFFFF
  50. #define COLOR_AQUAMARINE 0x7FFFD4FF
  51. #define COLOR_AZURE 0xF0FFFFFF
  52. #define COLOR_BEIGE 0xF5F5DCFF
  53. #define COLOR_BISQUE 0xFFE4C4FF
  54. #define COLOR_BLACK 0x000000FF
  55. #define COLOR_BLANCHEDALMOND 0xFFEBCDFF
  56. #define COLOR_BLUE 0x0000FFFF
  57. #define COLOR_BLUEVIOLET 0x8A2BE2FF
  58. #define COLOR_BROWN 0xA52A2AFF
  59. #define COLOR_BURLYWOOD 0xDEB887FF
  60. #define COLOR_BUTTONFACE 0xF0F0F0FF
  61. #define COLOR_BUTTONHIGHLIGHT 0xFFFFFFFF
  62. #define COLOR_BUTTONSHADOW 0xA0A0A0FF
  63. #define COLOR_CADETBLUE 0x5F9EA0FF
  64. #define COLOR_CHARTREUSE 0x7FFF00FF
  65. #define COLOR_CHOCOLATE 0xD2691EFF
  66. #define COLOR_CONTROL 0xF0F0F0FF
  67. #define COLOR_CONTROLDARK 0xA0A0A0FF
  68. #define COLOR_CONTROLDARKDARK 0x696969FF
  69. #define COLOR_CONTROLLIGHT 0xE3E3E3FF
  70. #define COLOR_CONTROLLIGHTLIGHT 0xFFFFFFFF
  71. #define COLOR_CONTROLTEXT 0x000000FF
  72. #define COLOR_CORAL 0xFF7F50FF
  73. #define COLOR_CORNFLOWERBLUE 0x6495EDFF
  74. #define COLOR_CORNSILK 0xFFF8DCFF
  75. #define COLOR_CRIMSON 0xDC143CFF
  76. #define COLOR_CYAN 0x00FFFFFF
  77. #define COLOR_DARKBLUE 0x00008BFF
  78. #define COLOR_DARKCYAN 0x008B8BFF
  79. #define COLOR_DARKGOLDENROD 0xB8860BFF
  80. #define COLOR_DARKGRAY 0xA9A9A9FF
  81. #define COLOR_DARKGREEN 0x006400FF
  82. #define COLOR_DARKKHAKI 0xBDB76BFF
  83. #define COLOR_DARKMAGENTA 0x8B008BFF
  84. #define COLOR_DARKOLIVEGREEN 0x556B2FFF
  85. #define COLOR_DARKORANGE 0xFF8C00FF
  86. #define COLOR_DARKORCHID 0x9932CCFF
  87. #define COLOR_DARKRED 0x8B0000FF
  88. #define COLOR_DARKSALMON 0xE9967AFF
  89. #define COLOR_DARKSEAGREEN 0x8FBC8BFF
  90. #define COLOR_DARKSLATEBLUE 0x483D8BFF
  91. #define COLOR_DARKSLATEGRAY 0x2F4F4FFF
  92. #define COLOR_DARKTURQUOISE 0x00CED1FF
  93. #define COLOR_DARKVIOLET 0x9400D3FF
  94. #define COLOR_DEEPPINK 0xFF1493FF
  95. #define COLOR_DEEPSKYBLUE 0x00BFFFFF
  96. #define COLOR_DESKTOP 0x000000FF
  97. #define COLOR_DIMGRAY 0x696969FF
  98. #define COLOR_DODGERBLUE 0x1E90FFFF
  99. #define COLOR_FIREBRICK 0xB22222FF
  100. #define COLOR_FLORALWHITE 0xFFFAF0FF
  101. #define COLOR_FORESTGREEN 0x228B22FF
  102. #define COLOR_FUCHSIA 0xFF00FFFF
  103. #define COLOR_GAINSBORO 0xDCDCDCFF
  104. #define COLOR_GHOSTWHITE 0xF8F8FFFF
  105. #define COLOR_GOLD 0xFFD700FF
  106. #define COLOR_GOLDENROD 0xDAA520FF
  107. #define COLOR_GRADIENTACTIVECAPTION 0xB9D1EAFF
  108. #define COLOR_GRADIENTINACTIVECAPTION 0xD7E4F2FF
  109. #define COLOR_GRAY 0x808080FF
  110. #define COLOR_GRAYTEXT 0x808080FF
  111. #define COLOR_GREEN 0x008000FF
  112. #define COLOR_GREENYELLOW 0xADFF2FFF
  113. #define COLOR_HIGHLIGHT 0x3399FFFF
  114. #define COLOR_HIGHLIGHTTEXT 0xFFFFFFFF
  115. #define COLOR_HONEYDEW 0xF0FFF0FF
  116. #define COLOR_HOTPINK 0xFF69B4FF
  117. #define COLOR_HOTTRACK 0x0066CCFF
  118. #define COLOR_INACTIVEBORDER 0xF4F7FCFF
  119. #define COLOR_INACTIVECAPTION 0xBFCDDBFF
  120. #define COLOR_INACTIVECAPTIONTEXT 0x434E54FF
  121. #define COLOR_INDIANRED 0xCD5C5CFF
  122. #define COLOR_INDIGO 0x4B0082FF
  123. #define COLOR_INFO 0xFFFFE1FF
  124. #define COLOR_INFOTEXT 0x000000FF
  125. #define COLOR_IVORY 0xFFFFF0FF
  126. #define COLOR_KHAKI 0xF0E68CFF
  127. #define COLOR_LAVENDER 0xE6E6FAFF
  128. #define COLOR_LAVENDERBLUSH 0xFFF0F5FF
  129. #define COLOR_LAWNGREEN 0x7CFC00FF
  130. #define COLOR_LEMONCHIFFON 0xFFFACDFF
  131. #define COLOR_LIGHTBLUE 0xADD8E6FF
  132. #define COLOR_LIGHTCORAL 0xF08080FF
  133. #define COLOR_LIGHTCYAN 0xE0FFFFFF
  134. #define COLOR_LIGHTGOLDENRODYELLOW 0xFAFAD2FF
  135. #define COLOR_LIGHTGRAY 0xD3D3D3FF
  136. #define COLOR_LIGHTGREEN 0x90EE90FF
  137. #define COLOR_LIGHTPINK 0xFFB6C1FF
  138. #define COLOR_LIGHTSALMON 0xFFA07AFF
  139. #define COLOR_LIGHTSEAGREEN 0x20B2AAFF
  140. #define COLOR_LIGHTSKYBLUE 0x87CEFAFF
  141. #define COLOR_LIGHTSLATEGRAY 0x778899FF
  142. #define COLOR_LIGHTSTEELBLUE 0xB0C4DEFF
  143. #define COLOR_LIGHTYELLOW 0xFFFFE0FF
  144. #define COLOR_LIME 0x00FF00FF
  145. #define COLOR_LIMEGREEN 0x32CD32FF
  146. #define COLOR_LINEN 0xFAF0E6FF
  147. #define COLOR_MAGENTA 0xFF00FFFF
  148. #define COLOR_MAROON 0x800000FF
  149. #define COLOR_MEDIUMAQUAMARINE 0x66CDAAFF
  150. #define COLOR_MEDIUMBLUE 0x0000CDFF
  151. #define COLOR_MEDIUMORCHID 0xBA55D3FF
  152. #define COLOR_MEDIUMPURPLE 0x9370DBFF
  153. #define COLOR_MEDIUMSEAGREEN 0x3CB371FF
  154. #define COLOR_MEDIUMSLATEBLUE 0x7B68EEFF
  155. #define COLOR_MEDIUMSPRINGGREEN 0x00FA9AFF
  156. #define COLOR_MEDIUMTURQUOISE 0x48D1CCFF
  157. #define COLOR_MEDIUMVIOLETRED 0xC71585FF
  158. #define COLOR_MENU 0xF0F0F0FF
  159. #define COLOR_MENUBAR 0xF0F0F0FF
  160. #define COLOR_MENUHIGHLIGHT 0x3399FFFF
  161. #define COLOR_MENUTEXT 0x000000FF
  162. #define COLOR_MIDNIGHTBLUE 0x191970FF
  163. #define COLOR_MINTCREAM 0xF5FFFAFF
  164. #define COLOR_MISTYROSE 0xFFE4E1FF
  165. #define COLOR_MOCCASIN 0xFFE4B5FF
  166. #define COLOR_NAVAJOWHITE 0xFFDEADFF
  167. #define COLOR_NAVY 0x000080FF
  168. #define COLOR_OLDLACE 0xFDF5E6FF
  169. #define COLOR_OLIVE 0x808000FF
  170. #define COLOR_OLIVEDRAB 0x6B8E23FF
  171. #define COLOR_ORANGE 0xFFA500FF
  172. #define COLOR_ORANGERED 0xFF4500FF
  173. #define COLOR_ORCHID 0xDA70D6FF
  174. #define COLOR_PALEGOLDENROD 0xEEE8AAFF
  175. #define COLOR_PALEGREEN 0x98FB98FF
  176. #define COLOR_PALETURQUOISE 0xAFEEEEFF
  177. #define COLOR_PALEVIOLETRED 0xDB7093FF
  178. #define COLOR_PAPAYAWHIP 0xFFEFD5FF
  179. #define COLOR_PEACHPUFF 0xFFDAB9FF
  180. #define COLOR_PERU 0xCD853FFF
  181. #define COLOR_PINK 0xFFC0CBFF
  182. #define COLOR_PLUM 0xDDA0DDFF
  183. #define COLOR_POWDERBLUE 0xB0E0E6FF
  184. #define COLOR_PURPLE 0x800080FF
  185. #define COLOR_RED 0xFF0000FF
  186. #define COLOR_ROSYBROWN 0xBC8F8FFF
  187. #define COLOR_ROYALBLUE 0x4169E1FF
  188. #define COLOR_SADDLEBROWN 0x8B4513FF
  189. #define COLOR_SALMON 0xFA8072FF
  190. #define COLOR_SANDYBROWN 0xF4A460FF
  191. #define COLOR_SCROLLBAR 0xC8C8C8FF
  192. #define COLOR_SEAGREEN 0x2E8B57FF
  193. #define COLOR_SEASHELL 0xFFF5EEFF
  194. #define COLOR_SIENNA 0xA0522DFF
  195. #define COLOR_SILVER 0xC0C0C0FF
  196. #define COLOR_SKYBLUE 0x87CEEBFF
  197. #define COLOR_SLATEBLUE 0x6A5ACDFF
  198. #define COLOR_SLATEGRAY 0x708090FF
  199. #define COLOR_SNOW 0xFFFAFAFF
  200. #define COLOR_SPRINGGREEN 0x00FF7FFF
  201. #define COLOR_STEELBLUE 0x4682B4FF
  202. #define COLOR_TAN 0xD2B48CFF
  203. #define COLOR_TEAL 0x008080FF
  204. #define COLOR_THISTLE 0xD8BFD8FF
  205. #define COLOR_TOMATO 0xFF6347FF
  206. #define COLOR_TRANSPARENT 0xFFFFFF00
  207. #define COLOR_TURQUOISE 0x40E0D0FF
  208. #define COLOR_VIOLET 0xEE82EEFF
  209. #define COLOR_WHEAT 0xF5DEB3FF
  210. #define COLOR_WHITE 0xFFFFFFFF
  211. #define COLOR_WHITESMOKE 0xF5F5F5FF
  212. #define COLOR_WINDOW 0xFFFFFFFF
  213. #define COLOR_WINDOWFRAME 0x646464FF
  214. #define COLOR_WINDOWTEXT 0x000000FF
  215. #define COLOR_YELLOW 0xFFFF00FF
  216. #define COLOR_YELLOWGREEN 0x9ACD32FF
  217. #define STEALTH_ORANGE 0xFF880000
  218. #define STEALTH_OLIVE 0x66660000
  219. #define STEALTH_GREEN 0x33DD1100
  220. #define STEALTH_PINK 0xFF22EE00
  221. #define STEALTH_BLUE 0x0077BB00
  222.  
  223. //Dialoge
  224. #define DIALOG_TELEPORT 1
  225. #define DIALOG_REGISTER 2
  226. #define DIALOG_LOGIN 3
  227. #define DIALOG_AHELP 4
  228.  
  229. //MySQL
  230. #define db_host "localhost"
  231. #define db_user "root"
  232. #define db_pass ""
  233. #define db_db "anotherlife"
  234.  
  235. //Forwards
  236. forward OnPlayerLogin(playerid);
  237. forward OnPlayerCheck(playerid);
  238. forward OnPlayerRegister(playerid);
  239. forward GlobalTimer();
  240. forward OnHousesLoad();
  241. forward KickEx(playerid);
  242. forward UpdateTime();
  243.  
  244.  
  245. //ENUMS
  246. enum pDataEnum{
  247. bool:pLoggedIn,
  248. pMoney,
  249. pDID,
  250. pALevel,
  251. pBanned
  252. };
  253. new PlayerInfo[MAX_PLAYERS][pDataEnum];
  254.  
  255. enum aDataEnum{
  256. aVehicleSpawned,
  257. aVehicleID
  258. };
  259. new AdminInfo[MAX_PLAYERS][aDataEnum];
  260. new AdminName[][] =
  261. {
  262. "User",
  263. "Supporter",
  264. "Moderator",
  265. "Administrator",
  266. "Server Owner"
  267. };
  268.  
  269. main()
  270. {
  271. print("---------------");
  272. print("by [AnL]OffBeat");
  273. print("---------------");
  274.  
  275. //Integer (Zahlen)
  276. // new zahl = 100;
  277. //Float (Zahlen mit Komma)
  278. // new Float:zahl2 = 100.3;
  279. //String (Text)
  280. // new text[] = "hallo";
  281. //Boolean
  282. // new bool:online = false;
  283.  
  284. }
  285.  
  286. public UpdateTime()
  287. {
  288. new string[128];
  289. new hour, minute, second;
  290. gettime(hour, minute, second);
  291. format(string,sizeof(string),"%02d:%02d",hour, minute);
  292. TextDrawSetString(uhrzeitLabel, string);
  293. for(new i; i<MAX_PLAYERS; i++)
  294. {
  295. TextDrawHideForPlayer(i,uhrzeitLabel);
  296. TextDrawShowForPlayer(i,uhrzeitLabel);
  297. }
  298. return 1;
  299. }
  300.  
  301. public OnGameModeInit()
  302. {
  303. DisableInteriorEnterExits();
  304. //Gebäude laden
  305. for(new i=0; i<sizeof(bInfo); i++)
  306. {
  307. CreatePickup(1239,1,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z],0);
  308. }
  309.  
  310. //TextDrawsUhrzeit
  311. new string[32],hour,minute,second;
  312. gettime(hour, minute, second);
  313. format(string,sizeof(string),"%02d%02d", hour,minute);
  314. uhrzeitLabel = TextDrawCreate(546.000000, 17.000000, string);
  315. TextDrawBackgroundColor(uhrzeitLabel, 255);
  316. TextDrawFont(uhrzeitLabel, 2);
  317. TextDrawLetterSize(uhrzeitLabel, 0.539999, 2.899999);
  318. TextDrawColor(uhrzeitLabel, -1);
  319. TextDrawSetOutline(uhrzeitLabel, 1);
  320. TextDrawSetProportional(uhrzeitLabel, 1);
  321. TextDrawSetSelectable(uhrzeitLabel, 1);
  322. SetTimer("UpdateTime",59999,1);
  323.  
  324. //Häuser laden
  325. new query[128];
  326. format(query, sizeof(query), "SELECT * FROM haus");
  327. mysql_pquery(dbhandle, query, "OnHousesLoad", "");
  328.  
  329. new test;
  330. test = mysql_log();
  331. printf("%e",test);
  332. SetGameModeText("German Reallife by AnL");
  333.  
  334.  
  335.  
  336. //MySQL
  337. dbhandle = mysql_connect(db_host,db_user,db_pass,db_db);
  338. if(mysql_errno(dbhandle) != 0)
  339. {
  340. print("#Warning: Could not connect to MySQL Database!");
  341. print("#Warning: Retrying...");
  342. print("-----------------------------------------------");
  343. dbhandle = mysql_connect(db_host,db_user,db_pass,db_db);
  344. if(mysql_errno(dbhandle) != 0)
  345. {
  346. print("#Warning: Could not connect to MySQL Database!");
  347. print("#Warning: Retrying...");
  348. print("-----------------------------------------------");
  349. dbhandle = mysql_connect(db_host,db_user,db_pass,db_db);
  350. if(mysql_errno(dbhandle) != 0)
  351. {
  352. print("#ERROR: COULD NOT CONNECT TO MYSQL-DATABASE!");
  353. print("-----------------------------------------------");
  354. SendRconCommand("exit");
  355. }
  356. }
  357. }
  358. print("#Connected to MySQL Database.");
  359. print("-----------------------------------------------");
  360.  
  361. //Roundabout Timer
  362. SetTimer("GlobalTimer", 2751, true);
  363.  
  364. }
  365.  
  366. public OnGameModeExit()
  367. {
  368. mysql_close(dbhandle);
  369. return 1;
  370. }
  371.  
  372. public OnPlayerConnect(playerid)
  373. {
  374. new nachricht[256];
  375. format(nachricht,sizeof(nachricht),"Herzlich Willkommen auf Anotherlife! Dir wurde die ID %i zugewiesen.",playerid);
  376. SendClientMessage(playerid, COLOR_ORANGE, nachricht);
  377. TextDrawShowForPlayer(playerid,uhrzeitLabel);
  378.  
  379. //Einlogg-Video
  380. if(PlayerInfo[playerid][pLoggedIn] == false)
  381. {
  382. new name[MAX_PLAYER_NAME],query[256];
  383. GetPlayerName(playerid,name,sizeof(name));
  384. mysql_format(dbhandle,query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
  385. mysql_pquery(dbhandle,query,"OnPlayerCheck","d",playerid);
  386.  
  387. }
  388. return 1;
  389. }
  390.  
  391. public OnPlayerDisconnect(playerid, reason)
  392. {
  393. SaveUserData(playerid);
  394. PlayerInfo[playerid][pLoggedIn] = false;
  395. return 1;
  396. }
  397.  
  398. public OnPlayerSpawn(playerid)
  399. {
  400. SetPlayerPos(playerid, 1359.4250,-807.3359,77.3477);
  401. SetPlayerFacingAngle(playerid, 358.9915);
  402. SetPlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
  403. return 1;
  404. }
  405.  
  406. public OnPlayerDeath(playerid, killerid, reason)
  407. {
  408. return 1;
  409. }
  410.  
  411. public OnVehicleSpawn(vehicleid)
  412. {
  413. return 1;
  414. }
  415.  
  416. public OnVehicleDeath(vehicleid, killerid)
  417. {
  418. return 1;
  419. }
  420.  
  421. public OnPlayerText(playerid, text[])
  422. {
  423. return 1;
  424. }
  425.  
  426. //Befehle
  427. ocmd:exit(playerid,params[])
  428. {
  429. for(new i=0; i<sizeof(bInfo); i++)
  430. {
  431. if(GetPlayerVirtualWorld(playerid)!=i)continue;
  432. if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]))continue;
  433. SetPlayerPos(playerid,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]);
  434. SetPlayerInterior(playerid,0);
  435. SetPlayerVirtualWorld(playerid,0);
  436. return 1;
  437. }
  438. return 1;
  439. }
  440.  
  441.  
  442.  
  443. ocmd:enter(playerid,params[])
  444. {
  445. for(new i=0; i<sizeof(bInfo); i++)
  446. {
  447. if(!IsPlayerInRangeOfPoint(playerid,2,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]))continue;
  448. SetPlayerPos(playerid,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]);
  449. SetPlayerInterior(playerid,bInfo[i][b_interior]);
  450. SetPlayerVirtualWorld(playerid,i);
  451. return 1;
  452. }
  453. return 1;
  454. }
  455.  
  456.  
  457.  
  458. ocmd:ahelp(playerid,params[])
  459. {
  460. new arang;
  461. arang = PlayerInfo[playerid][pALevel];
  462. if(arang < 1) return SendClientMessage(playerid, COLOR_RED, "{FF0000}SERVER: Du bist kein Admin!");
  463. if(arang == 1)
  464. {
  465. ShowPlayerDialog(playerid, DIALOG_AHELP, DIALOG_STYLE_TABLIST_HEADERS, "Administrative Hilfe",
  466. "Befehl\tBeschreibung\n\
  467. /kick\tKickt den Spieler\n\
  468. /teleport\tTeleportmenü",
  469. "OK","");
  470. }
  471. else if(arang == 2)
  472. {
  473. ShowPlayerDialog(playerid, DIALOG_AHELP, DIALOG_STYLE_TABLIST_HEADERS, "Administrative Hilfe",
  474. "Befehl\tBeschreibung\n\
  475. /teleport\tTeleportmenü\n\
  476. /kick\tKickt den Spieler\n\
  477. /ban\tBannt den Spieler",
  478. "OK","");
  479. }
  480. else if(arang == 3)
  481. {
  482. ShowPlayerDialog(playerid, DIALOG_AHELP, DIALOG_STYLE_TABLIST_HEADERS, "Administrative Hilfe",
  483. "Befehl\tBeschreibung\n\
  484. /teleport\tTeleportmenü\n\
  485. /kick\tKickt den Spieler\n\
  486. /ban\tBannt den Spieler\n\
  487. /saveuser\tSpeichert alle Spielerdateien",
  488. "OK","");
  489. }
  490. else if(arang == 4)
  491. {
  492. ShowPlayerDialog(playerid, DIALOG_AHELP, DIALOG_STYLE_TABLIST_HEADERS, "Administrative Hilfe",
  493. "Befehl\tBeschreibung\n\
  494. /kick\tKickt den Spieler\n\
  495. /ban\tBannt den Spieler\n\
  496. /teleport\tTeleportmenü\n\
  497. /restart\tStartet den Server neu\n\
  498. /saveuser\tSpeichert alle Spielerdateien\n\
  499. /makeadmin\tErnnent einen Spieler zum Admin",
  500. "OK","");
  501. }
  502. return 1;
  503. }
  504. ocmd:veh(playerid,params[])
  505. {
  506. if(PlayerInfo[playerid][pALevel] < 4) return SendClientMessage(playerid, COLOR_RED, "{FF0000}SERVER: Du bist kein Admin!");
  507. if(AdminInfo[playerid][aVehicleSpawned] == 1)
  508. {
  509. DestroyVehicle(AdminInfo[playerid][aVehicleID]);
  510. SendClientMessage(playerid, COLOR_RED, "Fahrzeug zerstört");
  511. AdminInfo[playerid][aVehicleSpawned] = 0;
  512. }
  513. else
  514. {
  515. new model,farbe1,farbe2;
  516. if(sscanf(params,"iii",model,farbe1,farbe2))return SendClientMessage(playerid,COLOR_RED,"FEHLER: /veh [model] [farbe1] [farbe2].");
  517. new Float:x,Float:y,Float:z,Float:angle;
  518. GetPlayerPos(playerid,x,y,z);
  519. GetPlayerFacingAngle(playerid,angle);
  520. AdminInfo[playerid][aVehicleSpawned] = 1;
  521. AdminInfo[playerid][aVehicleID] = CreateVehicle(model, x, y, z+2.0, angle, farbe1, farbe2, -1, 1);
  522. SendClientMessage(playerid,COLOR_GREEN,"Fahrzeug erstellt");
  523. }
  524. return 1;
  525. }
  526. ocmd:kick(playerid,params[])
  527. {
  528. if(PlayerInfo[playerid][pALevel] < 1) return SendClientMessage(playerid, COLOR_RED, "SERVER: Du bist kein Admin!");
  529. new pID,grund[256];
  530. if(sscanf(params,"us[256]",pID,grund))return SendClientMessage(playerid,COLOR_RED,"FEHLER: /kick ID GRUND.");
  531. if(!IsPlayerConnected(pID) || !PlayerInfo[pID][pLoggedIn]) return SendClientMessage(playerid, COLOR_RED, "Der Spieler ist nicht eingeloggt!");
  532. if((pID == playerid) && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "Du kannst dich nicht selbst kicken");
  533. new string[256],name[MAX_PLAYER_NAME],uname[MAX_PLAYER_NAME];
  534. GetPlayerName(playerid,name,sizeof(name));
  535. GetPlayerName(pID, uname,sizeof(uname));
  536. format(string,sizeof(string),"AdminCMD: %s %s hat %s gekickt! (Grund: %s)", AdminName[PlayerInfo[playerid][pALevel]],name,uname,grund);
  537. SendClientMessageToAll(COLOR_BLUE,string);
  538. SetTimerEx("KickEx", 500,0,"u",pID);
  539. return 1;
  540. }
  541. ocmd:ban(playerid,params[])
  542. {
  543. if(PlayerInfo[playerid][pALevel] < 2) return SendClientMessage(playerid, COLOR_RED, "SERVER: Du bist kein Admin!");
  544. new pID,grund[256];
  545. if(sscanf(params,"us[256]",pID,grund))return SendClientMessage(playerid,COLOR_RED,"FEHLER: /ban ID GRUND.");
  546. if(!IsPlayerConnected(pID) || !PlayerInfo[pID][pLoggedIn]) return SendClientMessage(playerid, COLOR_RED, "Der Spieler ist nicht eingeloggt!");
  547. if((pID == playerid) && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "Du kannst dich nicht selbst bannen");
  548. new string[256],name[MAX_PLAYER_NAME],uname[MAX_PLAYER_NAME];
  549. GetPlayerName(playerid,name,sizeof(name));
  550. GetPlayerName(pID, uname,sizeof(uname));
  551. format(string,sizeof(string),"AdminCMD: %s %s hat %s gebannt! (Grund: %s)", AdminName[PlayerInfo[playerid][pALevel]],name,uname,grund);
  552. SendClientMessage(pID,COLOR_BLUE, string);
  553. SendClientMessageToAll(COLOR_BLUE,string);
  554. PlayerInfo[pID][pBanned] = 1;
  555. SetTimerEx("KickEx", 500,0,"u",pID);
  556. return 1;
  557. }
  558. ocmd:saveuser(playerid,params[])
  559. {
  560. if(PlayerInfo[playerid][pALevel] < 3) return SendClientMessage(playerid, COLOR_RED, "SERVER: Du bist kein Admin!");
  561. for(new i; i < MAX_PLAYERS; i++)
  562. {
  563. SaveUserData(i);
  564. }
  565. new string[256],name[MAX_PLAYER_NAME];
  566. GetPlayerName(playerid,name,sizeof(name));
  567. format(string,sizeof(string),"Admin %s hat alle Userdaten gespeichert!",name);
  568. SendAdminMessage(COLOR_RED,string,3);
  569. return 1;
  570. }
  571. ocmd:teleport(playerid,params[])
  572. {
  573. if(PlayerInfo[playerid][pALevel] < 1) return SendClientMessage(playerid, COLOR_RED, "SERVER: Du bist kein Admin!");
  574. ShowPlayerDialog(playerid,DIALOG_TELEPORT,DIALOG_STYLE_LIST,"TELEPORT","Noobspawn\nBlueberry-Farm","Bestätigen","Abbrechen");
  575. return 1;
  576. }
  577. ocmd:makeadmin(playerid,params[])
  578. {
  579. if(PlayerInfo[playerid][pALevel] < 4 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "SERVER: Du bist kein Admin!");
  580. new pID,rang;
  581. if(sscanf(params,"ui",pID,rang))return SendClientMessage(playerid,COLOR_RED,"FEHLER: /makeadmin ID RANG [0-4].");
  582. if(!IsPlayerConnected(pID) || !PlayerInfo[pID][pLoggedIn]) return SendClientMessage(playerid, COLOR_RED, "Der Spieler ist nicht eingeloggt!");
  583. if((pID == playerid) && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "Du kannst deinen Adminrang nicht ändern!");
  584. if(rang < 0 || rang > 5) return SendClientMessage(playerid, COLOR_RED, "SERVER: Dies ist kein gültiger Adminrang!");
  585. new name[MAX_PLAYER_NAME], uname[MAX_PLAYER_NAME],string[144];
  586. GetPlayerName(playerid,name,sizeof(name));
  587. GetPlayerName(pID,uname,sizeof(uname));
  588. PlayerInfo[pID][pALevel] = rang;
  589. format(string,sizeof(string),"Du hast %s (ID: %d zum Adminrang %s gemacht!", uname, pID,AdminName[rang]);
  590. SendClientMessage(playerid, COLOR_RED, string);
  591. format(string,sizeof(string),"Du wurdest von %s (ID: %d zum Adminrang %s gemacht!", name, playerid, AdminName[rang]);
  592. SendClientMessage(pID, COLOR_RED, string);
  593. return 1;
  594. }
  595. ocmd:pn(playerid,params[])
  596. {
  597. new pID,text[128];
  598. if(sscanf(params,"us[128]",pID,text))return SendClientMessage(playerid,COLOR_RED,"FEHLER: /pn ID [TEXT].");
  599. SendClientMessage(pID,COLOR_YELLOW,text);
  600. return 1;
  601. }
  602. ocmd:restart(playerid,params[])
  603. {
  604. if(PlayerInfo[playerid][pALevel] < 4 && !IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "SERVER: Du bist kein Admin!");
  605. for(new i; i < MAX_PLAYERS; i++)
  606. {
  607. SaveUserData(i);
  608. }
  609. SendRconCommand("gmx");
  610. return 1;
  611. }
  612. ocmd:test(playerid,params[])
  613. {
  614. SendClientMessage(playerid,COLOR_RED,"Du hast /test eingegeben!");
  615. return 1;
  616. }
  617.  
  618. public OnPlayerCommandText(playerid, cmdtext[])
  619. {
  620.  
  621. // /restart <- Befehl ohne Parameter
  622. // /pn 1 text <-Befehl mit Parameter
  623. return 0;
  624. }
  625.  
  626. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  627. {
  628. return 1;
  629. }
  630.  
  631. public OnPlayerExitVehicle(playerid, vehicleid)
  632. {
  633. return 1;
  634. }
  635.  
  636. public OnPlayerStateChange(playerid, newstate, oldstate)
  637. {
  638. return 1;
  639. }
  640.  
  641. public OnPlayerEnterCheckpoint(playerid)
  642. {
  643. return 1;
  644. }
  645.  
  646. public OnPlayerLeaveCheckpoint(playerid)
  647. {
  648. return 1;
  649. }
  650.  
  651. public OnPlayerEnterRaceCheckpoint(playerid)
  652. {
  653. return 1;
  654. }
  655.  
  656. public OnPlayerLeaveRaceCheckpoint(playerid)
  657. {
  658. return 1;
  659. }
  660.  
  661. public OnRconCommand(cmd[])
  662. {
  663. return 1;
  664. }
  665.  
  666. public OnPlayerRequestSpawn(playerid)
  667. {
  668. return 1;
  669. }
  670.  
  671. public OnObjectMoved(objectid)
  672. {
  673. return 1;
  674. }
  675.  
  676. public OnPlayerObjectMoved(playerid, objectid)
  677. {
  678. return 1;
  679. }
  680.  
  681. public OnPlayerPickUpPickup(playerid, pickupid)
  682. {
  683. return 1;
  684. }
  685.  
  686. public OnVehicleMod(playerid, vehicleid, componentid)
  687. {
  688. return 1;
  689. }
  690.  
  691. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  692. {
  693. return 1;
  694. }
  695.  
  696. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  697. {
  698. return 1;
  699. }
  700.  
  701. public OnPlayerSelectedMenuRow(playerid, row)
  702. {
  703. return 1;
  704. }
  705.  
  706. public OnPlayerExitedMenu(playerid)
  707. {
  708. return 1;
  709. }
  710.  
  711. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  712. {
  713. return 1;
  714. }
  715.  
  716. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  717. {
  718. if(newkeys & KEY_YES)
  719. {
  720. //Enterbefehl
  721. ocmd_enter(playerid,"");
  722. return 1;
  723. }
  724. if(newkeys & KEY_NO)
  725. {
  726. //Exitbefeh
  727. ocmd_exit(playerid,"");
  728. return 1;
  729. }
  730. return 1;
  731. }
  732.  
  733. public OnRconLoginAttempt(ip[], password[], success)
  734. {
  735. return 1;
  736. }
  737.  
  738. public OnPlayerUpdate(playerid)
  739. {
  740. return 1;
  741. }
  742.  
  743. public OnPlayerStreamIn(playerid, forplayerid)
  744. {
  745. return 1;
  746. }
  747.  
  748. public OnPlayerStreamOut(playerid, forplayerid)
  749. {
  750. return 1;
  751. }
  752.  
  753. public OnVehicleStreamIn(vehicleid, forplayerid)
  754. {
  755. return 1;
  756. }
  757.  
  758. public OnVehicleStreamOut(vehicleid, forplayerid)
  759. {
  760. return 1;
  761. }
  762.  
  763. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  764. {
  765. if(dialogid==DIALOG_REGISTER)
  766. {
  767. if(response)
  768. {
  769. new name[MAX_PLAYER_NAME],query[1024];
  770. GetPlayerName(playerid,name,sizeof(name));
  771. if(strlen(inputtext)>3)
  772. {
  773. mysql_format(dbhandle,query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s',MD5('%s'))",name,inputtext);
  774. mysql_pquery(dbhandle,query,"OnPlayerRegister","d",playerid);
  775. }
  776. else
  777. {
  778. //kleiner als 4 Zeichen
  779. SendClientMessage(playerid,COLOR_RED,"Dein Passwort muss mindestens vier Zeichen lang sein!");
  780. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Gib hier dein gewünschtes Passwort an:","Bestätigen","Abbrechen");
  781. }
  782. }
  783. else return Kick(playerid);
  784. }
  785. if(dialogid==DIALOG_LOGIN)
  786. {
  787. if(response)
  788. {
  789. if(strlen(inputtext) < 3) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Anmeldung", "Bitte logge Dich ein:\n{FF0000}Mindestens 3 Zeichen!", "Ok", "Abbrechen");
  790. new query[1024],name[MAX_PLAYER_NAME];
  791. GetPlayerName(playerid,name,sizeof(name));
  792. mysql_format(dbhandle, query, sizeof(query), "SELECT * FROM user WHERE username = '%e' AND password = MD5('%e')", name, inputtext);
  793. mysql_pquery(dbhandle, query, "OnPlayerLogin", "d", playerid);
  794. }
  795. else return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gib hier dein Passwort an:","Bestätigen","Abbrechen");
  796. }
  797. if(dialogid==DIALOG_TELEPORT)
  798. {
  799. if(response)
  800. {
  801. if(listitem==0)
  802. {
  803. //SPAWN
  804. SetPlayerPos(playerid,1129.0673,-1487.5905,22.7690);
  805. SendClientMessage(playerid,COLOR_GREEN,"Du befindest dich nun am Noobspawn!");
  806. }
  807. if(listitem==1)
  808. {
  809. //Farm
  810. SetPlayerPos(playerid,0.0,0.0,3.0);
  811. SendClientMessage(playerid,COLOR_GREEN,"Du befindest dich nun an der Blueberry-Farm!");
  812. }
  813. }
  814. else
  815. {
  816. SendClientMessage(playerid,COLOR_RED,"Vorgang abgebrochen!");
  817. }
  818. return 1;
  819. }
  820. return 1;
  821. }
  822.  
  823. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  824. {
  825. return 1;
  826. }
  827. public OnPlayerCheck(playerid)
  828. {
  829. new rows;
  830. cache_get_row_count(rows);
  831. if(rows==0)
  832. {
  833. //Registrierung
  834. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrierung","Gib hier dein gewünschtes Passwort an:","Bestätigen","Abbrechen");
  835. return 1;
  836. }
  837. else
  838. {
  839. //Login
  840. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gib hier dein Passwort an:","Bestätigen","Abbrechen");
  841. return 1;
  842. }
  843. }
  844.  
  845.  
  846.  
  847. public OnPlayerLogin(playerid)
  848. {
  849. new rows;
  850. cache_get_row_count(rows);
  851. if(rows == 0)
  852. {
  853. //Der Spieler hat ein falsches Passwort eingegeben
  854. return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Anmeldung", "Bitte logge Dich ein:\n{FF0000}Falsches Passwort!", "Ok", "Abbrechen");
  855. }
  856. else
  857. {
  858. cache_get_value_name_int(0, "id", PlayerInfo[playerid][pDID]);
  859. cache_get_value_name_int(0, "money", PlayerInfo[playerid][pMoney]);
  860. cache_get_value_name_int(0, "alevel", PlayerInfo[playerid][pALevel]);
  861. cache_get_value_name_int(0, "banned", PlayerInfo[playerid][pBanned]);
  862. PlayerInfo[playerid][pLoggedIn] = true;
  863. if(PlayerInfo[playerid][pBanned] == 1)
  864. {
  865. SendClientMessage(playerid,COLOR_RED, "Du bist gebannt!");
  866. SetTimerEx("KickEx", 500,0,"u",playerid);
  867. }
  868. else return SendClientMessage(playerid, 0x00FF00FF, "[Konto] Eingeloggt.");
  869. SetPlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
  870. SpawnPlayer(playerid);
  871. return 1;
  872. }
  873. }
  874. public GlobalTimer()
  875. {
  876. for(new i = 0; i<MAX_PLAYERS; i++)
  877. {
  878. if(!IsPlayerConnected(i)) return 1;
  879. if(PlayerInfo[i][pLoggedIn] == false) continue;
  880. SetPlayerMoney(i, PlayerInfo[i][pMoney]);
  881. }
  882. return 1;
  883. }
  884.  
  885. stock GivePMoney(playerid, wert)
  886. {
  887. PlayerInfo[playerid][pMoney] += wert;
  888. SetPlayerMoney[playerid, PlayerInfo[playerid][pMoney]);
  889. return 1;
  890. }
  891. stock GetPMoney(playerid)
  892. {
  893. return PlayerInfo[playerid][pMoney];
  894. }
  895. stock SaveUserData(playerid)
  896. {
  897. if(!PlayerInfo[playerid][pLoggedIn] && !IsPlayerConnected(playerid)) return 1;
  898. new query[1024];
  899. mysql_format(dbhandle, query, sizeof(query), "UPDATE user SET money = '%d', alevel = '%d', banned = '%d' WHERE id = '%d'",
  900. PlayerInfo[playerid][pMoney],
  901. PlayerInfo[playerid][pALevel],
  902. PlayerInfo[playerid][pBanned],
  903. PlayerInfo[playerid][pDID]);
  904. mysql_pquery(dbhandle, query);
  905. return 1;
  906. }
  907. stock SetPlayerMoney(playerid, money)
  908. {
  909. ResetPlayerMoney(playerid);
  910. GivePlayerMoney(playerid, money);
  911. }
  912. public OnPlayerRegister(playerid)
  913. {
  914. //Der Spieler wurde in die Datenbank eingetragen, es wird die id ausgelesen
  915. PlayerInfo[playerid][pDID] = cache_insert_id();
  916. PlayerInfo[playerid][pLoggedIn] = true;
  917. SendClientMessage(playerid, 0x00FF00FF, "[Konto] Registration erfolgreich.");
  918. return 1;
  919. }
  920. stock SendAdminMessage(color,string[],arang)
  921. {
  922. for(new i; i < MAX_PLAYERS; i++)
  923. {
  924. if(!IsPlayerConnected(i) && !PlayerInfo[i][pLoggedIn]) continue;
  925. if(PlayerInfo[i][pALevel] < arang) continue;
  926. SendClientMessage(i,color,string);
  927. }
  928. }
  929. stock GetPlayerALevelName(playerid, string[20])
  930. {
  931. if(PlayerInfo[playerid][pALevel] == 1)
  932. {
  933. format(string, sizeof(string),"Supporter");
  934. return 1;
  935. }
  936. else if(PlayerInfo[playerid][pALevel] == 2)
  937. {
  938. format(string, sizeof(string),"Moderator");
  939. return 1;
  940. }
  941. else if(PlayerInfo[playerid][pALevel] == 3)
  942. {
  943. format(string, sizeof(string),"Administrator");
  944. return 1;
  945. }
  946. else if(PlayerInfo[playerid][pALevel] == 4)
  947. {
  948. format(string, sizeof(string),"Server Owner");
  949. return 1;
  950. }
  951. return 0;
  952. }
  953. public KickEx(playerid) return Kick(playerid);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement