Guest User

Untitled

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