Guest User

Untitled

a guest
Jul 31st, 2012
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.41 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3. #include <ocmd>
  4.  
  5. #if defined FILTERSCRIPT
  6.  
  7.  
  8.  
  9. #define BLAU 0x0087FFFF
  10. #define ROT 0xE10000FF
  11.  
  12. #define DIALOG_TUTORIAL 1
  13. #define DIALOG_REGISTER 2
  14. #define DIALOG_LOGIN 3
  15.  
  16.  
  17. public OnFilterScriptInit()
  18. {
  19. print("\n--------------------------------------");
  20. print(" EventMaster Server");
  21. print("--------------------------------------\n");
  22. return 1;
  23. }
  24.  
  25. public OnFilterScriptExit()
  26. {
  27. return 1;
  28. }
  29.  
  30. #else
  31.  
  32. main()
  33. {
  34. print("\n----------------------------------");
  35. print(" German Dynamic RolePlay");
  36. print("----------------------------------\n");
  37. }
  38.  
  39. #endif
  40.  
  41. public OnGameModeInit()
  42. {
  43. // Don't use these lines if it's a filterscript
  44. SetGameModeText("German Dynamic RolePlay");
  45. AddPlayerClass(0, 1129.0430,-1467.4781,15.7371,359.9771, 0, 0, 0, 0, 0, 0);
  46.  
  47. //infernus vor spawn
  48. AddStaticVehicle(411,1134.8351,-1464.4891,15.5027,24.7271,116,1); // infernus1
  49. AddStaticVehicle(411,1123.4690,-1465.0637,15.5131,317.9860,116,1); // infernus2
  50. AddStaticVehicle(411,1123.6410,-1450.9844,15.5240,323.8395,116,1); // infernus3
  51. AddStaticVehicle(411,1137.0122,-1450.6638,15.5239,39.2565,116,1); // infernus4
  52. AddStaticVehicle(411,1136.3979,-1440.9822,15.5239,41.7527,116,1); // infernus5
  53. AddStaticVehicle(411,1121.4767,-1437.8411,15.5240,320.5278,116,1); // infernus6
  54. return 1;
  55. }
  56.  
  57. public OnGameModeExit()
  58. {
  59. return 1;
  60. }
  61.  
  62. public OnPlayerRequestClass(playerid, classid)
  63. {
  64. SetPlayerPos(playerid, 1129.0430,-1467.4781,15.7371);
  65. SetPlayerCameraPos(playerid, 1129.0430,-1467.4781,15.7371);
  66. SetPlayerCameraLookAt(playerid, 1129.0430,-1467.4781,15.7371);
  67. return 1;
  68. }
  69.  
  70. public OnPlayerConnect(playerid)
  71. {
  72. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
  73. return 1;
  74. }
  75.  
  76. public OnPlayerDisconnect(playerid, reason)
  77. {
  78. return 1;
  79. }
  80.  
  81. public OnPlayerSpawn(playerid)
  82. {
  83. return 1;
  84. }
  85.  
  86. public OnPlayerDeath(playerid, killerid, reason)
  87. {
  88. return 1;
  89. }
  90.  
  91. public OnVehicleSpawn(vehicleid)
  92. {
  93. return 1;
  94. }
  95.  
  96. public OnVehicleDeath(vehicleid, killerid)
  97. {
  98. return 1;
  99. }
  100.  
  101. public OnPlayerText(playerid, text[])
  102. {
  103. return 1;
  104. }
  105.  
  106. public OnPlayerCommandText(playerid, cmdtext[])
  107. {
  108. if (strcmp("/help", cmdtext, true, 10) == 0)
  109. {
  110. SendClientMessage(playerid,ROT,"Hier stehen alle Befehle zum Server.");
  111. return 1;
  112. }
  113. return 0;
  114. }
  115.  
  116. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  117. {
  118. return 1;
  119. }
  120.  
  121. public OnPlayerExitVehicle(playerid, vehicleid)
  122. {
  123. return 1;
  124. }
  125.  
  126. public OnPlayerStateChange(playerid, newstate, oldstate)
  127. {
  128. return 1;
  129. }
  130.  
  131. public OnPlayerEnterCheckpoint(playerid)
  132. {
  133. return 1;
  134. }
  135.  
  136. public OnPlayerLeaveCheckpoint(playerid)
  137. {
  138. return 1;
  139. }
  140.  
  141. public OnPlayerEnterRaceCheckpoint(playerid)
  142. {
  143. return 1;
  144. }
  145.  
  146. public OnPlayerLeaveRaceCheckpoint(playerid)
  147. {
  148. return 1;
  149. }
  150.  
  151. public OnRconCommand(cmd[])
  152. {
  153. return 1;
  154. }
  155.  
  156. public OnPlayerRequestSpawn(playerid)
  157. {
  158. return 1;
  159. }
  160.  
  161. public OnObjectMoved(objectid)
  162. {
  163. return 1;
  164. }
  165.  
  166. public OnPlayerObjectMoved(playerid, objectid)
  167. {
  168. return 1;
  169. }
  170.  
  171. public OnPlayerPickUpPickup(playerid, pickupid)
  172. {
  173. return 1;
  174. }
  175.  
  176. public OnVehicleMod(playerid, vehicleid, componentid)
  177. {
  178. return 1;
  179. }
  180.  
  181. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  182. {
  183. return 1;
  184. }
  185.  
  186. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  187. {
  188. return 1;
  189. }
  190.  
  191. public OnPlayerSelectedMenuRow(playerid, row)
  192. {
  193. return 1;
  194. }
  195.  
  196. public OnPlayerExitedMenu(playerid)
  197. {
  198. return 1;
  199. }
  200.  
  201. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  202. {
  203. return 1;
  204. }
  205.  
  206. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  207. {
  208. return 1;
  209. }
  210.  
  211. public OnRconLoginAttempt(ip[], password[], success)
  212. {
  213. return 1;
  214. }
  215.  
  216. public OnPlayerUpdate(playerid)
  217. {
  218. return 1;
  219. }
  220.  
  221. public OnPlayerStreamIn(playerid, forplayerid)
  222. {
  223. return 1;
  224. }
  225.  
  226. public OnPlayerStreamOut(playerid, forplayerid)
  227. {
  228. return 1;
  229. }
  230.  
  231. public OnVehicleStreamIn(vehicleid, forplayerid)
  232. {
  233. return 1;
  234. }
  235.  
  236. public OnVehicleStreamOut(vehicleid, forplayerid)
  237. {
  238. return 1;
  239. }
  240.  
  241. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  242. {
  243. if(dialogid==DIALOG_LOGIN)
  244. {
  245. if(response==0)
  246. {
  247. SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
  248. Kick(playerid);
  249. return 1;
  250. }
  251. if(response==1)
  252. {
  253. if(!strlen(inputtext))
  254. {
  255. SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
  256. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  257. return 1;
  258. }
  259. else
  260. {
  261. Login(playerid,inputtext);
  262. return 1;
  263. }
  264. }
  265. }
  266. if(dialogid==DIALOG_REGISTER)
  267. {
  268. if(response==0)
  269. {
  270. SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
  271. Kick(playerid);
  272. return 1;
  273. }
  274. if(response==1)
  275. {
  276. if(!strlen(inputtext))
  277. {
  278. SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
  279. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
  280. return 1;
  281. }
  282. else
  283. {
  284. Register(playerid,inputtext);
  285. return 1;
  286. }
  287. }
  288. }
  289. if(dialogid==DIALOG_TUTORIAL)
  290. {
  291. if(response==1)
  292. {
  293. SetPlayerPos(playerid,1227.1797,-914.0590,42.6812);
  294. SendClientMessage(playerid,0xFFFF00FF,"Du wurdest Teleportiert");
  295. }
  296. if(response==0)
  297. {
  298. SendClientMessage(playerid,BLAU,"Ok dann halt nicht...");
  299. }
  300. }
  301. return 1;
  302. }
  303.  
  304.  
  305. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  306. {
  307. return 1;
  308. }
  309.  
  310. stock SpielerName(playerid)
  311. {
  312. new name[MAX_PLAYER_NAME];
  313. GetPlayerName(playerid,name,sizeof(name));
  314. return name;
  315. }
  316.  
  317. stock Register(playerid,key[])
  318. {
  319. new Spielerdatei[64];
  320. new name[MAX_PLAYER_NAME];
  321. GetPlayerName(playerid,name,sizeof(name));
  322. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  323. dini_Create(Spielerdatei);
  324. dini_Set(Spielerdatei,"Passwort",key);
  325. SendClientMessage(playerid,BLAU,"Erfolgreich registriert.");
  326. SetPlayerScore(playerid,0);
  327. SetPVarInt(playerid,"loggedin",1);
  328. return 1;
  329. }
  330.  
  331. stock Login(playerid,key[])
  332. {
  333. new Spielerdatei[64];
  334. new name[MAX_PLAYER_NAME];
  335. GetPlayerName(playerid,name,sizeof(name));
  336. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  337.  
  338. if(gettime()<dini_Int(Spielerdatei,"timeban"))
  339. {
  340. SendClientMessage(playerid,ROT,"Du bist noch gebannt. Komm später wieder.");
  341. Kick(playerid);
  342. return 1;
  343. }
  344.  
  345. if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
  346. {
  347. LoadAccount(playerid);
  348. SendClientMessage(playerid,BLAU,"Erfolgreich eingeloggt.");
  349. return 1;
  350. }
  351. else
  352. {
  353. SendClientMessage(playerid,BLAU,"Falsches Passwort.");
  354. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  355. return 1;
  356. }
  357. }
  358.  
  359. stock LoadAccount(playerid)
  360. {
  361. new Spielerdatei[64];
  362. new name[MAX_PLAYER_NAME];
  363. GetPlayerName(playerid,name,sizeof(name));
  364. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  365. SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
  366. GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
  367. SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
  368. SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
  369. SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
  370. if(GetPVarInt(playerid,"Baned")==1)
  371. {
  372. SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
  373. Kick(playerid);
  374. }
  375. SetPVarInt(playerid,"loggedin",1);
  376. return 1;
  377. }
  378.  
  379. stock SpielerSpeichern(playerid)
  380. {
  381. if(GetPVarInt(playerid,"loggedin")==1)
  382. {
  383. new Spielerdatei[64];
  384. new name[MAX_PLAYER_NAME];
  385. GetPlayerName(playerid,name,sizeof(name));
  386. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  387. dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
  388. dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
  389. dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
  390. dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
  391. dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
  392. dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
  393. }
  394. return 1;
  395. }
  396.  
  397. stock isPlayerInFrakt(playerid,fraktid)
  398. {
  399. if(GetPVarInt(playerid,"Fraktion")==fraktid)return 1;
  400. return 0;
  401. }
  402.  
  403. stock isPlayerAnAdmin(playerid,rang)
  404. {
  405. if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
  406. return 0;
  407. }
  408.  
  409. stock sscanf(sstring[], format[], {Float,_}:...)
  410. {
  411. #if defined isnull
  412. if (isnull(sstring))
  413. #else
  414. if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
  415. #endif
  416. {
  417. return format[0];
  418. }
  419. #pragma tabsize 4
  420. new
  421. formatPos = 0,
  422. sstringPos = 0,
  423. paramPos = 2,
  424. paramCount = numargs(),
  425. delim = ' ';
  426. while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
  427. {
  428. sstringPos++;
  429. }
  430. while (paramPos < paramCount && sstring[sstringPos])
  431. {
  432. switch (format[formatPos++])
  433. {
  434. case '\0':
  435. {
  436. return 0;
  437. }
  438. case 'i', 'd':
  439. {
  440. new
  441. neg = 1,
  442. num = 0,
  443. ch = sstring[sstringPos];
  444. if (ch == '-')
  445. {
  446. neg = -1;
  447. ch = sstring[++sstringPos];
  448. }
  449. do
  450. {
  451. sstringPos++;
  452. if ('0' <= ch <= '9')
  453. {
  454. num = (num * 10) + (ch - '0');
  455. }
  456. else
  457. {
  458. return -1;
  459. }
  460. }
  461. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  462. setarg(paramPos, 0, num * neg);
  463. }
  464. case 'h', 'x':
  465. {
  466. new
  467. num = 0,
  468. ch = sstring[sstringPos];
  469. do
  470. {
  471. sstringPos++;
  472. switch (ch)
  473. {
  474. case 'x', 'X':
  475. {
  476. num = 0;
  477. continue;
  478. }
  479. case '0' .. '9':
  480. {
  481. num = (num << 4) | (ch - '0');
  482. }
  483. case 'a' .. 'f':
  484. {
  485. num = (num << 4) | (ch - ('a' - 10));
  486. }
  487. case 'A' .. 'F':
  488. {
  489. num = (num << 4) | (ch - ('A' - 10));
  490. }
  491. default:
  492. {
  493. return -1;
  494. }
  495. }
  496. }
  497. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  498. setarg(paramPos, 0, num);
  499. }
  500. case 'c':
  501. {
  502. setarg(paramPos, 0, sstring[sstringPos++]);
  503. }
  504. case 'f':
  505. {
  506.  
  507. new changestr[16], changepos = 0, strpos = sstringPos;
  508. while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
  509. {
  510. changestr[changepos++] = sstring[strpos++];
  511. }
  512. changestr[changepos] = '\0';
  513. setarg(paramPos,0,_:floatstr(changestr));
  514. }
  515. case 'p':
  516. {
  517. delim = format[formatPos++];
  518. continue;
  519. }
  520. case '\'':
  521. {
  522. new
  523. end = formatPos - 1,
  524. ch;
  525. while ((ch = format[++end]) && ch != '\'') {}
  526. if (!ch)
  527. {
  528. return -1;
  529. }
  530. format[end] = '\0';
  531. if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
  532. {
  533. if (format[end + 1])
  534. {
  535. return -1;
  536. }
  537. return 0;
  538. }
  539. format[end] = '\'';
  540. sstringPos = ch + (end - formatPos);
  541. formatPos = end + 1;
  542. }
  543. case 'u':
  544. {
  545. new
  546. end = sstringPos - 1,
  547. id = 0,
  548. bool:num = true,
  549. ch;
  550. while ((ch = sstring[++end]) && ch != delim)
  551. {
  552. if (num)
  553. {
  554. if ('0' <= ch <= '9')
  555. {
  556. id = (id * 10) + (ch - '0');
  557. }
  558. else
  559. {
  560. num = false;
  561. }
  562. }
  563. }
  564. if (num && IsPlayerConnected(id))
  565. {
  566. setarg(paramPos, 0, id);
  567. }
  568. else
  569. {
  570. #if !defined foreach
  571. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  572. #define __SSCANF_FOREACH__
  573. #endif
  574. sstring[end] = '\0';
  575. num = false;
  576. new
  577. name[MAX_PLAYER_NAME];
  578. id = end - sstringPos;
  579. foreach (Player, playerid)
  580. {
  581. GetPlayerName(playerid, name, sizeof (name));
  582. if (!strcmp(name, sstring[sstringPos], true, id))
  583. {
  584. setarg(paramPos, 0, playerid);
  585. num = true;
  586. break;
  587. }
  588. }
  589. if (!num)
  590. {
  591. setarg(paramPos, 0, INVALID_PLAYER_ID);
  592. }
  593. sstring[end] = ch;
  594. #if defined __SSCANF_FOREACH__
  595. #undef foreach
  596. #undef __SSCANF_FOREACH__
  597. #endif
  598. }
  599. sstringPos = end;
  600. }
  601. case 's', 'z':
  602. {
  603. new
  604. i = 0,
  605. ch;
  606. if (format[formatPos])
  607. {
  608. while ((ch = sstring[sstringPos++]) && ch != delim)
  609. {
  610. setarg(paramPos, i++, ch);
  611. }
  612. if (!i)
  613. {
  614. return -1;
  615. }
  616. }
  617. else
  618. {
  619. while ((ch = sstring[sstringPos++]))
  620. {
  621. setarg(paramPos, i++, ch);
  622. }
  623. }
  624. sstringPos--;
  625. setarg(paramPos, i, '\0');
  626. }
  627. default:
  628. {
  629. continue;
  630. }
  631. }
  632. while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
  633. {
  634. sstringPos++;
  635. }
  636. while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
  637. {
  638. sstringPos++;
  639. }
  640. paramPos++;
  641. }
  642. do
  643. {
  644. if ((delim = format[formatPos++]) > ' ')
  645. {
  646. if (delim == '\'')
  647. {
  648. while ((delim = format[formatPos++]) && delim != '\'') {}
  649. }
  650. else if (delim != 'z')
  651. {
  652. return delim;
  653. }
  654. }
  655. }
  656. while (delim > ' ');
  657. return 0;
  658. }
Advertisement
Add Comment
Please, Sign In to add comment