Advertisement
Guest User

Untitled

a guest
Oct 24th, 2013
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.09 KB | None | 0 0
  1. #include <a_samp>
  2. #include <a_mysql>
  3. #include <sscanf2>
  4. #include <streamer>
  5. #include <mSelection>
  6.  
  7.  
  8. #define SERVERNAME "German Neverland Roleplay"
  9. #define HOSTNAME "German Neverland Roleplay 0.1b"
  10. #define SERVERVERSION "0.1b"
  11. #define MAPMODE "San Andreas"
  12. #define CREATER "Makaveli"
  13. #define SERVERTAG "nRP"
  14. #define SERVERFARBEHEX 0x9BFF00FF
  15. #define SERVERFARBE "{9BFF00}"
  16.  
  17. #define SQLHost "127.0.0.1"
  18. #define SQLPassword "Fehlercode001"
  19. #define SQLDatabase "nrp"
  20. #define SQLUser "Makaveli"
  21.  
  22. #define ROT 0xFF0000FF
  23. #define DUNKELROT 0x8B0000FF
  24. #define NEONROT 0xFF0038FF
  25. #define MEDICROT 0xFF0E00FF
  26. #define ADUTYROT 0xA50000FF
  27. #define HELLBLAU 0x006CFFFF
  28. #define DUNKELBLAU 0x000090FF
  29. #define SAPDBLAU 0x0073FFFF
  30. #define FBIBLAU 0x0000DBFF
  31. #define ADUTY 0x7FE500FF
  32. #define HELLGRUEN 0x05FF00FF
  33. #define DUNKELGRUEN 0x007A00FF
  34. #define GELB 0xFFFF00FF
  35. #define GRAU 0xAAAAAAFF
  36. #define WEISS 0xFFFFFFFF
  37. #define FALSCHERCMD 0x6E6E6EFF
  38.  
  39. #undef MAX_PLAYERS
  40. #define MAX_PLAYERS 20
  41. #define MAX_PASSWORD_LENGTH 48
  42. #define MIN_PASSWORD_LENGTH 6
  43.  
  44. enum
  45. {
  46. DIALOG_REGELN,
  47. DIALOG_REGISTER,
  48. DIALOG_REGISTER2,
  49. DIALOG_REGISTER3,
  50. DIALOG_REGISTER4,
  51. DIALOG_LOGIN
  52. }
  53.  
  54. enum
  55. {
  56. NOOB_SKIN_MENU
  57. }
  58.  
  59. enum PlayerAccount
  60. {
  61. pName[MAX_PLAYER_NAME],
  62. pPasswort[MAX_PASSWORD_LENGTH],
  63. pIP,
  64. pGeschlecht,
  65. pGeburtsdatum,
  66. pSkin,
  67. pCash,
  68. pLevel,
  69. pAdminlevel,
  70. pJahreAlt,
  71. Float:pHealth,
  72. Float:pLastx,
  73. Float:pLasty,
  74. Float:pLastz,
  75. Float:pAngle,
  76. pPerso,
  77. pArbeitserlaubnis,
  78. bool:pAE_beantrag,
  79. pStartkapital,
  80. pAngemeldet,
  81. pJob,
  82. pFraktion,
  83. pFrakRang,
  84. pLeader,
  85. pGanja,
  86. pPaper,
  87. pFilter,
  88. pMeth,
  89. pCocain,
  90. pLSD
  91.  
  92. }
  93.  
  94. new sInfo[MAX_PLAYERS][PlayerAccount];
  95. new SQLconnection;
  96.  
  97. forward AccountCheck(playerid);
  98. forward Kicken(playerid);
  99.  
  100. main()
  101. {
  102.  
  103. }
  104.  
  105. public OnGameModeInit()
  106. {
  107. mysql_log(LOG_DEBUG,LOG_TYPE_TEXT);
  108. SendRconCommand("hostname "#HOSTNAME);
  109. SendRconCommand("gamemodetext Roleplay");
  110. SendRconCommand("mapname "#MAPMODE);
  111. SQLconnection = mysql_connect("127.0.0.1", SQLUser, SQLDatabase, SQLPassword);
  112. if(mysql_errno(SQLconnection) == 0)
  113. {
  114. printf(#SERVERTAG": Verbindung zur Datenbank war erfolgreich.");
  115. }
  116. else
  117. {
  118. printf(#SERVERTAG": Es konnte keine Verbindung zur Datenbank hergestellt werden.");
  119. printf("Vorgang wird wiederholt .....");
  120. mysql_reconnect(SQLconnection);
  121. if(mysql_errno(SQLconnection) == 0)
  122. {
  123. printf(#SERVERTAG": Verbindung zur Datenbank war nun erfolgreich.");
  124. }
  125. else
  126. {
  127. printf(#SERVERTAG": Es konnte keine Verbindung zur Datenbank hergestellt werden.");
  128. printf(#SERVERTAG": Server wird runtergefahren.");
  129. SendRconCommand("exit");
  130. }
  131. }
  132. CreateTables();
  133. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  134. return 1;
  135. }
  136.  
  137. public OnGameModeExit()
  138. {
  139. return 1;
  140. }
  141.  
  142. public OnPlayerRequestClass(playerid, classid)
  143. {
  144. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  145. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  146. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  147. return 1;
  148. }
  149.  
  150. public OnPlayerConnect(playerid)
  151. {
  152. new query[128], connectingstring[128];
  153. format(query, sizeof query, "SELECT Id FROM "#SERVERTAG"_accounts WHERE pName = '%s'", GetName(playerid));
  154. mysql_function_query(SQLconnection, query, true, "AccountCheck", "i", playerid);
  155. format(connectingstring, 128, "[Verbindung] %s stellt die Verbing zu "#SERVERNAME" her.", GetName(playerid));
  156. SendAdminMessage(GELB, connectingstring);
  157. SetPlayerColor(playerid, GRAU);
  158. return 1;
  159. }
  160.  
  161. public OnPlayerDisconnect(playerid, reason)
  162. {
  163. return 1;
  164. }
  165.  
  166. public OnPlayerSpawn(playerid)
  167. {
  168. return 1;
  169. }
  170.  
  171. public OnPlayerDeath(playerid, killerid, reason)
  172. {
  173. return 1;
  174. }
  175.  
  176. public OnVehicleSpawn(vehicleid)
  177. {
  178. return 1;
  179. }
  180.  
  181. public OnVehicleDeath(vehicleid, killerid)
  182. {
  183. return 1;
  184. }
  185.  
  186. public OnPlayerText(playerid, text[])
  187. {
  188. return 1;
  189. }
  190.  
  191. public OnPlayerCommandText(playerid, cmdtext[])
  192. {
  193. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  194. {
  195. // Do something here
  196. return 1;
  197. }
  198. return 0;
  199. }
  200.  
  201. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  202. {
  203. return 1;
  204. }
  205.  
  206. public OnPlayerExitVehicle(playerid, vehicleid)
  207. {
  208. return 1;
  209. }
  210.  
  211. public OnPlayerStateChange(playerid, newstate, oldstate)
  212. {
  213. return 1;
  214. }
  215.  
  216. public OnPlayerEnterCheckpoint(playerid)
  217. {
  218. return 1;
  219. }
  220.  
  221. public OnPlayerLeaveCheckpoint(playerid)
  222. {
  223. return 1;
  224. }
  225.  
  226. public Kicken(playerid) return Kick(playerid);
  227.  
  228. public OnPlayerEnterRaceCheckpoint(playerid)
  229. {
  230. return 1;
  231. }
  232.  
  233. public OnPlayerLeaveRaceCheckpoint(playerid)
  234. {
  235. return 1;
  236. }
  237.  
  238. public OnRconCommand(cmd[])
  239. {
  240. return 1;
  241. }
  242.  
  243. public OnPlayerRequestSpawn(playerid)
  244. {
  245. return 1;
  246. }
  247.  
  248. public OnObjectMoved(objectid)
  249. {
  250. return 1;
  251. }
  252.  
  253. public OnPlayerObjectMoved(playerid, objectid)
  254. {
  255. return 1;
  256. }
  257.  
  258. public OnPlayerPickUpPickup(playerid, pickupid)
  259. {
  260. return 1;
  261. }
  262.  
  263. public OnVehicleMod(playerid, vehicleid, componentid)
  264. {
  265. return 1;
  266. }
  267.  
  268. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  269. {
  270. return 1;
  271. }
  272.  
  273. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  274. {
  275. return 1;
  276. }
  277.  
  278. public OnPlayerSelectedMenuRow(playerid, row)
  279. {
  280. return 1;
  281. }
  282.  
  283. public OnPlayerExitedMenu(playerid)
  284. {
  285. return 1;
  286. }
  287.  
  288. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  289. {
  290. return 1;
  291. }
  292.  
  293. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  294. {
  295. return 1;
  296. }
  297.  
  298. public OnRconLoginAttempt(ip[], password[], success)
  299. {
  300. return 1;
  301. }
  302.  
  303. public OnPlayerUpdate(playerid)
  304. {
  305. return 1;
  306. }
  307.  
  308. public OnPlayerStreamIn(playerid, forplayerid)
  309. {
  310. return 1;
  311. }
  312.  
  313. public OnPlayerStreamOut(playerid, forplayerid)
  314. {
  315. return 1;
  316. }
  317.  
  318. public OnVehicleStreamIn(vehicleid, forplayerid)
  319. {
  320. return 1;
  321. }
  322.  
  323. public OnVehicleStreamOut(vehicleid, forplayerid)
  324. {
  325. return 1;
  326. }
  327.  
  328. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  329. {
  330. switch(dialogid)
  331. {
  332. case DIALOG_REGELN:
  333. {
  334. if(response == 0)
  335. {
  336. SendClientMessage(playerid, GRAU, "Tschüss");
  337. SetTimerEx("Kicken", 2000, 0, "i", playerid);
  338. }
  339. else
  340. {
  341. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, #SERVERFARBE#SERVERNAME"{FFFFFF}: Registration","Gut machen wir nun weiter.\nWähle ein sicheres Passwort, dieses muss zwischen 6 und 48 Zeichen liegen.","Weiter","Abbrechen");
  342. return 1;
  343. }
  344. }
  345. case DIALOG_REGISTER:
  346. {
  347. if(response == 0)
  348. {
  349. SendClientMessage(playerid, GRAU, "Tschüss");
  350. SetTimerEx("Kicken", 2000, 0, "i", playerid);
  351. }
  352. if(response == 1)
  353. {
  354.  
  355. if(strlen(inputtext) > MAX_PASSWORD_LENGTH)
  356. {
  357. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, #SERVERFARBE#SERVERNAME"{FFFFFF}: Registration","Das Passwort ist zu lang.\nEs darf nur maximal 48 Zeichen lang sein, versuche ein neues.","Weiter","Abbrechen");
  358. }
  359. else if(strlen(inputtext) < MIN_PASSWORD_LENGTH)
  360. {
  361. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, #SERVERFARBE#SERVERNAME"{FFFFFF}: Registration","Das Passwort ist zu kurz.\nEs muss mindestens 6 Zeichen lang sein, versuche ein neues.","Weiter","Abbrechen");
  362. }
  363. else if(strlen(inputtext) == 0)
  364. {
  365. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, #SERVERFARBE#SERVERNAME"{FFFFFF}: Registration","Du musst schon etwas eingeben ...\nWähle ein Passwort, es muss zwischen 6 und 48 Zeichen lang sein","Weiter","Abbrechen");
  366. }
  367. else
  368. {
  369. new password[MAX_PASSWORD_LENGTH];
  370. mysql_escape_string(inputtext, password, SQLconnection);
  371. ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST,#SERVERFARBE#SERVERNAME"{FFFFFF}: Wähle dein Geschlecht",#SERVERFARBE"Bist du männlich oder weiblich?{FFFFFF}\nMännlich\nWeiblich","Weiter", "Abbrechen");
  372. sInfo[playerid][pPasswort]=password;
  373. }
  374. }
  375. }
  376. case DIALOG_REGISTER2:
  377. {
  378. if(response == 0)
  379. {
  380. SendClientMessage(playerid, GRAU, "Tschüss");
  381. SetTimerEx("Kicken", 2000, 0, "i", playerid);
  382. }
  383. else
  384. {
  385. new string[256];
  386. if(listitem == 0)
  387. {
  388. ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST,#SERVERFARBE#SERVERNAME"{FFFFFF}: Wähle dein Geschlecht",#SERVERFARBE"Bist du männlich oder weiblich?{FFFFFF}\nMännlich\nWeiblich","Weiter", "Abbrechen");
  389. }
  390. if(listitem == 1)
  391. {
  392. sInfo[playerid][pGeschlecht] = 1;
  393. format(string, sizeof string,"Alles klar %s, du bist also männlich.\nNun kommen wir zu deiner Alterseingabe.\nGib jetzt dein Geburtsdatum in diesem Format an:\n 05.05.1993",GetName(playerid));
  394. ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?",string,"Weiter","Abbrechen");
  395. }
  396. if(listitem == 2)
  397. {
  398. sInfo[playerid][pGeschlecht] = 2;
  399. format(string, sizeof string,"Alles klar %s, du bist also weiblich.\nNun kommen wir zu deiner Alterseingabe.\nGib jetzt dein Geburtsdatum in diesem Format an:\n 05.05.1993",GetName(playerid));
  400. ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?",string,"Weiter","Abbrechen");
  401. }
  402. }
  403. }
  404. case DIALOG_REGISTER3:
  405. {
  406. new year, month, day;
  407. new hour, minute, second;
  408. new DateInfo[3][20], string[256];
  409. getdate(year, month, day);
  410. gettime(hour, minute, second);
  411. split(inputtext, DateInfo, '.');
  412. if(response == 0)
  413. {
  414. SendClientMessage(playerid, GRAU, "Tschüss");
  415. SetTimerEx("Kicken", 2000, 0, "i", playerid);
  416. }
  417. else
  418. {
  419. if(strlen(inputtext) > 10)
  420. {
  421. ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?","Gib bitte dein richtiges Alter ein.\nIn diesem Format: 05.05.1993","Weiter","Abbrechen");
  422. }
  423. if(!IsValidDate(strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2])))
  424. {
  425. ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?","Gib bitte dein richtiges Alter ein.\nIn diesem Format: 05.05.1993","Weiter","Abbrechen");
  426. }
  427. if(year - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= year)
  428. {
  429. ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?","Gib bitte dein richtiges Alter ein.\nIn diesem Format: 05.05.1993","Weiter","Abbrechen");
  430. }
  431. new check = year - strval(DateInfo[2]);
  432. if(check == year)
  433. {
  434. ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?","Gib bitte dein richtiges Alter ein.\nIn diesem Format: 05.05.1993","Weiter","Abbrechen");
  435. }
  436. if(strval(DateInfo[1]) > month)
  437. {
  438. check -= 1;
  439. }
  440. else if(strval(DateInfo[1]) == month && strval(DateInfo[0]) > day)
  441. {
  442. check -= 1;
  443. }
  444. sInfo[playerid][pJahreAlt] = mktime(hour,minute,second,strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]));
  445. if(AgeOfPlayer(playerid) < 14 && AgeOfPlayer(playerid) > 50)
  446. {
  447. ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, #SERVERFARBE#SERVERNAME"{FFFFFF}: Wie alt bist du ?","Gib bitte dein richtiges Alter ein.\nIn diesem Format: 05.05.1993","Weiter","Abbrechen");
  448. }
  449. format(string, sizeof string, "* Du bist also %i Jahre alt.",AgeOfPlayer(playerid));
  450. SendClientMessage(playerid, GELB, string);
  451. ShowPlayerDialog(playerid, DIALOG_REGISTER4, DIALOG_STYLE_MSGBOX, #SERVERFARBE#SERVERNAME"{FFFFFF}: Skinauswahl","Bis hierhin hat alles geklappt.Nun gehen wir weiter zur Skinauswahl.","Weiter","Abbrechen");
  452. }
  453. }
  454. case DIALOG_REGISTER4:
  455. {
  456. if(response == 0)
  457. {
  458. SendClientMessage(playerid, GRAU, "Tschüss");
  459. SetTimerEx("Kicken", 2000, 0, "i", playerid);
  460. }
  461. else
  462. {
  463. new newbieskins[14];
  464. newbieskins[0] = 2;
  465. newbieskins[1] = 6;
  466. newbieskins[2] = 12;
  467. newbieskins[3] = 19;
  468. newbieskins[4] = 21;
  469. newbieskins[5] = 22;
  470. newbieskins[6] = 26;
  471. newbieskins[7] = 29;
  472. newbieskins[8] = 40;
  473. newbieskins[9] = 56;
  474. newbieskins[10] = 59;
  475. newbieskins[11] = 72;
  476. newbieskins[12] = 101;
  477. ShowModelSelectionMenuEx(playerid, newbieskins, 13, "Skinauswahl", NOOB_SKIN_MENU, 16.0, 0.0, 0.0);
  478. return 1;
  479. }
  480. }
  481.  
  482. }
  483. return 1;
  484. }
  485.  
  486. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  487. {
  488. return 1;
  489. }
  490.  
  491. public AccountCheck(playerid)
  492. {
  493. new rows, fields, string[256];
  494. cache_get_data(rows, fields, SQLconnection);
  495. if(rows==1)
  496. {
  497. format(string, sizeof string,"{FFFFFF}Willkommen zurück "#SERVERFARBE"%s.{FFFFFF}\nDein Spieleraccount wurde gefunden, du kannst nun dein Passwort eingeben.",GetName(playerid));
  498. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,#SERVERFARBE#SERVERNAME"{FFFFFF}: Login", string, "Login", "Abbrechen");
  499. }
  500. else
  501. {
  502. format(string, sizeof string,"{FFFFFF}Um auf unseren Server spielen zu dürfen musst du diese Regeln akzeptieren.\n\n1.)Der Server haftet nicht für Beleidigungen, Cybermobbing oder Rassismus.\n2.)Ich bestätige hiermit, dass ich mindestens 16 Jahre alt bin.\n\n"#SERVERFARBE#SERVERNAME);
  503. ShowPlayerDialog(playerid, DIALOG_REGELN, DIALOG_STYLE_MSGBOX,#SERVERFARBE#SERVERNAME"{FFFFFF}: Regeln", string, "Weiter","Abbrechen");
  504. }
  505. return 1;
  506. }
  507.  
  508. public OnPlayerModelSelectionEx(playerid, response, extraid, modelid)
  509. {
  510. switch(extraid)
  511. {
  512. case NOOB_SKIN_MENU:
  513. {
  514. if(response == 0)
  515. {
  516. SendClientMessage(playerid, GRAU, "Tschüss");
  517. SetTimerEx("Kicken", 2000, 0, "i", playerid);
  518. }
  519. else
  520. {
  521. //SendClientMessage(playerid, GELB, "* Die Registration ist abgeschlossen.");
  522. //SendClientMessage(playerid, GELB, "* Viel Spaß auf "#SERVERNAME".");
  523. sInfo[playerid][pSkin] = modelid;
  524. CreateAccount(playerid);
  525. SpawnPlayer(playerid);
  526. SetPlayerSkin(playerid, modelid);
  527.  
  528. }
  529. }
  530. }
  531. return 1;
  532. }
  533.  
  534. public OnQueryError(errorid, error[], callback[], query[], connectionHandle)
  535. {
  536. printf("Errorid %d",errorid);
  537. print(error);
  538. print(callback);
  539. print(query);
  540. return 1;
  541. }
  542.  
  543. stock CreateAccount(playerid)
  544. {
  545. new query[256];
  546. format(query, sizeof query,"INSERT INTO "#SERVERTAG"_accounts (pName, pPassword, pSkin, pSpieleralter, pIP) VALUES ('%s', '%s', '%i', '%i', '%s')", GetName(playerid), sInfo[playerid][pPasswort], sInfo[playerid][pSkin], AgeOfPlayer(playerid), SpielerIP(playerid));
  547. mysql_function_query(SQLconnection, query, false, "", "");
  548. return 1;
  549. }
  550.  
  551. stock GetName(playerid)
  552. {
  553. new name[MAX_PLAYER_NAME];
  554. GetPlayerName(playerid,name,sizeof(name));
  555. return name;
  556. }
  557.  
  558. stock CreateTables()
  559. {
  560. new query[4000];
  561. strcat(query, "CREATE TABLE IF NOT EXISTS "#SERVERTAG"_accounts (Id int(11) NOT NULL AUTO_INCREMENT, pName varchar(24) NOT NULL, pPassword varchar(40) NOT NULL, pIP varchar(16) NOT NULL, pSpieleralter int(5) NOT NULL, pLevel int(5) NOT NULL, pCash int(15) NOT NULL, pSkin int(4) NOT NULL,");
  562. strcat(query, "pGeschlecht int(5) NOT NULL, pAdminlevel int(5) NOT NULL, pLastx float NOT NULL, pLasty float NOT NULL, pLastz float NOT NULL, pAngle float NOT NULL, pGanja int(10) NOT NULL, pPaper int(10) NOT NULL, pFilter int(10) NOT NULL, pMeth int(10) NOT NULL, pCocain int(10) NOT NULL, pLSD int(10) NOT NULL,");
  563. strcat(query, "pPerso int(5) NOT NULL, pArbeitserlaubnis int(5) NOT NULL, pStartkapital int(5) NOT NULL, pJob int(5) NOT NULL, pFraktion int(5) NOT NULL, pFrakRang int(5) NOT NULL, pLeader int(5) NOT NULL, pFraksperre int(5) NOT NULL, pAngemeldet int(5) NOT NULL, PRIMARY KEY (Id))");
  564. mysql_function_query(SQLconnection, query, false, "", "");
  565. return 1;
  566. }
  567.  
  568. stock isPlayerAnAdmin(playerid, a_rank)
  569. {
  570. if(sInfo[playerid][pAdminlevel] >= a_rank) return 1;
  571. return 0;
  572. }
  573.  
  574. stock SendAdminMessage(color,const string[])
  575. {
  576. for(new i = 0; i < MAX_PLAYERS; i++)
  577. {
  578. if(IsPlayerConnected(i))
  579. {
  580. if(isPlayerAnAdmin(i,1))
  581. {
  582. SendClientMessage(i, color, string);
  583. }
  584. }
  585. }
  586. return 1;
  587. }
  588.  
  589.  
  590. stock split(const strsrc[],strdest[][],delimiter)
  591. {
  592. new aNum,len,i,li;
  593. while(i <= strlen(strsrc))
  594. {
  595. if(strsrc[i] == delimiter || i == strlen(strsrc))
  596. {
  597. len = strmid(strdest[aNum],strsrc,li,i,128);
  598. strdest[aNum][len] = false;
  599. li = i+1;
  600. aNum++;
  601. }
  602. i++;
  603. }
  604. return 1;
  605. }
  606.  
  607. stock IsValidDate(day,month,year)
  608. {
  609. new maxDays;
  610. if(year < 1900 || year > 2010) return 0;
  611. switch(month)
  612. {
  613. case 1,3,5,7,8,10,12: maxDays = 31;
  614. case 4,6,9,11: maxDays = 30;
  615. case 2:
  616. {
  617. if(IsLeapYear(year))
  618. {
  619. maxDays = 29;
  620. }
  621. else
  622. {
  623. maxDays = 28;
  624. }
  625. }
  626. default: return 0;
  627. }
  628. if(day < 1 || day > maxDays) return 0;
  629. return 1;
  630. }
  631.  
  632. stock IsLeapYear(year)
  633. {
  634. return (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
  635. }
  636.  
  637. stock mktime(hour,minutee,second,day,month,year)
  638. {
  639. new timestamp2,days_of_month[12];
  640.  
  641. timestamp2 = second + (minutee * 60) + (hour * 3600);
  642. if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
  643. {
  644. days_of_month = {31,29,31,30,31,30,31,31,30,31,30,31};
  645. }
  646. else days_of_month = {31,28,31,30,31,30,31,31,30,31,30,31};
  647. new days_this_year = 0;
  648. days_this_year = day;
  649. if(month > 1)
  650. {
  651. for(new i=0; i<month-1;i++)
  652. {
  653. days_this_year += days_of_month[i];
  654. }
  655. }
  656. timestamp2 += days_this_year * 86400;
  657. for(new j=1970;j<year;j++)
  658. {
  659. timestamp2 += 31536000;
  660. if(((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) timestamp2 += 86400;
  661. }
  662. return timestamp2;
  663. }
  664.  
  665. stock AgeOfPlayer(playerid)
  666. {
  667. new yearold = gettime() - sInfo[playerid][pJahreAlt];
  668. return floatround(yearold/31536000);
  669. }
  670.  
  671. stock SpielerIP(playerid)
  672. {
  673. new ip[16];
  674. GetPlayerIp(playerid,ip,sizeof(ip));
  675. return ip;
  676. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement