Advertisement
Guest User

a

a guest
Aug 7th, 2012
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 50.94 KB | None | 0 0
  1. //includes
  2. #include <a_samp>
  3. #include <dini>
  4. #include <ocmd>
  5.  
  6. //defines
  7. #define BLAU 0x0087FFFF
  8. #define ROT 0xFF0000FF
  9. #define WEIß 0xFFFFFFFF
  10. #define GRÜN 0x00FF00FF
  11.  
  12. #define DIALOG_TUTORIAL 1
  13. #define DIALOG_REGISTER 2
  14. #define DIALOG_LOGIN 3
  15.  
  16. //Fraktionsnamen
  17. #define fraktname1 "POLICE"
  18. #define fraktname2 "MAFIA"
  19. #define fraktname3 "NORMAL"
  20.  
  21. //Mafia
  22. #define mafiaspawn 2509.9307,2770.9158,10.8203
  23.  
  24. //Police
  25. #define policespawn 2337.7813,2442.9785,6.2993
  26.  
  27. //Normal
  28. #define normalspawn 1520.0,1568.0,1510.0
  29. //alle forwards
  30. forward testtimer();
  31. //alle Variablen
  32. new policedachenter;
  33. new policedachexit;
  34. new waffenladenenter;
  35. new waffenladenexit;
  36. new bsnenter;
  37. new bsnexit;
  38. new tor[2];
  39. new botauto;
  40. new policecar[31];
  41. new mafiacar[29];//mafiacar[0], mafiacar[1]
  42. new ak_buypoint;
  43. new m4_buypoint;
  44. new rpg_buypoint;
  45. new mp5_buypoint;
  46.  
  47. main()
  48. {
  49. print("\n----------------------------------");
  50. print("AfteeeyyyServer");
  51. print("----------------------------------\n");
  52. }
  53.  
  54.  
  55. public OnGameModeInit()
  56. {
  57. policedachenter=CreatePickup(1559,1,2315.1289,2475.0708,-7.4531);
  58. policedachexit=CreatePickup(1559,1,2296.3000488281,2461.6000976563,38.700000762939);
  59.  
  60. waffenladenenter=CreatePickup(1559,1,2539.5393,2084.0183,10.8203);
  61. waffenladenexit=CreatePickup(1559,1,285.7899,-86.7247,1001.5229);
  62.  
  63. DisableInteriorEnterExits();
  64. ConnectNPC("TutorialBot","tutorialbot");
  65. ConnectNPC("TutorialBot2","tutorialbot2");
  66.  
  67. UsePlayerPedAnims();
  68. bsnexit=CreatePickup(1559,1,362.8524,-75.1179,1001.5078);
  69. bsnenter=CreatePickup(1559,1,1199.2235,-918.1543,43.1233);
  70.  
  71. Create3DTextLabel("BSN\n Eingang",BLAU,1199.2235,-918.1543,43.1233,10,0);
  72.  
  73. DisableInteriorEnterExits();
  74. SetGameModeText("TutorialMode");
  75. AddPlayerClass(0,2047.4270,1336.5569,10.6719,188.9284,25,100,0,0,0,0); // position;
  76.  
  77.  
  78. CreateObject(3629,2498.69995117,2774.00000000,2.59999990,0.00000000,0.00000000,180.00000000); //object(arhang_las) (1)
  79. CreateObject(6976,2576.69995117,2733.50000000,15.10000038,0.00000000,0.00000000,0.00000000); //object(shamheliprt04) (1)
  80. CreateObject(6976,2559.69995117,2733.50000000,5.19999981,0.00000000,0.00000000,0.00000000); //object(shamheliprt04) (2)
  81. CreateObject(6976,2583.39990234,2787.19995117,17.89999962,0.00000000,0.00000000,90.00000000); //object(shamheliprt04) (3)
  82. CreateObject(6976,2583.50000000,2773.69995117,10.60000038,0.00000000,0.00000000,90.00000000); //object(shamheliprt04) (4)
  83. CreateObject(7096,2281.39990234,2461.30004883,44.20000076,0.00000000,0.00000000,270.00000000); //object(vrockstairs) (1)
  84. CreateObject(7096,2274.50000000,2464.69995117,37.20000076,0.00000000,0.00000000,87.99499512); //object(vrockstairs) (2)
  85. botauto=CreateVehicle(401,1227.1797,-914.0590,42.6812,99.6721,126,126,1);
  86. SetVehicleNumberPlate(botauto,"Auto 1");
  87. AddStaticVehicle(409,1226.2432,-905.7473,42.6997,10.2423,151,151); // auto2
  88. //3d Text Labels
  89. Create3DTextLabel("Gib /startmafiarob ein um den Raub zu starten.",0x00C5FFFF,2568.3921,2824.9224,10.8203,30.0,0);
  90. Create3DTextLabel("Gib /startpolicerob ein um den Raub zu starten.",0x00C5FFFF,2308.7747,2461.2808,-7.4531,30.0,0);
  91. //hack Tor
  92. Create3DTextLabel("Gib /hackpolice ein um den Hack zu starten.",0x00C5FFFF,2334.3945,2439.9675,6.0607,30.0,0);
  93. Create3DTextLabel("Gib /hackmafia ein um den Hack zu starten.",0x00C5FFFF,2496.3586,2778.2888,10.8203,30.0,0);
  94. //fraktautos
  95.  
  96. mafiacar[28]=AddStaticVehicleEx(425,2610.80004883,2722.60009766,37.40000153,0.00000000,-1,-1,15); //Hunter
  97. mafiacar[27]=AddStaticVehicleEx(425,2622.50000000,2722.60009766,37.40000153,0.00000000,-1,-1,15); //Hunter
  98. mafiacar[26]=AddStaticVehicleEx(520,2609.69995117,2812.50000000,28.70000076,90.00000000,-1,-1,15); //Hydra
  99. mafiacar[25]=AddStaticVehicleEx(520,2609.69995117,2841.00000000,28.70000076,90.00000000,-1,-1,15); //Hydra
  100. mafiacar[24]=AddStaticVehicleEx(513,2610.60009766,2821.89990234,28.60000038,90.00000000,-1,-1,15); //Stunt
  101. mafiacar[23]=AddStaticVehicleEx(513,2610.60009766,2831.39990234,28.60000038,90.00000000,-1,-1,15); //Stunt
  102. mafiacar[22]=AddStaticVehicleEx(520,2595.00000000,2840.89990234,28.70000076,90.00000000,-1,-1,15); //Hydra
  103. mafiacar[21]=AddStaticVehicleEx(520,2546.89990234,2809.00000000,28.70000076,270.00000000,-1,-1,15); //Hydra
  104. mafiacar[20]=AddStaticVehicleEx(520,2547.00000000,2840.89990234,28.70000076,270.00000000,-1,-1,15); //Hydra
  105. mafiacar[19]=AddStaticVehicleEx(520,2593.89990234,2812.39990234,28.70000076,90.00000000,-1,-1,15); //Hydra
  106. mafiacar[18]=AddStaticVehicleEx(451,2533.00000000,2759.19995117,10.60000038,180.00000000,-1,-1,15); //Turismo
  107. mafiacar[17]=AddStaticVehicleEx(451,2537.30004883,2759.19995117,10.60000038,180.00000000,-1,-1,15); //Turismo
  108. mafiacar[16]=AddStaticVehicleEx(451,2528.80004883,2759.19995117,10.60000038,180.00000000,-1,-1,15); //Turismo
  109. mafiacar[15]=AddStaticVehicleEx(451,2524.30004883,2759.19995117,10.60000038,180.00000000,-1,-1,15); //Turismo
  110. mafiacar[14]=AddStaticVehicleEx(451,2541.30004883,2759.19995117,10.60000038,180.00000000,-1,-1,15); //Turismo
  111. mafiacar[13]=AddStaticVehicleEx(541,2524.60009766,2769.89990234,10.50000000,0.00000000,-1,-1,15); //Bullet
  112. mafiacar[12]=AddStaticVehicleEx(541,2528.80004883,2769.80004883,10.50000000,0.00000000,-1,-1,15); //Bullet
  113. mafiacar[11]=AddStaticVehicleEx(541,2533.30004883,2769.69995117,10.50000000,0.00000000,-1,-1,15); //Bullet
  114. mafiacar[10]=AddStaticVehicleEx(541,2537.30004883,2769.60009766,10.50000000,0.00000000,-1,-1,15); //Bullet
  115. mafiacar[9]=AddStaticVehicleEx(541,2541.30004883,2769.50000000,10.50000000,0.00000000,-1,-1,15); //Bullet
  116. mafiacar[8]=AddStaticVehicleEx(461,2541.30004883,2789.39990234,10.50000000,180.00000000,-1,-1,15); //PCJ-600
  117. mafiacar[7]=AddStaticVehicleEx(461,2545.00000000,2789.19995117,10.50000000,180.00000000,-1,-1,15); //PCJ-600
  118. mafiacar[6]=AddStaticVehicleEx(461,2549.69995117,2789.00000000,10.50000000,180.00000000,-1,-1,15); //PCJ-600
  119. mafiacar[5]=AddStaticVehicleEx(461,2553.30004883,2789.10009766,10.50000000,180.00000000,-1,-1,15); //PCJ-600
  120. mafiacar[4]=AddStaticVehicleEx(409,2529.89990234,2747.50000000,10.69999981,90.00000000,-1,-1,15); //Stretch
  121. mafiacar[3]=AddStaticVehicleEx(409,2540.69995117,2747.39990234,10.69999981,90.00000000,-1,-1,15); //Stretch
  122. mafiacar[2]=AddStaticVehicleEx(405,2489.80004883,-1677.09997559,13.30000019,0.00000000,-1,-1,15); //Sentinel
  123. mafiacar[1]=AddStaticVehicle(411,1245.5562,-921.0884,42.5210,100.3385,64,1); // fraktauto 1
  124. mafiacar[0]=AddStaticVehicle(560,1237.1934,-922.9166,42.4760,101.1390,9,39); // fraktauto 3
  125.  
  126. policecar[30]=AddStaticVehicleEx(520,2267.80004883,2439.00000000,47.90000153,270.00000000,-1,-1,15); //Hydra
  127. policecar[29]=AddStaticVehicleEx(520,2267.69995117,2450.80004883,47.90000153,270.00000000,-1,-1,15); //Hydra
  128. policecar[28]=AddStaticVehicleEx(513,2339.69995117,2479.60009766,39.50000000,90.00000000,-1,-1,15); //Stunt
  129. policecar[27]=AddStaticVehicleEx(513,2348.80004883,2480.00000000,39.50000000,90.00000000,-1,-1,15); //Stunt
  130. policecar[26]=AddStaticVehicleEx(513,2329.50000000,2479.30004883,39.50000000,90.00000000,-1,-1,15); //Stunt
  131. policecar[25]=AddStaticVehicleEx(425,2293.60009766,2450.00000000,47.79999924,0.00000000,-1,-1,15); //Hunter
  132. policecar[24]=AddStaticVehicleEx(425,2281.30004883,2449.89990234,47.79999924,0.00000000,-1,-1,15); //Hunter
  133. policecar[23]=AddStaticVehicleEx(598,2299.60009766,2459.89990234,3.09999990,270.00000000,-1,-1,15); //Police Car (LVPD)
  134. policecar[22]=AddStaticVehicleEx(598,2299.69995117,2464.60009766,3.09999990,270.00000000,-1,-1,15); //Police Car (LVPD)
  135. policecar[20]=AddStaticVehicleEx(598,2299.50000000,2451.80004883,3.09999990,270.00000000,-1,-1,15); //Police Car (LVPD)
  136. policecar[19]=AddStaticVehicleEx(598,2299.69995117,2456.00000000,3.09999990,270.00000000,-1,-1,15); //Police Car (LVPD)
  137. policecar[18]=AddStaticVehicleEx(596,2312.19995117,2432.39990234,3.09999990,0.00000000,-1,-1,15); //Police Car (LSPD)
  138. policecar[17]=AddStaticVehicleEx(596,2308.19995117,2432.50000000,3.09999990,0.00000000,-1,-1,15); //Police Car (LSPD)
  139. policecar[16]=AddStaticVehicleEx(596,2303.19995117,2432.69995117,3.09999990,0.00000000,-1,-1,15); //Police Car (LSPD)
  140. policecar[15]=AddStaticVehicleEx(596,2299.00000000,2432.80004883,3.09999990,0.00000000,-1,-1,15); //Police Car (LSPD)
  141. policecar[14]=AddStaticVehicleEx(596,2295.00000000,2432.89990234,3.09999990,0.00000000,-1,-1,15); //Police Car (LSPD)
  142. policecar[13]=AddStaticVehicleEx(596,2316.10009766,2432.19995117,3.09999990,0.00000000,-1,-1,15); //Police Car (LSPD)
  143. policecar[12]=AddStaticVehicleEx(597,2251.00000000,2432.50000000,3.09999990,0.00000000,-1,-1,15); //Police Car (SFPD)
  144. policecar[11]=AddStaticVehicleEx(597,2246.80004883,2432.30004883,3.09999990,0.00000000,-1,-1,15); //Police Car (SFPD)
  145. policecar[10]=AddStaticVehicleEx(597,2241.19995117,2437.50000000,3.09999990,270.00000000,-1,-1,15); //Police Car (SFPD)
  146. policecar[9]=AddStaticVehicleEx(597,2241.30004883,2442.30004883,3.09999990,270.00000000,-1,-1,15); //Police Car (SFPD)
  147. policecar[8]=AddStaticVehicleEx(597,2241.39990234,2447.00000000,3.09999990,270.00000000,-1,-1,15); //Police Car (SFPD)
  148. policecar[7]=AddStaticVehicleEx(597,2241.50000000,2452.00000000,3.09999990,270.00000000,-1,-1,15); //Police Car (SFPD)
  149. policecar[6]=AddStaticVehicleEx(597,2241.60009766,2456.00000000,3.09999990,270.00000000,-1,-1,15); //Police Car (SFPD)
  150. policecar[5]=AddStaticVehicleEx(601,2312.60009766,2500.19995117,-7.50000000,90.00000000,-1,-1,15); //S.W.A.T. Van
  151. policecar[4]=AddStaticVehicleEx(601,2312.69995117,2495.69995117,-7.50000000,90.00000000,-1,-1,15); //S.W.A.T. Van
  152. policecar[3]=AddStaticVehicleEx(601,2312.80004883,2489.89990234,-7.50000000,90.00000000,-1,-1,15); //S.W.A.T. Van
  153. policecar[2]=AddStaticVehicleEx(601,2312.89990234,2485.39990234,-7.50000000,90.00000000,-1,-1,15); //S.W.A.T. Van
  154. policecar[1]=AddStaticVehicleEx(420,2456.69995117,2745.80004883,10.69999981,0.00000000,-1,-1,15); //Taxi
  155. //zäune
  156. CreateObject(987, 1184.3666992188, -949.98992919922, 41.657981872559, 0, 0, 10);
  157. CreateObject(987, 1195.0812988281, -937.03753662109, 41.745170593262, 0, 0, 187.99755859375);
  158. tor[0]=CreateObject(3115,2498.19995117,2772.89990234,9.50000000,0.00000000,0.00000000,0.00000000); //object(carrier_lift1_sfse) (1)
  159. tor[1]=CreateObject(971,2335.10009766,2443.50000000,7.09999990,0.00000000,0.00000000,58.00000000); //object(subwaygate) (1)
  160.  
  161. //wafenkauf
  162.  
  163. //AK-47
  164. ak_buypoint=CreatePickup(1559,1,287.9801,-76.5869,1001.5156);
  165. Create3DTextLabel("AK-47 Kauf.\nPreis:{FFFFFF} 8999$",ROT,287.9801,-76.5869,1001.5156,359.6821,0);
  166. //M4
  167. m4_buypoint=CreatePickup(1559,1,288.0056,-74.8985,1001.5156);
  168. Create3DTextLabel("M4 Kauf.\nPreis:{FFFFFF} 8999$",ROT,288.0056,-74.8985,1001.5156,176.6937,0);
  169. //RPG
  170. rpg_buypoint=CreatePickup(1559,1,288.1072,-72.7516,1001.5156);
  171. Create3DTextLabel("RPG Kauf.\nPreis:{FFFFFF} 11999$",ROT,288.1072,-72.7516,1001.5156,2.5021,0);
  172.  
  173. //MP5
  174. mp5_buypoint=CreatePickup(1559,1,288.1670,-71.0682,1001.5156);
  175. Create3DTextLabel("MP5 Kauf.\nPreis:{FFFFFF} 6999$",ROT,288.1670,-71.0682,1001.5156,177.9471,0);
  176.  
  177. //alle Timer
  178. SetTimer("testtimer",1000*60*10,true);
  179. return 1;
  180. }
  181.  
  182. public OnGameModeExit()
  183. {
  184. return 1;
  185. }
  186.  
  187.  
  188. public OnPlayerRequestClass(playerid, classid)
  189. {
  190. if(IsPlayerNPC(playerid))return 1;
  191. SetPlayerPos(playerid,2047.4270,1336.5569,10.6719);
  192. SetPlayerFacingAngle(playerid,188.9284);
  193. SetPlayerCameraPos(playerid,2047.6205,1333.3314,10.6719);
  194. SetPlayerCameraLookAt(playerid,2047.4270,1336.5569,10.6719);
  195. return 1;
  196. }
  197.  
  198. public OnPlayerConnect(playerid)
  199. {
  200. if(IsPlayerNPC(playerid))return 1;
  201. new Spielerdatei[64];
  202. new name[MAX_PLAYER_NAME];
  203. GetPlayerName(playerid,name,sizeof(name));
  204. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  205. if(dini_Exists(Spielerdatei))
  206. {
  207. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  208. }
  209. else
  210. {
  211. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
  212. }
  213. return 1;
  214. }
  215.  
  216. public OnPlayerDisconnect(playerid, reason)
  217. {
  218. if(GetPVarInt(playerid,"loggedin")==1)
  219. {
  220. SpielerSpeichern(playerid);
  221. }
  222. return 1;
  223. }
  224.  
  225. public OnPlayerSpawn(playerid)
  226. {
  227. if(!strcmp(SpielerName(playerid),"TutorialBot",true))
  228. {
  229. PutPlayerInVehicle(playerid,botauto,0);
  230. }
  231. if(IsPlayerNPC(playerid))return 1;
  232. switch(GetPVarInt(playerid,"Fraktion"))
  233. {
  234. case 0:{}
  235. case 1:{SetPlayerPos(playerid,policespawn);GivePlayerMoney(playerid,4000);GivePlayerWeapon(playerid,24,100);SetPlayerColor(playerid,BLAU);SetPlayerSkin(playerid,266);SetPlayerArmour(playerid,100.0);}
  236. case 2:{SetPlayerPos(playerid,mafiaspawn);GivePlayerMoney(playerid,4000);GivePlayerWeapon(playerid,24,100);SetPlayerSkin(playerid,107);SetPlayerArmour(playerid,100.0);}
  237. case 3:{SetPlayerPos(playerid,normalspawn);GivePlayerMoney(playerid,4000);GivePlayerWeapon(playerid,24,100);SetPlayerColor(playerid,ROT);SetPlayerSkin(playerid,1);SetPlayerArmour(playerid,100.0);}
  238. }
  239. return 1;
  240. }
  241.  
  242. public OnPlayerDeath(playerid, killerid, reason)
  243. {
  244. if(killerid !=255) // wenn man nicht selber der täter ist
  245. {
  246. GivePlayerMoney(killerid, 5000);
  247. new score = GetPlayerScore(playerid);
  248. SetPlayerScore(playerid,score+1);
  249. }
  250. return 1;
  251. }
  252.  
  253. public OnVehicleSpawn(vehicleid)
  254. {
  255. return 1;
  256. }
  257.  
  258. public OnVehicleDeath(vehicleid, killerid)
  259. {
  260. return 1;
  261. }
  262.  
  263. public OnPlayerText(playerid, text[])
  264. {
  265. return 1;
  266. }
  267.  
  268. ocmd:f(playerid,params[])
  269. {
  270. new text[128];
  271. if(sscanf(params,"s",text))return SendClientMessage(playerid,ROT,"/f [text]");
  272. format(text,sizeof(text),"Member %s: %s",SpielerName(playerid),text);
  273. for(new i=0; i<GetMaxPlayers(); i++)
  274. {
  275. if(IsPlayerConnected(i))
  276. {
  277. if(isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")))
  278. {
  279. SendClientMessage(i,BLAU,text);
  280. }
  281. }
  282. }
  283. return 1;
  284. }
  285.  
  286. ocmd:tban(playerid,params[])
  287. {
  288. if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Rang zu Niedrig.");
  289. new pID, time, grund[128];
  290. if(sscanf(params,"uis",pID,time,grund))return SendClientMessage(playerid,BLAU,"/tban [playerid] [zeit] [grund]");
  291. if(IsPlayerConnected(pID))
  292. {
  293. if(time>0&&time<1000)
  294. {
  295. new string[128];
  296. format(string,sizeof(string),"AdmCdm: %s wurde von %s für %i Minuten gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),time,grund);
  297. SendClientMessageToAll(ROT,string);
  298. new wert;
  299.  
  300. wert=gettime()+(60*time);
  301.  
  302. SetPVarInt(pID,"timeban",wert);
  303.  
  304. Kick(pID);
  305. return 1;
  306. }
  307. SendClientMessage(playerid,ROT,"Ungültige Zeit.");
  308. return 1;
  309. }
  310. SendClientMessage(playerid,ROT,"Spieler ist nicht online.");
  311. return 1;
  312. }
  313.  
  314. ocmd:makeleader(playerid,params[])
  315. {
  316. if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Rang zu Niedrig.");
  317. new pID,fID;
  318. if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,BLAU,"/makeleader [playerid] [fraktionsid]");
  319. SetPVarInt(pID,"Fraktion",fID);
  320. SendClientMessage(playerid,BLAU,"Erfolgreich.");
  321. return 1;
  322. }
  323.  
  324. ocmd:startpolicerob(playerid,params[])
  325. {
  326. if(isPlayerInFrakt(playerid,2))
  327. {
  328. if(IsPlayerInRangeOfPoint(playerid,5.0,2308.6160,2461.3247,-7.4531))
  329. {
  330. SetPlayerCheckpoint(playerid,2309.3557,2456.7827,-7.4531,4.0);
  331. }
  332. else
  333. {
  334. SendClientMessage(playerid,ROT,"Du bist nicht in der nähe vom Startpunkt des Raubes");
  335. }
  336. }
  337. else
  338. {
  339. SendClientMessage(playerid,ROT,"Du bist kein Mafiosi");
  340. }
  341. return 1;
  342. }
  343. ocmd:startmafiarob(playerid,params[])
  344. {
  345. if(isPlayerInFrakt(playerid,1))
  346. {
  347. if(IsPlayerInRangeOfPoint(playerid,5.0,2568.4539,2824.9170,10.8203))
  348. {
  349. SetPlayerCheckpoint(playerid,2571.8833,2825.2825,10.8203,4.0);
  350. }
  351. }
  352. }
  353.  
  354. ocmd:hack(playerid,params[])
  355. {
  356. if(IsPlayerInRangeOfPoint(playerid,10,2496.3586,2778.2888,10.8203))
  357. {
  358. SetPlayerCheckpoint(playerid,2496.3586,2778.2888,10.8203,4.0);
  359. }
  360. else if(IsPlayerInRangeOfPoint(playerid,10,2334.3945,2439.9675,6.0607))
  361. {
  362. SetPlayerCheckpoint(playerid,2334.3945,2439.9675,6.0607,4.0);
  363. }
  364. return 1;
  365. }
  366. ocmd:auf(playerid,params[])
  367. {
  368. if(IsPlayerInRangeOfPoint(playerid,50,2498.6999511719, 2774, 2.5999999046326))
  369. {
  370. if(isPlayerInFrakt(playerid,2))
  371. {
  372. MoveObject(tor[0],2498.19995117,2772.89990234,19.50000000,5);
  373. }
  374. }
  375. else if(IsPlayerInRangeOfPoint(playerid,50,2337.7813,2442.9785,6.2993))
  376. {
  377. if(isPlayerInFrakt(playerid,1))
  378. {
  379. MoveObject(tor[1],2335.10009766,2443.50000000,7.09999990-10,5);
  380. }
  381. }
  382. return 1;
  383. }
  384. ocmd:zu(playerid,params[])
  385. {
  386. if(IsPlayerInRangeOfPoint(playerid,50,2498.6999511719, 2774, 2.5999999046326))
  387. {
  388. if(isPlayerInFrakt(playerid,2))
  389. {
  390. MoveObject(tor[0],2498.19995117,2772.89990234,9.50000000,5);
  391. }
  392. }
  393. else if(IsPlayerInRangeOfPoint(playerid,50,2337.7813,2442.9785,6.2993))
  394. {
  395. if(isPlayerInFrakt(playerid,1))
  396. {
  397. MoveObject(tor[1],2335.10009766,2443.50000000,7.09999990,5);
  398. }
  399. }
  400. return 1;
  401. }
  402. ocmd:setadmin(playerid,params[])
  403. {
  404. if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  405. new pID, rank;
  406. if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,ROT,"/setadmin [spieler] [level]");
  407. if(rank<1||rank>5)return SendClientMessage(playerid,ROT,"Bitte gültigen Rang angeben.");
  408. SetPVarInt(pID,"Adminlevel",rank);
  409. SpielerSpeichern(pID);
  410. SendClientMessageToAll(BLAU,"Es wurde jemand zu Admin gemacht.");
  411. return 1;
  412. }
  413. ocmd:ban(playerid,params[])
  414. {
  415. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  416. new pID, reason[128],string[128];
  417. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/ban [id] [grund]");
  418. format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  419. SendClientMessageToAll(ROT,string);
  420. SetPVarInt(pID,"Baned",1);
  421. Kick(pID);
  422. return 1;
  423. }
  424. ocmd:kick(playerid,params[])
  425. {
  426. if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
  427. new pID, reason[128],string[128];
  428. if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/kick [id] [grund]");
  429. format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  430. SendClientMessageToAll(ROT,string);
  431. Kick(pID);
  432. return 1;
  433. }
  434.  
  435. public OnPlayerCommandText(playerid, cmdtext[])
  436. {
  437.  
  438. if(strcmp(cmdtext,"/mafia",true)==0)
  439. {
  440. SetPlayerPos(playerid,2491.1350,2769.8381,10.6701);
  441. }
  442. if(strcmp(cmdtext,"/police",true)==0)
  443. {
  444. SetPlayerPos(playerid,2337.7813,2442.9785,6.2993);
  445. }
  446. if(strcmp(cmdtext,"/waffenladen",true)==0)
  447. {
  448. SetPlayerPos(playerid,2535.6316,2083.7988,10.8203);
  449. }
  450. if(strcmp(cmdtext,"/bsn",true)==0)
  451. {
  452. if(isPlayerAnAdmin(playerid,3))
  453. {
  454. ShowPlayerDialog(playerid,DIALOG_TUTORIAL,DIALOG_STYLE_MSGBOX,"BSN","Möchten sie wirklich zum BSN?","JA","NEIN");
  455. return 1;
  456. }
  457. SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
  458. return 1;
  459. }
  460. if(strcmp(cmdtext,"/kill",true)==0)
  461. {
  462. SetPlayerHealth(playerid,0);
  463. return 1;
  464. }
  465. if(strcmp(cmdtext,"/restart",true)==0)
  466. {
  467. if(isPlayerAnAdmin(playerid,5))
  468. {
  469. SendRconCommand("gmx");
  470. return 1;
  471. }
  472. SendClientMessage(playerid,BLAU,"Du bist kein Admin.");
  473. return 1;
  474. }
  475. if(strcmp(cmdtext,"/stats",true)==0)
  476. {
  477. new string[128];
  478. new fraktname[64];
  479. switch(GetPVarInt(playerid,"Fraktion"))
  480. {
  481. case 0:{fraktname="Keine";}
  482. case 1:{fraktname=fraktname1;}
  483. case 2:{fraktname=fraktname2;}
  484. case 3:{fraktname=fraktname3;}
  485. }
  486. //1 reihe
  487. format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname);
  488. SendClientMessage(playerid,BLAU,string);
  489. //2 reihe
  490. return 1;
  491. }
  492. if(strcmp(cmdtext,"/nschild",true)==0)
  493. {
  494. if(IsPlayerInAnyVehicle(playerid))
  495. {
  496. new vehicleid;
  497. vehicleid=GetPlayerVehicleID(playerid);
  498. SetVehicleNumberPlate(vehicleid,"Test");
  499. SetVehicleToRespawn(vehicleid);
  500. PutPlayerInVehicle(playerid,vehicleid,0);
  501. }
  502. return 1;
  503. }
  504. return 0;
  505. }
  506.  
  507. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  508. {
  509. return 1;
  510. }
  511.  
  512. public OnPlayerExitVehicle(playerid, vehicleid)
  513. {
  514. return 1;
  515. }
  516.  
  517. public OnPlayerStateChange(playerid, newstate, oldstate)
  518. {
  519. if(newstate==PLAYER_STATE_DRIVER)
  520. {
  521. for(new i=0; i<sizeof(policecar); i++)
  522. {
  523. if(GetPlayerVehicleID(playerid)==policecar[i])
  524. {
  525. if(GetPVarInt(playerid,"Fraktion")!=1)
  526. {
  527. RemovePlayerFromVehicle(playerid);
  528. SendClientMessage(playerid,ROT,"Du darfst dieses Fahrzeug nicht fahren.");
  529. }
  530. }
  531. }
  532. }
  533. if(newstate==PLAYER_STATE_DRIVER)
  534. {
  535. for(new i=0; i<sizeof(mafiacar); i++)
  536. {
  537. if(GetPlayerVehicleID(playerid)==mafiacar[i])
  538. {
  539. if(GetPVarInt(playerid,"Fraktion")!=2)
  540. {
  541. RemovePlayerFromVehicle(playerid);
  542. SendClientMessage(playerid,ROT,"Du darfst dieses Fahrzeug nicht fahren.");
  543. }
  544. }
  545. }
  546. }
  547. return 1;
  548. }
  549.  
  550. public OnPlayerEnterCheckpoint(playerid)
  551. {
  552. if(IsPlayerInRangeOfPoint(playerid,5.0,2496.3586,2778.2888,10.8203))
  553. {
  554. new string[128];
  555. SetTimer("hack",18000,false);
  556. format(string,sizeof(string),"ACHTUNG:Ein Cop versucht ins Mafiabase einzubrechen halten sie ihn auf!");
  557. SendClientMessageToAll(ROT,string);
  558. }
  559. if(IsPlayerInRangeOfPoint(playerid,5.0,2334.3945,2439.9675,6.0607))
  560. {
  561. new string[128];
  562. SetTimer("hack",18000,false);
  563. format(string,sizeof(string),"ACHTUNG:Ein Mafiosi versucht ins Polizeibase einzubrechen halten sie ihn auf!");
  564. SendClientMessageToAll(ROT,string);
  565. }
  566.  
  567. if(IsPlayerInRangeOfPoint(playerid,5.0,2571.8833,2825.2825,10.8203))
  568. {
  569. new string[128];
  570. SetTimer("mafiarobtimer",120000,false);
  571. format(string,sizeof(string),"ACHTUNG:Ein Cop versucht die Mafia auszurauben halten sie ihn auf!");
  572. SendClientMessageToAll(ROT,string);
  573. }
  574. if(IsPlayerInRangeOfPoint(playerid,5.0,2309.3557,2456.7827,-7.4531))
  575. {
  576. new string[128];
  577. SetTimer("policerobtimer",120000,false);
  578. format(string,sizeof(string),"ACHTUNG:Ein Mafiosi versucht die Polizei auszuraubFen halten sie ihn auf!");
  579. SendClientMessageToAll(ROT,string);
  580. }
  581. return 1;
  582. }
  583.  
  584. public OnPlayerLeaveCheckpoint(playerid)
  585. {
  586. return 1;
  587. }
  588.  
  589. public OnPlayerEnterRaceCheckpoint(playerid)
  590. {
  591. return 1;
  592. }
  593.  
  594. public OnPlayerLeaveRaceCheckpoint(playerid)
  595. {
  596. return 1;
  597. }
  598.  
  599. public OnRconCommand(cmd[])
  600. {
  601. return 1;
  602. }
  603.  
  604. public OnPlayerRequestSpawn(playerid)
  605. {
  606. return 1;
  607. }
  608.  
  609. public OnObjectMoved(objectid)
  610. {
  611. return 1;
  612. }
  613.  
  614. public OnPlayerObjectMoved(playerid, objectid)
  615. {
  616. return 1;
  617. }
  618.  
  619. public OnPlayerPickUpPickup(playerid, pickupid)
  620. {
  621. if(pickupid==policedachenter)
  622. {
  623. SetPlayerPos(playerid,2296.3000488281,2466.3999023438,38.700000762939);
  624. SetPlayerInterior(playerid,0);
  625. }
  626. if(pickupid==policedachexit)
  627. {
  628. SetPlayerPos(playerid,2310.3596,2474.6931,-7.4531);
  629. SetPlayerInterior(playerid,0);
  630. }
  631. if(pickupid==waffenladenenter)
  632. {
  633. SetPlayerPos(playerid,286.800994,-82.547599,1001.515625);
  634. SetPlayerInterior(playerid,4);
  635. }
  636. if(pickupid==waffenladenexit)
  637. {
  638. SetPlayerPos(playerid,2535.6316,2083.7988,10.8203);
  639. SetPlayerFacingAngle(playerid,91.4661);
  640. SetCameraBehindPlayer(playerid);
  641. SetPlayerInterior(playerid,0);
  642. }
  643.  
  644. if(pickupid==bsnenter)
  645. {
  646. SetPlayerPos(playerid,375.962463,-65.816848,1001.507812);
  647. SetPlayerInterior(playerid,10);
  648. GameTextForPlayer(playerid,"~w~Du ~r~hast ~b~den ~n~~g~BSN betreten.",3000,3);
  649. }
  650.  
  651. if(pickupid==bsnexit)
  652. {
  653. SetPlayerPos(playerid,1199.4618,-920.8215,43.1059);
  654. SetPlayerFacingAngle(playerid,185.7090);
  655. SetCameraBehindPlayer(playerid);
  656. SetPlayerInterior(playerid,0);
  657. }
  658. if(pickupid==rpg_buypoint)
  659. {
  660. if(GetPlayerMoney(playerid)>11999)
  661. {
  662. GivePlayerMoney(playerid,-11999);
  663. SendClientMessage(playerid,GRÜN,"Danke für ihren Einkauf! (gekauft: RPG)");
  664. GivePlayerWeapon(playerid,35,25);
  665. }
  666. else
  667. {
  668. SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
  669. }
  670. }
  671. if(pickupid==mp5_buypoint)
  672. {
  673. if(GetPlayerMoney(playerid)>6999)
  674. {
  675. GivePlayerMoney(playerid,-6999);
  676. SendClientMessage(playerid,GRÜN,"Danke für ihren Einkauf! (gekauft: MP5)");
  677. GivePlayerWeapon(playerid,29,150);
  678. }
  679. else
  680. {
  681. SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
  682. }
  683. }
  684. if(pickupid==m4_buypoint)
  685. {
  686. if(GetPlayerMoney(playerid)>8999)
  687. {
  688. GivePlayerMoney(playerid,-8999);
  689. SendClientMessage(playerid,GRÜN,"Danke für ihren Einkauf! (gekauft: AK M4)");
  690. GivePlayerWeapon(playerid,31,150);
  691. }
  692. else
  693. {
  694. SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
  695. }
  696. }
  697. if(pickupid==ak_buypoint)
  698. {
  699. if(GetPlayerMoney(playerid)>8999)
  700. {
  701. GivePlayerMoney(playerid,-9000);
  702. SendClientMessage(playerid,GRÜN,"Danke für ihren Einkauf! (gekauft: AK 47)");
  703. GivePlayerWeapon(playerid,30,150);
  704. }
  705. else
  706. {
  707. SendClientMessage(playerid,ROT,"Du hast nicht genug Geld!");
  708. }
  709. }
  710.  
  711. return 1;
  712. }
  713.  
  714. public OnVehicleMod(playerid, vehicleid, componentid)
  715. {
  716. return 1;
  717. }
  718.  
  719. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  720. {
  721. return 1;
  722. }
  723.  
  724. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  725. {
  726. return 1;
  727. }
  728.  
  729. public OnPlayerSelectedMenuRow(playerid, row)
  730. {
  731. return 1;
  732. }
  733.  
  734. public OnPlayerExitedMenu(playerid)
  735. {
  736. return 1;
  737. }
  738.  
  739. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  740. {
  741. return 1;
  742. }
  743.  
  744. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  745. {
  746. return 1;
  747. }
  748.  
  749. public OnRconLoginAttempt(ip[], password[], success)
  750. {
  751. return 1;
  752. }
  753.  
  754. public OnPlayerUpdate(playerid)
  755. {
  756. return 1;
  757. }
  758.  
  759. public OnPlayerStreamIn(playerid, forplayerid)
  760. {
  761. return 1;
  762. }
  763.  
  764. public OnPlayerStreamOut(playerid, forplayerid)
  765. {
  766. return 1;
  767. }
  768.  
  769. public OnVehicleStreamIn(vehicleid, forplayerid)
  770. {
  771. return 1;
  772. }
  773.  
  774. public OnVehicleStreamOut(vehicleid, forplayerid)
  775. {
  776. return 1;
  777. }
  778.  
  779. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  780. {
  781. if(dialogid==DIALOG_LOGIN)
  782. {
  783. if(response==0)
  784. {
  785. SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
  786. Kick(playerid);
  787. return 1;
  788. }
  789. if(response==1)
  790. {
  791. if(!strlen(inputtext))
  792. {
  793. SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
  794. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  795. return 1;
  796. }
  797. else
  798. {
  799. Login(playerid,inputtext);
  800. return 1;
  801. }
  802. }
  803. }
  804. if(dialogid==DIALOG_REGISTER)
  805. {
  806. if(response==0)
  807. {
  808. SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
  809. Kick(playerid);
  810. return 1;
  811. }
  812. if(response==1)
  813. {
  814. if(!strlen(inputtext))
  815. {
  816. SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
  817. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
  818. return 1;
  819. }
  820. else
  821. {
  822. Register(playerid,inputtext);
  823. return 1;
  824. }
  825. }
  826. }
  827. if(dialogid==DIALOG_TUTORIAL)
  828. {
  829. if(response==1)
  830. {
  831. SetPlayerPos(playerid,1227.1797,-914.0590,42.6812);
  832. SendClientMessage(playerid,0xFFFF00FF,"Du wurdest Teleportiert");
  833. }
  834. if(response==0)
  835. {
  836. SendClientMessage(playerid,BLAU,"Ok dann halt nicht...");
  837. }
  838. }
  839. return 1;
  840. }
  841.  
  842. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  843. {
  844. return 1;
  845. }
  846.  
  847. stock Register(playerid,key[])
  848. {
  849. new Spielerdatei[64];
  850. new name[MAX_PLAYER_NAME];
  851. GetPlayerName(playerid,name,sizeof(name));
  852. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  853. dini_Create(Spielerdatei);
  854. dini_Set(Spielerdatei,"Passwort",key);
  855. SendClientMessage(playerid,BLAU,"Erfolgreich registriert.");
  856. SetPlayerScore(playerid,0);
  857. SetPVarInt(playerid,"loggedin",1);
  858. return 1;
  859. }
  860.  
  861. stock Login(playerid,key[])
  862. {
  863. new Spielerdatei[64];
  864. new name[MAX_PLAYER_NAME];
  865. GetPlayerName(playerid,name,sizeof(name));
  866. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  867.  
  868. if(gettime()<dini_Int(Spielerdatei,"timeban"))
  869. {
  870. SendClientMessage(playerid,ROT,"Du bist noch gebannt. Komm später wieder.");
  871. Kick(playerid);
  872. return 1;
  873. }
  874.  
  875. if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
  876. {
  877. LoadAccount(playerid);
  878. SendClientMessage(playerid,BLAU,"Erfolgreich eingeloggt.");
  879. return 1;
  880. }
  881. else
  882. {
  883. SendClientMessage(playerid,BLAU,"Falsches Passwort.");
  884. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
  885. return 1;
  886. }
  887. }
  888.  
  889. stock LoadAccount(playerid)
  890. {
  891. new Spielerdatei[64];
  892. new name[MAX_PLAYER_NAME];
  893. GetPlayerName(playerid,name,sizeof(name));
  894. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  895. SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
  896. GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
  897. SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
  898. SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
  899. SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
  900. if(GetPVarInt(playerid,"Baned")==1)
  901. {
  902. SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
  903. Kick(playerid);
  904. }
  905. SetPVarInt(playerid,"loggedin",1);
  906. return 1;
  907. }
  908.  
  909. stock SpielerSpeichern(playerid)
  910. {
  911. if(GetPVarInt(playerid,"loggedin")==1)
  912. {
  913. new Spielerdatei[64];
  914. new name[MAX_PLAYER_NAME];
  915. GetPlayerName(playerid,name,sizeof(name));
  916. format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
  917. dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
  918. dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
  919. dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
  920. dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
  921. dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
  922. dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
  923. }
  924. return 1;
  925. }
  926.  
  927. stock isPlayerInFrakt(playerid,fraktid)
  928. {
  929. if(GetPVarInt(playerid,"Fraktion")==fraktid)return 1;
  930. return 0;
  931. }
  932.  
  933. stock isPlayerAnAdmin(playerid,rang)
  934. {
  935. if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
  936. return 0;
  937. }
  938.  
  939. stock sscanf(sstring[], format[], {Float,_}:...)
  940. {
  941. #if defined isnull
  942. if (isnull(sstring))
  943. #else
  944. if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
  945. #endif
  946. {
  947. return format[0];
  948. }
  949. #pragma tabsize 4
  950. new
  951. formatPos = 0,
  952. sstringPos = 0,
  953. paramPos = 2,
  954. paramCount = numargs(),
  955. delim = ' ';
  956. while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
  957. {
  958. sstringPos++;
  959. }
  960. while (paramPos < paramCount && sstring[sstringPos])
  961. {
  962. switch (format[formatPos++])
  963. {
  964. case '\0':
  965. {
  966. return 0;
  967. }
  968. case 'i', 'd':
  969. {
  970. new
  971. neg = 1,
  972. num = 0,
  973. ch = sstring[sstringPos];
  974. if (ch == '-')
  975. {
  976. neg = -1;
  977. ch = sstring[++sstringPos];
  978. }
  979. do
  980. {
  981. sstringPos++;
  982. if ('0' <= ch <= '9')
  983. {
  984. num = (num * 10) + (ch - '0');
  985. }
  986. else
  987. {
  988. return -1;
  989. }
  990. }
  991. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  992. setarg(paramPos, 0, num * neg);
  993. }
  994. case 'h', 'x':
  995. {
  996. new
  997. num = 0,
  998. ch = sstring[sstringPos];
  999. do
  1000. {
  1001. sstringPos++;
  1002. switch (ch)
  1003. {
  1004. case 'x', 'X':
  1005. {
  1006. num = 0;
  1007. continue;
  1008. }
  1009. case '0' .. '9':
  1010. {
  1011. num = (num << 4) | (ch - '0');
  1012. }
  1013. case 'a' .. 'f':
  1014. {
  1015. num = (num << 4) | (ch - ('a' - 10));
  1016. }
  1017. case 'A' .. 'F':
  1018. {
  1019. num = (num << 4) | (ch - ('A' - 10));
  1020. }
  1021. default:
  1022. {
  1023. return -1;
  1024. }
  1025. }
  1026. }
  1027. while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
  1028. setarg(paramPos, 0, num);
  1029. }
  1030. case 'c':
  1031. {
  1032. setarg(paramPos, 0, sstring[sstringPos++]);
  1033. }
  1034. case 'f':
  1035. {
  1036.  
  1037. new changestr[16], changepos = 0, strpos = sstringPos;
  1038. while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
  1039. {
  1040. changestr[changepos++] = sstring[strpos++];
  1041. }
  1042. changestr[changepos] = '\0';
  1043. setarg(paramPos,0,_:floatstr(changestr));
  1044. }
  1045. case 'p':
  1046. {
  1047. delim = format[formatPos++];
  1048. continue;
  1049. }
  1050. case '\'':
  1051. {
  1052. new
  1053. end = formatPos - 1,
  1054. ch;
  1055. while ((ch = format[++end]) && ch != '\'') {}
  1056. if (!ch)
  1057. {
  1058. return -1;
  1059. }
  1060. format[end] = '\0';
  1061. if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
  1062. {
  1063. if (format[end + 1])
  1064. {
  1065. return -1;
  1066. }
  1067. return 0;
  1068. }
  1069. format[end] = '\'';
  1070. sstringPos = ch + (end - formatPos);
  1071. formatPos = end + 1;
  1072. }
  1073. case 'u':
  1074. {
  1075. new
  1076. end = sstringPos - 1,
  1077. id = 0,
  1078. bool:num = true,
  1079. ch;
  1080. while ((ch = sstring[++end]) && ch != delim)
  1081. {
  1082. if (num)
  1083. {
  1084. if ('0' <= ch <= '9')
  1085. {
  1086. id = (id * 10) + (ch - '0');
  1087. }
  1088. else
  1089. {
  1090. num = false;
  1091. }
  1092. }
  1093. }
  1094. if (num && IsPlayerConnected(id))
  1095. {
  1096. setarg(paramPos, 0, id);
  1097. }
  1098. else
  1099. {
  1100. #if !defined foreach
  1101. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  1102. #define __SSCANF_FOREACH__
  1103. #endif
  1104. sstring[end] = '\0';
  1105. num = false;
  1106. new
  1107. name[MAX_PLAYER_NAME];
  1108. id = end - sstringPos;
  1109. foreach (Player, playerid)
  1110. {
  1111. GetPlayerName(playerid, name, sizeof (name));
  1112. if (!strcmp(name, sstring[sstringPos], true, id))
  1113. {
  1114. setarg(paramPos, 0, playerid);
  1115. num = true;
  1116. break;
  1117. }
  1118. }
  1119. if (!num)
  1120. {
  1121. setarg(paramPos, 0, INVALID_PLAYER_ID);
  1122. }
  1123. sstring[end] = ch;
  1124. #if defined __SSCANF_FOREACH__
  1125. #undef foreach
  1126. #undef __SSCANF_FOREACH__
  1127. #endif
  1128. }
  1129. sstringPos = end;
  1130. }
  1131. case 's', 'z':
  1132. {
  1133. new
  1134. i = 0,
  1135. ch;
  1136. if (format[formatPos])
  1137. {
  1138. while ((ch = sstring[sstringPos++]) && ch != delim)
  1139. {
  1140. setarg(paramPos, i++, ch);
  1141. }
  1142. if (!i)
  1143. {
  1144. return -1;
  1145. }
  1146. }
  1147. else
  1148. {
  1149. while ((ch = sstring[sstringPos++]))
  1150. {
  1151. setarg(paramPos, i++, ch);
  1152. }
  1153. }
  1154. sstringPos--;
  1155. setarg(paramPos, i, '\0');
  1156. }
  1157. default:
  1158. {
  1159. continue;
  1160. }
  1161. }
  1162. while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
  1163. {
  1164. sstringPos++;
  1165. }
  1166. while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
  1167. {
  1168. sstringPos++;
  1169. }
  1170. paramPos++;
  1171. }
  1172. do
  1173. {
  1174. if ((delim = format[formatPos++]) > ' ')
  1175. {
  1176. if (delim == '\'')
  1177. {
  1178. while ((delim = format[formatPos++]) && delim != '\'') {}
  1179. }
  1180. else if (delim != 'z')
  1181. {
  1182. return delim;
  1183. }
  1184. }
  1185. }
  1186. while (delim > ' ');
  1187. return 0;
  1188. }
  1189. //Spielername Stock
  1190. stock SpielerName(playerid)
  1191. {
  1192. new GetName[MAX_PLAYER_NAME];
  1193. GetPlayerName(playerid,GetName,sizeof(GetName));
  1194. return GetName;
  1195. }
  1196.  
  1197. forward hacktimer(playerid);
  1198. public hacktimer(playerid)
  1199. {
  1200. if(IsPlayerInRangeOfPoint(playerid,5.0,2496.3586,2778.2888,10.8203))
  1201. {
  1202. MoveObject(tor[0],2498.19995117,2772.89990234,19.50000000,5);
  1203. SendClientMessage(playerid,BLAU,"Du hast erfolgreich das Mafiator gehackt");
  1204. DisablePlayerCheckpoint(playerid);
  1205. }
  1206. else
  1207. {
  1208. SendClientMessage(playerid,ROT,"Da du nicht im Checkpoint geblieben bist wurde der hack abgebrochen");
  1209. DisablePlayerCheckpoint(playerid);
  1210. }
  1211. else if(IsPlayerInRangeOfPoint(playerid,5.0,2334.3945,2439.9675,6.0607))
  1212. {
  1213. {
  1214. MoveObject(tor[1],2335.10009766,2443.50000000,7.09999990-10,5);
  1215. SendClientMessage(playerid,BLAU,"Du hast erfolgreich das Polizeitor gehackt");
  1216. DisablePlayerCheckpoint(playerid);
  1217. }
  1218. else
  1219. {
  1220. SendClientMessage(playerid,ROT,"Da du nicht im Checkpoint geblieben bist wurde der hack abgebrochen");
  1221. DisablePlayerCheckpoint(playerid);
  1222. }
  1223. }
  1224. return 1;
  1225. }
  1226.  
  1227. forward mafiarobtimer(playerid);
  1228. public mafiarobtimer(playerid)
  1229. {
  1230. if(IsPlayerInRangeOfPoint(playerid,5.0,2309.4304,2456.2214,-7.4531))
  1231. {
  1232. GivePlayerMoney(playerid,5000);
  1233. SendClientMessage(playerid,BLAU,"Du hast erfolgreich 5000Dollar erbeutet");
  1234. DisablePlayerCheckpoint(playerid);
  1235. }
  1236. else
  1237. {
  1238. SendClientMessage(playerid,ROT,"Da du nicht im Checkpoint geblieben bist kriegst du auch nix");
  1239. DisablePlayerCheckpoint(playerid);
  1240. }
  1241. return 1;
  1242. }
  1243. forward policerobtimer(playerid);
  1244. public policerobtimer(playerid)
  1245. {
  1246. if(IsPlayerInRangeOfPoint(playerid,5.0,2583.7295,2825.4858,10.8203))
  1247. {
  1248. GivePlayerMoney(playerid,5000);
  1249. SendClientMessage(playerid,BLAU,"Du hast erfolgreich 5000Dollar erbeutet");
  1250. DisablePlayerCheckpoint(playerid);
  1251. }
  1252. else
  1253. {
  1254. SendClientMessage(playerid,ROT,"Da du nicht im Checkpoint geblieben bist kriegst du auch nix");
  1255. DisablePlayerCheckpoint(playerid);
  1256. }
  1257. return 1;
  1258. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement