Guest User

textdraw

a guest
Dec 15th, 2013
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.14 KB | None | 0 0
  1. //Includes
  2. #include <a_samp>
  3. #include <Dini>
  4. //#include <MD5>
  5. #include <a_http>
  6. #include <streamer>
  7. #include <ocmd>
  8.  
  9. //Farben
  10. #define Gelb 0xFFFF00FF
  11. #define Rot 0xFF2800FF
  12. #define Blau 0x000FFFFF
  13.  
  14. //Dialoge
  15. #define REGISTER 1
  16. #define LOGIN 2
  17. #define STATS 3
  18.  
  19. //Define
  20.  
  21. #define sFraktion "LSPD"
  22. #define sFraktion2 "FBI"
  23. #define sFratkion3 "Bundeswehr"
  24. #define Version "0.1"
  25.  
  26. //DCMD
  27. #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  28.  
  29. //Enums
  30.  
  31. enum SpielerDaten
  32. {
  33. Adminlevel,
  34. Level,
  35. Fraktion,
  36. Team,
  37. sLogin
  38. };
  39. new sSpieler[MAX_PLAYERS][SpielerDaten];
  40.  
  41. //Tore
  42. new bsntor;
  43. //Fahzeuge
  44. new lspdcars[1];
  45. //Textdraws
  46. new Text:BalkenJan0;
  47. new Text:BalkenJan1;
  48. new Text:BalkenJan2;
  49. new Text:BalkenJan3;
  50.  
  51. main()
  52. {
  53. }
  54.  
  55.  
  56. public OnGameModeInit()
  57. {
  58. //Bots/NPCS
  59. ConnectNPC("","");
  60.  
  61. //Updatecheck
  62.  
  63. SetGameModeText("Gamemode");
  64. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  65.  
  66. //Objecte
  67. bsntor = CreateDynamicObject(969, 1194.2557373047, -941.72430419922, 41.753002166748, 0, 0, 100); //Gate beim BSN
  68.  
  69. //Fahrzeuge
  70. lspdcars[0]= CreateDynamicObject(596,1535.8518,-1671.9904,13.3828,180.7820,1,6,60000); //Polizei Fahrzeug
  71.  
  72. //Timers
  73. SetTimer("Nachrichten",300000,true);
  74. //Textdraws
  75. BalkenJan0 = TextDrawCreate(0.000000, 0.000000, "LD_SPAC:white");
  76. TextDrawLetterSize(BalkenJan0, 0.000000, 0.000000);
  77. TextDrawTextSize(BalkenJan0, 640.000000, 48.533332);
  78. TextDrawAlignment(BalkenJan0, 1);
  79. TextDrawColor(BalkenJan0, 255);
  80. TextDrawSetShadow(BalkenJan0, 0);
  81. TextDrawSetOutline(BalkenJan0, 0);
  82. TextDrawFont(BalkenJan0, 4);
  83.  
  84. BalkenJan1 = TextDrawCreate(0.000000, 393.244445, "LD_SPAC:white");
  85. TextDrawLetterSize(BalkenJan1, 0.000000, 0.000000);
  86. TextDrawTextSize(BalkenJan1, 640.000000, 54.755554);
  87. TextDrawAlignment(BalkenJan1, 1);
  88. TextDrawColor(BalkenJan1, 255);
  89. TextDrawSetShadow(BalkenJan1, 0);
  90. TextDrawSetOutline(BalkenJan1, 0);
  91. TextDrawBackgroundColor(BalkenJan1, 255);
  92. TextDrawFont(BalkenJan1, 4);
  93.  
  94. BalkenJan2 = TextDrawCreate(219.666687, 9.955574, "Life of West");
  95. TextDrawLetterSize(BalkenJan2, 0.776333, 2.338370);
  96. TextDrawTextSize(BalkenJan2, 126.333343, 31.940740);
  97. TextDrawAlignment(BalkenJan2, 1);
  98. TextDrawColor(BalkenJan2, -16776961);
  99. TextDrawSetShadow(BalkenJan2, 0);
  100. TextDrawSetOutline(BalkenJan2, 1);
  101. TextDrawBackgroundColor(BalkenJan2, 51);
  102. TextDrawFont(BalkenJan2, 1);
  103. TextDrawSetProportional(BalkenJan2, 1);
  104.  
  105. BalkenJan3 = TextDrawCreate(113.000022, 409.422180, "Lebe nicht dein Leben sondern Lebe dein Traum");
  106. TextDrawLetterSize(BalkenJan3, 0.482000, 1.836444);
  107. TextDrawAlignment(BalkenJan3, 1);
  108. TextDrawColor(BalkenJan3, -16776961);
  109. TextDrawSetShadow(BalkenJan3, 28);
  110. TextDrawSetOutline(BalkenJan3, 0);
  111. TextDrawBackgroundColor(BalkenJan3, 51);
  112. TextDrawFont(BalkenJan3, 1);
  113. TextDrawSetProportional(BalkenJan3, 1);
  114. return 1;
  115. }
  116.  
  117. public OnGameModeExit()
  118. {
  119. return 1;
  120. }
  121.  
  122. public OnPlayerRequestClass(playerid, classid)
  123. {
  124. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  125. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  126. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  127. return 1;
  128. }
  129.  
  130. public OnPlayerConnect(playerid)
  131. {
  132. //Textdraw
  133. TextDrawShowForPlayer(playerid,BalkenJan0);
  134. TextDrawShowForPlayer(playerid,BalkenJan1);
  135. TextDrawShowForPlayer(playerid,BalkenJan2);
  136. TextDrawShowForPlayer(playerid,BalkenJan3);
  137. //NPC/Bot Abfrage
  138. if(IsPlayerNPC(playerid)) return 1;
  139. new Spieler[64];
  140. new Sname[MAX_PLAYER_NAME];
  141. GetPlayerName(playerid,Sname,sizeof(Sname));
  142. format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
  143. if(dini_Exists(Spieler))
  144. {
  145. SendClientMessage(playerid,Blau,"Herzlich Willkommen auf dem Reallife Server von ???");
  146. ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde in unserer Datenbank gefunden, bitte gebe nun dein Passwort ein und logge dich somit ein.","Login","Abbrechen");
  147. return 1;
  148. }
  149. else
  150. {
  151. SendClientMessage(playerid,Blau,"Herzlich Willkommen auf dem Reallife Server von ???!");
  152. ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte wähle ein Passwort um dir einen Account zu erstellen!","Registrieren","Abbrechen");
  153. return 1;
  154. }
  155. }
  156.  
  157. public OnPlayerDisconnect(playerid, reason)
  158. {
  159. //NPC/Bot Abfrage
  160. if(IsPlayerNPC(playerid)) return 1;
  161. sSpieler[playerid][sLogin] = 0;
  162. SpielerSpeichern(playerid);
  163. return 1;
  164. }
  165.  
  166. public OnPlayerSpawn(playerid)
  167. {
  168. //NPC Skin Setzung
  169. if(IsPlayerNPC(playerid))
  170. {
  171. new botname[MAX_PLAYER_NAME];
  172. GetPlayerName(playerid,botname,sizeof(botname));
  173. if(!strcmp(botname,"Nemesis",true))
  174. {
  175. SetPlayerSkin(playerid,26);
  176. }
  177. }
  178. //NPC/Bot Abfrage
  179. if(IsPlayerNPC(playerid)) return 1;
  180. if(IstSpielerInFraktion(playerid, 0))
  181. {
  182. SetPlayerPos(playerid, 1218.4890,-919.5051,43.0938);
  183. SetPlayerColor(playerid,Blau);
  184. return 1;
  185. }
  186. if(IstSpielerInFraktion(playerid, 1))
  187. {
  188. SetPlayerPos(playerid, 1539.8313,-1620.5837,13.5469);
  189. SetPlayerColor(playerid,Blau);
  190. SendClientMessage(playerid,Blau,"Du bist als LSPD gespawnt!");
  191. GivePlayerWeapon(playerid,31,500);
  192. return 1;
  193. }
  194. return 1;
  195. }
  196.  
  197. public OnPlayerDeath(playerid, killerid, reason)
  198. {
  199. return 1;
  200. }
  201.  
  202. public OnVehicleSpawn(vehicleid)
  203. {
  204. return 1;
  205. }
  206.  
  207. public OnVehicleDeath(vehicleid, killerid)
  208. {
  209. return 1;
  210. }
  211.  
  212. public OnPlayerText(playerid, text[])
  213. {
  214. return 1;
  215. }
  216.  
  217. public OnPlayerCommandText(playerid, cmdtext[])
  218. {
  219. //Befehle mit DCMD
  220. dcmd(makeadmin, 9, cmdtext);
  221. dcmd(makeleader, 10, cmdtext);
  222. if (strcmp("/credits", cmdtext, true, 10) == 0)
  223. {
  224. return 1;
  225. }
  226. if (strcmp("/stats", cmdtext, true, 10) == 0)
  227. {
  228. new string[128];
  229. new ftext[20];
  230. new level = sSpieler[playerid][Fraktion];
  231. if(level == 0) { ftext= "Zivilist"; }
  232. else if(level == 1) { ftext= "LSPD"; }
  233. format(string,sizeof(string),"Dein Level %d\nDein Geld %d\nDeine Fraktion %s",sSpieler[playerid][Level],GetPlayerMoney(playerid),ftext);
  234. ShowPlayerDialog(playerid,STATS,DIALOG_STYLE_MSGBOX,"Deine Statistik",string,"OK","OK");
  235. return 1;
  236. }
  237. if (strcmp("/bsn", cmdtext, true, 10) == 0)
  238. {
  239. SetPlayerPos(playerid,1218.4890,-919.5051,43.0938);
  240. SendClientMessage(playerid,Blau,"Du hast dich zum BSN teleportiert!");
  241. return 1;
  242. }
  243. if (strcmp("/gmx", cmdtext, true, 10) == 0)
  244. {
  245. if(IstSpielerAdmin(playerid, 3))
  246. {
  247. SendRconCommand("gmx");
  248. }
  249. else
  250. {
  251. SendClientMessage(playerid,Rot,"Du bist kein Administrator!");
  252. return 1;
  253. }
  254. return 1;
  255. }
  256. if (strcmp("/binichadmin", cmdtext , true, 10) == 0)
  257. {
  258. if(sSpieler[playerid][Adminlevel] >= 1)
  259. {
  260. SendClientMessage(playerid,Gelb,"Du bist ein Administrator!");
  261. return 1;
  262. }
  263. else
  264. {
  265. SendClientMessage(playerid,Rot,"Du bist kein Administrator!");
  266. return 1;
  267. }
  268. }
  269. if (strcmp("/opengate", cmdtext, true, 10) == 0)
  270. {
  271. if(IstSpielerInFraktion(playerid, 1))
  272. {
  273. if(IsPlayerInRangeOfPoint(playerid,5,1194.2557373047, -941.72430419922, 41.753002166748))
  274. {
  275. SendClientMessage(playerid,Gelb,"Das Tor hat sich geöfffnet es würd automatisch in 10 Sekunden schließen!");
  276. MoveDynamicObject(bsntor,1194.2557373047, -941.72430419922, 31.753002166748,2.0);
  277. SetTimer("torbsn", 10125, 0);
  278. return 1;
  279. }
  280. else
  281. {
  282. SendClientMessage(playerid,Rot,"Du bist nicht in der Fraktion (1) LSPD!");
  283. return 1;
  284. }
  285. }
  286. }
  287. return 0;
  288. }
  289.  
  290. //DCMD Befehle
  291. //Makeleader Befehl
  292. dcmd_makeleader(playerid,params[])
  293. {
  294. new pid, frakid;
  295. if(sscanf(params,"ud",pid,frakid))
  296. {
  297. return SendClientMessage(playerid,Gelb,"Verwendung : /makleader [ID] [Fraktions ID]");
  298. }
  299. if(frakid > 6)
  300. {
  301. return SendClientMessage(playerid,Rot,"Soviele Fraktionen gibt es nicht!");
  302. }
  303. if(IstSpielerAdmin(playerid, 5))
  304. {
  305. if(pid == INVALID_PLAYER_ID)
  306. {
  307. return SendClientMessage(playerid,Rot,"Ungültiger Spieler!");
  308. }
  309. if(IstSpielerInFraktion(pid,frakid) == frakid)
  310. {
  311. return SendClientMessage(playerid,Rot,"Der angegebene Spieler ist schon in dieser Fraktion!");
  312. }
  313. else
  314. {
  315. sSpieler[pid][Fraktion] = frakid;
  316. SendClientMessage(pid,Gelb,"Du bist nun in einer Fraktion!");
  317. SendClientMessage(pid,Gelb,"Du hast den angegeben Spieler in eine Fraktion gepackt!");
  318. }
  319. }
  320. else
  321. {
  322. return SendClientMessage(playerid,Rot,"Du bist kein Administrator!");
  323. }
  324. return 1;
  325. }
  326. //Makeadmin Befehl
  327. dcmd_makeadmin(playerid, params[])
  328. {
  329. new pid,level;
  330. if(sscanf(params,"ud", pid, level))
  331. {
  332. return SendClientMessage(playerid, Gelb,"Verwendung : /makeadmin [ID] [Level]");
  333. }
  334. if(IstSpielerAdmin(playerid, 5))
  335. {
  336. if(pid == INVALID_PLAYER_ID)
  337. {
  338. return SendClientMessage(playerid,Rot,"Ungültiger Spieler!");
  339. }
  340. if(IstSpielerAdmin(pid,level) == level)
  341. {
  342. return SendClientMessage(playerid, Rot,"Der Spieler hat schon das angegebene Adminlevel!");
  343. }
  344. else
  345. {
  346. sSpieler[pid][Adminlevel] = level;
  347. SendClientMessage(pid, Gelb, "Du bist nun ein Administrator!");
  348. SendClientMessage(playerid,Gelb,"Du hast den angegeben Spieler zum Administrator gemacht!");
  349. }
  350. }
  351. else
  352. {
  353. return SendClientMessage(playerid,Rot,"Du bist kein Administrator!");
  354. }
  355. return 1;
  356. }
  357. ocmd:dealer(playerid,params[])
  358. {
  359. SetPlayerPos(playerid,2471.4102,1933.4265,9.8245);
  360. SetPlayerInterior(playerid,0);
  361. SetPlayerVirtualWorld(playerid,0);
  362. return 1;
  363. }
  364. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  365. {
  366. return 1;
  367. }
  368.  
  369. public OnPlayerExitVehicle(playerid, vehicleid)
  370. {
  371. return 1;
  372. }
  373.  
  374. public OnPlayerStateChange(playerid, newstate, oldstate)
  375. {
  376. if(newstate == PLAYER_STATE_DRIVER)
  377. {
  378. for(new i = 0; i<sizeof(lspdcars); i++)
  379. {
  380. if(GetPlayerVehicleID(playerid) == lspdcars[i])
  381. {
  382. if(IstSpielerInFraktion(playerid, 1))
  383. {
  384. }
  385. else
  386. {
  387. RemovePlayerFromVehicle(playerid);
  388. SendClientMessage(playerid,Rot,"Du bist kein Mitglied des LSPDs!");
  389. }
  390. }
  391. }
  392. }
  393. return 1;
  394. }
  395.  
  396. public OnPlayerEnterCheckpoint(playerid)
  397. {
  398. return 1;
  399. }
  400.  
  401. public OnPlayerLeaveCheckpoint(playerid)
  402. {
  403. return 1;
  404. }
  405.  
  406. public OnPlayerEnterRaceCheckpoint(playerid)
  407. {
  408. return 1;
  409. }
  410.  
  411. public OnPlayerLeaveRaceCheckpoint(playerid)
  412. {
  413. return 1;
  414. }
  415.  
  416. public OnRconCommand(cmd[])
  417. {
  418. return 1;
  419. }
  420.  
  421. public OnPlayerRequestSpawn(playerid)
  422. {
  423. return 1;
  424. }
  425.  
  426. public OnObjectMoved(objectid)
  427. {
  428. return 1;
  429. }
  430.  
  431. public OnPlayerObjectMoved(playerid, objectid)
  432. {
  433. return 1;
  434. }
  435.  
  436. public OnPlayerPickUpPickup(playerid, pickupid)
  437. {
  438. return 1;
  439. }
  440.  
  441. public OnVehicleMod(playerid, vehicleid, componentid)
  442. {
  443. return 1;
  444. }
  445.  
  446. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  447. {
  448. return 1;
  449. }
  450.  
  451. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  452. {
  453. return 1;
  454. }
  455.  
  456. public OnPlayerSelectedMenuRow(playerid, row)
  457. {
  458. return 1;
  459. }
  460.  
  461. public OnPlayerExitedMenu(playerid)
  462. {
  463. return 1;
  464. }
  465.  
  466. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  467. {
  468. return 1;
  469. }
  470.  
  471. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  472. {
  473. return 1;
  474. }
  475.  
  476. public OnRconLoginAttempt(ip[], password[], success)
  477. {
  478. return 1;
  479. }
  480.  
  481. public OnPlayerUpdate(playerid)
  482. {
  483. return 1;
  484. }
  485.  
  486. public OnPlayerStreamIn(playerid, forplayerid)
  487. {
  488. return 1;
  489. }
  490.  
  491. public OnPlayerStreamOut(playerid, forplayerid)
  492. {
  493. return 1;
  494. }
  495.  
  496. public OnVehicleStreamIn(vehicleid, forplayerid)
  497. {
  498. return 1;
  499. }
  500.  
  501. public OnVehicleStreamOut(vehicleid, forplayerid)
  502. {
  503. return 1;
  504. }
  505.  
  506. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  507. {
  508. if(dialogid == STATS)
  509. {
  510. if(response == 0)
  511. {
  512. return 1;
  513. }
  514. if(response == 1)
  515. {
  516. return 1;
  517. }
  518. }
  519. if(dialogid == LOGIN)
  520. {
  521. if(response == 0)
  522. {
  523. SendClientMessage(playerid,Rot,"Du hast den Authenfizierungs Prozess abgebrochen . . .");
  524. Kick(playerid);
  525. return 1;
  526. }
  527. if(response == 1)
  528. {
  529. Login(playerid,inputtext);
  530. return 1;
  531. }
  532. }
  533. if(dialogid == REGISTER)
  534. {
  535. if(response == 0)
  536. {
  537. SendClientMessage(playerid,Blau,"Du hast den Registrierungs Vorgang abgebrochen");
  538. Kick(playerid);
  539. return 1;
  540. }
  541. if(response == 1)
  542. {
  543. if(!strlen(inputtext))
  544. {
  545. SendClientMessage(playerid,Blau,"Bitte gebe ein Passwort ein");
  546. ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte wähle ein Passwort um dir einen Account zu erstellen!","Registrieren","Abbrechen");
  547. return 1;
  548. }
  549. Register(playerid,inputtext);
  550. return 1;
  551. }
  552. }
  553. return 1;
  554. }
  555.  
  556. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  557. {
  558. return 1;
  559. }
  560.  
  561. stock Register(playerid,key[])
  562. {
  563. new Spieler[64];
  564. new Sname[MAX_PLAYER_NAME];
  565. GetPlayerName(playerid,Sname,sizeof(Sname));
  566. format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
  567. SpielerReset(playerid);
  568. dini_Create(Spieler);
  569. dini_Set(Spieler,"Passwort",key);
  570. dini_IntSet(Spieler,"Adminlevel",0);
  571. dini_IntSet(Spieler,"Level",0);
  572. dini_IntSet(Spieler,"Fraktion",0);
  573. dini_IntSet(Spieler,"Team",0);
  574. SendClientMessage(playerid,Blau,"Du hast dich erfolgreich registriert");
  575. SpawnPlayer(playerid);
  576. return 1;
  577. }
  578.  
  579. stock Login(playerid,key[])
  580. {
  581. new Spieler[64];
  582. new Sname[MAX_PLAYER_NAME];
  583. GetPlayerName(playerid,Sname,sizeof(Sname));
  584. format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
  585. if(!strcmp(key,dini_Get(Spieler,"Passwort"),false))
  586. {
  587. SendClientMessage(playerid,Blau,"Login erfolgreich . . . Spielerdaten werden geladen!");
  588. SpielerLaden(playerid);
  589. TextDrawHideForPlayer(playerid,BalkenJan0);
  590. TextDrawHideForPlayer(playerid,BalkenJan1);
  591. TextDrawHideForPlayer(playerid,BalkenJan2);
  592. TextDrawHideForPlayer(playerid,BalkenJan3);
  593. return 1;
  594. }
  595. else
  596. {
  597. SendClientMessage(playerid,Blau,"Das eingebene Passwort ist inkorrekt!");
  598. ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","{FEFEFE}Dein {FF9600}Account {FEFEFE}wurde in unserer Datenbank gefunden, bitte gebe nun dein Passwort ein und logge dich somit ein.","Login","Abbrechen");
  599. return 1;
  600. }
  601. }
  602.  
  603. stock SpielerSpeichern(playerid)
  604. {
  605. new Spieler[64];
  606. new Sname[MAX_PLAYER_NAME];
  607. GetPlayerName(playerid,Sname,sizeof(Sname));
  608. format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
  609. if(dini_Exists(Spieler))
  610. {
  611. dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
  612. dini_IntSet(Spieler,"Level",sSpieler[playerid][Level]);
  613. dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
  614. dini_IntSet(Spieler,"Team",sSpieler[playerid][Team]);
  615. }
  616. return 1;
  617. }
  618.  
  619. stock SpielerLaden(playerid)
  620. {
  621. new Spieler[64];
  622. new Sname[MAX_PLAYER_NAME];
  623. GetPlayerName(playerid,Sname,sizeof(Sname));
  624. format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
  625. if(dini_Exists(Spieler))
  626. {
  627. SetPlayerScore(playerid,dini_Int(Spieler,"Level"));
  628. sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
  629. sSpieler[playerid][Level] = dini_Int(Spieler,"Level");
  630. sSpieler[playerid][Fraktion] = dini_Int(Spieler,"Fraktion");
  631. sSpieler[playerid][Team] = dini_Int(Spieler,"Team");
  632. sSpieler[playerid][sLogin] = 1;
  633. SpawnPlayer(playerid);
  634. }
  635. return 1;
  636. }
  637.  
  638. stock SpielerReset(playerid)
  639. {
  640. sSpieler[playerid][Adminlevel] = 0;
  641. sSpieler[playerid][Level] = 0;
  642. sSpieler[playerid][Fraktion] = 0;
  643. sSpieler[playerid][Team] = 0;
  644. return 1;
  645. }
  646.  
  647. //Adminsystem
  648. stock IstSpielerAdmin(playerid,level)
  649. {
  650. if(sSpieler[playerid][Adminlevel] >= level) return 1;
  651. return 0;
  652. }
  653.  
  654. //Fraktion
  655. stock IstSpielerInFraktion(playerid, fraktionsid)
  656. {
  657. if(sSpieler[playerid][Fraktion] == fraktionsid) return 1;
  658. return 0;
  659. }
  660.  
  661. //Login
  662. stock IstSpielerLogged(playerid)
  663. {
  664. if(sSpieler[playerid][sLogin] == 1) return 1;
  665. return 0;
  666. }
  667.  
  668. //Sscanf
  669. stock sscanf(string[], format[], {Float,_}:...)
  670. {
  671. #if defined isnull
  672. if (isnull(string))
  673. #else
  674. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  675. #endif
  676. {
  677. return format[0];
  678. }
  679. #pragma tabsize 4
  680. new
  681. formatPos = 0,
  682. stringPos = 0,
  683. paramPos = 2,
  684. paramCount = numargs(),
  685. delim = ' ';
  686. while (string[stringPos] && string[stringPos] <= ' ')
  687. {
  688. stringPos++;
  689. }
  690. while (paramPos < paramCount && string[stringPos])
  691. {
  692. switch (format[formatPos++])
  693. {
  694. case '\0':
  695. {
  696. return 0;
  697. }
  698. case 'i', 'd':
  699. {
  700. new
  701. neg = 1,
  702. num = 0,
  703. ch = string[stringPos];
  704. if (ch == '-')
  705. {
  706. neg = -1;
  707. ch = string[++stringPos];
  708. }
  709. do
  710. {
  711. stringPos++;
  712. if ('0' <= ch <= '9')
  713. {
  714. num = (num * 10) + (ch - '0');
  715. }
  716. else
  717. {
  718. return -1;
  719. }
  720. }
  721. while ((ch = string[stringPos]) > ' ' && ch != delim);
  722. setarg(paramPos, 0, num * neg);
  723. }
  724. case 'h', 'x':
  725. {
  726. new
  727. num = 0,
  728. ch = string[stringPos];
  729. do
  730. {
  731. stringPos++;
  732. switch (ch)
  733. {
  734. case 'x', 'X':
  735. {
  736. num = 0;
  737. continue;
  738. }
  739. case '0' .. '9':
  740. {
  741. num = (num << 4) | (ch - '0');
  742. }
  743. case 'a' .. 'f':
  744. {
  745. num = (num << 4) | (ch - ('a' - 10));
  746. }
  747. case 'A' .. 'F':
  748. {
  749. num = (num << 4) | (ch - ('A' - 10));
  750. }
  751. default:
  752. {
  753. return -1;
  754. }
  755. }
  756. }
  757. while ((ch = string[stringPos]) > ' ' && ch != delim);
  758. setarg(paramPos, 0, num);
  759. }
  760. case 'c':
  761. {
  762. setarg(paramPos, 0, string[stringPos++]);
  763. }
  764. case 'f':
  765. {
  766.  
  767. new changestr[16], changepos = 0, strpos = stringPos;
  768. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  769. {
  770. changestr[changepos++] = string[strpos++];
  771. }
  772. changestr[changepos] = '\0';
  773. setarg(paramPos,0,_:floatstr(changestr));
  774. }
  775. case 'p':
  776. {
  777. delim = format[formatPos++];
  778. continue;
  779. }
  780. case '\'':
  781. {
  782. new
  783. end = formatPos - 1,
  784. ch;
  785. while ((ch = format[++end]) && ch != '\'') {}
  786. if (!ch)
  787. {
  788. return -1;
  789. }
  790. format[end] = '\0';
  791. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  792. {
  793. if (format[end + 1])
  794. {
  795. return -1;
  796. }
  797. return 0;
  798. }
  799. format[end] = '\'';
  800. stringPos = ch + (end - formatPos);
  801. formatPos = end + 1;
  802. }
  803. case 'u':
  804. {
  805. new
  806. end = stringPos - 1,
  807. id = 0,
  808. bool:num = true,
  809. ch;
  810. while ((ch = string[++end]) && ch != delim)
  811. {
  812. if (num)
  813. {
  814. if ('0' <= ch <= '9')
  815. {
  816. id = (id * 10) + (ch - '0');
  817. }
  818. else
  819. {
  820. num = false;
  821. }
  822. }
  823. }
  824. if (num && IsPlayerConnected(id))
  825. {
  826. setarg(paramPos, 0, id);
  827. }
  828. else
  829. {
  830. #if !defined foreach
  831. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  832. #define __SSCANF_FOREACH__
  833. #endif
  834. string[end] = '\0';
  835. num = false;
  836. new
  837. name[MAX_PLAYER_NAME];
  838. id = end - stringPos;
  839. foreach (Player, playerid)
  840. {
  841. GetPlayerName(playerid, name, sizeof (name));
  842. if (!strcmp(name, string[stringPos], true, id))
  843. {
  844. setarg(paramPos, 0, playerid);
  845. num = true;
  846. break;
  847. }
  848. }
  849. if (!num)
  850. {
  851. setarg(paramPos, 0, INVALID_PLAYER_ID);
  852. }
  853. string[end] = ch;
  854. #if defined __SSCANF_FOREACH__
  855. #undef foreach
  856. #undef __SSCANF_FOREACH__
  857. #endif
  858. }
  859. stringPos = end;
  860. }
  861. case 's', 'z':
  862. {
  863. new
  864. i = 0,
  865. ch;
  866. if (format[formatPos])
  867. {
  868. while ((ch = string[stringPos++]) && ch != delim)
  869. {
  870. setarg(paramPos, i++, ch);
  871. }
  872. if (!i)
  873. {
  874. return -1;
  875. }
  876. }
  877. else
  878. {
  879. while ((ch = string[stringPos++]))
  880. {
  881. setarg(paramPos, i++, ch);
  882. }
  883. }
  884. stringPos--;
  885. setarg(paramPos, i, '\0');
  886. }
  887. default:
  888. {
  889. continue;
  890. }
  891. }
  892. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  893. {
  894. stringPos++;
  895. }
  896. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  897. {
  898. stringPos++;
  899. }
  900. paramPos++;
  901. }
  902. do
  903. {
  904. if ((delim = format[formatPos++]) > ' ')
  905. {
  906. if (delim == '\'')
  907. {
  908. while ((delim = format[formatPos++]) && delim != '\'') {}
  909. }
  910. else if (delim != 'z')
  911. {
  912. return delim;
  913. }
  914. }
  915. }
  916. while (delim > ' ');
  917. return 0;
  918. }
  919.  
  920. forward Updatecheck(index, response_code, data[]);
  921. public Updatecheck(index, response_code, data[])
  922. {
  923. if(response_code == 200)
  924. {
  925. if(strcmp(data,Version, false))
  926. {
  927. }
  928. }
  929. return 1;
  930. }
  931.  
  932. forward torbsn();
  933. public torbsn()
  934. {
  935. MoveDynamicObject(bsntor,1194.2557373047, -941.72430419922, 41.753002166748,2.0);
  936. }
  937.  
  938.  
  939. forward OnPlayerCommandPerformed(playerid, cmdtext[], success);
  940. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  941. {
  942. if(!success) SendClientMessage(playerid, Rot, "Server: Dieser Befehl ist uns nicht bekannt (( /help ))");
  943. return 1;
  944. }
Advertisement
Add Comment
Please, Sign In to add comment