Advertisement
JeffryUGP

snake112 - Code

Sep 21st, 2014
360
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 97.06 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3. #include <ocmd>
  4. #include <sscanf2>
  5. #include <a_mysql>
  6. #include <streamer>
  7. #include <JunkBuster>
  8.  
  9. #define ROT 0xFF0000FF
  10. #define BLAU 0x0087FFFF
  11. #define weiß 0xFFFFFFAA
  12. #define GRÜN 0x33AA33AA
  13. #define LEUCHTENDBLAU 0x33CCFFAA
  14. #define LBLAU 0x00AFFFFF
  15. #define GELB 0xFFFF00FF
  16. #define DUNKEL_ROT 0xE10000FF
  17. #define NEON_GRÜN 0x00FF00FF
  18. #define GRAU 0x828282FF
  19. #define Orange 0xFF9600FF
  20. #define ORANGE 0xFF6400FF
  21. #define BBLAU 0x1400FFFF
  22.  
  23. static newbie[MAX_PLAYERS];
  24.  
  25. //Dialoge
  26. #define DIALOG_REGISTER 1
  27. #define DIALOG_LOGIN 2
  28. #define DIALOG_AUTOHAUS 3
  29. #define DIALOG_NEULINGSHILFE 4
  30. #define DIALOG_INVITE 5
  31.  
  32. //MySQL
  33. #define db_host "127.0.0.1"
  34. #define db_user "xSnake"
  35. #define db_pass "ILDJeannine"
  36. #define db_db "samp"
  37.  
  38. //enums
  39. enum playerInfo{
  40.      eingeloggt,
  41.      level,
  42.      db_id,
  43.      alevel,
  44.      slevel,
  45.      Skin,
  46.      fraktion,
  47.      rang,
  48.      spawnchange
  49. }
  50.  
  51. enum carEnum{
  52.     id_x,
  53.     model,
  54.     besitzer,
  55.     Float:c_x,
  56.     Float:c_y,
  57.     Float:c_z,
  58.     Float:c_r,
  59.     db_id
  60. }
  61.  
  62. enum autohausEnum{
  63.     Float:s_x,
  64.     Float:s_y,
  65.     Float:s_z,
  66.     Float:s_r
  67. }
  68.  
  69. enum autohauscarEnum{
  70.     model,
  71.     Float:c_x,
  72.     Float:c_y,
  73.     Float:c_z,
  74.     Float:c_r,
  75.     c_preis,
  76.     ah_id,
  77.     id_x
  78. }
  79.  
  80. enum fraktEnum
  81. {
  82.     f_name[128],
  83.     Float:f_x,
  84.     Float:f_y,
  85.     Float:f_z,
  86.     Float:f_r,
  87.     f_inter,
  88.     f_world,
  89.     f_waffe1,
  90.     f_ammo1,
  91.     f_waffe2,
  92.     f_ammo2,
  93.     f_waffe3,
  94.     f_ammo3,
  95.     f_waffe4,
  96.     f_ammo4
  97. }
  98.  
  99. //Globale Variablen
  100. new dbhandle;
  101. new sInfo[MAX_PLAYERS][playerInfo];
  102. new fInfo[][fraktEnum] = {
  103. {"Zivilist",369.8406,-2055.3186,7.8359,356.8666,0,0,0,0,0,0,0,0,0,0},
  104. {"LSPD",219.6863,69.0100,1005.0391,290.2877,6,1,0,0,0,0,0,0,0,0},
  105. {"FBI",361.3059,204.8504,1008.3828,181.0831,3,20,0,0,0,0,0,0,0,0},
  106. {"Medic",350.7579,163.5592,1019.9912,325.7878,3,2,0,0,0,0,0,0,0,0},
  107. {"Oamt",349.0692,162.0779,1025.7891,270.6080,3,5,0,0,0,0,0,0,0,0},
  108. {"News",349.0692,162.0779,1025.7891,270.6080,3,11,0,0,0,0,0,0,0,0},
  109. {"Fahrschule",-2023.1954,-114.4999,1035.1719,92.8690,3,12,0,0,0,0,0,0,0,0},
  110. {"Groove Street",2807.5854,-1168.1516,1025.5703,178.8052,8,14,24,50,29,250,5,0,1,0},
  111. {"Ballas",2807.5854,-1168.1516,1025.5703,178.8052,8,15,24,50,29,250,5,0,1,0},
  112. {"Los Santos Vagos",2807.5854,-1168.1516,1025.5703,178.8052,8,16,24,50,29,250,5,0,1,0},
  113. {"Varios Los Aztecas",2807.5854,-1168.1516,1025.5703,178.8052,8,17,24,50,29,250,5,0,1,0},
  114. {"S.F Rifa",2807.5854,-1168.1516,1025.5703,178.8052,8,18,24,50,29,250,5,0,1,0},
  115. {"LCN",2807.5854,-1168.1516,1025.5703,178.8052,8,8,24,50,29,250,2,0,1,0},
  116. {"Yakuza",2807.5854,-1168.1516,1025.5703,178.8052,8,9,24,50,29,250,8,0,1,0},
  117. {"Russen",2807.5854,-1168.1516,1025.5703,178.8052,8,19,24,50,29,250,5,0,1,0},
  118. {"Hitman",-688.1939,935.9031,13.6328,359.6828,0,10,0,0,4,50,24,50,4,0}
  119. };
  120. new cInfo[20][carEnum];
  121. new invite[MAX_PLAYERS] = {-1,...};
  122. new Text:uhrzeitLabel;
  123. new Text:datumLabel;
  124. new Text:nameLabel;
  125. new Text:versionLabel;
  126. new ahCars[][autohauscarEnum] = {
  127. {517,1778.3392,-1914.7708,13.1931,309.9724,12000},//Majestic
  128. {549,1778.7081,-1922.1168,13.0068,309.4838,10000},//Tampa
  129. {436,1779.7990,-1929.4340,13.1674,335.0039,8000},//Previon
  130. {547,1786.3859,-1931.0214,13.0707,358.4309,8000},//Primo
  131. {492,1794.5270,-1931.1763,13.1476,359.9832,8000},//Greenwood
  132. {479,1801.3038,-1929.5588,13.1304,24.9955,7000},//Regina
  133. {401,1802.7820,-1922.3101,13.2028,50.0128,7000},//Bravura
  134. {410,1802.8053,-1914.7458,13.0705,49.9958,5000},//Manana
  135. {536,2119.7083,-1125.3735,25.1035,220.0919,45000},//Blade
  136. {534,2119.0818,-1140.4009,24.7112,220.2495,50000},//Savanna
  137. {535,2120.2769,-1149.6525,24.0219,319.9047,35000},//Remington
  138. {576,2133.9116,-1145.5280,24.3744,69.9993,40000},//Slamvan
  139. {412,2134.6316,-1139.1819,25.2913,80.0036,15000},//Tornado
  140. {466,2135.1841,-1132.8958,25.3561,90.0562,40000},//Voodoo
  141. {467,2135.2693,-1127.2712,25.3126,94.9765,25000},//Glendale
  142. {567,2119.4092,-1132.7332,25.1540,220.2756,20000},//Oceanic
  143. {462,550.9005,-1292.7097,16.8590,29.9999,2000},//Faggio
  144. {509,553.6590,-1292.5516,16.7089,29.9997,500},//Bike
  145. {510,556.5526,-1292.9039,16.7889,29.9995,1200},//Mountain Bike
  146. {481,559.5067,-1292.9257,16.7457,29.9986,800},//BMX
  147. {551,549.3447,-1267.0093,17.0510,216.9986,40000},//Mert
  148. {458,545.2022,-1269.8716,17.1420,216.9990,16000},//Solair
  149. {445,541.1859,-1272.9104,17.0974,216.9984,20000},//Admiral
  150. {405,537.2215,-1275.8428,17.0564,217.3912,50000},//Sentinel
  151. {533,533.0996,-1279.0229,16.9669,217.0186,20000},//Feltzer
  152. {542,529.3826,-1282.3234,17.0169,217.0079,15000},//Clover
  153. {475,525.3351,-1285.3268,17.0026,216.9973,40000},//Sabre
  154. {439,521.2407,-1288.1873,17.0940,217.2220,30000},//Stallion
  155. {469,-1638.2010,-667.3042,14.1735,320.2324,800000},//Sparrow
  156. {563,-1652.1797,-655.0400,14.9072,325.0001,1200000},//Raindance
  157. {487,-1670.3180,-643.3762,14.3146,319.9983,1000000},//Maverik
  158. {593,-1664.6489,-609.4921,14.6010,199.9841,1100000},//Dodo
  159. {519,-1644.8362,-603.3583,15.0687,205.0012,1500000},//Shamal
  160. {463,-1989.3320,274.1434,34.7038,240.0000,200000},//Freeway
  161. {468,-1989.6099,270.2097,34.8558,240.0001,600000},//Sunchez
  162. {461,-1989.9058,266.1317,34.7729,239.9999,500000},//PCJ-600
  163. {521,-1990.3009,261.9583,34.7399,240.9074,600000},//FRC-900
  164. {522,-1990.6650,257.7109,34.7448,240.0001,2500000},//NRG-500
  165. {561,-1956.1478,301.6561,35.2476,109.9989,300000},//Stratum
  166. {565,-1955.6249,294.9202,35.0526,109.9922,300000},//Flash
  167. {560,-1947.8324,272.7213,35.1410,79.0297,600000},//Sultan
  168. {550,-1948.3179,267.3468,35.3150,79.9926,100000},//Sunrise
  169. {426,-1948.5752,261.8673,35.1658,80.1399,80000},//Premier
  170. {507,-1948.9185,256.3206,35.2193,80.2831,60000},//Elegant
  171. {559,-1948.3441,272.4749,40.6548,79.9965,450000},//Jester
  172. {558,-1948.6221,264.9835,40.6422,79.9920,150000},//Uranus
  173. {562,-1948.3993,258.2673,40.6999,78.1411,400000},//Elegy
  174. {429,-1954.5563,292.5934,40.7466,140.0730,900000},//Banshee
  175. {402,-1955.0973,302.4874,40.8754,139.9748,500000},//Buffalo
  176. {415,-1652.8722,1213.3792,7.0137,209.9856,800000},//Cheetah
  177. {477,-1671.4486,1206.2499,13.4503,279.9929,600000},//ZR-50
  178. {506,-1648.3962,1206.7548,13.3219,20.3122,500000},//Super-GT
  179. {495,-1665.6210,1223.1183,13.9860,210.1448,500000},//Sandking
  180. {541,-1663.7516,1221.6583,20.8167,224.9904,1200000},//Bullet
  181. {411,-1649.7714,1206.9974,20.7836,69.9973,1600000},//Infernus
  182. {451,-1666.5088,1206.4033,20.8095,294.9901,1000000},//Turismo
  183. {515,2129.4312,941.7939,11.8827,110.0144,250000},//Road Train
  184. {514,2129.5615,934.3322,11.4592,110.0001,200000},//Tanker
  185. {482,2103.3726,946.1735,10.8807,270.0109,40000},//Buritto
  186. {413,2103.4163,941.2428,10.9144,269.9996,20000},//Pony
  187. {418,2103.4595,930.9376,10.9341,269.9996,10000},//Moonbeam
  188. {483,2103.6689,925.7841,10.7828,270.0113,10000},//Camper
  189. {543,2103.5530,915.9024,10.5812,270.0947,15000},//Satler
  190. {478,2103.5466,910.8055,10.8157,269.5107,4000},//Walton
  191. {579,2127.8733,909.2474,10.7974,89.9947,150000},//Huntley
  192. {554,2127.6477,900.4788,10.9917,89.9994,40000},//Yosemit
  193. {500,2127.6274,891.6475,11.0174,89.9148,50000},//Mesa
  194. {489,2106.0315,891.0602,10.9885,269.9990,30000},//Rancher
  195. {400,2106.3501,899.7379,10.9761,269.9987,60000}//Landstalker
  196. };
  197.  
  198. new Float:RandomSpawn[][4] = {
  199. {-31.5830,-276.6498,5.3175,269.5427},
  200. {-31.4291,-286.8210,5.3192,270.3276},
  201. {-31.5830,-276.6498,5.3175,269.5427},
  202. {-30.5126,-280.0215,5.3186,269.2653},
  203. {-31.2262,-283.4319,5.3170,269.3367},
  204. {-31.4291,-286.8210,5.3192,270.3276},
  205. {-30.6872,-290.2162,5.3215,270.0367},
  206. {-31.2113,-293.6188,5.3206,270.5205},
  207. {-30.9714,-296.9427,5.3215,269.7877},
  208. {-0.9785,-301.1555,5.3132,89.2128},
  209. {-0.3900,-304.6669,5.3173,90.0018},
  210. {-0.4273,-308.1667,5.3223,89.5486},
  211. {-0.0562,-311.6645,5.3220,90.0193},
  212. {-0.2071,-315.2568,5.3215,89.2483},
  213. {-0.6865,-318.7336,5.3232,89.6181},
  214. {-0.5670,-322.2784,5.3224,89.8154},
  215. {-0.7787,-325.8391,5.3220,88.6041},
  216. {-0.5788,-329.3296,5.3211,89.3954},
  217. {-0.8341,-332.8588,5.3224,89.2498},
  218. {-0.3046,-336.4436,5.3222,88.9489},
  219. {-0.7694,-339.8704,5.3236,89.9762},
  220. {-0.8461,-343.4076,5.3248,89.5425},
  221. {-0.5109,-346.9451,5.3220,89.8589},
  222. {-0.5799,-350.4830,5.3219,89.6116},
  223. {-0.2762,-354.0208,5.3204,89.5558},
  224. {-0.0255,-357.5459,5.3205,89.8315},
  225. {-0.6771,-361.0365,5.3217,88.9111},
  226. {-1.2926,-364.7119,5.3221,89.1589}
  227. };
  228.  
  229. new autosOhneMotor[] = {
  230.     509,
  231.     510,
  232.     481
  233. };
  234.  
  235. //Fraktions Cars
  236. new policeCars[53];
  237. new medicCars[40];
  238. new oamtCars[22];
  239.  
  240. //MoveObjecte
  241. new LSPDGTor;
  242. new OamtTor;
  243.  
  244. new stadthalleenter;
  245. new stadthalleexit;
  246. new ammulsenter;
  247. new ammulsexit;
  248. new lspdenter;
  249. new lspdexit;
  250. new lspddachenter;
  251. new lspddachexit;
  252. new lspdgarageenter;
  253. new lspdgarageexit;
  254. new victimenter;
  255. new victimexit;
  256. new medicenter;
  257. new medicexit;
  258. new medicdenter;
  259. new medicdexit;
  260. new oamtenter;
  261. new oamtexit;
  262. new lcnenter;
  263. new lcnexit;
  264. new yakuzaenter;
  265. new yakuzaexit;
  266. new gsenter;
  267. new gsexit;
  268. new ballasenter;
  269. new ballasexit;
  270. new vagosenter;
  271. new vagosexit;
  272. new atzenenter;
  273. new atzenexit;
  274. new rifaenter;
  275. new rifaexit;
  276. new russenenter;
  277. new russenexit;
  278. new hitmanenter;
  279. new hitmanexit;
  280. new newsenter;
  281. new newsexit;
  282. new fshenter;
  283. new fshexit;
  284. new fsbenter;
  285. new fsbexit;
  286. new fbienter;
  287. new fbiexit;
  288. new fbigenter;
  289. new fbigexit;
  290. new fbidenter;
  291. new fbidexit;
  292.  
  293. new VehicleFriendlyNames[212][] = {
  294.         {"Landstalker"},{"Bravura"},{"Buffalo"},{"Linerunner"},{"Perrenial"},{"Sentinel"},
  295.         {"Dumper"},{"Firetruck"},{"Trashmaster"},{"Stretch"},{"Manana"},{"Infernus"},{"Voodoo"},
  296.         {"Pony"},{"Mule"},{"Cheetah"},{"Ambulance"},{"Leviathan"},{"Moonbeam"},{"Esperanto"},{"Taxi"},
  297.         {"Washington"},{"Bobcat"},{"Mr. Whoopee"},{"BF. Injection"},{"Hunter"},{"Premier"},{"Enforcer"},
  298.         {"Securicar"},{"Banshee"},{"Predator"},{"Bus"},{"Rhino"},{"Barracks"},{"Hotknife"},{"Article Trailer"},
  299.         {"Previon"},{"Coach"},{"Cabbie"},{"Stallion"},{"Rumpo"},{"RC Bandit"},{"Romero"},{"Packer"},{"Monster"},
  300.         {"Admiral"},{"Squalo"},{"Seasparrow"},{"Pizzaboy"},{"Tram"},{"Article Trailer 2"},{"Turismo"},{"Speeder"},
  301.         {"Reefer"},{"Tropic"},{"Flatbed"},{"Yankee"},{"Caddy"},{"Solair"},{"Berkley's RC Van"},{"Skimmer"},
  302.         {"PCJ-600"},{"Faggio"},{"Freeway"},{"RC Baron"},{"RC Raider"},{"Glendale"},{"Oceanic"},{"Sanchez"},
  303.         {"Sparrow"},{"Patriot"},{"Quad"},{"Coastguard"},{"Dinghy"},{"Hermes"},{"Sabre"},{"Rustler"},{"ZR-350"},
  304.         {"Walton"},{"Regina"},{"Comet"},{"BMX"},{"Burrito"},{"Camper"},{"Marquis"},{"Baggage"},{"Dozer"},
  305.         {"Maverick"},{"News Chopper"},{"Rancher"},{"FBI Rancher"},{"Virgo"},{"Greenwood"},{"Jetmax"},{"Hotring"},
  306.         {"Sandking"},{"Blista Compact"},{"Police Maverick"},{"Boxville"},{"Benson"},{"Mesa"},{"RC Goblin"},
  307.         {"Hotring Racer A"},{"Hotring Racer B"},{"Bloodring Banger"},{"Rancher"},{"Super GT"},{"Elegant"},
  308.         {"Journey"},{"Bike"},{"Mountain Bike"},{"Beagle"},{"Cropdust"},{"Stunt"},{"Tanker"},{"Roadtrain"},
  309.         {"Nebula"},{"Majestic"},{"Buccaneer"},{"Shamal"},{"Hydra"},{"FCR-900"},{"NRG-500"},{"HPV1000"},
  310.         {"Cement Truck"},{"Tow Truck"},{"Fortune"},{"Cadrona"},{"FBI Truck"},{"Willard"},{"Forklift"},
  311.         {"Tractor"},{"Combine"},{"Feltzer"},{"Remington"},{"Slamvan"},{"Blade"},{"Freight"},{"Streak"},
  312.         {"Vortex"},{"Vincent"},{"Bullet"},{"Clover"},{"Sadler"},{"Firetruck LA"},{"Hustler"},{"Intruder"},
  313.         {"Primo"},{"Cargobob"},{"Tampa"},{"Sunrise"},{"Merit"},{"Utility"},{"Nevada"},{"Yosemite"},{"Windsor"},
  314.         {"Monster A"},{"Monster B"},{"Uranus"},{"Jester"},{"Sultan"},{"Stratum"},{"Elegy"},{"Raindance"},
  315.         {"RC Tiger"},{"Flash"},{"Tahoma"},{"Savanna"},{"Bandito"},{"Freight Flat"},{"Streak Carriage"},
  316.         {"Kart"},{"Mower"},{"Dunerider"},{"Sweeper"},{"Broadway"},{"Tornado"},{"AT-400"},{"DFT-30"},{"Huntley"},
  317.         {"Stafford"},{"BF-400"},{"Newsvan"},{"Tug"},{"Article Trailer 3"},{"Emperor"},{"Wayfarer"},{"Euros"},{"Mobile Hotdog"},
  318.         {"Club"},{"Freight Carriage"},{"Trailer 3"},{"Andromada"},{"Dodo"},{"RC Cam"},{"Launch"},{"Police Car (LSPD)"},
  319.         {"Police Car (SFPD)"},{"Police Car (LVPD)"},{"Police Ranger"},{"Picador"},{"S.W.A.T Van"},{"Alpha"},
  320.         {"Phoenix"},{"Glendale"},{"Sadler"},{"Luggage Trailer A"},{"Luggage Trailer B"},{"Stair Trailer"},
  321.         {"Boxville"},{"Farm Plow"},{"Utility Trailer"}
  322. };
  323.  
  324. //Forwards
  325. forward OnUserCheck(playerid);
  326. forward OnPasswordResponse(playerid);
  327. forward carSavedToDB(carid);
  328. forward OnPlayerCarsLoad(playerid);
  329. forward sekunde();
  330. forward OnPlayerRegister(playerid);
  331. forward Float:GetPlayerDistanz(p1,p2);
  332. forward CloseGate(id);
  333.  
  334. main()
  335. {
  336.     print("\n----------------------------------");
  337.     print(" Red-Game0v3r-Reallife by Snake");
  338.     print("----------------------------------\n");
  339. }
  340.  
  341. public OnGameModeInit()
  342. {
  343.     uhrzeitLabel = TextDrawCreate(545.000000, 26.000000, "00:00:00");
  344.     TextDrawBackgroundColor(uhrzeitLabel, 255);
  345.     TextDrawFont(uhrzeitLabel, 3);
  346.     TextDrawLetterSize(uhrzeitLabel, 0.509999, 1.400000);
  347.     TextDrawColor(uhrzeitLabel, -16776961);
  348.     TextDrawSetOutline(uhrzeitLabel, 1);
  349.     TextDrawSetProportional(uhrzeitLabel, 0);
  350.     TextDrawSetSelectable(uhrzeitLabel, 0);
  351.    
  352.     datumLabel = TextDrawCreate(544.000000, 8.000000, "00:00:00");
  353.     TextDrawBackgroundColor(datumLabel, 255);
  354.     TextDrawFont(datumLabel, 3);
  355.     TextDrawLetterSize(datumLabel, 0.410000, 1.500000);
  356.     TextDrawColor(datumLabel, -16776961);
  357.     TextDrawSetOutline(datumLabel, 1);
  358.     TextDrawSetProportional(datumLabel, 0);
  359.     TextDrawSetSelectable(datumLabel, 0);
  360.    
  361.     nameLabel = TextDrawCreate(1.000000, 435.000000, "Playpoint-Reallife");
  362.     TextDrawBackgroundColor(nameLabel, 255);
  363.     TextDrawFont(nameLabel, 0);
  364.     TextDrawLetterSize(nameLabel, 0.549997, 1.299999);
  365.     TextDrawColor(nameLabel, -16776961);
  366.     TextDrawSetOutline(nameLabel, 0);
  367.     TextDrawSetProportional(nameLabel, 1);
  368.     TextDrawSetShadow(nameLabel, 1);
  369.     TextDrawUseBox(nameLabel, 1);
  370.     TextDrawBoxColor(nameLabel, 136);
  371.     TextDrawTextSize(nameLabel, 649.000000, -74.000000);
  372.     TextDrawSetSelectable(nameLabel, 0);
  373.  
  374.     versionLabel = TextDrawCreate(539.000000, 435.000000, "[PPR]1.0.0");
  375.     TextDrawBackgroundColor(versionLabel, 65535);
  376.     TextDrawFont(versionLabel, 1);
  377.     TextDrawLetterSize(versionLabel, 0.469999, 1.099999);
  378.     TextDrawColor(versionLabel, 16711935);
  379.     TextDrawSetOutline(versionLabel, 1);
  380.     TextDrawSetProportional(versionLabel, 1);
  381.     TextDrawSetSelectable(versionLabel, 0);
  382.  
  383.     SetTimer("sekunde", 1000, 1);
  384.  
  385.     for(new i=0; i<sizeof(ahCars); i++)
  386.     {
  387.         ahCars[i][id_x]=AddStaticVehicle(ahCars[i][model],ahCars[i][c_x],ahCars[i][c_y],ahCars[i][c_z],ahCars[i][c_r],-1,-1);
  388.     }
  389.    
  390.     //MySQL
  391.     dbhandle = mysql_connect(db_host,db_user,db_db,db_pass);
  392.  
  393.     ShowPlayerMarkers(0);
  394.     EnableStuntBonusForAll(0);
  395.     UsePlayerPedAnims();
  396.     DisableInteriorEnterExits();
  397.     ManualVehicleEngineAndLights();
  398.    
  399.     CreatePickup(1239,1,369.7458,-2049.3774,7.8359);
  400.     Create3DTextLabel("Benutze /neuling",GRAU,369.7458,-2049.3774,7.8359,10,0,1);
  401.    
  402.     LSPDGTor = CreateDynamicObject(980, 1590.33, -1637.92, 14.83,   0.00, 0.00, 0.00);
  403.     OamtTor = CreateDynamicObject(968, -1035.74, -588.25, 31.79,   0.00, -90.00, -2.78);
  404.    
  405.     stadthalleenter = CreatePickup(1559,1,1209.1383,-1752.1898,13.5935);
  406.     stadthalleexit = CreatePickup(1559,1,390.3139,173.7579,1008.3828,4);
  407.  
  408.     ammulsenter = CreatePickup(1559,1,1368.4120,-1279.7968,13.5469);
  409.     ammulsexit = CreatePickup(1559,1,285.3690,-41.5567,1001.5156,6);
  410.  
  411.     lspddachexit = CreatePickup(1559,1,242.2522,66.3329,1003.6406,1);
  412.     lspddachenter = CreatePickup(1559,1,1557.7338,-1675.5936,28.3955);
  413.  
  414.     lspdgarageenter = CreatePickup(1559,1,1524.6013,-1677.8462,6.2188);
  415.     lspdgarageexit = CreatePickup(1559,1,246.4084,88.0089,1003.6406,1);
  416.  
  417.     lspdenter = CreatePickup(1559,1,1554.7555,-1675.6046,16.1953);
  418.     lspdexit = CreatePickup(1559,1,246.7832,62.7584,1003.6406,1);
  419.    
  420.     victimenter = CreatePickup(1559,1,461.0550,-1500.9313,31.0585);
  421.     victimexit = CreatePickup(1559,1,227.4967,-8.1671,1002.2109,7);
  422.    
  423.     medicenter = CreatePickup(1559,1,-2655.1060,639.4778,14.4531);
  424.     medicexit = CreatePickup(1559,1,367.0864,162.2996,1019.9844,2);
  425.    
  426.     medicdenter = CreatePickup(1559,1,350.0323,178.0524,1019.9844,2);
  427.     medicdexit = CreatePickup(1559,1,-2628.4531,636.9377,66.0938);
  428.    
  429.     oamtenter = CreatePickup(1559,1,-1088.0608,-602.1430,32.0078);
  430.     oamtexit =  CreatePickup(1559,1,367.9101,162.2453,1025.7891,5);
  431.    
  432.     lcnenter = CreatePickup(1559,1,2481.4614,1525.4645,11.7625);
  433.     lcnexit = CreatePickup(1559,1,2807.6399,-1174.4387,1025.5703,8);
  434.    
  435.     yakuzaenter = CreatePickup(1559,1,1455.4449,750.9749,11.023);
  436.     yakuzaexit = CreatePickup(1559,1,2807.6399,-1174.4387,1025.5703,9);
  437.    
  438.     hitmanexit = CreatePickup(1559,1,-688.0631,942.7572,13.6328,10);
  439.     hitmanenter = CreatePickup(1559,1,-688.1736,944.3516,13.6328);
  440.    
  441.     newsenter = CreatePickup(1559,1,-1754.2233,963.4894,24.8828);
  442.     newsexit = CreatePickup(1559,1,367.9101,162.2453,1025.7891,11);
  443.    
  444.     fshenter = CreatePickup(1559,1,-2026.5018,-101.8712,35.1641);
  445.     fshexit = CreatePickup(1559,1,-2026.9750,-103.7320,1035.1719,12);
  446.    
  447.     fsbenter = CreatePickup(1559,1,-2029.8097,-120.5256,35.1693);
  448.     fsbexit = CreatePickup(1559,1,-2029.6772,-119.4856,1035.1719,12);
  449.    
  450.     gsenter = CreatePickup(1559,1,2495.2678,-1691.1385,14.7656);
  451.     gsexit = CreatePickup(1559,1,2807.6399,-1174.4387,1025.5703,14);
  452.    
  453.     ballasenter = CreatePickup(1559,1,2334.7551,-1234.5438,27.9766);
  454.     ballasexit = CreatePickup(1559,1,2807.6399,-1174.4387,1025.5703,15);
  455.    
  456.     vagosenter = CreatePickup(1559,1,2787.0747,-1926.0601,13.5469);
  457.     vagosexit = CreatePickup(1559,1,2807.6399,-1174.4387,1025.5703,16);
  458.    
  459.     atzenenter = CreatePickup(1559,1,1684.7639,-2098.2534,13.8343);
  460.     atzenexit = CreatePickup(1559,1,2807.6399,-1174.4387,1025.5703,17);
  461.    
  462.     rifaenter = CreatePickup(1559,1,-2719.4253,-319.1740,7.8438);
  463.     rifaexit = CreatePickup(1559,1,2807.6399,-1174.4387,1025.5703,18);
  464.    
  465.     russenenter = CreatePickup(1559,1,-553.4443,2593.7375,53.9348);
  466.     russenexit = CreatePickup(1559,1,2807.6399,-1174.4387,1025.5703,19);
  467.    
  468.     fbienter = CreatePickup(1559,1,327.8879,-1512.2167,36.0325);
  469.     fbiexit = CreatePickup(1559,1,354.5194,197.0079,1008.3828,20);
  470.    
  471.     fbigenter = CreatePickup(1559,1,358.1564,217.1917,1008.3828,20);
  472.     fbigexit = CreatePickup(1559,1,316.0956,-1513.8643,24.9219);
  473.    
  474.     fbidenter = CreatePickup(1559,1,368.3695,209.4724,1008.3828,20);
  475.     fbidexit = CreatePickup(1559,1,312.5084,-1511.2485,76.5362);
  476.    
  477.  
  478.     CreatePickup(1275,1,258.0083,77.3842,1003.6406,1);//Copuniform
  479.     CreatePickup(1247,1,237.4377,75.6302,1005.0391,1);//copduty
  480.     CreatePickup(1313,1,220.5614,75.5118,1005.0391,1);//copwaffen
  481.     CreatePickup(1247,1,370.6835,176.3890,1019.9844,2);//Medic Duty
  482.     CreatePickup(1313,1,361.4622,193.2567,1019.9912,2);//Medic Equip
  483.     CreatePickup(1275,1,350.4096,189.1418,1019.9844,2);//Medic Uniform
  484.     CreatePickup(1247,1,356.0103,157.2881,1025.7891,5);//Duyt Oamt
  485.     CreatePickup(1275,1,363.6320,168.1163,1025.7964,5);//uniform Oamt
  486.     CreatePickup(1313,1,361.5494,156.9424,1025.7964,5);//equip Oamt
  487.     CreatePickup(1254,1,2815.2744,-1168.7433,1029.1719,8);//LCN waffen
  488.     CreatePickup(1275,1,2817.8218,-1166.3743,1029.1719,8);//skin LCN
  489.     CreatePickup(1254,1,2815.2744,-1168.7433,1029.1719,9);//Yakuza Waffen
  490.     CreatePickup(1275,1,2817.8218,-1166.3743,1029.1719,9);//skin Yakuza
  491.     CreatePickup(1275,1,-685.1707,939.4995,13.6328,10);//Hitman skin
  492.     CreatePickup(1254,1,-690.9749,939.5436,13.6328,10);//Hitman waffen
  493.     CreatePickup(1247,1,356.0103,157.2881,1025.7891,11);//Duyt News
  494.     CreatePickup(1275,1,363.6320,168.1163,1025.7964,11);//uniform News
  495.     CreatePickup(1313,1,361.5494,156.9424,1025.7964,11);//equip News
  496.     CreatePickup(1247,1,-2034.7722,-114.9281,1035.1719,12);//FS duty
  497.     CreatePickup(1275,1,-2022.6890,-118.7797,1035.1719,12);//FS uniform
  498.     CreatePickup(1247,1,358.8202,203.5006,1008.3828,20);//FBI Duty
  499.     CreatePickup(1275,1,368.2244,193.8865,1008.3828,20);//FBI Uniform
  500.     CreatePickup(1313,1,359.2991,210.5424,1008.3828,20);//FBI Waffen
  501.    
  502.     Create3DTextLabel("/uniform um Kleidung\n zu wechseln.",GRAU,258.0083,77.3842,1003.6406,10,1);
  503.     Create3DTextLabel("/uniform um Kleidung\n zu wechseln.",GRAU,350.4096,189.1418,1019.9844,10,2);
  504.     Create3DTextLabel("/uniform um Kleidung\n zu wechseln.",GRAU,363.6320,168.1163,1025.7964,10,5);
  505.     Create3DTextLabel("/uniform um Kleidung\n zu wechseln.",GRAU,363.6320,168.1163,1025.7964,10,11);
  506.     Create3DTextLabel("/uniform um Kleidung\n zu wechseln.",GRAU,-2022.6890,-118.7797,1035.1719,10,12);
  507.     Create3DTextLabel("/uniform um Kleidung\n zu wechseln.",GRAU,368.2244,193.8865,1008.3828,10,20);
  508.     Create3DTextLabel("/skin um Kleidung\n zu wechseln.",GRAU,2817.8218,-1166.3743,1029.1719,10,8);
  509.     Create3DTextLabel("/skin um Kleidung\n zu wechseln.",GRAU,2817.8218,-1166.3743,1029.1719,10,9);
  510.     Create3DTextLabel("/skin um Kleidung\n zu wechseln.",GRAU,-685.1707,939.4995,13.6328,10,10);
  511.     Create3DTextLabel("/duty um OnDuty \n zu gehen.",GRAU,237.4377,75.6302,1005.0391,10,1);
  512.     Create3DTextLabel("/duty um OnDuty \n zu gehen.",GRAU,370.6835,176.3890,1019.9844,10,2);
  513.     Create3DTextLabel("/duty um OnDuty \n zu gehen.",GRAU,356.0103,157.2881,1025.7891,10,5);
  514.     Create3DTextLabel("/duty um OnDuty \n zu gehen.",GRAU,356.0103,157.2881,1025.7891,10,11);
  515.     Create3DTextLabel("/duty um OnDuty \n zu gehen.",GRAU,-2034.7722,-114.9281,1035.1719,10,12);
  516.     Create3DTextLabel("/duty um OnDuty \n zu gehen.",GRAU,358.8202,203.5006,1008.3828,10,20);
  517.     Create3DTextLabel("/waffen um sich\n auszurüsten.",GRAU,220.5614,75.5118,1005.0391,10,1);
  518.     Create3DTextLabel("/equip um sich\n auszurüsten.",GRAU,361.4622,193.2567,1019.9912,10,2);
  519.     Create3DTextLabel("/equip um sich\n auszurüsten.",GRAU,361.5494,156.9424,1025.7964,10,5);
  520.     Create3DTextLabel("/equip um sich\n auszurüsten.",GRAU,361.5494,156.9424,1025.7964,10,11);
  521.     Create3DTextLabel("/equip um sich\n auszurüsten.",GRAU,359.2991,210.5424,1008.3828,10,20);
  522.     Create3DTextLabel("LCN Waffen.",GRAU,2815.2744,-1168.7433,1029.1719,10,8);
  523.     Create3DTextLabel("Yakuza Waffen.",GRAU,2815.2744,-1168.7433,1029.1719,10,9);
  524.     Create3DTextLabel("Hitman Waffen.",GRAU,-690.9749,939.5436,13.6328,10,10);
  525.  
  526.     SetGameModeText("Red-Game0v3r-Reallife by Snake");
  527.     AddPlayerClass(26, 369.8406,-2055.3186,7.8359,356.8666, 0, 0, 0, 0, 0, 0);
  528.    
  529.     policeCars[0] = AddStaticVehicleEx(596,1535.7977,-1667.5051,13.1040,359.4606,79,1,-1);
  530.     policeCars[1] = AddStaticVehicleEx(596,1535.7909,-1677.7257,13.1040,0.3027,79,1,-1);
  531.     policeCars[2] = AddStaticVehicleEx(523,1587.6310,-1680.0526,5.4563,270.0000,86,86,-1);
  532.     policeCars[3] = AddStaticVehicleEx(523,1587.6613,-1678.3800,5.4560,270.0454,86,86,-1);
  533.     policeCars[4] = AddStaticVehicleEx(523,1587.6171,-1676.6191,5.4560,270.0634,86,86,-1);
  534.     policeCars[5] = AddStaticVehicleEx(523,1587.6373,-1674.9209,5.4484,270.1465,86,86,-1);
  535.     policeCars[6] = AddStaticVehicleEx(596,1601.2157,-1684.2124,5.6119,90.0000,79,1,-1);
  536.     policeCars[7] = AddStaticVehicleEx(596,1601.1688,-1688.3414,5.6119,90.0000,79,1,-1);
  537.     policeCars[8] = AddStaticVehicleEx(596,1601.1740,-1692.1057,5.6119,89.9999,79,1,-1);
  538.     policeCars[9] = AddStaticVehicleEx(596,1601.1311,-1696.3038,5.6119,89.9998,79,1,-1);
  539.     policeCars[10] = AddStaticVehicleEx(596,1600.8956,-1700.4865,5.6119,89.9999,79,1,-1);
  540.     policeCars[11] = AddStaticVehicleEx(596,1600.9106,-1703.9642,5.6119,89.9998,79,1,-1);
  541.     policeCars[12] = AddStaticVehicleEx(528,1568.3005,-1694.0850,5.9342,217.1329,79,1,-1);
  542.     policeCars[13] = AddStaticVehicleEx(528,1559.9973,-1693.8103,5.9374,224.1833,79,1,-1);
  543.     policeCars[14] = AddStaticVehicleEx(497,1566.4064,-1645.6155,28.6153,90.1844,79,1,-1);//Heli
  544.     policeCars[15] = AddStaticVehicleEx(497,1566.0956,-1706.6515,28.5928,90.4809,79,1,-1);//Heli
  545.     policeCars[16] = AddStaticVehicleEx(411,1534.6785,-1643.9766,5.6189,179.9303,79,79,-1);//Infernus
  546.     policeCars[17] = AddStaticVehicleEx(411,1530.2794,-1644.0593,5.6177,179.9654,79,79,-1);//Infernus
  547.     policeCars[18] = AddStaticVehicleEx(522,1531.6483,-1682.0912,5.4583,269.9747,79,1,-1);//NRG
  548.     policeCars[19] = AddStaticVehicleEx(522,1526.1714,-1682.0457,5.4548,270.4309,79,1,-1);//NRG
  549.     policeCars[20] = AddStaticVehicleEx(522,1528.8478,-1683.7797,5.4533,273.3360,79,1,-1);//NRG
  550.     policeCars[21] = AddStaticVehicleEx(522,1531.7379,-1685.7194,5.4648,270.6934,79,1,-1);//NRG
  551.     policeCars[22] = AddStaticVehicleEx(522,1526.2734,-1685.6869,5.4628,270.3501,79,1,-1);//NRG
  552.     policeCars[23] = AddStaticVehicleEx(522,1529.0414,-1687.6246,5.4561,269.1028,79,1,-1);//NRG
  553.     policeCars[24] = AddStaticVehicleEx(522,1531.7838,-1689.6477,5.4613,271.2374,79,1,-1);//NRG
  554.     policeCars[25] = AddStaticVehicleEx(522,1526.3070,-1689.7078,5.4485,268.9777,79,1,-1);//NRG
  555.     policeCars[26] = AddStaticVehicleEx(541,1538.7549,-1644.2075,5.4893,180.7871,79,1,-1);
  556.     policeCars[27] = AddStaticVehicleEx(541,1526.4448,-1643.9279,5.4914,179.5006,79,1,-1);
  557.     policeCars[28] = AddStaticVehicleEx(601,1544.9067,-1645.1521,5.6494,134.7902,1,1,-1);
  558.     policeCars[29] = AddStaticVehicleEx(596,1546.1268,-1684.4768,5.6128,90.3123,79,1,-1);
  559.     policeCars[30] = AddStaticVehicleEx(596,1545.9919,-1680.2905,5.5761,89.7827,79,1,-1);
  560.     policeCars[31] = AddStaticVehicleEx(596,1545.9379,-1676.0453,5.6638,90.6537,79,1,-1);
  561.     policeCars[32] =AddStaticVehicleEx(596,1545.9063,-1672.0233,5.6032,89.8677,79,1,-1);
  562.     policeCars[33] =AddStaticVehicleEx(596,1545.8661,-1668.0165,5.6133,90.0179,79,1,-1);
  563.     policeCars[34] =AddStaticVehicleEx(596,1545.8756,-1662.9553,5.6124,90.1898,79,1,-1);
  564.     policeCars[35] =AddStaticVehicleEx(596,1545.8080,-1659.0961,5.6117,90.1030,79,1,-1);
  565.     policeCars[36] =AddStaticVehicleEx(596,1545.7391,-1655.1857,5.6132,90.1776,79,1,-1);
  566.     policeCars[37] =AddStaticVehicleEx(596,1545.7339,-1651.0815,5.6121,90.5315,79,1,-1);
  567.     policeCars[38] =AddStaticVehicleEx(601,1601.5614,-1710.6034,5.6494,44.8465,1,1,-1);
  568.     policeCars[39] =AddStaticVehicleEx(599,1595.5000,-1711.5529,6.0799,0.0098,79,1,-1);
  569.     policeCars[40] =AddStaticVehicleEx(599,1591.4562,-1711.5800,6.0877,359.6750,79,1,-1);
  570.     policeCars[41] =AddStaticVehicleEx(599,1587.5908,-1711.4777,6.0901,359.9891,79,1,-1);
  571.     policeCars[42] =AddStaticVehicleEx(599,1583.5696,-1711.5583,6.0880,359.9047,79,1,-1);
  572.     policeCars[43] =AddStaticVehicleEx(599,1578.6954,-1711.4978,6.0877,0.2842,79,1,-1);
  573.     policeCars[44] =AddStaticVehicleEx(599,1570.4752,-1711.5260,6.0872,1.0619,79,1,-1);
  574.     policeCars[45] =AddStaticVehicleEx(599,1564.6409,-1711.6729,6.0881,359.1268,79,1,-1);
  575.     policeCars[46] =AddStaticVehicleEx(599,1558.7389,-1711.6997,6.0882,359.4380,79,1,-1);
  576.     policeCars[47] =AddStaticVehicleEx(523,1583.3621,-1674.8158,5.4641,269.1075,1,1,-1);
  577.     policeCars[48] =AddStaticVehicleEx(523,1583.4323,-1676.5781,5.4594,270.4617,1,1,-1);
  578.     policeCars[49] =AddStaticVehicleEx(523,1583.4346,-1678.4630,5.4637,270.0856,1,1,-1);
  579.     policeCars[50] =AddStaticVehicleEx(523,1583.4570,-1680.1429,5.4634,268.3915,1,1,-1);
  580.     policeCars[51] =AddStaticVehicleEx(411,1584.9258,-1671.6631,5.6204,270.6444,79,1,-1);//Infernus
  581.     policeCars[52] =AddStaticVehicleEx(411,1584.7612,-1667.4186,5.6215,270.0617,79,1,-1);//Infernus
  582.    
  583.     medicCars[1] = AddStaticVehicleEx(497,-2640.5703,670.3340,68.7826,268.6153,1,3,-1);//Heli
  584.     medicCars[2] = AddStaticVehicleEx(497,-2683.2188,670.1699,68.7913,269.2102,1,3,-1);//Heli
  585.     medicCars[3] = AddStaticVehicleEx(497,-2720.0820,670.1505,68.7945,270.3085,1,3,-1);//Heli
  586.     medicCars[4] = AddStaticVehicleEx(417,-2638.8882,607.1440,68.6769,269.7923,0,0,-1);//Leviatan
  587.     medicCars[5] = AddStaticVehicleEx(417,-2673.9170,607.0165,68.7270,269.6180,0,0,-1);//Leviatan
  588.     medicCars[6] = AddStaticVehicleEx(416,-2646.2578,619.6396,14.6030,89.8053,1,3,-1);//Ambulance Vorne
  589.     medicCars[7] = AddStaticVehicleEx(416,-2655.3298,619.5789,14.6038,90.8053,1,3,-1);//Ambulance Vorne
  590.     medicCars[8] = AddStaticVehicleEx(416,-2664.2043,619.5563,14.6030,89.9025,1,3,-1);//Ambulance Vorne
  591.     medicCars[9] = AddStaticVehicleEx(416,-2546.2295,622.0908,14.6033,89.8089,1,3,-1);//Ambulance
  592.     medicCars[10] = AddStaticVehicleEx(416,-2546.2473,627.4419,14.6034,90.1353,1,3,-1);//Ambulance
  593.     medicCars[11] = AddStaticVehicleEx(416,-2546.2788,632.5612,14.6034,89.9345,1,3,-1);//Ambulance
  594.     medicCars[12] = AddStaticVehicleEx(416,-2546.2893,637.7105,14.6034,90.1766,1,3,-1);//Ambulance
  595.     medicCars[13] = AddStaticVehicleEx(411,-2545.5862,647.5098,14.1852,90.9463,1,1,-1);//Leader Infernus
  596.     medicCars[14] = AddStaticVehicleEx(411,-2545.6958,652.6832,14.1872,89.7244,3,3,-1);//Infernus
  597.     medicCars[15] = AddStaticVehicleEx(411,-2545.7651,657.9305,14.1870,89.6088,3,3,-1);//Infernus
  598.     medicCars[16] = AddStaticVehicleEx(598,-2572.5037,622.1511,14.2041,269.7199,1,3,-1);//LVPD
  599.     medicCars[17] = AddStaticVehicleEx(598,-2572.5986,627.4265,14.2002,269.6360,1,3,-1);//LVPD
  600.     medicCars[18] = AddStaticVehicleEx(597,-2572.7087,632.9124,14.2293,270.5169,1,3,-1);//SFPD
  601.     medicCars[19] = AddStaticVehicleEx(597,-2572.8071,638.3947,14.2198,270.3005,1,3,-1);//SAPD
  602.     medicCars[20] = AddStaticVehicleEx(490,-2572.2295,647.6126,14.5808,269.7837,1,3,-1);//Rancher
  603.     medicCars[21] = AddStaticVehicleEx(490,-2572.4814,654.7753,14.5854,271.4826,1,3,-1);//Rancher
  604.     medicCars[22] = AddStaticVehicleEx(490,-2572.8994,659.8118,14.5808,269.9148,1,3,-1);//Rancher
  605.     medicCars[23] = AddStaticVehicleEx(560,-2589.6868,658.0607,14.1596,269.7468,3,3,-1);//Sultan
  606.     medicCars[24] = AddStaticVehicleEx(560,-2589.6882,652.8139,14.1597,269.8489,3,3,-1);//Sultan
  607.     medicCars[25] = AddStaticVehicleEx(560,-2589.7134,647.7399,14.1580,269.5147,3,3,-1);//Sultan
  608.     medicCars[26] = AddStaticVehicleEx(522,-2587.7559,634.6366,14.0212,271.4307,1,3,-1);//NRG
  609.     medicCars[27] = AddStaticVehicleEx(522,-2591.7412,632.3710,14.0220,270.8435,1,3,-1);//NRG
  610.     medicCars[28] = AddStaticVehicleEx(522,-2587.3181,630.5300,14.0227,270.4121,1,3,-1);//NRG
  611.     medicCars[29] = AddStaticVehicleEx(522,-2591.8057,629.4402,14.0223,269.6910,1,3,-1);//NRG
  612.     medicCars[30] = AddStaticVehicleEx(522,-2587.6880,627.2644,14.0301,270.1634,1,3,-1);//NRG
  613.     medicCars[31] = AddStaticVehicleEx(522,-2591.7300,625.3242,14.0277,271.0688,1,3,-1);//NRG
  614.     medicCars[32] = AddStaticVehicleEx(522,-2587.3274,624.2608,14.0273,274.9801,1,3,-1);//NRG
  615.     medicCars[33] = AddStaticVehicleEx(522,-2591.7556,622.1231,14.0305,270.2104,1,3,-1);//NRG
  616.     medicCars[34] = AddStaticVehicleEx(522,-2587.3401,620.1157,14.0319,269.6871,1,3,-1);//NRG
  617.     medicCars[35] = AddStaticVehicleEx(427,-2543.9338,610.6396,14.5850,89.2741,1,3,-1);//Enforcer
  618.     medicCars[36] = AddStaticVehicleEx(427,-2543.8943,604.8689,14.5860,89.9548,1,3,-1);//Enforcer
  619.     medicCars[37] = AddStaticVehicleEx(427,-2543.9333,599.0517,14.5867,90.8188,1,3,-1);//Enforcer
  620.     medicCars[38] = AddStaticVehicleEx(427,-2543.8630,593.1063,14.5860,89.9929,1,3,-1);//Enforcer
  621.     medicCars[39] = AddStaticVehicleEx(427,-2543.8318,586.9404,14.5850,90.3304,1,3,-1);//Enforcer
  622.    
  623.     oamtCars[1] = AddStaticVehicleEx(525,-1089.9395,-729.8224,31.8921,91.1243,1,65,-1); // Tortruck2
  624.     oamtCars[2] = AddStaticVehicleEx(525,-1089.9395,-735.7054,31.8917,91.1997,1,65,-1); // Tortruck3
  625.     oamtCars[3] = AddStaticVehicleEx(525,-1089.9395,-741.8027,31.8886,90.8171,1,65,-1); // Tortruck4
  626.     oamtCars[4] = AddStaticVehicleEx(525,-1089.9395,-747.6339,31.8879,90.5633,1,65,-1); // Tortruck5
  627.     oamtCars[5] = AddStaticVehicleEx(525,-1089.9395,-753.7183,31.8876,90.5844,1,65,-1); // Tortruck6
  628.     oamtCars[6] = AddStaticVehicleEx(525,-1121.4515,-753.4938,31.8809,268.5250,1,65,-1); // Tortruck7
  629.     oamtCars[7] = AddStaticVehicleEx(525,-1121.4515,-747.4631,31.8891,269.0650,1,65,-1); // Tortruck8
  630.     oamtCars[8] = AddStaticVehicleEx(525,-1121.4515,-741.4488,31.8887,268.9526,1,65,-1); // Tortruck9
  631.     oamtCars[9] = AddStaticVehicleEx(525,-1121.4515,-735.5673,31.8880,269.4774,1,65,-1); // Tortruck10
  632.     oamtCars[10] = AddStaticVehicleEx(525,-1121.4515,-729.5705,31.8931,268.7519,1,65,-1); // Tortruck11
  633.     oamtCars[11] = AddStaticVehicleEx(525,-1121.4515,-723.5515,31.8863,269.4606,1,65,-1); // Tortruck12
  634.     oamtCars[12] = AddStaticVehicleEx(525,-1121.4515,-712.8632,31.8884,270.0292,1,65,-1); // Tortruck13
  635.     oamtCars[13] = AddStaticVehicleEx(525,-1121.4515,-707.0290,31.8900,269.9737,1,65,-1); // Tortruck14
  636.     oamtCars[14] = AddStaticVehicleEx(525,-1121.4515,-701.0352,31.8881,270.1401,1,65,-1); // Tortruck15
  637.     oamtCars[15] = AddStaticVehicleEx(525,-1121.4515,-695.0102,31.8906,270.4162,1,65,-1); // Tortruck16
  638.     oamtCars[16] = AddStaticVehicleEx(525,-1121.4515,-688.8562,31.8929,270.1810,1,65,-1); // Tortruck17
  639.     oamtCars[17] = AddStaticVehicleEx(560,-1121.4515,-682.9359,31.7153,269.0858,1,65,-1); // Oamt sultan
  640.     oamtCars[18] = AddStaticVehicleEx(586,-1089.9395,-725.0520,31.5261,91.8681,1,65,-1); // Oamtwayfarer1
  641.     oamtCars[19] = AddStaticVehicleEx(586,-1089.9395,-722.6356,31.5279,89.9548,1,65,-1); // Oamtwayfarer2
  642.     oamtCars[20] = AddStaticVehicleEx(487,-1116.1893,-634.1569,41.0873,270.0756,1,65,-1); // Oamtheli
  643.     oamtCars[21] = AddStaticVehicleEx(487,-1116.4604,-652.9193,41.0875,270.5493,1,65,-1); // Oamtheli2
  644.  
  645.     return 1;
  646. }
  647.  
  648. public OnGameModeExit()
  649. {
  650.     mysql_close(dbhandle);
  651.     return 1;
  652. }
  653.  
  654. public sekunde()
  655. {
  656.     new string[128],getFormat[6];gettime(getFormat[0],getFormat[1],getFormat[2]),getdate(getFormat[3],getFormat[4],getFormat[5]);
  657.     format(string,128,"%02d:%02d:%02d",getFormat[0],getFormat[1], getFormat[2]);
  658.     TextDrawSetString(uhrzeitLabel,string),TextDrawShowForAll(uhrzeitLabel);
  659.     format(string,128,"%02d.%02d.%d",getFormat[5],getFormat[4],getFormat[3]);
  660.     return TextDrawSetString(datumLabel,string),TextDrawShowForAll(datumLabel);
  661. }
  662.  
  663. public OnPlayerRequestClass(playerid, classid)
  664. {
  665.     SetSpawnInfo(playerid,26,0,369.8406,-2055.3186,7.8359,0,0,0,0,0,0,0);
  666.     SetPlayerInterior(playerid, 0);
  667.     SpawnPlayer(playerid);
  668.     return 1;
  669. }
  670.  
  671. public OnUserCheck(playerid)
  672. {
  673.     new num_rows,num_fields;
  674.     cache_get_data(num_rows,num_fields,dbhandle);
  675.     if(num_rows==0)
  676.     {
  677.         //Registrierung
  678.         SendClientMessage(playerid,GELB,"*Es wurde noch kein Account von dir auf [RGR] gefunden!");
  679.         SendClientMessage(playerid,GELB,"*wenn du bei uns spielen möchtest,erstelle dir bitte jetze ein Account!");
  680.         ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
  681.     }
  682.     else
  683.     {
  684.         //Login
  685.         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Willkommen auf Red-Game0v3r-Reallife,\n\n\n\n Bitte logge dich nun ein!\n\n\n","Login","Abbrechen");
  686.         SendClientMessage(playerid,weiß, "*====================|{FFFF00} Willkommen zurück {FFFFFF}|====================*");
  687.         SendClientMessage(playerid,0x33AA33AA, "*Dein Account wird geladen...");
  688.         SendClientMessage(playerid,0x33AA33AA, "*Bitte gib nun dein Passwort ein, um dich einzuloggen!*");
  689.         SendClientMessage(playerid,0xF60000F6, "*Hinweis: Das Server Script ist noch nicht Ganz fertig!*");
  690.     }
  691.     return 1;
  692. }
  693.  
  694. public OnPlayerConnect(playerid)
  695. {
  696.     SendClientMessage(playerid, weiß, " ");
  697.     SendClientMessage(playerid, weiß, " ");
  698.     SendClientMessage(playerid, weiß, " ");
  699.     SendClientMessage(playerid, weiß, " ");
  700.     SendClientMessage(playerid, weiß, " ");
  701.     SendClientMessage(playerid, weiß, " ");
  702.     SendClientMessage(playerid, weiß, " ");
  703.     SendClientMessage(playerid, weiß, " ");
  704.     SendClientMessage(playerid, weiß, " ");
  705.     SendClientMessage(playerid, weiß, " ");
  706.     SendClientMessage(playerid, weiß, " ");
  707.     SendClientMessage(playerid, weiß, " ");
  708.     SendClientMessage(playerid, weiß, " ");
  709.     SendClientMessage(playerid, weiß, " ");
  710.     SendClientMessage(playerid, weiß, " ");
  711.    
  712.     TogglePlayerSpectating(playerid, 1);
  713.    
  714.     //Login/Register
  715.     new name[MAX_PLAYER_NAME],query[128];
  716.     GetPlayerName(playerid,name,sizeof(name));
  717.     format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
  718.     mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
  719.    
  720.     TextDrawShowForAll(nameLabel);
  721.     TextDrawShowForAll(versionLabel);
  722.    
  723.     //SpielerFarbe setzen
  724.     SetPlayerColor(playerid,weiß);
  725.     return 1;
  726. }
  727.  
  728. savePlayer(playerid)
  729. {
  730.     sInfo[playerid][eingeloggt] = 1;
  731.     new query[156];
  732.     format(query,sizeof(query),"UPDATE user SET level='%i',skin='%i',money='%i',alevel='%i',slevel='%i',fraktion='%i',rang='%i',spawnchange='%i' WHERE id='%i'",
  733.     GetPlayerScore(playerid),GetPlayerSkin(playerid),GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][slevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][spawnchange],sInfo[playerid][db_id]);
  734.     mysql_function_query(dbhandle,query,false,"","");
  735.     return 1;
  736. }
  737.  
  738. stock SaveAllPlayers()
  739. {
  740.     for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
  741.     {
  742.         if(!IsPlayerConnected(playerid)) continue;
  743.         new query[256];
  744.         format(query,sizeof(query),"UPDATE user SET level='%i',skin='%i',money='%i',alevel='%i',slevel='%i',fraktion='%i',rang='%i',spawnchange='%i' WHERE id='%i'",
  745.         GetPlayerScore(playerid),GetPlayerSkin(playerid),GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][slevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][spawnchange],sInfo[playerid][db_id]);
  746.         mysql_function_query(dbhandle,query,false,"","");
  747.     }
  748.     return 1;
  749. }
  750.  
  751. resetPlayer(playerid)
  752. {
  753.     sInfo[playerid][level]=0;
  754.     sInfo[playerid][eingeloggt]=0;
  755.     sInfo[playerid][db_id]=0;
  756.     sInfo[playerid][alevel]=0;
  757.     sInfo[playerid][slevel]=0;
  758.     sInfo[playerid][Skin]=0;
  759.     sInfo[playerid][fraktion]=0;
  760.     sInfo[playerid][rang]=0;
  761.     sInfo[playerid][spawnchange]=0;
  762.     return 1;
  763. }
  764.  
  765. public OnPlayerDisconnect(playerid, reason)
  766. {
  767.     for(new i=0; i<sizeof(cInfo); i++)
  768.     {
  769.         if(cInfo[i][id_x]==0) continue;
  770.         if(cInfo[i][besitzer]!=sInfo[playerid][db_id])continue;
  771.         DestroyVehicle(cInfo[i][id_x]);
  772.         cInfo[i][id_x]=0;
  773.     }
  774.     savePlayer(playerid);
  775.     resetPlayer(playerid);
  776.     if(newbie[playerid]) DestroyVehicle(newbie[playerid]),newbie[playerid]=0;
  777.     return 1;
  778. }
  779.  
  780. isPlayerInFrakt(playerid, f_id)
  781. {
  782.     if(sInfo[playerid][fraktion]==f_id)return 1;
  783.     return 0;
  784. }
  785.  
  786. public OnPlayerSpawn(playerid)
  787. {
  788.     if(!isPlayerInFrakt(playerid, 0))
  789.     {
  790.         if(sInfo[playerid][spawnchange]==1)
  791.         {
  792.             new fID;
  793.             fID = sInfo[playerid][fraktion];
  794.             SetPlayerPos(playerid, fInfo[fID][f_x],fInfo[fID][f_y],fInfo[fID][f_z]);
  795.             SetPlayerFacingAngle(playerid, fInfo[fID][f_r]);
  796.             SetPlayerInterior(playerid, fInfo[fID][f_inter]);
  797.             SetPlayerVirtualWorld(playerid, fInfo[fID][f_world]);
  798.             GivePlayerWeapon(playerid, fInfo[fID][f_waffe1], fInfo[fID][f_ammo1]);
  799.             GivePlayerWeapon(playerid, fInfo[fID][f_waffe2], fInfo[fID][f_ammo2]);
  800.             GivePlayerWeapon(playerid, fInfo[fID][f_waffe3], fInfo[fID][f_ammo3]);
  801.             GivePlayerWeapon(playerid, fInfo[fID][f_waffe4], fInfo[fID][f_ammo4]);
  802.         }
  803.     }
  804.     SetPlayerSkin(playerid,sInfo[playerid][Skin]);
  805.     return 1;
  806. }
  807.  
  808. public OnPlayerDeath(playerid, killerid, reason)
  809. {
  810.     return 1;
  811. }
  812.  
  813. public OnVehicleSpawn(vehicleid)
  814. {
  815.     return 1;
  816. }
  817.  
  818. public OnVehicleDeath(vehicleid, killerid)
  819. {
  820.     return 1;
  821. }
  822.  
  823. public OnPlayerText(playerid, text[])
  824. {
  825.     return 1;
  826. }
  827.  
  828. public carSavedToDB(carid)
  829. {
  830.     cInfo[carid][db_id]=cache_insert_id(dbhandle);
  831.     return 1;
  832. }
  833.  
  834. saveCarToDB(playerid,carid)
  835. {
  836.     new query[128];
  837.     format(query,sizeof(query),"INSERT INTO autos (besitzer,model,x,y,z,r) VALUES ('%i','%i','%f','%f','%f','%f')",sInfo[playerid][db_id],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r]);
  838.     mysql_function_query(dbhandle,query,true,"carSavedToDB","i",carid);
  839.     return 1;
  840. }
  841.  
  842. createPlayerCar(playerid,modelid,Float:x,Float:y,Float:z,Float:r)
  843. {
  844.     for(new i=0; i<sizeof(cInfo); i++)
  845.     {
  846.         if(cInfo[i][id_x]!=0)continue;
  847.         cInfo[i][besitzer]=sInfo[playerid][db_id];
  848.         cInfo[i][c_x]=x;
  849.         cInfo[i][c_y]=y;
  850.         cInfo[i][c_z]=z;
  851.         cInfo[i][c_r]=r;
  852.         cInfo[i][model]=modelid;
  853.         cInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,-1,-1,-1);
  854.         SetVehicleParamsEx(cInfo[i][id_x],0,0,0,1,0,0,0);
  855.         saveCarToDB(playerid,i);
  856.         return 1;
  857.     }
  858.     return 1;
  859. }
  860.  
  861. getPlayerName(playerid)
  862. {
  863.     new name[MAX_PLAYER_NAME];
  864.     GetPlayerName(playerid, name, sizeof(name));
  865.     return name;
  866. }
  867.  
  868. public CloseGate(id)
  869. {
  870.     if(id == LSPDGTor) return MoveDynamicObject(LSPDGTor, 1590.33, -1637.92, 14.83, 2.5);
  871.     if(id == OamtTor) return MoveDynamicObject(OamtTor, -1035.74, -588.25, 31.79, 2.5, 0.00, -90.00, -2.78);
  872.     return 1;
  873. }
  874.  
  875. ocmd:fraktionen(playerid)
  876. {
  877.     if(!isAdmin(playerid,1337)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  878.     SendClientMessage(playerid, GELB," Staats Fraktionen: 1 LSPD, FBI 3 Medic, 4 Oamt, 5 News, 6 Fahrschule,");
  879.     SendClientMessage(playerid, GELB," Gangs: 7 Groove Street Familie, 8 Ballas, 9 Los Santos Vagos,");
  880.     SendClientMessage(playerid, GELB," Gangs: 10 Varrios Los Aztecas, 11 S.F Rifa, 12 LCN, 13 Yakuza, 14 Russen Mafia");
  881.     SendClientMessage(playerid, GELB," Organisationen: 15 Hitmans");
  882.     return 1;
  883. }
  884.  
  885. ocmd:shelp(playerid)
  886. {
  887.     if(isSupp(playerid,1))
  888.     {
  889.         SendClientMessage(playerid, LBLAU, " Probe-Suppporter ***");
  890.         SendClientMessage(playerid, LBLAU, " Probe-Suppporter ***");
  891.         SendClientMessage(playerid, LBLAU, " Probe-Suppporter ***");
  892.     }
  893.     if(isSupp(playerid,2))
  894.     {
  895.         SendClientMessage(playerid, GELB, " Suppporter ***");
  896.         SendClientMessage(playerid, GELB, " Suppporter ***");
  897.         SendClientMessage(playerid, GELB, " Suppporter ***");
  898.     }
  899.     return 1;
  900. }
  901.  
  902. ocmd:ahelp(playerid)
  903. {
  904.     if(isAdmin(playerid,1))
  905.     {
  906.         SendClientMessage(playerid, LBLAU, " Azubi-Admin ***");
  907.         SendClientMessage(playerid, LBLAU, " Azubi-Admin ***");
  908.         SendClientMessage(playerid, LBLAU, " Azubi-Admin ***");
  909.     }
  910.     if(isAdmin(playerid,2))
  911.     {
  912.         SendClientMessage(playerid, GELB, " *2* Admin ***");
  913.         SendClientMessage(playerid, GELB, " *2* Admin ***");
  914.         SendClientMessage(playerid, GELB, " *2* Admin ***");
  915.     }
  916.     if(isAdmin(playerid,3))
  917.     {
  918.         SendClientMessage(playerid, ORANGE, " *3* Admin ***");
  919.         SendClientMessage(playerid, ORANGE, " *3* Admin ***");
  920.         SendClientMessage(playerid, ORANGE, " *3* Admin ***");
  921.     }
  922.     if(isAdmin(playerid,1337))
  923.     {
  924.         SendClientMessage(playerid, BBLAU," H-Admin ***");
  925.         SendClientMessage(playerid, BBLAU," H-Admin ***");
  926.         SendClientMessage(playerid, BBLAU," H-Admin ***");
  927.     }
  928.     if(isAdmin(playerid,2000))
  929.     {
  930.         SendClientMessage(playerid, ROT, " Scripter ***");
  931.         SendClientMessage(playerid, ROT, " Scripter ***");
  932.         SendClientMessage(playerid, ROT, " Scripter ***");
  933.     }
  934.     if(isAdmin(playerid,2002))
  935.     {
  936.         SendClientMessage(playerid, ROT, " Owner ***");
  937.         SendClientMessage(playerid, ROT, " Owner ***");
  938.         SendClientMessage(playerid, ROT, " Owner ***");
  939.     }
  940.     return 1;
  941. }
  942.  
  943. ocmd:gate(playerid)
  944. {
  945.     if(IsPlayerInRangeOfPoint(playerid,10,1590.33, -1637.92, 14.83))
  946.     {
  947.         if(!isPlayerInFrakt(playerid, 1)) return 1;
  948.         MoveDynamicObject(LSPDGTor, 1590.35, -1637.92, 8.33, 2.5);
  949.         SendClientMessage(playerid,ROT,"Das Tor schließt in 10sec automatisch!");
  950.         SetTimerEx("CloseGate", 10000, 0, "d", LSPDGTor);
  951.         return 1;
  952.     }
  953.     else if(IsPlayerInRangeOfPoint(playerid,10,-1035.74, -588.25, 31.79))
  954.     {
  955.         if(!isPlayerInFrakt(playerid, 4)) return 1;
  956.         MoveDynamicObject(OamtTor, -1035.74, -588.25, 31.79, 2.5, 0.00, 0.00, -2.78);
  957.         SendClientMessage(playerid,ROT,"Das Tor schließt in 10sec automatisch!");
  958.         SetTimerEx("CloseGate", 10000, 0, "d", OamtTor);
  959.         return 1;
  960.     }
  961.     return 1;
  962. }
  963.  
  964. ocmd:parken(playerid)
  965. {
  966.     for(new i=0; i<sizeof(cInfo); i++)
  967.     {
  968.         if(cInfo[i][id_x]==0)continue;
  969.         if(cInfo[i][besitzer]!=sInfo[playerid][db_id])continue;
  970.         if(cInfo[i][id_x] != GetPlayerVehicleID(playerid)) continue;
  971.         GetVehiclePos(cInfo[i][id_x],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z]);
  972.         GetVehicleZAngle(cInfo[i][id_x],cInfo[i][c_r]);
  973.         new query[256];
  974.         format(query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i'",cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][db_id]);
  975.         mysql_function_query(dbhandle,query,false,"","");
  976.         new string[144];
  977.         format(string, sizeof(string), "Du hast soeben dein Fahrzeug (%s) geparkt!", GetVehicleFriendlyName(cInfo[i][id_x]));
  978.         SendClientMessage(playerid,LEUCHTENDBLAU, string);
  979.     }
  980.     return 1;
  981. }
  982.  
  983. ocmd:weaponids(playerid)
  984. {
  985.     if(!isAdmin(playerid,3)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  986.     SendClientMessage(playerid, GELB, "Benutze: /givegun [playerid] [weaponid] [ammo]");
  987.     SendClientMessage(playerid, GELB, "3(Club) 4(knife) 5(bat) 6(Shovel) 7(Cue) 8(Katana) 10-13(Dildo) 14(Flowers) 16(Grenades) 18(Molotovs) 22(Pistol) 23(SPistol)");
  988.     SendClientMessage(playerid, GELB, "24(Eagle) 25(shotgun) 29(MP5) 30(AK47) 31(M4) 33(Rifle) 34(Sniper) 37(Flamethrower) 41(spray) 42(exting) 43(Camera) 46(Parachute)");
  989.     return 1;
  990. }
  991.  
  992. ocmd:givegun(playerid,params[])
  993. {
  994.     if(!isAdmin(playerid,3)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  995.     new pID, weapon, ammunation;
  996.     if(sscanf(params,"udd",pID, weapon, ammunation))return SendClientMessage(playerid,ROT,"Benutze /givegun [playerid] [waffen ID] [munition]");
  997.     if(weapon < 0 || weapon > 54)return SendClientMessage(playerid,ROT, "Error: Bitte gib eine gültige Waffen-ID an (0-54)!");
  998.     GivePlayerWeapon(pID, weapon, ammunation);
  999.     new string[128],gunname[32];
  1000.     GetWeaponName(weapon,gunname,sizeof(gunname))//Waffenname auslesen
  1001.     format(string, sizeof(string),"Du hast %s eine %s gegeben mit %i Muni",getPlayerName(pID), gunname, ammunation);
  1002.     SendClientMessage(playerid, ROT, string);
  1003.     format(string, sizeof(string),"Du hast von %s eine %s bekommen mit %i Muni",getPlayerName(playerid), gunname, ammunation);
  1004.     return SendClientMessage(pID, ROT, string);
  1005. }
  1006.  
  1007. ocmd:saveall(playerid)
  1008. {
  1009.     if(!isAdmin(playerid,1337)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1010.     SaveAllPlayers();
  1011.     SendClientMessage(playerid, GRÜN, "Alle Account Daten wurden erfolgreich gespeichert.");
  1012.     SendClientMessageToAll(weiß, "(( SERVER: Alle Account Daten wurden gespeichert! ))");
  1013.     return 1;
  1014. }
  1015.  
  1016. ocmd:f(playerid,params[])
  1017. {
  1018.     if(isPlayerInFrakt(playerid, 1))return SendClientMessage(playerid, ROT, "Du bist in keiner Fraktion.");
  1019.     new string[128];
  1020.     if(sscanf(params, "s[60]", string))return SendClientMessage(playerid, ROT, "Benutze: /f [nachricht]");
  1021.     new fID = sInfo[playerid][fraktion];
  1022.     format(string,sizeof(string),"** %s: %s **", getPlayerName(playerid), string);
  1023.     for(new i=0; i<MAX_PLAYERS; i++)
  1024.     {
  1025.         if(!IsPlayerConnected(i))continue;
  1026.         if(!isPlayerInFrakt(i, fID))continue;
  1027.         SendClientMessage(i, BLAU, string);
  1028.     }
  1029.     return 1;
  1030. }
  1031.  
  1032. ocmd:invite(playerid,params[])
  1033. {
  1034.     if(isPlayerInFrakt(playerid, 0)) return SendClientMessage(playerid,ROT," Du bist in keiner Fraktion.");
  1035.     if(sInfo[playerid][rang] < 6)return SendClientMessage(playerid,ROT," Dein Rang ist zu niedrig.");
  1036.     new pID/*, fID*/;
  1037.     if(sscanf(params, "u", pID))return SendClientMessage(playerid,ROT,"Benutze: /invite [playerid]");
  1038.     /*if(isPlayerInFrakt(pID, 0))return SendClientMessage(playerid,ROT,"Der Spieler ist bereits in einer Frak/Gang!");*/
  1039.     new string[180];
  1040.     format(string,sizeof(string),"{FFFFFFDu wurdest vom Leader {00FF00}%s {FFFFFF}in die Fraktuion {00FF00}%s {FFFFFF}eingeladen!\nZum Annehmen klick auf Akzeptieren,zum ablehnen Klick auf Ablehnen",getPlayerName(playerid), fInfo[sInfo[playerid][fraktion]][f_name]);
  1041.     ShowPlayerDialog(pID,DIALOG_INVITE,DIALOG_STYLE_MSGBOX,"Fakrion's Invite",string,"Annehmen","Ablehnen");
  1042.     invite[pID] = sInfo[playerid][fraktion];
  1043.     return 1;
  1044. }
  1045.  
  1046. ocmd:uninvite(playerid,params[])
  1047. {
  1048.     if(isPlayerInFrakt(playerid, 0)) return SendClientMessage(playerid,ROT," Du bist in keiner Fraktion.");
  1049.     if(sInfo[playerid][rang] < 6)return SendClientMessage(playerid,ROT," Dein Rang ist zu niedrig.");
  1050.     new pID;
  1051.     if(sscanf(params, "u", pID))return SendClientMessage(playerid,ROT,"Benutze: /uninvite [playerid]");
  1052.     if(isPlayerInFrakt(pID, sInfo[playerid][fraktion]))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht in deiner Frak/Gang!");
  1053.     sInfo[pID][fraktion] = 0;
  1054.     sInfo[pID][rang] = 0;
  1055.     new string[128];
  1056.     format(string,sizeof(string),"Du wurdest von {00FF00}$s {FF0000}aus der Fraktion geworfen",getPlayerName(playerid));
  1057.     SendClientMessage(pID, ROT, string);
  1058.     format(string,sizeof(string),"Du hast {00FF00}$s {FFFF00}aus der Fraktion geworfen",getPlayerName(pID));
  1059.     SendClientMessage(playerid, GELB, string);
  1060.     return 1;
  1061. }
  1062.  
  1063. ocmd:setarmour(playerid,params[])
  1064. {
  1065.     if(!isAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1066.     new pID, Float:Armour;
  1067.     if(sscanf(params,"uf",pID,Armour)) return SendClientMessage(playerid,ROT,"Benutze: '/sethp [ID] [ARMOUR]");
  1068.     if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Error: Der spieler ist nicht auf dem server!");
  1069.     SetPlayerArmour(pID, Armour);
  1070.     return 1;
  1071. }
  1072.  
  1073. ocmd:sethp(playerid,params[])
  1074. {
  1075.     if(!isAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1076.     new pID, Float:hp;
  1077.     if(sscanf(params,"uf",pID,hp)) return SendClientMessage(playerid,ROT,"Benutze: '/sethp [ID] [HP]");
  1078.     if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Error: Der spieler ist nicht auf dem server!");
  1079.     SetPlayerHealth(pID, hp);
  1080.     return 1;
  1081. }
  1082.  
  1083. ocmd:spawnchange(playerid,params[])
  1084. {
  1085.     if(isPlayerInFrakt(playerid, 0)) return SendClientMessage(playerid,ROT," Du bist in keiner Fraktion.");
  1086.     if(sInfo[playerid][spawnchange]==0)
  1087.     {
  1088.         sInfo[playerid][spawnchange]=1;
  1089.         return SendClientMessage(playerid,ROT," Du spawnst nun nichtmehr Zuhause");
  1090.     }
  1091.     if(sInfo[playerid][spawnchange]==1)
  1092.     {
  1093.         sInfo[playerid][spawnchange]=0;
  1094.         return SendClientMessage(playerid,ROT," Du spawnst nun Zuhause");
  1095.     }
  1096.     return 1;
  1097. }
  1098.  
  1099. ocmd:spawn(playerid,params[])
  1100. {
  1101.     new pID;
  1102.     if(!isAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1103.     if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT," Benutze: /spawn [playerid]");
  1104.     if(!IsPlayerConnected(pID))
  1105.     {
  1106.         new msg[144];
  1107.         format(msg, sizeof(msg), "Error: Der Spieler mit der ID %s exisitiert nicht.",params);
  1108.         return SendClientMessage(playerid, ROT, msg);
  1109.     }
  1110.     new name[MAX_PLAYER_NAME],nametwo[MAX_PLAYER_NAME],string[144];
  1111.     GetPlayerName(pID,nametwo,sizeof nametwo);
  1112.     GetPlayerName(playerid,name,sizeof name);
  1113.     SendClientMessage(pID,GRÜN,string);
  1114.     format(string,144,"{FFFFFF}Du hast den Spieler {00FF00}%s {FFFFFF}erfolgreich gespawnt!",nametwo);
  1115.     SendClientMessage(playerid,GRÜN,string);
  1116.     format(string,144,"{FFFFFF}Du wurdest von {00FF00}%s {FFFFFF}gespawnt!",name);
  1117.     SendClientMessage(pID,GRÜN,string);
  1118.     SpawnPlayer(pID);
  1119.     SetPlayerInterior(pID, 0);
  1120.     return 1;
  1121. }
  1122.  
  1123. ocmd:arep(playerid)
  1124. {
  1125.     if(!isAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1126.     if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, ROT, "Du bist ein keinen Fahrzeug!");
  1127.     RepairVehicle(GetPlayerVehicleID(playerid));
  1128.     SendClientMessage(playerid, GRÜN, "Das Fahrzeug wurde Repariert!");
  1129.     return 1;
  1130. }
  1131.  
  1132. ocmd:pay(playerid,params[])
  1133. {
  1134.     new pID,menge,Name1[32],Name2[32],string[120];
  1135.     if(sscanf(params,"ui",pID,menge)) return SendClientMessage(playerid,ROT,"Benutze: /pay [id] [menge]");
  1136.     if(GetPlayerDistanz(playerid,pID) > 3) return SendClientMessage(playerid,ROT,"Spieler nicht in Reichweite"); //Wenn Spieler nicht innerhalb 3 Metern ist
  1137.     GetPlayerName(playerid,Name1,32);
  1138.     GetPlayerName(pID,Name2,32);
  1139.     GivePlayerMoney(playerid,-menge);
  1140.     format(string,sizeof(string),"Du hast %s %d $ gegeben",Name2,menge);
  1141.     SendClientMessage(playerid,ROT,string);
  1142.     format(string,sizeof(string),"%s hat dir %d $ gegeben",Name1,menge);
  1143.     GivePlayerMoney(pID,menge);
  1144.     SendClientMessage(pID,GELB,string);
  1145.     return 1;
  1146. }
  1147.  
  1148. public Float:GetPlayerDistanz(p1,p2)
  1149. {
  1150.     new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  1151.     if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
  1152.     {
  1153.         return -1.00;
  1154.     }
  1155.     GetPlayerPos(p1,x1,y1,z1);
  1156.     GetPlayerPos(p2,x2,y2,z2);
  1157.     return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  1158. }
  1159.  
  1160. ocmd:gotozivi(playerid)
  1161. {
  1162.     if(!isAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1163.     SetPlayerPos(playerid,369.8406,-2055.3186,7.8359);
  1164.     SetPlayerFacingAngle(playerid,178.4911);
  1165.     new vehicleid = GetPlayerVehicleID(playerid);
  1166.     SetVehiclePos(vehicleid, 369.8406,-2055.3186,7.8359);
  1167.     PutPlayerInVehicle(playerid,vehicleid, 0);
  1168.     return 1;
  1169. }
  1170.  
  1171. ocmd:gotols(playerid)
  1172. {
  1173.     if(!isAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1174.     SetPlayerPos(playerid,1529.6674,-1675.1494,13.3828);
  1175.     SetPlayerFacingAngle(playerid,178.4911);
  1176.     new vehicleid = GetPlayerVehicleID(playerid);
  1177.     SetVehiclePos(vehicleid, 1529.6674,-1675.1494,13.3828);
  1178.     PutPlayerInVehicle(playerid,vehicleid, 0);
  1179.     return 1;
  1180. }
  1181.  
  1182. ocmd:gotosf(playerid)
  1183. {
  1184.     if(!isAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1185.     SetPlayerPos(playerid,-1987.0991,-87.7278,36.0487);
  1186.     SetPlayerFacingAngle(playerid,51.1711);
  1187.     new vehicleid = GetPlayerVehicleID(playerid);
  1188.     SetVehiclePos(vehicleid, -1987.0991,-87.7278,36.0487);
  1189.     PutPlayerInVehicle(playerid,vehicleid, 0);
  1190.     return 1;
  1191. }
  1192.  
  1193. ocmd:gotobsn(playerid)
  1194. {
  1195.     if(!isAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1196.     SetPlayerPos(playerid,1217.2245,-876.6908,42.9029);
  1197.     SetPlayerFacingAngle(playerid,188.0003);
  1198.     new vehicleid = GetPlayerVehicleID(playerid);
  1199.     SetVehiclePos(vehicleid, 1217.2245,-876.6908,42.9029);
  1200.     PutPlayerInVehicle(playerid,vehicleid, 0);
  1201.     return 1;
  1202. }
  1203.  
  1204. ocmd:neuling(playerid)
  1205. {
  1206.     if(!IsPlayerInRangeOfPoint(playerid,3.0,369.7458,-2049.3774,7.8359)) return SendClientMessage(playerid,-1,"Du befindest dich nicht in der Nähe vom Neulings-Pickup!");
  1207.     return ShowPlayerDialog(playerid,DIALOG_NEULINGSHILFE, DIALOG_STYLE_MSGBOX,"Neulingshilfe","Hallo und Herzlichen willkommen auf RGR!\n\nHier schon mal einige wichtige Befehle für den Anfang:\n/roller -->Neulingsroller (nur für Level1)\n/navi --> Navigationsmenü\n/sup -->Supportticket an Admins/Supporter\n\nweiter Befehle findest du unter /help!\nBitte beachte unsere Serverregeln im Forum!","Alles Klar","");
  1208. }
  1209.  
  1210. ocmd:carlock(playerid)
  1211. {
  1212.     new engine, lights, alarm, doors, bonnet, boot, objective, vID, privateVeh = -1;
  1213.     if(!IsPlayerInAnyVehicle(playerid))
  1214.     {
  1215.         new Float:x, Float:y, Float:z;
  1216.         for(new i=0; i<MAX_VEHICLES; i++)
  1217.         {
  1218.             GetVehiclePos(i, x, y, z);
  1219.             if(IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z))
  1220.             {
  1221.                 vID = i;
  1222.                 break;
  1223.             }
  1224.         }
  1225.     }
  1226.     else vID = GetPlayerVehicleID(playerid);
  1227.     if(vID == 0) return 1;
  1228.     for(new i=0; i<sizeof(cInfo); i++)
  1229.     {
  1230.         if(vID == cInfo[i][id_x])
  1231.         {
  1232.             privateVeh = i;
  1233.             break;
  1234.         }
  1235.     }
  1236.     if(privateVeh == -1) return 1;
  1237.     GetVehicleParamsEx(vID,engine,lights,alarm,doors,bonnet,boot,objective);
  1238.     switch(doors)
  1239.     {
  1240.         case 1:
  1241.         {
  1242.             SetVehicleParamsEx(vID,engine,lights,alarm,0,bonnet,boot,objective);
  1243.             new string[144];
  1244.             format(string, sizeof(string), "{FFFFFF}Du hast soeben dein Fahrzeug (%s) {00FF00}aufgeschlossen", GetVehicleFriendlyName(vID));
  1245.             SendClientMessage(playerid,weiß, string);
  1246.             new query[128];
  1247.             format(query,sizeof(query),"UPDATE autos SET doors='0' WHERE id='%i'",cInfo[privateVeh][db_id]);
  1248.             mysql_function_query(dbhandle,query,false,"","");
  1249.         }
  1250.         default:
  1251.         {
  1252.             SetVehicleParamsEx(vID,engine,lights,alarm,1,bonnet,boot,objective);
  1253.             new string[144];
  1254.             format(string, sizeof(string),"{FFFFFF}Du hast soeben dein Fahrzeug (%s){E10000} abgeschlossen", GetVehicleFriendlyName(vID));
  1255.             SendClientMessage(playerid,weiß, string);
  1256.             new query[128];
  1257.             format(query,sizeof(query),"UPDATE autos SET doors='1' WHERE id='%i'",cInfo[privateVeh][db_id]);
  1258.             mysql_function_query(dbhandle,query,false,"","");
  1259.         }
  1260.     }
  1261.     return 1;
  1262. }
  1263.  
  1264. ocmd:freeze(playerid,params[])
  1265. {
  1266.     if(!isAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1267.     new pID,string[128];
  1268.     if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: /freeze [ID/Name]");
  1269.     format(string,sizeof(string),"Info: Spieler %s wurde von %s gefreezed",SpielerName(pID),SpielerName(playerid));
  1270.     TogglePlayerControllable(pID,0);
  1271.     return 1;
  1272. }
  1273.  
  1274. ocmd:unfreeze(playerid,params[])
  1275. {
  1276.     if(!isAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1277.     new pID,string[128];
  1278.     if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"FEHLER: /unfreeze [ID/Name]");
  1279.     format(string,sizeof(string),"Info: Spieler %s wurde unfreezed von %s",SpielerName(pID),SpielerName(playerid));
  1280.     TogglePlayerControllable(pID,1);
  1281.     return 1;
  1282. }
  1283.  
  1284. ocmd:deletcar(playerid,params[])
  1285. {
  1286.     if(!isAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1287.     if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,ROT,"Du bist in keinem Fahrzeug.");
  1288.     DestroyVehicle(GetPlayerVehicleID(playerid));
  1289.     return 1;
  1290. }
  1291.  
  1292. ocmd:veh(playerid,params[])
  1293. {
  1294.     if(!isAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1295.     new vID, color1, color2;
  1296.     if(sscanf(params, "ddd", vID,color1,color2))
  1297.     {
  1298.         return SendClientMessage(playerid,GELB,"Nutze: /veh [Fahrzeug ID] [Farbe 1] [Farbe 2]");
  1299.     }
  1300.     if(sInfo[playerid][alevel]<3)
  1301.     {
  1302.         return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
  1303.     }
  1304.     if(vID < 400 || vID > 611)
  1305.     {
  1306.         return SendClientMessage(playerid,ROT,"Du kannst du dir ID's 400-611 benutzen!");
  1307.     }
  1308.     else
  1309.     {
  1310.         new Float:x, Float:y, Float:z, Float:r;
  1311.         GetPlayerPos(playerid, x, y, z);
  1312.         GetPlayerFacingAngle(playerid,r);
  1313.         new cv = CreateVehicle(vID, x, y, z, r, color1, color2, -1);
  1314.         PutPlayerInVehicle(playerid, cv, 0);
  1315.         new string[256];
  1316.         format(string, sizeof(string), "Du hast ein Fahrzeug mit der ID %d gespawnt.", vID);
  1317.         SendClientMessage(playerid, ROT, string);
  1318.     }
  1319.     return 1;
  1320. }
  1321.  
  1322. ocmd:roller(playerid)
  1323. {
  1324.     if(GetPlayerScore(playerid) != 1) return SendClientMessage(playerid,ROT,"Du bist kein Neuling mehr!");
  1325.     if(newbie[playerid])
  1326.     {
  1327.         DestroyVehicle(newbie[playerid]);
  1328.         newbie[playerid]=0;
  1329.         SendClientMessage(playerid,ROT,"Dein Roller wurde erfolgreich gelöscht");
  1330.         return 1;
  1331.     }
  1332.     if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid,ROT,"Du musst zu Fuß unterwegs sein!");
  1333.     new Float:p[4];
  1334.     GetPlayerPos(playerid,p[0],p[1],p[2]),GetPlayerFacingAngle(playerid,p[3]);
  1335.     newbie[playerid] = CreateVehicle(462,p[0],p[1],p[2],p[3],0,0,-1);
  1336.     SendClientMessage(playerid,ROT,"Du hast dir ein Roller gespawnt! | Zum löschen nutze /roller !");
  1337.     SendClientMessage(playerid,ROT,"Dein Roller wurde geklaut oder ist weg ? Nutze /roller um ihn zu löschen!");
  1338.     return PutPlayerInVehicle(playerid,newbie[playerid],0);
  1339. }
  1340.  
  1341. ocmd:licht(playerid,params[])
  1342. {
  1343.     if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return
  1344.         SendClientMessage(playerid,ROT,"Du bist nicht der Fahrer eines Fahrzeugs.");
  1345.  
  1346.     new vID=GetPlayerVehicleID(playerid),
  1347.         tmp_engine,
  1348.         tmp_lights,
  1349.         tmp_alarm,
  1350.         tmp_doors,
  1351.         tmp_bonnet,
  1352.         tmp_boot,
  1353.         tmp_objective;
  1354.     //Motor an/ausschalten
  1355.     GetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
  1356.     if(tmp_lights==1){
  1357.         tmp_lights = 0;
  1358.     }else{
  1359.         tmp_lights = 1;
  1360.     }
  1361.     SetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
  1362.     return 1;
  1363. }
  1364.  
  1365. ocmd:motor(playerid,params[])
  1366. {
  1367.     if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER)return
  1368.         SendClientMessage(playerid,ROT,"Du bist nicht der Fahrer eines Fahrzeugs.");
  1369.  
  1370.     new vID=GetPlayerVehicleID(playerid),
  1371.         tmp_engine,
  1372.         tmp_lights,
  1373.         tmp_alarm,
  1374.         tmp_doors,
  1375.         tmp_bonnet,
  1376.         tmp_boot,
  1377.         tmp_objective;
  1378.     //Motor an/ausschalten
  1379.     GetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
  1380.     if(tmp_engine==1){
  1381.         tmp_engine = 0;
  1382.         SendClientMessage(playerid,GELB,"Du hast den Motor ausgeschaltet.");
  1383.     }else{
  1384.         tmp_engine = 1;
  1385.         SendClientMessage(playerid,GRÜN,"Du hast den Motor angeschaltet.");
  1386.     }
  1387.     SetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
  1388.     return 1;
  1389. }
  1390.  
  1391. ocmd:ban(playerid,params[])
  1392. {
  1393.     if(!isAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist dazu nicht befugt!");
  1394.     new pID, reason[128],string[128];
  1395.     if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"/ban [id] [grund]");
  1396.     format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  1397.     SendClientMessageToAll(ROT,string);
  1398.     SetPVarInt(pID,"Baned",1);
  1399.     Kick(pID);
  1400.     return 1;
  1401. }
  1402.  
  1403. ocmd:kick(playerid,params[])
  1404. {
  1405.     if(!isSupp(playerid,1) && !isAdmin(playerid,1)) return SendClientMessage(playerid,ROT,"Du bist dazu nicht befugt!");
  1406.     new pID, reason[128],string[128];
  1407.     if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"/kick [id] [grund]");
  1408.     format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
  1409.     SendClientMessageToAll(ROT,string);
  1410.     Kick(pID);
  1411.     return 1;
  1412. }
  1413.  
  1414. ocmd:makesupp(playerid,params[])
  1415. {
  1416.     if(!isAdmin(playerid,2002))return SendClientMessage(playerid,ROT,"Du bist dazu nicht befugt!");
  1417.     new pID,s_level;
  1418.     if(sscanf(params,"ui",pID,s_level))return SendClientMessage(playerid,ROT,"INFO: /makesupp [ID] [level]");
  1419.     if(sInfo[pID][slevel] < s_level)
  1420.     {
  1421.         new string[128];
  1422.         format(string, sizeof(string)," Du wurdest von %s zu einem Supporter Level %i befördert",getPlayerName(playerid), s_level);
  1423.         SendClientMessage(pID, LEUCHTENDBLAU, string);
  1424.         format(string,sizeof(string)," Du hast %s zum Supporter Level %i befördert",getPlayerName(pID), s_level);
  1425.         SendClientMessage(playerid, LEUCHTENDBLAU, string);
  1426.     }
  1427.     else if(sInfo[pID][slevel] > s_level)
  1428.     {
  1429.         new string[128];
  1430.         format(string, sizeof(string)," Du wurdest von %s zu einem Supporter Level %i degradiert",getPlayerName(playerid), s_level);
  1431.         SendClientMessage(pID, LEUCHTENDBLAU, string);
  1432.         format(string,sizeof(string)," Du hast %s zum Supporter Level %i degradiert",getPlayerName(pID), s_level);
  1433.         SendClientMessage(playerid, LEUCHTENDBLAU, string);
  1434.     }
  1435.     sInfo[pID][slevel]=s_level;
  1436.     savePlayer(pID);
  1437.     return 1;
  1438. }
  1439.  
  1440. ocmd:makeadmin(playerid,params[])
  1441. {
  1442.     if(!isAdmin(playerid,2002))return SendClientMessage(playerid,ROT,"Du bist dazu nicht befugt!");
  1443.     new pID,a_level;
  1444.     if(sscanf(params,"ui",pID,a_level))return SendClientMessage(playerid,ROT,"INFO: /makeadmin [ID] [level]");
  1445.     if(sInfo[pID][alevel] < a_level)
  1446.     {
  1447.         new string[128];
  1448.         format(string, sizeof(string)," Du wurdest von %s zu einem Admin Level %i befördert",getPlayerName(playerid), a_level);
  1449.         SendClientMessage(pID, LEUCHTENDBLAU, string);
  1450.         format(string,sizeof(string)," Du hast %s zum Admin Level %i befördert",getPlayerName(pID), a_level);
  1451.         SendClientMessage(playerid, LEUCHTENDBLAU, string);
  1452.     }
  1453.     else if(sInfo[pID][alevel] > a_level)
  1454.     {
  1455.         new string[128];
  1456.         format(string, sizeof(string)," Du wurdest von %s zu einem Admin Level %i degradiert",getPlayerName(playerid), a_level);
  1457.         SendClientMessage(pID, LEUCHTENDBLAU, string);
  1458.         format(string,sizeof(string)," Du hast %s zum Admin Level %i degradiert",getPlayerName(pID), a_level);
  1459.         SendClientMessage(playerid, LEUCHTENDBLAU, string);
  1460.     }
  1461.     sInfo[pID][alevel]=a_level;
  1462.     savePlayer(pID);
  1463.     return 1;
  1464. }
  1465.  
  1466. ocmd:makeleader(playerid, params[])
  1467. {
  1468.     if(!isAdmin(playerid,1337))return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
  1469.     new pID, fID;
  1470.     if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid, ROT, " Benutze: /makeleader [playerid] [fraktid]");
  1471.     if(fID >= sizeof(fInfo))return SendClientMessage(playerid,ROT, " Fraktion existiert nicht.");
  1472.     sInfo[pID][fraktion] = fID;
  1473.     sInfo[pID][rang] = 6;
  1474.     new string [128];
  1475.     format(string,sizeof(string), "Admin: %s hat dich zum Leader der Fraktion %s gemacht",getPlayerName(playerid), fInfo[fID][f_name]);
  1476.     SendClientMessage(pID, LEUCHTENDBLAU, string);
  1477.     SendClientMessage(pID, ROT,"Du kannst mit /help deine neuen Fraktionsbefehle betrachten.");
  1478.     SendClientMessage(pID, ROT,"Du hast nun eine 4 Wöchige Leader Pflicht");
  1479.     SendClientMessage(pID, ROT,"Wenn du vor Ablauf der Frist rausgeworfen wirst,bekommst du eine Fraksperre für den Rest der Zeit");
  1480.     format(string,sizeof(string),"Du hast einen Spieler %s zum Leader der Fraktion %s gemacht",getPlayerName(pID), fInfo[fID][f_name]);
  1481.     SendClientMessage(playerid,ROT, string);
  1482.     savePlayer(pID);
  1483.     return 1;
  1484. }
  1485.  
  1486. ocmd:restart(playerid,params[])
  1487. {
  1488.     if(!isAdmin(playerid,2002))return SendClientMessage(playerid,ROT,"Du bist dazu nicht befugt!");
  1489.     mysql_close(dbhandle);
  1490.     SaveAllPlayers();
  1491.     SendRconCommand("gmx");
  1492.     return 1;
  1493. }
  1494.  
  1495. isSupp(playerid,s_level)
  1496. {
  1497.     if(sInfo[playerid][slevel]>=s_level)return 1;
  1498.     return 0;
  1499. }
  1500.  
  1501. isAdmin(playerid,a_level)
  1502. {
  1503.     if(sInfo[playerid][alevel]>=a_level)return 1;
  1504.     return 0;
  1505. }
  1506.  
  1507. public OnPlayerCommandText(playerid, cmdtext[])
  1508. {
  1509.     new str[128];
  1510.     format(str, 128,"Der Befehl %s existiert nicht !",cmdtext);
  1511.     SendClientMessage(playerid,ROT,str);
  1512.     return 1;
  1513. }
  1514.  
  1515. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  1516. {
  1517.         return 1;
  1518. }
  1519.  
  1520. public OnPlayerExitVehicle(playerid, vehicleid)
  1521. {
  1522.     return 1;
  1523. }
  1524.  
  1525. public OnPlayerStateChange(playerid, newstate, oldstate)
  1526. {
  1527.     if(newstate == PLAYER_STATE_DRIVER)
  1528.     {
  1529.         for(new i = 0; i<sizeof(policeCars); i++)
  1530.         {
  1531.             if(GetPlayerVehicleID(playerid) == policeCars[i])
  1532.             {
  1533.                 if(isPlayerInFrakt(playerid, 1) || isAdmin(playerid,1337))
  1534.                 {
  1535.                 }
  1536.                 else
  1537.                 {
  1538.                     RemovePlayerFromVehicle(playerid);
  1539.                     SendClientMessage(playerid,ROT,"Du bist kein Mitglied des LSPD's!");
  1540.                 }
  1541.             }
  1542.         }
  1543.     }
  1544.    
  1545.     if(newstate == PLAYER_STATE_DRIVER)
  1546.     {
  1547.         for(new i = 0; i<sizeof(medicCars); i++)
  1548.         {
  1549.             if(GetPlayerVehicleID(playerid) == medicCars[i])
  1550.             {
  1551.                 if(isPlayerInFrakt(playerid, 3) || isAdmin(playerid,1337))
  1552.                 {
  1553.                 }
  1554.                 else
  1555.                 {
  1556.                     RemovePlayerFromVehicle(playerid);
  1557.                     SendClientMessage(playerid,ROT,"Du bist kein Mitglied des Medic's!");
  1558.                 }
  1559.             }
  1560.         }
  1561.     }
  1562.    
  1563.     if(newstate == PLAYER_STATE_DRIVER)
  1564.     {
  1565.         for(new i = 0; i<sizeof(oamtCars); i++)
  1566.         {
  1567.             if(GetPlayerVehicleID(playerid) == oamtCars[i])
  1568.             {
  1569.                 if(isPlayerInFrakt(playerid, 4))
  1570.                 {
  1571.                 }
  1572.                 else
  1573.                 {
  1574.                     RemovePlayerFromVehicle(playerid);
  1575.                     SendClientMessage(playerid,ROT,"Du bist kein Mitglied des Oamt's!");
  1576.                 }
  1577.             }
  1578.         }
  1579.     }
  1580.    
  1581.     if(newstate==PLAYER_STATE_DRIVER)
  1582.     {
  1583.         SendClientMessage(playerid,weiß,"{FFFF00}Info:{FFFFFF} Du kannst den Motor {FFFF00}mit der Taste[2] oder /motor {FFFFFF}starten!");
  1584.     }
  1585.  
  1586.     if(newstate==PLAYER_STATE_DRIVER)
  1587.     {
  1588.         new vID=GetPlayerVehicleID(playerid);
  1589.         new vModel=GetVehicleModel(vID);
  1590.  
  1591.         for(new i=0; i<sizeof(autosOhneMotor); i++)
  1592.         {
  1593.             if(autosOhneMotor[i]!=vModel)continue;
  1594.             new tmp_engine,
  1595.                 tmp_lights,
  1596.                 tmp_alarm,
  1597.                 tmp_doors,
  1598.                 tmp_bonnet,
  1599.                 tmp_boot,
  1600.                 tmp_objective;
  1601.             //Motor an/ausschalten
  1602.             GetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
  1603.             SetVehicleParamsEx(vID, 1, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
  1604.         }
  1605.         for(new i=0; i<sizeof(ahCars); i++)
  1606.         {
  1607.             if(ahCars[i][id_x]!=vID)continue;
  1608.             SetPVarInt(playerid,"buyCarID",i);
  1609.             new string[265];
  1610.             format(string,sizeof(string),"Mochten sie das Fahrzeug für %i$ kaufen?",ahCars[i][c_preis]);
  1611.             ShowPlayerDialog(playerid,DIALOG_AUTOHAUS,DIALOG_STYLE_MSGBOX,"Autokauf",string,"Ja","Nein");
  1612.             break;
  1613.         }
  1614.         return 1;
  1615.     }
  1616.     return 1;
  1617. }
  1618.  
  1619. public OnPlayerEnterCheckpoint(playerid)
  1620. {
  1621.     DisablePlayerCheckpoint(playerid);
  1622.     return 1;
  1623. }
  1624.  
  1625. public OnPlayerLeaveCheckpoint(playerid)
  1626. {
  1627.     return 1;
  1628. }
  1629.  
  1630. public OnPlayerEnterRaceCheckpoint(playerid)
  1631. {
  1632.     return 1;
  1633. }
  1634.  
  1635. public OnPlayerLeaveRaceCheckpoint(playerid)
  1636. {
  1637.     return 1;
  1638. }
  1639.  
  1640. public OnRconCommand(cmd[])
  1641. {
  1642.     return 1;
  1643. }
  1644.  
  1645. public OnPlayerRequestSpawn(playerid)
  1646. {
  1647.     return 1;
  1648. }
  1649.  
  1650. public OnObjectMoved(objectid)
  1651. {
  1652.     return 1;
  1653. }
  1654.  
  1655. public OnPlayerObjectMoved(playerid, objectid)
  1656. {
  1657.     return 1;
  1658. }
  1659.  
  1660. public OnPlayerPickUpPickup(playerid, pickupid)
  1661. {
  1662.     if(pickupid == stadthalleenter)
  1663.     {
  1664.         SetPlayerPos(playerid,387.8430,173.8047,1008.3828);
  1665.         SetPlayerFacingAngle(playerid,91.6419);
  1666.         SetPlayerInterior(playerid,3);
  1667.         SetPlayerVirtualWorld(playerid,4);
  1668.         SetCameraBehindPlayer(playerid);
  1669.     }
  1670.  
  1671.     if(pickupid == stadthalleexit)
  1672.     {
  1673.         SetPlayerPos(playerid,1207.8748,-1751.0233,13.5932);
  1674.         SetPlayerFacingAngle(playerid,38.1484);
  1675.         SetPlayerInterior(playerid,0);
  1676.         SetPlayerVirtualWorld(playerid,0);
  1677.         SetCameraBehindPlayer(playerid);
  1678.     }
  1679.  
  1680.     if(pickupid == ammulsenter)
  1681.     {
  1682.         SetPlayerPos(playerid,286.3157,-39.8753,1001.5156);
  1683.         SetPlayerFacingAngle(playerid,304.2614);
  1684.         SetPlayerInterior(playerid,1);
  1685.         SetPlayerVirtualWorld(playerid,6);
  1686.         SetCameraBehindPlayer(playerid);
  1687.     }
  1688.  
  1689.     if(pickupid == ammulsexit)
  1690.     {
  1691.         SetPlayerPos(playerid,1366.2113,-1279.6046,13.5469);
  1692.         SetPlayerFacingAngle(playerid,90.1989);
  1693.         SetPlayerInterior(playerid,0);
  1694.         SetPlayerVirtualWorld(playerid,0);
  1695.         SetCameraBehindPlayer(playerid);
  1696.     }
  1697.  
  1698.     if(pickupid == lspdenter)
  1699.     {
  1700.         SetPlayerPos(playerid,246.7961,64.2037,1003.6406);
  1701.         SetPlayerFacingAngle(playerid,358.5329);
  1702.         SetPlayerInterior(playerid,6);
  1703.         SetPlayerVirtualWorld(playerid,1);
  1704.         SetCameraBehindPlayer(playerid);
  1705.     }
  1706.  
  1707.     if(pickupid == lspdexit)
  1708.     {
  1709.         SetPlayerPos(playerid,1552.4957,-1675.3972,16.1953);
  1710.         SetPlayerFacingAngle(playerid,89.6651);
  1711.         SetPlayerInterior(playerid,0);
  1712.         SetPlayerVirtualWorld(playerid,0);
  1713.         SetCameraBehindPlayer(playerid);
  1714.     }
  1715.  
  1716.     if(pickupid == lspdgarageexit)
  1717.     {
  1718.         if(!isPlayerInFrakt(playerid, 1))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der LSPD's.");
  1719.         SetPlayerPos(playerid,1526.3655,-1677.6136,5.8906);
  1720.         SetPlayerFacingAngle(playerid,272.5833);
  1721.         SetPlayerInterior(playerid,0);
  1722.         SetPlayerVirtualWorld(playerid,0);
  1723.         SetCameraBehindPlayer(playerid);
  1724.     }
  1725.  
  1726.     if(pickupid == lspdgarageenter)
  1727.     {
  1728.         SetPlayerPos(playerid,246.3997,86.4646,1003.6406);
  1729.         SetPlayerFacingAngle(playerid,179.1384);
  1730.         SetPlayerInterior(playerid,6);
  1731.         SetPlayerVirtualWorld(playerid,1);
  1732.         SetCameraBehindPlayer(playerid);
  1733.     }
  1734.  
  1735.     if(pickupid == lspddachenter)
  1736.     {
  1737.         if(!isPlayerInFrakt(playerid, 1))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der LSPD's.");
  1738.         SetPlayerPos(playerid,243.7930,66.2696,1003.6406);
  1739.         SetPlayerFacingAngle(playerid,269.1373);
  1740.         SetPlayerInterior(playerid,6);
  1741.         SetPlayerVirtualWorld(playerid,1);
  1742.         SetCameraBehindPlayer(playerid);
  1743.     }
  1744.  
  1745.     if(pickupid == lspddachexit)
  1746.     {
  1747.         if(!isPlayerInFrakt(playerid, 1))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der LSPD's.");
  1748.         SetPlayerPos(playerid,1555.8984,-1675.5177,28.3955);
  1749.         SetPlayerFacingAngle(playerid,90.8591);
  1750.         SetPlayerInterior(playerid,0);
  1751.         SetPlayerVirtualWorld(playerid,0);
  1752.         SetCameraBehindPlayer(playerid);
  1753.     }
  1754.    
  1755.     if(pickupid == victimenter)
  1756.     {
  1757.         SetPlayerPos(playerid,225.0117,-8.1936,1002.2109);
  1758.         SetPlayerFacingAngle(playerid,89.6216);
  1759.         SetPlayerInterior(playerid,5);
  1760.         SetPlayerVirtualWorld(playerid,7);
  1761.         SetCameraBehindPlayer(playerid);
  1762.     }
  1763.    
  1764.     if(pickupid == victimexit)
  1765.     {
  1766.         SetPlayerPos(playerid,458.8222,-1501.3805,31.0379);
  1767.         SetPlayerFacingAngle(playerid,100.4981);
  1768.         SetPlayerInterior(playerid,0);
  1769.         SetPlayerVirtualWorld(playerid,0);
  1770.         SetCameraBehindPlayer(playerid);
  1771.     }
  1772.    
  1773.     if(pickupid == medicenter)
  1774.     {
  1775.         if(!isPlayerInFrakt(playerid, 3))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Medic's.");
  1776.         SetPlayerPos(playerid,365.3935,162.2574,1019.9844);
  1777.         SetPlayerFacingAngle(playerid,91.0286);
  1778.         SetPlayerInterior(playerid,3);
  1779.         SetPlayerVirtualWorld(playerid,2);
  1780.         SetCameraBehindPlayer(playerid);
  1781.     }
  1782.    
  1783.     if(pickupid == medicexit)
  1784.     {
  1785.         if(!isPlayerInFrakt(playerid, 3))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Medic's.");
  1786.         SetPlayerPos(playerid,-2654.9861,637.0780,14.4531);
  1787.         SetPlayerFacingAngle(playerid,180.3984);
  1788.         SetPlayerInterior(playerid,0);
  1789.         SetPlayerVirtualWorld(playerid,0);
  1790.         SetCameraBehindPlayer(playerid);
  1791.     }
  1792.    
  1793.     if(pickupid == medicdenter)
  1794.     {
  1795.         if(!isPlayerInFrakt(playerid, 3))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Medic's.");
  1796.         SetPlayerPos(playerid,-2628.4248,639.7186,66.0938);
  1797.         SetPlayerFacingAngle(playerid,1.5924);
  1798.         SetPlayerInterior(playerid,0);
  1799.         SetPlayerVirtualWorld(playerid,0);
  1800.         SetCameraBehindPlayer(playerid);
  1801.     }
  1802.    
  1803.     if(pickupid == medicdexit)
  1804.     {
  1805.         if(!isPlayerInFrakt(playerid, 3))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Medic's.");
  1806.         SetPlayerPos(playerid,350.1810,176.4289,1019.9844);
  1807.         SetPlayerFacingAngle(playerid,171.3776);
  1808.         SetPlayerInterior(playerid,3);
  1809.         SetPlayerVirtualWorld(playerid,2);
  1810.         SetCameraBehindPlayer(playerid);
  1811.     }
  1812.    
  1813.     if(pickupid == oamtenter)
  1814.     {
  1815.         if(!isPlayerInFrakt(playerid, 4))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied des Oamt's.");
  1816.         SetPlayerPos(playerid,366.1374,162.2436,1025.7891);
  1817.         SetPlayerFacingAngle(playerid,89.2698);
  1818.         SetPlayerInterior(playerid,3);
  1819.         SetPlayerVirtualWorld(playerid,5);
  1820.         SetCameraBehindPlayer(playerid);
  1821.     }
  1822.    
  1823.     if(pickupid == oamtexit)
  1824.     {
  1825.         if(!isPlayerInFrakt(playerid, 4))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied des Oamt's.");
  1826.         SetPlayerPos(playerid,-1088.0706,-603.5984,32.0078);
  1827.         SetPlayerFacingAngle(playerid,178.2361);
  1828.         SetPlayerInterior(playerid,0);
  1829.         SetPlayerVirtualWorld(playerid,0);
  1830.         SetCameraBehindPlayer(playerid);
  1831.     }
  1832.    
  1833.     if(pickupid == lcnenter)
  1834.     {
  1835.         if(!isPlayerInFrakt(playerid, 12))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Lacosa Nostra.");
  1836.         SetPlayerPos(playerid,2807.5840,-1172.6940,1025.5703);
  1837.         SetPlayerFacingAngle(playerid,2.3869);
  1838.         SetPlayerInterior(playerid,8);
  1839.         SetPlayerVirtualWorld(playerid,8);
  1840.         SetCameraBehindPlayer(playerid);
  1841.     }
  1842.    
  1843.     if(pickupid == lcnexit)
  1844.     {
  1845.         if(!isPlayerInFrakt(playerid, 12))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Lacosa Nostra.");
  1846.         SetPlayerPos(playerid,2482.8760,1527.2314,11.3001);
  1847.         SetPlayerFacingAngle(playerid,320.3426);
  1848.         SetPlayerInterior(playerid,0);
  1849.         SetPlayerVirtualWorld(playerid,0);
  1850.         SetCameraBehindPlayer(playerid);
  1851.     }
  1852.    
  1853.     if(pickupid == yakuzaenter)
  1854.     {
  1855.         if(!isPlayerInFrakt(playerid, 13))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Yakuza.");
  1856.         SetPlayerPos(playerid,2807.5840,-1172.6940,1025.5703);
  1857.         SetPlayerFacingAngle(playerid,2.3869);
  1858.         SetPlayerInterior(playerid,8);
  1859.         SetPlayerVirtualWorld(playerid,9);
  1860.         SetCameraBehindPlayer(playerid);
  1861.     }
  1862.    
  1863.     if(pickupid == yakuzaexit)
  1864.     {
  1865.         if(!isPlayerInFrakt(playerid, 13))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Yakuza.");
  1866.         SetPlayerPos(playerid,1453.4940,750.7717,11.0234);
  1867.         SetPlayerFacingAngle(playerid,90.9039);
  1868.         SetPlayerInterior(playerid,0);
  1869.         SetPlayerVirtualWorld(playerid,0);
  1870.         SetCameraBehindPlayer(playerid);
  1871.     }
  1872.    
  1873.     if(pickupid == hitmanenter)
  1874.     {
  1875.         if(!isPlayerInFrakt(playerid, 15))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Hitmans.");
  1876.         SetPlayerPos(playerid,-688.0081,941.2239,13.6328);
  1877.         SetPlayerFacingAngle(playerid,181.6686);
  1878.         SetPlayerInterior(playerid,0);
  1879.         SetPlayerVirtualWorld(playerid,10);
  1880.         SetCameraBehindPlayer(playerid);
  1881.     }
  1882.    
  1883.     if(pickupid == hitmanexit)
  1884.     {
  1885.         if(!isPlayerInFrakt(playerid, 15))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Hitmans.");
  1886.         SetPlayerPos(playerid,-688.1256,945.7512,13.0313);
  1887.         SetPlayerFacingAngle(playerid,358.2399);
  1888.         SetPlayerInterior(playerid,0);
  1889.         SetPlayerVirtualWorld(playerid,0);
  1890.         SetCameraBehindPlayer(playerid);
  1891.     }
  1892.    
  1893.     if(pickupid == newsenter)
  1894.     {
  1895.         if(!isPlayerInFrakt(playerid, 5))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der News.");
  1896.         SetPlayerPos(playerid,366.1374,162.2436,1025.7891);
  1897.         SetPlayerFacingAngle(playerid,89.2698);
  1898.         SetPlayerInterior(playerid,3);
  1899.         SetPlayerVirtualWorld(playerid,11);
  1900.         SetCameraBehindPlayer(playerid);
  1901.     }
  1902.  
  1903.     if(pickupid == newsexit)
  1904.     {
  1905.         if(!isPlayerInFrakt(playerid, 5))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der News.");
  1906.         SetPlayerPos(playerid,-1754.1199,961.5027,24.8828);
  1907.         SetPlayerFacingAngle(playerid,179.0732);
  1908.         SetPlayerInterior(playerid,0);
  1909.         SetPlayerVirtualWorld(playerid,0);
  1910.         SetCameraBehindPlayer(playerid);
  1911.     }
  1912.    
  1913.     if(pickupid == fshenter)
  1914.     {
  1915.         SetPlayerPos(playerid,-2027.8820,-105.1434,1035.1719);
  1916.         SetPlayerFacingAngle(playerid,128.9044);
  1917.         SetPlayerInterior(playerid,3);
  1918.         SetPlayerVirtualWorld(playerid,12);
  1919.         SetCameraBehindPlayer(playerid);
  1920.     }
  1921.    
  1922.     if(pickupid == fshexit)
  1923.     {
  1924.         SetPlayerPos(playerid,-2026.6042,-100.4634,35.1641);
  1925.         SetPlayerFacingAngle(playerid,359.4869);
  1926.         SetPlayerInterior(playerid,0);
  1927.         SetPlayerVirtualWorld(playerid,0);
  1928.         SetCameraBehindPlayer(playerid);
  1929.     }
  1930.    
  1931.     if(pickupid == fsbenter)
  1932.     {
  1933.         SetPlayerPos(playerid,-2029.7268,-117.9971,1035.1719);
  1934.         SetPlayerFacingAngle(playerid,0.3418);
  1935.         SetPlayerInterior(playerid,3);
  1936.         SetPlayerVirtualWorld(playerid,12);
  1937.         SetCameraBehindPlayer(playerid);
  1938.     }
  1939.    
  1940.     if(pickupid == fsbexit)
  1941.     {
  1942.         SetPlayerPos(playerid,-2029.8020,-121.9702,35.1862);
  1943.         SetPlayerFacingAngle(playerid,177.7431);
  1944.         SetPlayerInterior(playerid,0);
  1945.         SetPlayerVirtualWorld(playerid,0);
  1946.         SetCameraBehindPlayer(playerid);
  1947.     }
  1948.    
  1949.     if(pickupid == gsenter)
  1950.     {
  1951.         if(!isPlayerInFrakt(playerid, 7))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Groove Street Familie.");
  1952.         SetPlayerPos(playerid,2807.5840,-1172.6940,1025.5703);
  1953.         SetPlayerFacingAngle(playerid,2.3869);
  1954.         SetPlayerInterior(playerid,8);
  1955.         SetPlayerVirtualWorld(playerid,14);
  1956.         SetCameraBehindPlayer(playerid);
  1957.     }
  1958.  
  1959.     if(pickupid == gsexit)
  1960.     {
  1961.         if(!isPlayerInFrakt(playerid, 7))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Groove Street Familie.");
  1962.         SetPlayerPos(playerid,2495.2627,-1689.3993,14.4068);
  1963.         SetPlayerFacingAngle(playerid,0.0050);
  1964.         SetPlayerInterior(playerid,0);
  1965.         SetPlayerVirtualWorld(playerid,0);
  1966.         SetCameraBehindPlayer(playerid);
  1967.     }
  1968.    
  1969.     if(pickupid == ballasenter)
  1970.     {
  1971.         if(!isPlayerInFrakt(playerid, 8))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Ballas.");
  1972.         SetPlayerPos(playerid,2807.5840,-1172.6940,1025.5703);
  1973.         SetPlayerFacingAngle(playerid,2.3869);
  1974.         SetPlayerInterior(playerid,8);
  1975.         SetPlayerVirtualWorld(playerid,15);
  1976.         SetCameraBehindPlayer(playerid);
  1977.     }
  1978.  
  1979.     if(pickupid == ballasexit)
  1980.     {
  1981.         if(!isPlayerInFrakt(playerid, 8))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Ballas.");
  1982.         SetPlayerPos(playerid,2334.5422,-1233.1584,27.9766);
  1983.         SetPlayerFacingAngle(playerid,359.7436);
  1984.         SetPlayerInterior(playerid,0);
  1985.         SetPlayerVirtualWorld(playerid,0);
  1986.         SetCameraBehindPlayer(playerid);
  1987.     }
  1988.    
  1989.     if(pickupid == vagosenter)
  1990.     {
  1991.         if(!isPlayerInFrakt(playerid, 9))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Los Santos Vagos.");
  1992.         SetPlayerPos(playerid,2807.5840,-1172.6940,1025.5703);
  1993.         SetPlayerFacingAngle(playerid,2.3869);
  1994.         SetPlayerInterior(playerid,8);
  1995.         SetPlayerVirtualWorld(playerid,16);
  1996.         SetCameraBehindPlayer(playerid);
  1997.     }
  1998.  
  1999.     if(pickupid == vagosexit)
  2000.     {
  2001.         if(!isPlayerInFrakt(playerid, 9))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Los Santos Vagos.");
  2002.         SetPlayerPos(playerid,2785.1306,-1926.1780,13.5469);
  2003.         SetPlayerFacingAngle(playerid,92.7006);
  2004.         SetPlayerInterior(playerid,0);
  2005.         SetPlayerVirtualWorld(playerid,0);
  2006.         SetCameraBehindPlayer(playerid);
  2007.     }
  2008.    
  2009.     if(pickupid == atzenenter)
  2010.     {
  2011.         if(!isPlayerInFrakt(playerid, 10))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Varrios Los Aztecas.");
  2012.         SetPlayerPos(playerid,2807.5840,-1172.6940,1025.5703);
  2013.         SetPlayerFacingAngle(playerid,2.3869);
  2014.         SetPlayerInterior(playerid,8);
  2015.         SetPlayerVirtualWorld(playerid,17);
  2016.         SetCameraBehindPlayer(playerid);
  2017.     }
  2018.  
  2019.     if(pickupid == atzenexit)
  2020.     {
  2021.         if(!isPlayerInFrakt(playerid, 10))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Varrios Los Aztecas.");
  2022.         SetPlayerPos(playerid,1684.8600,-2099.8435,13.8343);
  2023.         SetPlayerFacingAngle(playerid,181.6020);
  2024.         SetPlayerInterior(playerid,0);
  2025.         SetPlayerVirtualWorld(playerid,0);
  2026.         SetCameraBehindPlayer(playerid);
  2027.     }
  2028.    
  2029.     if(pickupid == rifaenter)
  2030.     {
  2031.         if(!isPlayerInFrakt(playerid, 11))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der S.F Rifa.");
  2032.         SetPlayerPos(playerid,2807.5840,-1172.6940,1025.5703);
  2033.         SetPlayerFacingAngle(playerid,2.3869);
  2034.         SetPlayerInterior(playerid,8);
  2035.         SetPlayerVirtualWorld(playerid,18);
  2036.         SetCameraBehindPlayer(playerid);
  2037.     }
  2038.  
  2039.     if(pickupid == rifaexit)
  2040.     {
  2041.         if(!isPlayerInFrakt(playerid, 11))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der S.F Rifa.");
  2042.         SetPlayerPos(playerid,-2720.5828,-318.0673,7.8438);
  2043.         SetPlayerFacingAngle(playerid,43.9687);
  2044.         SetPlayerInterior(playerid,0);
  2045.         SetPlayerVirtualWorld(playerid,0);
  2046.         SetCameraBehindPlayer(playerid);
  2047.     }
  2048.    
  2049.     if(pickupid == russenenter)
  2050.     {
  2051.         if(!isPlayerInFrakt(playerid, 14))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Russen.");
  2052.         SetPlayerPos(playerid,2807.5840,-1172.6940,1025.5703);
  2053.         SetPlayerFacingAngle(playerid,2.3869);
  2054.         SetPlayerInterior(playerid,8);
  2055.         SetPlayerVirtualWorld(playerid,19);
  2056.         SetCameraBehindPlayer(playerid);
  2057.     }
  2058.  
  2059.     if(pickupid == russenexit)
  2060.     {
  2061.         if(!isPlayerInFrakt(playerid, 14))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Russen.");
  2062.         SetPlayerPos(playerid,-551.5718,2593.8630,53.9348);
  2063.         SetPlayerFacingAngle(playerid,267.9214);
  2064.         SetPlayerInterior(playerid,0);
  2065.         SetPlayerVirtualWorld(playerid,0);
  2066.         SetCameraBehindPlayer(playerid);
  2067.     }
  2068.    
  2069.     if(pickupid == fbienter)
  2070.     {
  2071.         if(!isPlayerInFrakt(playerid, 2))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der Russen.");
  2072.         SetPlayerPos(playerid,354.3948,198.4012,1008.3828);
  2073.         SetPlayerFacingAngle(playerid,359.2174);
  2074.         SetPlayerInterior(playerid,3);
  2075.         SetPlayerVirtualWorld(playerid,20);
  2076.         SetCameraBehindPlayer(playerid);
  2077.     }
  2078.  
  2079.     if(pickupid == fbiexit)
  2080.     {
  2081.         if(!isPlayerInFrakt(playerid, 2))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied des FBI's.");
  2082.         SetPlayerPos(playerid,329.0241,-1512.9985,36.0391);
  2083.         SetPlayerFacingAngle(playerid,227.9780);
  2084.         SetPlayerInterior(playerid,0);
  2085.         SetPlayerVirtualWorld(playerid,0);
  2086.         SetCameraBehindPlayer(playerid);
  2087.     }
  2088.    
  2089.     if(pickupid == fbigenter)
  2090.     {
  2091.         if(!isPlayerInFrakt(playerid, 2))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der FBI's.");
  2092.         SetPlayerPos(playerid,314.7209,-1513.0677,24.9219);
  2093.         SetPlayerFacingAngle(playerid,57.2079);
  2094.         SetPlayerInterior(playerid,0);
  2095.         SetPlayerVirtualWorld(playerid,0);
  2096.         SetCameraBehindPlayer(playerid);
  2097.     }
  2098.  
  2099.     if(pickupid == fbigexit)
  2100.     {
  2101.         if(!isPlayerInFrakt(playerid, 2))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der FBI's.");
  2102.         SetPlayerPos(playerid,358.2133,215.8641,1008.3828);
  2103.         SetPlayerFacingAngle(playerid,176.2094);
  2104.         SetPlayerInterior(playerid,3);
  2105.         SetPlayerVirtualWorld(playerid,20);
  2106.         SetCameraBehindPlayer(playerid);
  2107.     }
  2108.    
  2109.     if(pickupid == fbidenter)
  2110.     {
  2111.         if(!isPlayerInFrakt(playerid, 2))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der FBI's.");
  2112.         SetPlayerPos(playerid,314.0398,-1512.2876,76.5362);
  2113.         SetPlayerFacingAngle(playerid,237.3738);
  2114.         SetPlayerInterior(playerid,0);
  2115.         SetPlayerVirtualWorld(playerid,0);
  2116.         SetCameraBehindPlayer(playerid);
  2117.     }
  2118.  
  2119.     if(pickupid == fbidexit)
  2120.     {
  2121.         if(!isPlayerInFrakt(playerid, 2))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der FBI's.");
  2122.         SetPlayerPos(playerid,366.1075,209.2095,1008.3828);
  2123.         SetPlayerFacingAngle(playerid,92.2244);
  2124.         SetPlayerInterior(playerid,3);
  2125.         SetPlayerVirtualWorld(playerid,20);
  2126.         SetCameraBehindPlayer(playerid);
  2127.     }
  2128.     return 1;
  2129. }
  2130.  
  2131. public OnVehicleMod(playerid, vehicleid, componentid)
  2132. {
  2133.     return 1;
  2134. }
  2135.  
  2136. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  2137. {
  2138.     return 1;
  2139. }
  2140.  
  2141. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  2142. {
  2143.     return 1;
  2144. }
  2145.  
  2146. public OnPlayerSelectedMenuRow(playerid, row)
  2147. {
  2148.     return 1;
  2149. }
  2150.  
  2151. public OnPlayerExitedMenu(playerid)
  2152. {
  2153.     return 1;
  2154. }
  2155.  
  2156. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  2157. {
  2158.     return 1;
  2159. }
  2160.  
  2161. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  2162. {
  2163.     if(newkeys & KEY_SUBMISSION) return ocmd_motor(playerid, "");
  2164.     return 1;
  2165. }
  2166.  
  2167. public OnRconLoginAttempt(ip[], password[], success)
  2168. {
  2169.     return 1;
  2170. }
  2171.  
  2172. public OnPlayerUpdate(playerid)
  2173. {
  2174.     return 1;
  2175. }
  2176.  
  2177. public OnPlayerStreamIn(playerid, forplayerid)
  2178. {
  2179.     return 1;
  2180. }
  2181.  
  2182. public OnPlayerStreamOut(playerid, forplayerid)
  2183. {
  2184.     return 1;
  2185. }
  2186.  
  2187. public OnVehicleStreamIn(vehicleid, forplayerid)
  2188. {
  2189.     return 1;
  2190. }
  2191.  
  2192. public OnVehicleStreamOut(vehicleid, forplayerid)
  2193. {
  2194.     return 1;
  2195. }
  2196.  
  2197. getFreeCarID()
  2198. {
  2199.     for(new i=0; i<sizeof(cInfo); i++)
  2200.     {
  2201.         if(cInfo[i][id_x]==0)return i;
  2202.     }
  2203.     return 0;
  2204. }
  2205.  
  2206. public OnPlayerCarsLoad(playerid)
  2207. {
  2208.     new num_fields,num_rows;
  2209.     cache_get_data(num_rows,num_fields,dbhandle);
  2210.     if(!num_rows)return 1;
  2211.     for(new i=0; i<num_rows; i++)
  2212.     {
  2213.         new id=getFreeCarID();
  2214.         cInfo[id][model]=cache_get_field_content_int(i,"model",dbhandle);
  2215.         cInfo[id][besitzer]=cache_get_field_content_int(i,"besitzer",dbhandle);
  2216.         cInfo[id][c_x]=cache_get_field_content_float(i,"x",dbhandle);
  2217.         cInfo[id][c_y]=cache_get_field_content_float(i,"y",dbhandle);
  2218.         cInfo[id][c_z]=cache_get_field_content_float(i,"z",dbhandle);
  2219.         cInfo[id][c_r]=cache_get_field_content_float(i,"r",dbhandle);
  2220.         cInfo[id][db_id]=cache_get_field_content_int(i,"id",dbhandle);
  2221.         cInfo[id][id_x]=CreateVehicle(cInfo[id][model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],-1,-1,-1);
  2222.     }
  2223.     return 1;
  2224. }
  2225.  
  2226. loadPlayerCars(playerid)
  2227. {
  2228.     new query[128];
  2229.     format(query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%i'",sInfo[playerid][db_id]);
  2230.     mysql_function_query(dbhandle,query,true,"OnPlayerCarsLoad","i",playerid);
  2231.     return 1;
  2232. }
  2233.  
  2234. public OnPasswordResponse(playerid)
  2235. {
  2236.     new num_fields,num_rows;
  2237.     cache_get_data(num_rows,num_fields,dbhandle);
  2238.     if(num_rows==1)
  2239.     {
  2240.         //Spieler laden
  2241.         TogglePlayerSpectating(playerid, 0);
  2242.         sInfo[playerid][eingeloggt] = 1;
  2243.         sInfo[playerid][level] = cache_get_field_content_int(0,"level",dbhandle);
  2244.         SetPlayerScore(playerid,sInfo[playerid][level]);
  2245.         sInfo[playerid][Skin] = cache_get_field_content_int(0,"skin",dbhandle);
  2246.         SetPlayerSkin(playerid,sInfo[playerid][Skin]);
  2247.         sInfo[playerid][db_id] = cache_get_field_content_int(0,"id",dbhandle);
  2248.         SetPlayerMoney(playerid,cache_get_field_content_int(0,"money",dbhandle));
  2249.         sInfo[playerid][alevel] = cache_get_field_content_int(0,"alevel",dbhandle);
  2250.         sInfo[playerid][slevel] = cache_get_field_content_int(0,"slevel",dbhandle);
  2251.         sInfo[playerid][fraktion] = cache_get_field_content_int(0,"fraktion",dbhandle);
  2252.         sInfo[playerid][rang] = cache_get_field_content_int(0,"rang",dbhandle);
  2253.         sInfo[playerid][spawnchange] = cache_get_field_content_int(0,"spawnchange",dbhandle);
  2254.         SendClientMessage(playerid,ROT,"*Erfolgreich eingeloggt.");
  2255.         SendClientMessage(playerid,weiß,"===============|WILLKOMMEN|===============");
  2256.         SendClientMessage(playerid,Orange,"!!! Playpoint-Reallife - we are the Gamer!!!");
  2257.         SendClientMessage(playerid,Orange,"!!! Das Orginale...alles andere ist eine Kopie !!!");
  2258.         SendClientMessage(playerid,weiß,"===============|WILLKOMMEN|===============");
  2259.         loadPlayerCars(playerid);
  2260.     }
  2261.     else
  2262.     {
  2263.         SendClientMessage(playerid,ROT,"Das eigegeben Passwort ist fasch");
  2264.         ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Willkommen auf Playpoint-Reallife,\n\n\n\n Bitte logge dich nun ein!\n\n\n","Login","Abbrechen");
  2265.     }
  2266.     return 1;
  2267. }
  2268.  
  2269. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  2270. {
  2271.     if(dialogid==DIALOG_INVITE)
  2272.     {
  2273.         if(response)
  2274.         {
  2275.             new pID;
  2276.             sInfo[playerid][fraktion] = invite[playerid];
  2277.             invite[playerid] = -1; //resetten nh' :)
  2278.             SpawnPlayer(playerid);
  2279.             new string[128];
  2280.             format(string,sizeof(string),"Der Spieler %s wurde in die Fraktion Invitet.",getPlayerName(pID));
  2281.             SendClientMessage(playerid,ROT,string);
  2282.             format(string,sizeof(string),"Du wurdest in die Fraktion %s Invitet.",fInfo[sInfo[playerid][fraktion]][f_name]);
  2283.             SendClientMessage(pID,GELB,string);
  2284.         }
  2285.         else
  2286.         {
  2287.                 invite[playerid] = -1;
  2288.                 new pID;
  2289.                 new string[128];
  2290.                 format(string,sizeof(string),"Du wurdest nicht in die Fraktion %s Invitet",fInfo[sInfo[playerid][fraktion]][f_name]);
  2291.                 SendClientMessage(pID,ROT,string);
  2292.                 format(string,sizeof(string),"Der Spieler %s wurde nicht in die Fraktion Invitet.",getPlayerName(pID));
  2293.                 SendClientMessage(playerid,ROT,string);
  2294.         }
  2295.         return 1;
  2296.     }
  2297.     if(dialogid==DIALOG_AUTOHAUS)
  2298.     {
  2299.         if(response)
  2300.         {
  2301.             new id=GetPVarInt(playerid,"buyCarID");
  2302.             if(GetPlayerMoney(playerid)<ahCars[id][c_preis])
  2303.             {
  2304.                 SendClientMessage(playerid,ROT,"Du hast nicht genügend Geld");
  2305.                 RemovePlayerFromVehicle(playerid);
  2306.                 return 1;
  2307.             }
  2308.             new rand = random(sizeof(RandomSpawn));
  2309.             GivePlayerMoney(playerid,-ahCars[id][c_preis]);
  2310.             createPlayerCar(playerid,ahCars[id][model],RandomSpawn[rand][0],RandomSpawn[rand][1],RandomSpawn[rand][2],RandomSpawn[rand][3]);
  2311.             SetPlayerCheckpoint(playerid, RandomSpawn[rand][0],RandomSpawn[rand][1],RandomSpawn[rand][2], 3.0);
  2312.             SendClientMessage(playerid,LEUCHTENDBLAU,"Herzlichen Glückwunsch zu ihren Kauf");
  2313.             SendClientMessage(playerid,LEUCHTENDBLAU,"Es wurde dir ein Marker auf der Map gesetzt");
  2314.             SendClientMessage(playerid,LEUCHTENDBLAU,"Du kannst nun dein Fahrzeug hinter der Truckerbase in Ls abholen");
  2315.             RemovePlayerFromVehicle(playerid);
  2316.         }
  2317.         else
  2318.         {
  2319.             RemovePlayerFromVehicle(playerid);
  2320.             SendClientMessage(playerid,ROT,"Dann eben nicht ...");
  2321.         }
  2322.         return 1;
  2323.     }
  2324.    
  2325.     if(dialogid==DIALOG_LOGIN)
  2326.     {
  2327.         if(response)
  2328.         {
  2329.             new name[MAX_PLAYER_NAME],query[128],passwort[35];
  2330.             GetPlayerName(playerid,name,sizeof(name));
  2331.             if(strlen(inputtext)>0)
  2332.             {
  2333.                 mysql_escape_string(inputtext,passwort,dbhandle);
  2334.                 format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password='%s'",name,passwort);
  2335.                 mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
  2336.             }
  2337.             else
  2338.             {
  2339.                 SendClientMessage(playerid,ROT,"Gib bitte dein Passwort ein.");
  2340.                 ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Willkommen auf Red-Game0v3r-Reallife,\n\n\n\n Bitte logge dich nun ein!\n\n\n","Login","Abbrechen");
  2341.             }
  2342.         }
  2343.         return 1;
  2344.     }
  2345.    
  2346.     if(dialogid==DIALOG_REGISTER)
  2347.     {
  2348.         if(response)
  2349.         {
  2350.             new name[MAX_PLAYER_NAME],query[128],passwort[35];
  2351.             GetPlayerName(playerid,name,sizeof(name));
  2352.             if(strlen(inputtext)>3)
  2353.             {
  2354.                 //Registrierungsfunktion
  2355.                 mysql_escape_string(inputtext,passwort,dbhandle);
  2356.                 format(query,sizeof(query),"INSERT INTO user (username,password) VALUES ('%s','%s') ",name,passwort);
  2357.                 mysql_function_query(dbhandle,query,false,"OnPlayerRegister","d",playerid);
  2358.             }
  2359.             else
  2360.             {
  2361.                 //Kleiner als 4 Zeichen
  2362.                 SendClientMessage(playerid,ROT,"Dein Passwort muss mindestens 4 Zeichen lang sein.");
  2363.                 ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Gib bitte dein gewünschtes Passwort an:","Okay","Abbrechen");
  2364.             }
  2365.         }
  2366.         else
  2367.         {
  2368.             Kick(playerid);
  2369.         }
  2370.         return 1;
  2371.     }
  2372.     return 1;
  2373. }
  2374.  
  2375. public OnPlayerRegister(playerid)
  2376. {
  2377.     TogglePlayerSpectating(playerid, 0);
  2378.     sInfo[playerid][db_id] = mysql_insert_id();
  2379.     SendClientMessage(playerid, ROT, "Du hast dich Erfolgreich Registriert !");
  2380.     SendClientMessage(playerid, LEUCHTENDBLAU, "=====>Willkommen auf Red-Game0v3r-Reallife<=====");
  2381.     SetPlayerMoney(playerid, 2500);
  2382.     SetPlayerScore(playerid, 1);
  2383.     SetPlayerColor(playerid, 0xFF00FFFF);
  2384.     savePlayer(playerid);
  2385. }
  2386.    
  2387. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  2388. {
  2389.     return 1;
  2390. }
  2391.  
  2392. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
  2393. {
  2394.         PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
  2395.         return 1;
  2396. }
  2397.  
  2398. stock GetVehicleFriendlyName(vehicleid)
  2399. {
  2400.         new GVFNstring[56];
  2401.         format(GVFNstring, sizeof(GVFNstring), VehicleFriendlyNames[GetVehicleModel(vehicleid)-400]);
  2402.         return GVFNstring;
  2403. }
  2404.  
  2405. stock SpielerName(playerid)
  2406. {
  2407.     new name[MAX_PLAYER_NAME];
  2408.     GetPlayerName(playerid,name,sizeof(name));
  2409.     return name;
  2410. }
  2411.  
  2412. stock sscanf(string[], format[], {Float,_}:...)
  2413. {
  2414.     #if defined isnull
  2415.         if (isnull(string))
  2416.     #else
  2417.         if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  2418.     #endif
  2419.         {
  2420.             return format[0];
  2421.         }
  2422.     #pragma tabsize 4
  2423.     new
  2424.         formatPos = 0,
  2425.         stringPos = 0,
  2426.         paramPos = 2,
  2427.         paramCount = numargs(),
  2428.         delim = ' ';
  2429.     while (string[stringPos] && string[stringPos] <= ' ')
  2430.     {
  2431.         stringPos++;
  2432.     }
  2433.     while (paramPos < paramCount && string[stringPos])
  2434.     {
  2435.         switch (format[formatPos++])
  2436.         {
  2437.             case '\0':
  2438.             {
  2439.                 return 0;
  2440.             }
  2441.             case 'i', 'd':
  2442.             {
  2443.                 new
  2444.                     neg = 1,
  2445.                     num = 0,
  2446.                     ch = string[stringPos];
  2447.                 if (ch == '-')
  2448.                 {
  2449.                     neg = -1;
  2450.                     ch = string[++stringPos];
  2451.                 }
  2452.                 do
  2453.                 {
  2454.                     stringPos++;
  2455.                     if ('0' <= ch <= '9')
  2456.                     {
  2457.                         num = (num * 10) + (ch - '0');
  2458.                     }
  2459.                     else
  2460.                     {
  2461.                         return -1;
  2462.                     }
  2463.                 }
  2464.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  2465.                 setarg(paramPos, 0, num * neg);
  2466.             }
  2467.             case 'h', 'x':
  2468.             {
  2469.                 new
  2470.                     num = 0,
  2471.                     ch = string[stringPos];
  2472.                 do
  2473.                 {
  2474.                     stringPos++;
  2475.                     switch (ch)
  2476.                     {
  2477.                         case 'x', 'X':
  2478.                         {
  2479.                             num = 0;
  2480.                             continue;
  2481.                         }
  2482.                         case '0' .. '9':
  2483.                         {
  2484.                             num = (num << 4) | (ch - '0');
  2485.                         }
  2486.                         case 'a' .. 'f':
  2487.                         {
  2488.                             num = (num << 4) | (ch - ('a' - 10));
  2489.                         }
  2490.                         case 'A' .. 'F':
  2491.                         {
  2492.                             num = (num << 4) | (ch - ('A' - 10));
  2493.                         }
  2494.                         default:
  2495.                         {
  2496.                             return -1;
  2497.                         }
  2498.                     }
  2499.                 }
  2500.                 while ((ch = string[stringPos]) > ' ' && ch != delim);
  2501.                 setarg(paramPos, 0, num);
  2502.             }
  2503.             case 'c':
  2504.             {
  2505.                 setarg(paramPos, 0, string[stringPos++]);
  2506.             }
  2507.             case 'f':
  2508.             {
  2509.  
  2510.                 new changestr[16], changepos = 0, strpos = stringPos;
  2511.                 while(changepos < 16 && string[strpos] && string[strpos] != delim)
  2512.                 {
  2513.                     changestr[changepos++] = string[strpos++];
  2514.                     }
  2515.                 changestr[changepos] = '\0';
  2516.                 setarg(paramPos,0,_:floatstr(changestr));
  2517.             }
  2518.             case 'p':
  2519.             {
  2520.                 delim = format[formatPos++];
  2521.                 continue;
  2522.             }
  2523.             case '\'':
  2524.             {
  2525.                 new
  2526.                     end = formatPos - 1,
  2527.                     ch;
  2528.                 while ((ch = format[++end]) && ch != '\'') {}
  2529.                 if (!ch)
  2530.                 {
  2531.                     return -1;
  2532.                 }
  2533.                 format[end] = '\0';
  2534.                 if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  2535.                 {
  2536.                     if (format[end + 1])
  2537.                     {
  2538.                         return -1;
  2539.                     }
  2540.                     return 0;
  2541.                 }
  2542.                 format[end] = '\'';
  2543.                 stringPos = ch + (end - formatPos);
  2544.                 formatPos = end + 1;
  2545.             }
  2546.             case 'u':
  2547.             {
  2548.                 new
  2549.                     end = stringPos - 1,
  2550.                     id = 0,
  2551.                     bool:num = true,
  2552.                     ch;
  2553.                 while ((ch = string[++end]) && ch != delim)
  2554.                 {
  2555.                     if (num)
  2556.                     {
  2557.                         if ('0' <= ch <= '9')
  2558.                         {
  2559.                             id = (id * 10) + (ch - '0');
  2560.                         }
  2561.                         else
  2562.                         {
  2563.                             num = false;
  2564.                         }
  2565.                     }
  2566.                 }
  2567.                 if (num && IsPlayerConnected(id))
  2568.                 {
  2569.                     setarg(paramPos, 0, id);
  2570.                 }
  2571.                 else
  2572.                 {
  2573.                     #if !defined foreach
  2574.                         #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  2575.                         #define __SSCANF_FOREACH__
  2576.                     #endif
  2577.                     string[end] = '\0';
  2578.                     num = false;
  2579.                     new
  2580.                         name[MAX_PLAYER_NAME];
  2581.                     id = end - stringPos;
  2582.                     foreach (Player, playerid)
  2583.                     {
  2584.                         GetPlayerName(playerid, name, sizeof (name));
  2585.                         if (!strcmp(name, string[stringPos], true, id))
  2586.                         {
  2587.                             setarg(paramPos, 0, playerid);
  2588.                             num = true;
  2589.                             break;
  2590.                         }
  2591.                     }
  2592.                     if (!num)
  2593.                     {
  2594.                         setarg(paramPos, 0, INVALID_PLAYER_ID);
  2595.                     }
  2596.                     string[end] = ch;
  2597.                     #if defined __SSCANF_FOREACH__
  2598.                         #undef foreach
  2599.                         #undef __SSCANF_FOREACH__
  2600.                     #endif
  2601.                 }
  2602.                 stringPos = end;
  2603.             }
  2604.             case 's', 'z':
  2605.             {
  2606.                 new
  2607.                     i = 0,
  2608.                     ch;
  2609.                 if (format[formatPos])
  2610.                 {
  2611.                     while ((ch = string[stringPos++]) && ch != delim)
  2612.                     {
  2613.                         setarg(paramPos, i++, ch);
  2614.                     }
  2615.                     if (!i)
  2616.                     {
  2617.                         return -1;
  2618.                     }
  2619.                 }
  2620.                 else
  2621.                 {
  2622.                     while ((ch = string[stringPos++]))
  2623.                     {
  2624.                         setarg(paramPos, i++, ch);
  2625.                     }
  2626.                 }
  2627.                 stringPos--;
  2628.                 setarg(paramPos, i, '\0');
  2629.             }
  2630.             default:
  2631.             {
  2632.                 continue;
  2633.             }
  2634.         }
  2635.         while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  2636.         {
  2637.             stringPos++;
  2638.         }
  2639.         while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  2640.         {
  2641.             stringPos++;
  2642.         }
  2643.         paramPos++;
  2644.     }
  2645.     do
  2646.     {
  2647.         if ((delim = format[formatPos++]) > ' ')
  2648.         {
  2649.             if (delim == '\'')
  2650.             {
  2651.                 while ((delim = format[formatPos++]) && delim != '\'') {}
  2652.             }
  2653.             else if (delim != 'z')
  2654.             {
  2655.                 return delim;
  2656.             }
  2657.         }
  2658.     }
  2659.     while (delim > ' ');
  2660.     return 0;
  2661. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement