mskamilor

ssssss

Nov 1st, 2011
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 38.61 KB | None | 0 0
  1. //
  2. // <-----------------------[> jest to mapa robiona od 0 <]------------------------>
  3. // <-----------------------[> Thanks to [PJM]Shino <]--------------------->
  4. // <-----------------------[> Scripter [PJM]Shino <]---------------------->
  5. //
  6.  
  7.  
  8. //-----------]>Include<[---------------
  9. #include <a_samp>
  10. #include <dini>
  11. #include <ocmd>
  12. #include <a_money>
  13. //-----------]>Farben defines<[---------------
  14. #define GREEN 0x33AA33AA
  15. #define ROT 0xAA3333AA
  16. #define RED 0xAA3333AA
  17. #define WHITE 0xFFFFFFAA
  18. #define COLOR_RED 0xFF0000FF
  19. #define GELB 0xFFFF00AA
  20. #define BLAU 0x0073FFFF
  21. #define COLOR_REDA 0xFF0000FF//ServerOwner
  22. //-----------]>Defines<[---------------
  23. #define DIALOG_REGISTER 1
  24. #define DIALOG_LOGIN 2
  25. #define DIALOG_AWAFFEN 3
  26. #define DIALOG_STYLWALKI 4
  27. //-----------]>Defines "Andere"<[---------------
  28. //-----------]>news<[---------------
  29. new AFK[MAX_PLAYERS];
  30. new SpectateID[MAX_PLAYERS];
  31. new gSpectateType[MAX_PLAYERS];
  32. new Text3D:ServerOwner[MAX_PLAYERS];
  33. new Text:RealClock;
  34. //-----------]>forwards<[---------------
  35. forward wetter();
  36. forward UpdateClock();
  37. //_________________[Fraktionenspawn]______________________________
  38. //LSPD
  39.  
  40. main()
  41. {
  42. print("\n----------------------------------");
  43. print("Polska Jazda Na MaX'a 2012 !!! ");
  44. print("Mapka powstała dzieki [PJM]Shino\n");
  45. }
  46.  
  47. public OnGameModeInit()
  48. {
  49. EnableStuntBonusForAll(0);
  50. SetGameModeText("Bla Bla");
  51.  
  52. SetTimer("wetter",88888,1);
  53. SetTimer("UpdateClock",1000,1);
  54.  
  55.  
  56. AddPlayerClass(1,1772.8500,-1941.1500,13.5700,54.6745, 21,110,0,0,0,0);
  57. AddPlayerClass(4,1772.8500,-1941.1500,13.5700,54.6745, 21,110,0,0,0,0);
  58. AddPlayerClass(5,1772.8500,-1941.1500,13.5700,54.6745, 21,110,0,0,0,0);
  59. AddPlayerClass(6,1772.8500,-1941.1500,13.5700,54.6745, 21,110,0,0,0,0);
  60. AddPlayerClass(7,1772.8500,-1941.1500,13.5700,54.6745, 21,110,0,0,0,0);
  61. AddPlayerClass(8,1772.8500,-1941.1500,13.5700,54.6745, 21,110,0,0,0,0);
  62. AddPlayerClass(9,1772.8500,-1941.1500,13.5700,54.6745, 21,110,0,0,0,0);
  63. AddPlayerClass(10,1772.8500,-1941.1500,13.5700,54.6745, 0,0,0,0,0,0);
  64. AddPlayerClass(11,1772.8500,-1941.1500,13.5700,54.6745, 0,0,0,0,0,0);
  65. AddPlayerClass(12,1772.8500,-1941.1500,13.5700,54.6745, 0,0,0,0,0,0);
  66. AddPlayerClass(13,1772.8500,-1941.1500,13.5700,54.6745, 0,0,0,0,0,0);
  67. AddPlayerClass(14,1772.8500,-1941.1500,13.5700,54.6745, 0,0,0,0,0,0);
  68. AddPlayerClass(15,1772.8500,-1941.1500,13.5700,54.6745, 0,0,0,0,0,0);
  69. AddPlayerClass(16,1772.8500,-1941.1500,13.5700,54.6745, 0,0,0,0,0,0);
  70. AddPlayerClass(17,1772.8500,-1941.1500,13.5700,54.6745, 0,0,0,0,0,0);
  71. AddPlayerClass(18,1772.8500,-1941.1500,13.5700,54.6745, 0,0,0,0,0,0);
  72. AddPlayerClass(19,1772.8500,-1941.1500,13.5700,54.6745, 0,0,0,0,0,0);
  73. AddStaticVehicle(402,1776.8549,-1933.1395,13.2183,3.7009,90,90); //do testów
  74. AddStaticVehicle(409,1781.8505,-1931.5978,13.1831,1.2185,1,1); //do testów
  75. AddStaticVehicle(411,1786.8469,-1933.5282,13.1603,0.7995,112,1); //do testów
  76.  
  77. RealClock = TextDrawCreate(545.000000, 21.000000, "15:17"); //Erstellt einen Textdraw mit dem Namen RealClock und mit einem leeren String, da wir den String später mit einem Timer definieren
  78. TextDrawBackgroundColor(RealClock, 255); //Hintergrundfarbe des Textdraws
  79. TextDrawFont(RealClock, 3); //Schriftart des Textdraws (mögliche Schriftarten: 0,1,2 und 3)
  80. TextDrawLetterSize(RealClock, 0.509999, 2.299999); //größe des Textdraws
  81. TextDrawColor(RealClock, -1); //Farbe des Textdraws (-1 = Weiß)
  82. TextDrawSetOutline(RealClock, 0); //Kontur des Textdraws
  83. TextDrawSetProportional(RealClock, 1);
  84. TextDrawSetShadow(RealClock, 1);
  85.  
  86. return 1;
  87.  
  88. }
  89.  
  90.  
  91. public OnGameModeExit()
  92. {
  93. return 1;
  94. }
  95. public OnPlayerRequestClass(playerid, classid)
  96. {
  97. SetPlayerPos(playerid,1283.7056,-1213.5532,13.6797);
  98. SetPlayerFacingAngle(playerid,184.7178);
  99. SetPlayerCameraPos(playerid,1283.3951,-1218.2144,13.6797);
  100. SetPlayerCameraLookAt(playerid,1283.7056,-1213.5532,13.6797);
  101. return 1;
  102. }
  103.  
  104. public OnPlayerConnect(playerid)
  105. {
  106. new Spielerdatei[64];
  107. new name[MAX_PLAYER_NAME];
  108. GetPlayerName(playerid,name,sizeof(name));
  109. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  110. if(dini_Exists(Spielerdatei))
  111. {
  112. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"{00FFFF}Logowanie","Witamy spowrotem prosze się {00FF00}zalogować","Zaloguj","Wyjdź");
  113. }
  114. else
  115. {
  116. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"{00FFFF}Rejestracja","Widać że jesteś nowy musisz się {00FF00}zarejestrować","Rejestracja","Anuluj");
  117. }
  118. new pName[MAX_PLAYER_NAME];
  119. new string[48];
  120. GetPlayerName(playerid, pName, sizeof(pName));
  121. format(string, sizeof(string),"%s Dołączył do Serwera",pName);
  122. SendClientMessageToAll(0xAAAAAAAA, string);
  123. return 1;
  124. }
  125.  
  126. public OnPlayerDisconnect(playerid, reason)
  127. {
  128. if(GetPVarInt(playerid,"loggedin")==1)
  129. {
  130. SpielerSpeichern(playerid);
  131. }
  132. new pName[MAX_PLAYER_NAME], string[56];
  133. GetPlayerName(playerid, pName, sizeof(pName));
  134. switch(reason)
  135. {
  136. case 0: format(string, sizeof(string), "%s Wyszedł z serwera. (Crash)", pName);
  137. case 1: format(string, sizeof(string), "%s Wyszedł z serwera. (Wyszedł)", pName);
  138. case 2: format(string, sizeof(string), "%s Wyszedł z serwera. (Kick)", pName);
  139. }
  140. SendClientMessageToAll(0xAAAAAAAA, string);
  141. return 1;
  142. }
  143.  
  144. public OnPlayerSpawn(playerid)
  145. {
  146. new Owner[MAX_PLAYER_NAME];
  147. if(isPlayerAnAdmin(playerid,5))
  148. {
  149. Owner = "ServerOwner";
  150. ServerOwner[playerid] = Create3DTextLabel(Owner,COLOR_REDA,0,0,0,70.5,1);
  151. Attach3DTextLabelToPlayer(ServerOwner[playerid], playerid, 0.0, 0.0, 0.45);
  152. }
  153. SetPlayerScore(playerid,0);
  154. GiveMoney(playerid,30000);
  155. return 1;
  156. }
  157.  
  158. public OnPlayerDeath(playerid, killerid, reason)
  159. {
  160. SendClientMessage(playerid,ROT,"Zginołeś");
  161. return 1;
  162. }
  163.  
  164. public OnVehicleSpawn(vehicleid)
  165. {
  166. return 1;
  167. }
  168.  
  169. public OnVehicleDeath(vehicleid, killerid)
  170. {
  171. return 1;
  172. }
  173.  
  174. public OnPlayerText(playerid, text[])
  175. {
  176. SetPlayerChatBubble(playerid,text,GREEN,40.0,5000);
  177. return 1;
  178. }
  179. public OnPlayerCommandText(playerid, cmdtext[])
  180. {
  181. if(strcmp("/zw",cmdtext,true) == 0)
  182. {
  183. if(AFK[playerid] == 0)
  184. {
  185. new string[128];
  186. new spieler[MAX_PLAYER_NAME];
  187. TogglePlayerControllable(playerid,0);
  188. GetPlayerName(playerid, spieler, sizeof(spieler));
  189. format(string, sizeof(string), "%s zaraz wraca", spieler);
  190. SendClientMessageToAll(RED, string);
  191. AFK[playerid] = 1;
  192. }
  193. else
  194. {
  195. SendClientMessage(playerid, RED, "użyj /jj aby powrucić");
  196. }
  197. return 1;
  198. }
  199. if(strcmp("/jj",cmdtext, true) == 0)
  200. {
  201. if(AFK[playerid] == 1)
  202. {
  203. new string[128];
  204. new spieler[MAX_PLAYER_NAME];
  205. TogglePlayerControllable(playerid,1);
  206. GetPlayerName(playerid, spieler, sizeof(spieler));
  207. format(string, sizeof(string), "%s już jest", spieler);
  208. SendClientMessageToAll(RED, string);
  209. AFK[playerid] = 0;
  210. }
  211. else
  212. {
  213. SendClientMessage(playerid, RED, "nie jesteś /zw");
  214. }
  215. return 1;
  216. }
  217. if (strcmp("/pomoc", cmdtext, true) == 0)
  218. {
  219. SendClientMessage(playerid,GREEN,"Komendy");
  220. SendClientMessage(playerid,GREEN,"Główne: /zw /jj /bronie /lock /unlock /kill /teleporty /stylwalki");
  221. SendClientMessage(playerid,GREEN,"Animacje: /handsup /dance1-4 /sitting /phone /stopphone /duck ");
  222. return 1;
  223. }
  224. if (strcmp("/teleporty", cmdtext, true) == 0)
  225. {
  226. SendClientMessage(playerid,GREEN,"|___>>Teleporty<<___|");
  227. SendClientMessage(playerid,GREEN," ");
  228. SendClientMessage(playerid,GREEN,"");
  229. return 1;
  230. }
  231. // ||___________________________________>>>>>>>>>>>>>>>>>>>TELEPORTY<<<<<<<<<<<<<<<<<_______________________________________||
  232. // if(strcmp("/",cmdtext,true)==0)
  233. // {
  234. // SetPlayerPos(playerid,274.79, 4931.20, 773.40);
  235. // }
  236. // ||____________________________________>>>>>>>>>>>>>>>>>>>TELEPORTY END <<<<<<<<<<<<________________________________________||
  237. if (strcmp("/aheal", cmdtext, true) == 0)
  238. {
  239. if(isPlayerAnAdmin(playerid,3))
  240. SetPlayerHealth(playerid,100);
  241. }
  242. if (strcmp("/kill", cmdtext, true) == 0)
  243. {
  244. SetPlayerHealth(playerid,0);
  245. }
  246.  
  247. if(strcmp("/bronie",cmdtext,true) == 0)
  248. {
  249. {
  250. ShowPlayerDialog(playerid,DIALOG_AWAFFEN,DIALOG_STYLE_LIST,"Bronie","Deagle\n mp5\n m4\nshotgun","Wybierz","Anuluj");
  251. }
  252. return 1;
  253. }
  254. if(strcmp("/stylwalki",cmdtext,true) == 0)
  255. {
  256. {
  257. ShowPlayerDialog(playerid,DIALOG_STYLWALKI,DIALOG_STYLE_LIST,"Stylwalki"," Normalny\n{00FF00}Box\nKungfu\n{FF00FF}Kneehead\nElbow","Wybierz","Anuluj");
  258. }
  259. return 1;
  260. }
  261. if(strcmp(cmdtext,"/agod",true)==0)
  262. {
  263. if(isPlayerAnAdmin(playerid,4))
  264. {
  265. SetPlayerHealth(playerid,100000000);
  266. return 1;
  267. }
  268. }
  269. if(strcmp(cmdtext,"/agodoff",true)==0)
  270. {
  271. if(isPlayerAnAdmin(playerid,4))
  272. {
  273. SetPlayerHealth(playerid,100);
  274. return 1;
  275. }
  276. }
  277. if(strcmp(cmdtext,"/restart",true)==0)
  278. {
  279. if(!isPlayerAnAdmin(playerid,4))
  280. return SendClientMessage(playerid,RED,"");
  281. SaveAllPlayerAccounts();
  282. SendClientMessageToAll(RED,"Serwer został zrestartowany!.\nWasze Statystyki zostały zapisane");
  283. GameModeExit();
  284. return 1;
  285. }
  286. if (strcmp("/ah", cmdtext, true) == 0)
  287. {
  288. if(isPlayerAnAdmin(playerid,1))
  289. {
  290. SendClientMessage(playerid,GREEN,"Komendy Admina");
  291. SendClientMessage(playerid,GREEN," /aheal /agod /agodoff /restart /setadmin /ban /kick /clear");
  292. SendClientMessage(playerid,GREEN," /sethp /goto /gethere /spawnplayer /freeze /unfreeze /setrespekt /pogoda");
  293. SendClientMessage(playerid,GREEN," /setskin /setint /setvw /specplayer /specoff");
  294. }
  295. else
  296. {
  297. SendClientMessage(playerid,GREEN,"Nie jestes Adminem!");
  298. }
  299. return 1;
  300. }
  301. if (strcmp(cmdtext, "/admins", true) == 0)
  302. {
  303. SendClientMessage(playerid, WHITE, "|__________Admini__________|");
  304.  
  305. new i = 0, aname[256], string[256];
  306. for(; i < MAX_PLAYERS; i++)
  307. {
  308. if(IsPlayerConnected(i))
  309. {
  310. if(GetPVarInt(playerid,"Adminlevel")==1)
  311. {
  312. GetPlayerName(i, aname, sizeof(aname));
  313. format(string, 256, "J.Admin: %s", aname);
  314. SendClientMessage(playerid, GREEN, string);
  315. }
  316. else if(GetPVarInt(playerid,"Adminlevel")==2)
  317. {
  318. GetPlayerName(i, aname, sizeof(aname));
  319. format(string, 256, "Moderator: %s", aname);
  320. SendClientMessage(playerid, GREEN, aname);
  321. }
  322. else if(GetPVarInt(playerid,"Adminlevel")==3)
  323. {
  324. GetPlayerName(i, aname, sizeof(aname));
  325. format(string, 256, "Super Moderator: %s", aname);
  326. SendClientMessage(playerid, GREEN, string);
  327.  
  328. }
  329. else if(GetPVarInt(playerid,"Adminlevel")==4)
  330. {
  331. GetPlayerName(i, aname, sizeof(aname));
  332. format(string, 256, "Vice HeadAdmin: %s", aname);
  333. SendClientMessage(playerid, ROT, string);
  334.  
  335. }
  336. else if(GetPVarInt(playerid,"Adminlevel")==5)
  337. {
  338. GetPlayerName(i, aname, sizeof(aname));
  339. format(string, 256, "HeadAdmin: %s", aname);
  340. SendClientMessage(playerid, ROT, string);
  341.  
  342. }
  343. }
  344. }
  345. return 1;
  346. }
  347. if (strcmp("/clear", cmdtext, true, 10) == 0)
  348. {
  349. if(isPlayerAnAdmin(playerid,1))
  350. {
  351. SendClientMessage(playerid, COLOR_RED,"You must be a Moderator or higher to see clear the chat");
  352. }
  353. SendClientMessageToAll(COLOR_RED,"");
  354. SendClientMessageToAll(COLOR_RED,"");
  355. SendClientMessageToAll(COLOR_RED,"");
  356. SendClientMessageToAll(COLOR_RED,"");
  357. SendClientMessageToAll(COLOR_RED,"");
  358. SendClientMessageToAll(COLOR_RED,"");
  359. SendClientMessageToAll(COLOR_RED,"");
  360. SendClientMessageToAll(COLOR_RED,"");
  361. SendClientMessageToAll(COLOR_RED,"");
  362. SendClientMessageToAll(COLOR_RED,"");
  363. SendClientMessageToAll(COLOR_RED,"");
  364. SendClientMessageToAll(COLOR_RED,"");
  365. SendClientMessageToAll(COLOR_RED,"");
  366. SendClientMessageToAll(COLOR_RED,"");
  367. SendClientMessageToAll(COLOR_RED,"");
  368. SendClientMessageToAll(COLOR_RED,"");
  369. SendClientMessageToAll(COLOR_RED,"");
  370. SendClientMessageToAll(COLOR_RED,"");
  371. SendClientMessageToAll(COLOR_RED,"");
  372. SendClientMessageToAll(COLOR_RED,"");
  373. SendClientMessageToAll(COLOR_RED,"");
  374. SendClientMessageToAll(COLOR_RED,"");
  375. SendClientMessageToAll(COLOR_RED,"");
  376. SendClientMessageToAll(COLOR_RED,"");
  377. SendClientMessageToAll(COLOR_RED,"");
  378. SendClientMessageToAll(COLOR_RED,"");
  379. SendClientMessageToAll(COLOR_RED,"");
  380. SendClientMessageToAll(COLOR_RED,"");
  381. SendClientMessageToAll(COLOR_RED,"");
  382. SendClientMessageToAll(COLOR_RED,"");
  383. SendClientMessageToAll(COLOR_RED,"");
  384. SendClientMessageToAll(COLOR_RED,"");
  385. SendClientMessageToAll(COLOR_RED,"");
  386. SendClientMessageToAll(COLOR_RED,"");
  387. SendClientMessageToAll(COLOR_RED,"");
  388. SendClientMessageToAll(COLOR_RED,"");
  389. SendClientMessageToAll(COLOR_RED,"");
  390. SendClientMessageToAll(COLOR_RED,"");
  391. SendClientMessageToAll(COLOR_RED,"");
  392. SendClientMessageToAll(COLOR_RED,"");
  393. SendClientMessageToAll(COLOR_RED,"");
  394. SendClientMessageToAll(COLOR_RED,"");
  395. SendClientMessageToAll(COLOR_RED,"");
  396. SendClientMessageToAll(COLOR_RED,"");
  397. SendClientMessageToAll(COLOR_RED,"");
  398. SendClientMessageToAll(COLOR_RED,"");
  399. SendClientMessageToAll(COLOR_RED,"");
  400. SendClientMessageToAll(COLOR_RED,"");
  401. SendClientMessageToAll(COLOR_RED,"");
  402. SendClientMessageToAll(COLOR_RED,"");
  403. SendClientMessageToAll(COLOR_RED,"");
  404. SendClientMessageToAll(COLOR_RED,"");
  405. SendClientMessageToAll(COLOR_RED,"");
  406. SendClientMessageToAll(COLOR_RED,"");
  407. SendClientMessageToAll(COLOR_RED,"");
  408. SendClientMessageToAll(COLOR_RED,"");
  409. SendClientMessageToAll(COLOR_RED,"");
  410. SendClientMessageToAll(COLOR_RED,"");
  411. SendClientMessageToAll(COLOR_RED,"");
  412. SendClientMessageToAll(COLOR_RED,"");
  413. SendClientMessageToAll(COLOR_RED,"");
  414. SendClientMessageToAll(COLOR_RED,"");
  415. SendClientMessageToAll(COLOR_RED,"");
  416. SendClientMessageToAll(COLOR_RED,"");
  417. SendClientMessageToAll(COLOR_RED,"");
  418. SendClientMessageToAll(COLOR_RED,"");
  419. SendClientMessageToAll(COLOR_RED,"");
  420. SendClientMessageToAll(COLOR_RED,"");
  421. SendClientMessageToAll(COLOR_RED,"");
  422. SendClientMessageToAll(COLOR_RED,"");
  423. SendClientMessageToAll(COLOR_RED,"");
  424. SendClientMessageToAll(COLOR_RED,"");
  425. SendClientMessageToAll(COLOR_RED,"");
  426. SendClientMessageToAll(COLOR_RED,"");
  427. SendClientMessageToAll(COLOR_RED,"");
  428. SendClientMessageToAll(COLOR_RED,"");
  429. SendClientMessageToAll(COLOR_RED,"");
  430. SendClientMessageToAll(COLOR_RED,"");
  431. SendClientMessageToAll(COLOR_RED,"");
  432. SendClientMessageToAll(COLOR_RED,"");
  433. SendClientMessageToAll(COLOR_RED,"");
  434. SendClientMessageToAll(COLOR_RED,"");
  435. SendClientMessageToAll(COLOR_RED,"");
  436. SendClientMessageToAll(COLOR_RED,"");
  437. SendClientMessageToAll(COLOR_RED,"");
  438. SendClientMessageToAll(COLOR_RED,"");
  439. SendClientMessageToAll(COLOR_RED,"");
  440. SendClientMessageToAll(COLOR_RED,"");
  441. SendClientMessageToAll(COLOR_RED,"");
  442. SendClientMessageToAll(COLOR_RED,"");
  443. SendClientMessageToAll(COLOR_RED,"");
  444. SendClientMessageToAll(COLOR_RED,"");
  445. SendClientMessageToAll(COLOR_RED,"");
  446. SendClientMessageToAll(COLOR_RED,"");
  447. SendClientMessageToAll(COLOR_RED,"");
  448. SendClientMessageToAll(COLOR_RED,"");
  449. SendClientMessageToAll(COLOR_RED,"");
  450. SendClientMessageToAll(COLOR_RED,"");
  451. new name[MAX_PLAYER_NAME],string[128];
  452. GetPlayerName(playerid,name,sizeof(name));
  453. format(string,sizeof(string),"Admin %s wyczyścił czat",name);
  454. SendClientMessageToAll(GREEN,string);
  455. return 1;
  456. }
  457. //_________________________________________[SpecialAction]____________________________________
  458. if(strcmp(cmdtext,"/handsup", true) ==0)
  459. {
  460. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
  461. return 1;
  462. }
  463.  
  464. if(strcmp(cmdtext,"/Dance1", true) ==0)
  465. {
  466. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
  467. return 1;
  468. }
  469.  
  470. if(strcmp(cmdtext,"/Dance2", true) ==0)
  471. {
  472. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE2);
  473. return 1;
  474. }
  475.  
  476. if(strcmp(cmdtext,"/Dance3", true) ==0)
  477. {
  478. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE3);
  479. return 1;
  480. }
  481.  
  482. if(strcmp(cmdtext,"/Dance4", true) ==0)
  483. {
  484. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE4);
  485. return 1;
  486. }
  487.  
  488. if(strcmp(cmdtext,"/sitting", true) ==0)
  489. {
  490. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_SITTING);
  491. return 1;
  492. }
  493.  
  494. if(strcmp(cmdtext,"/phone", true) ==0)
  495. {
  496. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_USECELLPHONE);
  497. return 1;
  498. }
  499.  
  500. if(strcmp(cmdtext,"/stopphone", true) ==0)
  501. {
  502. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_STOPUSECELLPHONE);
  503. return 1;
  504. }
  505.  
  506. if(strcmp(cmdtext,"/duck", true) ==0)
  507. {
  508. SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DUCK);
  509. return 1;
  510. }
  511. if(!strcmp(cmdtext, "/lock", true))
  512. {
  513. if(!IsPlayerInAnyVehicle(playerid))
  514. return SendClientMessage(playerid, -1, "{00FF00}Aby użyć tej komendy musisz znajdować się w pojeździe!");
  515. SendClientMessage(playerid, -1, "{00FF00}Pojazd został zamknięty.");
  516. for(new i=0;i<MAX_PLAYERS;i++)
  517. {
  518. if(i != playerid)
  519. {
  520. SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
  521. }
  522. }
  523. return 1;
  524. }
  525. if(!strcmp(cmdtext, "/unlock", true))
  526. {
  527. if(!IsPlayerInAnyVehicle(playerid))
  528. return SendClientMessage(playerid, -1, "{FFFFFF}Aby użyć tej komendy musisz znajdować się w pojeździe!");
  529. SendClientMessage(playerid, -1, "{00FF00}Pojazd został otwarty");
  530. for(new i=0;i<MAX_PLAYERS;i++)
  531. {
  532. if(i != playerid)
  533. {
  534. SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 0);
  535. }
  536. }
  537. return 1;
  538. }
  539. return SendClientMessage(playerid,ROT,"Niema takiej komendy >>>/pomoc");
  540. }
  541. // <<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<< Admin befehle OCMD >>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>
  542. ocmd:setadmin(playerid,params[])
  543. {
  544. if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"nie jesteś adminem -.-'.");
  545. new pID, rank;
  546. if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,ROT,"/setadmin [ID] [rang(1-5)]");
  547. if(rank<1||rank>5)return SendClientMessage(playerid,ROT,"zły rang.");
  548. SetPVarInt(pID,"Adminlevel",rank);
  549. SpielerSpeichern(pID);
  550. return 1;
  551. }
  552. ocmd:ban(playerid,params[])
  553. {
  554. if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"nie jesteś adminem -.-'");
  555. new pID, reason[128],string[128];
  556. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,RED,"/ban [id] [powód]");
  557. format(string,sizeof(string),"AdmCmd: %s został zbanowany przez Admina %s Powód: %s",SpielerName(pID),SpielerName(playerid),reason);
  558. SendClientMessageToAll(ROT,string);
  559. SetPVarInt(pID,"Baned",1);
  560. Ban(pID);
  561. return 1;
  562. }
  563. ocmd:kick(playerid,params[])
  564. {
  565. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"nie jesteś adminem -.-'");
  566. new pID, reason[128],string[128];
  567. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,RED,"/kick [id] [powód]");
  568. format(string,sizeof(string),"AdmCmd: %s został wyrzucony przez Admina %s . Powód: %s",SpielerName(pID),SpielerName(playerid),reason);
  569. SendClientMessageToAll(ROT,string);
  570. Kick(pID);
  571. return 1;
  572. }
  573.  
  574. ocmd:sethp(playerid,params[])
  575. {
  576. if(isPlayerAnAdmin(playerid,3))
  577. {
  578. new pID,HP;
  579. if(sscanf(params,"dd",pID,HP))
  580. {
  581. return SendClientMessage(playerid,WHITE,"użyj: /sethp [ID] [HP]");
  582. }
  583. SetPlayerHealth(pID,HP);
  584. }
  585. else
  586. {
  587. SendClientMessage(playerid,ROT,"");
  588. }
  589. return 1;
  590. }
  591. ocmd:goto(playerid,params[])
  592. {
  593. new pID;
  594. if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_RED,"użyj: /goto [ID]");
  595. if(isPlayerAnAdmin(playerid,3))
  596. {
  597. new Float:x,Float:y,Float:z;
  598. GetPlayerPos(pID,x,y,z);
  599. SetPlayerPos(playerid,x,y,z);
  600. }
  601. else
  602. {
  603. SendClientMessage(playerid,ROT,"nie jesteś adminem -.-'");
  604. }
  605. return 1;
  606. }
  607. ocmd:gethere(playerid,params[])
  608. {
  609. new pID;
  610. if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_RED,"użyj: /gethere [ID]");
  611. if(isPlayerAnAdmin(playerid,1))
  612. {
  613. new Float:x,Float:y,Float:z;
  614. GetPlayerPos(playerid,x,y,z);
  615. SetPlayerPos(pID,x,y,z);
  616. }
  617. else
  618. {
  619. SendClientMessage(playerid,ROT,"nie jesteś adminem -.-'");
  620. }
  621. return 1;
  622. }
  623. ocmd:spawnplayer(playerid,params[])
  624. {
  625.  
  626. new pID;
  627. if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_RED,"użyj: /spawnplayer [ID]");
  628. if(isPlayerAnAdmin(playerid,3))
  629. {
  630. SpawnPlayer(pID);
  631. }
  632. else
  633. {
  634. SendClientMessage(playerid,ROT,"nie jesteś adminem -.-'");
  635. }
  636. return 1;
  637. }
  638. ocmd:freeze(playerid,params[])
  639. {
  640. new pID;
  641. if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_RED,"użyj: /freeze [ID]");
  642. if(isPlayerAnAdmin(playerid,1))
  643. {
  644. TogglePlayerControllable(pID,0);
  645. SendClientMessage(pID,COLOR_RED,"Został zamrożony przez Admina");
  646. SendClientMessage(playerid,COLOR_RED,"Zamroziłeś gracza");
  647. }
  648. else
  649. {
  650. SendClientMessage(playerid,ROT,"nie jesteś adminem -.-'");
  651. }
  652. return 1;
  653. }
  654. ocmd:unfreeze(playerid,params[])
  655. {
  656. new pID;
  657. if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_RED,"użyj: /unfreeze [ID]");
  658. if(isPlayerAnAdmin(playerid,1))
  659. {
  660. TogglePlayerControllable(pID,1);
  661. SendClientMessage(pID,COLOR_RED,"Zostałeś odmrozony przez Admina");
  662. SendClientMessage(playerid,COLOR_RED,"Odmroziłeś gracza");
  663. }
  664. else
  665. {
  666. SendClientMessage(playerid,ROT,"nie jesteś adminem -.-'");
  667. }
  668. return 1;
  669. }
  670. ocmd:setrespekt(playerid,params[])
  671. {
  672. new pID,Score;
  673. if(sscanf(params,"ui",pID,Score))return SendClientMessage(playerid,COLOR_RED,"użyj: /setrespekt [ID] [respekt]");
  674. if(isPlayerAnAdmin(playerid,4))
  675. {
  676. SetPlayerScore(pID,Score);
  677. }
  678. else
  679. {
  680. SendClientMessage(playerid,ROT,"nie jesteś adminem -.-'");
  681. }
  682. return 1;
  683. }
  684. ocmd:pogoda(playerid,params[])
  685. {
  686. new weather;
  687. if(sscanf(params,"i",weather))return SendClientMessage(playerid,COLOR_RED,"użyj: /pogoda [id-pogody]");
  688. if(isPlayerAnAdmin(playerid,4))
  689. {
  690. SetWeather(weather);
  691. SendClientMessage(playerid,COLOR_RED,"nie jesteś adminem -.-'");
  692. }
  693. else
  694. {
  695. }
  696. return 1;
  697. }
  698. ocmd:setskin(playerid,params[])
  699. {
  700. new pID,skin;
  701. if(sscanf(params,"ui",pID,skin))return SendClientMessage(playerid,COLOR_RED,"użyj: /setskin [id] [Skin]");
  702. if(isPlayerAnAdmin(playerid,3))
  703. {
  704. SetPlayerSkin(pID,skin);
  705. SendClientMessage(pID,COLOR_RED,"Admin ustawił ci skin ");
  706. SendClientMessage(playerid,COLOR_RED,"Skin ustawiony");
  707. }
  708. else
  709. {
  710. }
  711. return 1;
  712. }
  713. ocmd:setint(playerid,params[])
  714. {
  715. new pID,int;
  716. if(sscanf(params,"ui",pID,int))return SendClientMessage(playerid,COLOR_RED,"użyj: /setskin [id] [Interior]");
  717. if(isPlayerAnAdmin(playerid,1))
  718. {
  719. SetPlayerInterior(pID,int);
  720. SendClientMessage(pID,COLOR_RED,"Admin ustawił ci Interior");
  721. SendClientMessage(playerid,COLOR_RED,"Interior ustawiony");
  722. }
  723. else
  724. {
  725. }
  726. return 1;
  727. }
  728. ocmd:setvw(playerid,params[])
  729. {
  730. new pID,vw;
  731. if(sscanf(params,"ui",pID,vw))return SendClientMessage(playerid,COLOR_RED,"użyj: /setskin [id] [vw]");
  732. if(isPlayerAnAdmin(playerid,1))
  733. {
  734. SetPlayerVirtualWorld(pID,vw);
  735. SendClientMessage(pID,COLOR_RED,"Twój wirtualnt świat został ustawiony przez admina ");
  736. SendClientMessage(playerid,COLOR_RED,"wirtualny świat ustawiony");
  737. }
  738. else
  739. {
  740. }
  741. return 1;
  742. }
  743. ocmd:specplayer(playerid,params[])
  744. {
  745. new specplayerid;
  746. if(sscanf(params,"u",specplayerid))return SendClientMessage(playerid, WHITE, "użyj: /specplayer [id]");
  747. if(!IsPlayerConnected(specplayerid))return SendClientMessage(playerid, COLOR_RED, "Gracz z takim ID nie jest Online");
  748. if(isPlayerAnAdmin(playerid,3))
  749. {
  750. TogglePlayerSpectating(playerid, 1);
  751. PlayerSpectatePlayer(playerid, specplayerid);
  752. SetPlayerInterior(playerid,GetPlayerInterior(specplayerid));
  753. SpectateID[playerid] = specplayerid;
  754. gSpectateType[playerid] = 1;
  755. }
  756. else
  757. {
  758. }
  759. return 1;
  760. }
  761. ocmd:specoff(playerid)
  762. {
  763. if(isPlayerAnAdmin(playerid,3))
  764. {
  765. TogglePlayerSpectating(playerid, 0);
  766. SpectateID[playerid] = INVALID_PLAYER_ID;
  767. gSpectateType[playerid] = 0;
  768. }
  769. else
  770. {
  771. }
  772. return 1;
  773. }
  774.  
  775. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  776. {
  777. return 1;
  778. }
  779.  
  780. public OnPlayerExitVehicle(playerid, vehicleid)
  781. {
  782. return 1;
  783. }
  784. public OnPlayerStateChange(playerid, newstate, oldstate)
  785. {
  786. return 1;
  787. }
  788. public OnPlayerEnterCheckpoint(playerid)
  789. {
  790. return 1;
  791. }
  792.  
  793. public OnPlayerLeaveCheckpoint(playerid)
  794. {
  795. return 1;
  796. }
  797.  
  798. public OnPlayerEnterRaceCheckpoint(playerid)
  799. {
  800. return 1;
  801. }
  802.  
  803. public OnPlayerLeaveRaceCheckpoint(playerid)
  804. {
  805. return 1;
  806. }
  807.  
  808. public OnRconCommand(cmd[])
  809. {
  810. return 1;
  811. }
  812.  
  813. public OnPlayerRequestSpawn(playerid)
  814. {
  815. return 1;
  816. }
  817.  
  818. public OnObjectMoved(objectid)
  819. {
  820. return 1;
  821. }
  822.  
  823. public OnPlayerObjectMoved(playerid, objectid)
  824. {
  825. return 1;
  826. }
  827.  
  828. public OnPlayerPickUpPickup(playerid, pickupid)
  829. {
  830. return 1;
  831. }
  832.  
  833. public OnVehicleMod(playerid, vehicleid, componentid)
  834. {
  835. return 1;
  836. }
  837.  
  838. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  839. {
  840. return 1;
  841. }
  842.  
  843. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  844. {
  845. return 1;
  846. }
  847.  
  848. public OnPlayerSelectedMenuRow(playerid, row)
  849. {
  850. return 1;
  851. }
  852.  
  853. public OnPlayerExitedMenu(playerid)
  854. {
  855. return 1;
  856. }
  857.  
  858. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  859. {
  860. for(new i=0; i<MAX_PLAYERS; i++)
  861. {
  862. if(IsPlayerConnected(i)&&GetPlayerState(i)==PLAYER_STATE_SPECTATING&&SpectateID[i]==playerid&&gSpectateType[i]==1)
  863. {
  864. SetPlayerInterior(i,newinteriorid);
  865. }
  866. }
  867. return 1;
  868. }
  869. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  870. {
  871. return 1;
  872. }
  873.  
  874. public OnRconLoginAttempt(ip[], password[], success)
  875. {
  876. return 1;
  877. }
  878.  
  879. public OnPlayerUpdate(playerid)
  880. {
  881. return 1;
  882. }
  883.  
  884. public OnPlayerStreamIn(playerid, forplayerid)
  885. {
  886. return 1;
  887. }
  888.  
  889. public OnPlayerStreamOut(playerid, forplayerid)
  890. {
  891. return 1;
  892. }
  893.  
  894. public OnVehicleStreamIn(vehicleid, forplayerid)
  895. {
  896. return 1;
  897. }
  898.  
  899. public OnVehicleStreamOut(vehicleid, forplayerid)
  900. {
  901. return 1;
  902. }
  903.  
  904. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  905. {
  906. if(dialogid==DIALOG_LOGIN)
  907. {
  908. if(response==0)
  909. {
  910. SendClientMessage(playerid,RED,"Bez Zalogowania nie pograsz!");
  911. Kick(playerid);
  912. return 1;
  913. }
  914. if(response==1)
  915. {
  916. if(!strlen(inputtext))
  917. {
  918. SendClientMessage(playerid,RED,"Hasło za krutkie");
  919. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"{00FFFF}Logowanie","Witamy spowrotem prosze się {00FF00}zalogować","Zaloguj","Wyjdź");
  920. return 1;
  921. }
  922. else
  923. {
  924. Login(playerid,inputtext);
  925. return 1;
  926. }
  927. }
  928. }
  929. if(dialogid==DIALOG_REGISTER)
  930. {
  931. if(response==0)
  932. {
  933. SendClientMessage(playerid,RED,"Bez konta sobie nie pograsz!");
  934. Kick(playerid);
  935. return 1;
  936. }
  937. if(response==1)
  938. {
  939. if(!strlen(inputtext))
  940. {
  941. SendClientMessage(playerid,RED,"Hasło za krutkie");
  942. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"{00FFFF}Rejestracja","Widać że jesteś {0000FF}nowy\nwybierz Hasło dla siebie","Rejestracja","Wyjdź");
  943. return 1;
  944. }
  945. else
  946. {
  947. Register(playerid,inputtext);
  948. return 1;
  949. }
  950. }
  951. }
  952. if(dialogid==DIALOG_AWAFFEN)
  953. {
  954. if(response)
  955. {
  956. if(listitem==0)
  957. {
  958. GivePlayerWeapon(playerid,24,200);
  959. }
  960. if(listitem==1)
  961. {
  962. GivePlayerWeapon(playerid,29,1000);
  963. }
  964. if(listitem==2)
  965. {
  966. GivePlayerWeapon(playerid,31,1000);
  967. }
  968. if(listitem==3)
  969. {
  970. GivePlayerWeapon(playerid,25,300);
  971. }
  972. }
  973. }
  974. if(dialogid==DIALOG_STYLWALKI)
  975. {
  976. if(response)
  977. {
  978. if(listitem==0)
  979. {
  980. SetPlayerFightingStyle(playerid, FIGHT_STYLE_NORMAL);
  981. SendClientMessage(playerid,WHITE,"Ustawiłeś nowy Styl (Normalny) ");
  982. }
  983. if(listitem==1)
  984. {
  985. SetPlayerFightingStyle(playerid, FIGHT_STYLE_BOXING);
  986. SendClientMessage(playerid,WHITE,"Ustawiłeś nowy Styl (Box) ");
  987. }
  988. if(listitem==2)
  989. {
  990. SetPlayerFightingStyle(playerid, FIGHT_STYLE_KUNGFU);
  991. SendClientMessage(playerid,WHITE,"Ustawiłeś nowy Styl (KungFu) ");
  992. }
  993. if(listitem==3)
  994. {
  995. SetPlayerFightingStyle(playerid, FIGHT_STYLE_KNEEHEAD);
  996. SendClientMessage(playerid,WHITE,"Ustawiłeś nowy Styl (Kneehead) ");
  997. }
  998. if(listitem==4)
  999. {
  1000. SetPlayerFightingStyle(playerid, FIGHT_STYLE_ELBOW);
  1001. SendClientMessage(playerid,WHITE,"Ustawiłeś nowy Styl (Elbow) ");
  1002. }
  1003. }
  1004. }
  1005. return 1;
  1006. }
  1007. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  1008. {
  1009. return 1;
  1010.  
  1011. }
  1012. // stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock stock
  1013. stock SpielerName(playerid)
  1014. {
  1015. new name[MAX_PLAYER_NAME];
  1016. GetPlayerName(playerid,name,sizeof(name));
  1017. return name;
  1018. }
  1019.  
  1020. stock Register(playerid,key[])
  1021. {
  1022. new Spielerdatei[64];
  1023. new name[MAX_PLAYER_NAME];
  1024. GetPlayerName(playerid,name,sizeof(name));
  1025. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  1026. dini_Create(Spielerdatei);
  1027. dini_Set(Spielerdatei,"Passwort",key);
  1028. SendClientMessage(playerid,RED,"Zarejestrowałeś Się na serwerze");
  1029. SetPlayerScore(playerid,1);
  1030. SetPVarInt(playerid,"loggedin",1);
  1031. return 1;
  1032. }
  1033.  
  1034. stock Login(playerid,key[])
  1035. {
  1036. new Spielerdatei[64];
  1037. new name[MAX_PLAYER_NAME];
  1038. GetPlayerName(playerid,name,sizeof(name));
  1039. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  1040. if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
  1041. {
  1042. LoadAccount(playerid);
  1043. SendClientMessage(playerid,RED,"Zalogowałeś się");
  1044. return 1;
  1045. }
  1046. else
  1047. {
  1048. SendClientMessage(playerid,RED,"podałeś złe Hasło");
  1049. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"{00FFFF}Logowanie","Witamy spowrotem prosze się {00FF00}zalogować","Zaloguj","Wyjdź");
  1050. return 1;
  1051. }
  1052. }
  1053.  
  1054. stock LoadAccount(playerid)
  1055. {
  1056. new Spielerdatei[64];
  1057. new name[MAX_PLAYER_NAME];
  1058. GetPlayerName(playerid,name,sizeof(name));
  1059. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  1060. SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
  1061. GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
  1062. SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
  1063. SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
  1064. if(GetPVarInt(playerid,"Baned")==1)
  1065. {
  1066. SendClientMessage(playerid,ROT,"Zostałeś zbanowany na tym Serwerze");
  1067. Kick(playerid);
  1068. }
  1069. SetPVarInt(playerid,"loggedin",1);
  1070. return 1;
  1071. }
  1072.  
  1073. stock SpielerSpeichern(playerid)
  1074. {
  1075. if(GetPVarInt(playerid,"loggedin")==1)
  1076. {
  1077. new Spielerdatei[64];
  1078. new name[MAX_PLAYER_NAME];
  1079. GetPlayerName(playerid,name,sizeof(name));
  1080. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  1081. dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
  1082. dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
  1083. dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
  1084. dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
  1085. }
  1086.  
  1087. return 1;
  1088. }
  1089. stock isPlayerAnAdmin(playerid,rang)
  1090. {
  1091. if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
  1092. return 0;
  1093. }
  1094. stock SaveAllPlayerAccounts()
  1095. {
  1096. for(new playerid = 0; playerid < GetMaxPlayers(); playerid++)
  1097. {
  1098. if(IsPlayerConnected(playerid) && playerid != INVALID_PLAYER_ID)
  1099. {
  1100. SpielerSpeichern(playerid);
  1101. }
  1102. }
  1103. return 1;
  1104. }
  1105.  
  1106. stock sscanf(sstring[], format[], {Float,_}:...)
  1107. {
  1108. #if defined isnull
  1109. if (isnull(sstring))
  1110. #else
  1111. if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
  1112. #endif
  1113. {
  1114. return format[0];
  1115. }
  1116. #pragma tabsize 4
  1117. new
  1118. formatPos = 0,
  1119. sstringPos = 0,
  1120. paramPos = 2,
  1121. paramCount = numargs(),
  1122. delim = ' ';
  1123. while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
  1124. {
  1125. sstringPos++;
  1126. }
  1127. while (paramPos < paramCount && sstring[sstringPos])
  1128. {
  1129. switch (format[formatPos++])
  1130. {
  1131. case '\0':
  1132. {
  1133. return 0;
  1134. }
  1135. case 'i', 'd':
  1136. {
  1137. new
  1138. neg = 1,
  1139. num = 0,
  1140. ch = sstring[sstringPos];
  1141. if (ch == '-')
  1142. {
  1143. neg = -1;
  1144. ch = sstring[++sstringPos];
  1145. }
  1146. do
  1147. {
  1148. sstringPos++;
  1149. if ('0' <= ch <= '9')
  1150. {
  1151. num = (num * 10) + (ch - '0');
  1152. }
  1153. else
  1154. {
  1155. return -1;
  1156. }
  1157. }
  1158. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  1159. setarg(paramPos, 0, num * neg);
  1160. }
  1161. case 'h', 'x':
  1162. {
  1163. new
  1164. num = 0,
  1165. ch = sstring[sstringPos];
  1166. do
  1167. {
  1168. sstringPos++;
  1169. switch (ch)
  1170. {
  1171. case 'x', 'X':
  1172. {
  1173. num = 0;
  1174. continue;
  1175. }
  1176. case '0' .. '9':
  1177. {
  1178. num = (num << 4) | (ch - '0');
  1179. }
  1180. case 'a' .. 'f':
  1181. {
  1182. num = (num << 4) | (ch - ('a' - 10));
  1183. }
  1184. case 'A' .. 'F':
  1185. {
  1186. num = (num << 4) | (ch - ('A' - 10));
  1187. }
  1188. default:
  1189. {
  1190. return -1;
  1191. }
  1192. }
  1193. }
  1194. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  1195. setarg(paramPos, 0, num);
  1196. }
  1197. case 'c':
  1198. {
  1199. setarg(paramPos, 0, sstring[sstringPos++]);
  1200. }
  1201. case 'f':
  1202. {
  1203.  
  1204. new changestr[16], changepos = 0, strpos = sstringPos;
  1205. while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
  1206. {
  1207. changestr[changepos++] = sstring[strpos++];
  1208. }
  1209. changestr[changepos] = '\0';
  1210. setarg(paramPos,0,_:floatstr(changestr));
  1211. }
  1212. case 'p':
  1213. {
  1214. delim = format[formatPos++];
  1215. continue;
  1216. }
  1217. case '\'':
  1218. {
  1219. new
  1220. end = formatPos - 1,
  1221. ch;
  1222. while ((ch = format[++end]) && ch != '\'') {}
  1223. if (!ch)
  1224. {
  1225. return -1;
  1226. }
  1227. format[end] = '\0';
  1228. if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
  1229. {
  1230. if (format[end + 1])
  1231. {
  1232. return -1;
  1233. }
  1234. return 0;
  1235. }
  1236. format[end] = '\'';
  1237. sstringPos = ch + (end - formatPos);
  1238. formatPos = end + 1;
  1239. }
  1240. case 'u':
  1241. {
  1242. new
  1243. end = sstringPos - 1,
  1244. id = 0,
  1245. bool:num = true,
  1246. ch;
  1247. while ((ch = sstring[++end]) && ch != delim)
  1248. {
  1249. if (num)
  1250. {
  1251. if ('0' <= ch <= '9')
  1252. {
  1253. id = (id * 10) + (ch - '0');
  1254. }
  1255. else
  1256. {
  1257. num = false;
  1258. }
  1259. }
  1260. }
  1261. if (num && IsPlayerConnected(id))
  1262. {
  1263. setarg(paramPos, 0, id);
  1264. }
  1265. else
  1266. {
  1267. #if !defined foreach
  1268. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  1269. #define __SSCANF_FOREACH__
  1270. #endif
  1271. sstring[end] = '\0';
  1272. num = false;
  1273. new
  1274. name[MAX_PLAYER_NAME];
  1275. id = end - sstringPos;
  1276. foreach (Player, playerid)
  1277. {
  1278. GetPlayerName(playerid, name, sizeof (name));
  1279. if (!strcmp(name, sstring[sstringPos], true, id))
  1280. {
  1281. setarg(paramPos, 0, playerid);
  1282. num = true;
  1283. break;
  1284. }
  1285. }
  1286. if (!num)
  1287. {
  1288. setarg(paramPos, 0, INVALID_PLAYER_ID);
  1289. }
  1290. sstring[end] = ch;
  1291. #if defined __SSCANF_FOREACH__
  1292. #undef foreach
  1293. #undef __SSCANF_FOREACH__
  1294. #endif
  1295. }
  1296. sstringPos = end;
  1297. }
  1298. case 's', 'z':
  1299. {
  1300. new
  1301. i = 0,
  1302. ch;
  1303. if (format[formatPos])
  1304. {
  1305. while ((ch = sstring[sstringPos++]) && ch != delim)
  1306. {
  1307. setarg(paramPos, i++, ch);
  1308. }
  1309. if (!i)
  1310. {
  1311. return -1;
  1312. }
  1313. }
  1314. else
  1315. {
  1316. while ((ch = sstring[sstringPos++]))
  1317. {
  1318. setarg(paramPos, i++, ch);
  1319. }
  1320. }
  1321. sstringPos--;
  1322. setarg(paramPos, i, '\0');
  1323. }
  1324. default:
  1325. {
  1326. continue;
  1327. }
  1328. }
  1329. while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
  1330. {
  1331. sstringPos++;
  1332. }
  1333. while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
  1334. {
  1335. sstringPos++;
  1336. }
  1337. paramPos++;
  1338. }
  1339. do
  1340. {
  1341. if ((delim = format[formatPos++]) > ' ')
  1342. {
  1343. if (delim == '\'')
  1344. {
  1345. while ((delim = format[formatPos++]) && delim != '\'') {}
  1346. }
  1347. else if (delim != 'z')
  1348. {
  1349. return delim;
  1350. }
  1351. }
  1352. }
  1353. while (delim > ' ');
  1354. return 0;
  1355. }
  1356. public wetter()
  1357. {
  1358. new rand = random(5);
  1359. switch(rand)
  1360. {
  1361. case 0:
  1362. {
  1363. SetWeather(1);
  1364. return 1;
  1365. }
  1366. case 1:
  1367. {
  1368. SetWeather(9);
  1369. }
  1370. case 2:
  1371. {
  1372. SetWeather(19);
  1373. }
  1374. case 3:
  1375. {
  1376. SetWeather(22);
  1377. }
  1378. case 4:
  1379. {
  1380. SetWeather(45);
  1381. }
  1382. case 5:
  1383. {
  1384. SetWeather(5);
  1385. }
  1386. }
  1387. return 1;
  1388. }
  1389. public UpdateClock()
  1390. {
  1391. new Hour,Minute,Sec,String[256]; //Definiert die Symbole
  1392. gettime(Hour,Minute,Sec); //Holt sich die aktuelle Zeit (vom Rechner oder Server)
  1393. if(Hour<9 && Minute<9){format(String,sizeof(String),"0%d:0%d",Hour,Minute);}
  1394. else if(Hour>9 && Minute<9){format(String,sizeof(String),"%d:0%d",Hour,Minute);}
  1395. else if(Hour<9 && Minute>9){format(String,sizeof(String),"0%d:%d",Hour,Minute);}
  1396. else{format(String,sizeof(String),"%d:%d",Hour,Minute);}
  1397. TextDrawSetString(RealClock,String); //Updatet den TextDraw mit der Aktuellsten Uhrzeit
  1398. SetWorldTime(Hour); // Setzt die InGame Zeit auf die RealLife Zeit, sodass wenn es in echt Nacht ist, es auch InGame Nacht ist
  1399. return 1;
  1400. }
  1401.  
Advertisement
Add Comment
Please, Sign In to add comment