Guest User

Untitled

a guest
Apr 18th, 2013
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 46.17 KB | None | 0 0
  1. #include <a_samp>
  2. #include <a_mysql>
  3. #include <streamer>
  4. #include <ocmd>
  5. #include <MD5>
  6.  
  7. #define Rot 0xFF1300FF
  8. #define Grün 0x2DDB24FF
  9. #define Weiß 0xFFFFFFAA
  10. #define Grau 0xAAAAAAFF
  11. #define HellBlau 0x33CCFFAA
  12.  
  13. forward Dweg(playerid);
  14.  
  15. #define HOST ""
  16. #define USER ""
  17. #define PASSWORD ""
  18. #define DATABASE ""
  19.  
  20. #define DIALOG_LOGIN (0)
  21. #define DIALOG_REGISTER (1)
  22. #define DIALOG_TUTA (2)
  23. #define DIALOG_TUTW (3)
  24. #define DIALOG_TUTL (4)
  25. #define DIALOG_ALLOWT (5)
  26. #define DIALOG_TUTE (6)
  27. #define DIALOG_NBIKE (7)
  28. #define DIALOG_RAT (8)
  29. #define DIALOG_ARB (9)
  30. #define DIALOG_ARM (10)
  31. #define DIALOG_ARF (11)
  32. #define DIALOG_ARD (12)
  33. #define DIALOG_DETE (13)
  34. #define DIALOG_ME (14)
  35.  
  36. #define MAX_ENTERS (4)
  37.  
  38. new nbike[15],PasswortVs[MAX_PLAYERS],Mecha[10],Fischer[8],Gegnerid[MAX_PLAYERS];
  39.  
  40. enum SInfo{Job,Inte,Team,Regi,Rank,Skin,Geld,Perso,Level,Alter,Leader,ImTut,Gestorben,Adminlevel,Geschlecht,Float:PosX,Float:PosY,Float:PosZ,Float:PosR,}
  41. new SpielerInfo[MAX_PLAYERS][SInfo];
  42.  
  43. enum e_info{Float:a_x,Float:a_y,Float:a_z,Float:i_x,Float:i_y,Float:i_z,interior,world,etext[128]}
  44. new enters[MAX_ENTERS][e_info] = {
  45. {1479.59,-1771.80,18.39,389.39,173.5,1008.0,3,0,"Rathaus \nDrücken sie 'Enter' um das Gebäude zu betreten"},
  46. {90.39,173.80,1008.0,1479.59,-1771.80,18.39,0,0,"Rathaus \nDrücken sie 'Enter' um das Gebäude zu verlassen"},
  47. {1470.80,-1177.59,23.50,1495.69,-1195.19,2.70,0,0,"Arbeitsvermittlung \nDrücken sie 'Enter' um das Gebäude zu betreten"},
  48. {1495.69,-1195.19,2.70,1470.80,-1177.59,23.50,0,0,"Arbeitsvermittlung \nDrücken sie 'Enter' um das Gebäude zu verlassen"}
  49. };
  50.  
  51. new Float:TutorialSpawn[][] ={{0.60,24.89,1199.69},{2.79,26.0,1199.69},{0.60,27.20,1199.69},{2.90,28.20,1199.69}};
  52.  
  53. new TutorialSkinM[] ={2,6,7,14,15,18,19,20,21,22,23,25,28,29,30,32,33,43,44,45,46,47,48,59,60,67,72,73,98,154,182,183,184};
  54. new TutorialSkinW[] ={9,12,13,31,40,41,55,56,65,69,93,141,150,151};
  55.  
  56. main(){print("Erstellt von Andrzejxy'");}
  57.  
  58. public OnGameModeInit(){
  59. SetGameModeText("German Extream Realllife");
  60. DisableInteriorEnterExits();
  61. EnableStuntBonusForAll(0);
  62. ShowPlayerMarkers(0);
  63. UsePlayerPedAnims();
  64. DatabaseConnect();
  65. AntiDeAMX();
  66.  
  67. for(new i=0; i<MAX_ENTERS; i++){
  68. CreatePickup(1239,1,enters[i][a_x],enters[i][a_y],enters[i][a_z],-1);
  69. CreatePickup(1239,1,enters[i][i_x],enters[i][i_y],enters[i][i_z],-1);
  70. Create3DTextLabel(enters[i][etext],Weiß,enters[i][a_x],enters[i][a_y],enters[i][a_z],25,enters[i][world]);
  71. }
  72.  
  73. ConnectNPC("Ram","Ram");
  74. ConnectNPC("Raw","Raw");
  75.  
  76. nbike[0] = CreateVehicle(510,1716.50,-2186.39,13.19,180.00,106,1,-1);
  77. nbike[1] = CreateVehicle(510,1715.00,-2186.39,13.19,180.00,106,1,-1);
  78. nbike[2] = CreateVehicle(510,1713.50,-2186.39,13.19,180.00,106,1,-1);
  79. nbike[3] = CreateVehicle(510,1712.00,-2186.39,13.19,180.00,106,1,-1);
  80. nbike[4] = CreateVehicle(510,1710.30,-2186.39,13.19,180.00,106,1,-1);
  81. nbike[5] = CreateVehicle(510,1708.59,-2186.39,13.19,180.00,106,1,-1);
  82. nbike[6] = CreateVehicle(510,1707.00,-2186.39,13.19,180.00,106,1,-1);
  83. nbike[7] = CreateVehicle(510,1705.50,-2186.39,13.19,180.00,106,1,-1);
  84. nbike[8] = CreateVehicle(510,1703.90,-2186.39,13.19,180.00,106,1,-1);
  85. nbike[9] = CreateVehicle(510,1702.00,-2186.39,13.19,180.00,106,1,-1);
  86. nbike[10] = CreateVehicle(510,1699.90,-2186.39,13.19,180.00,106,1,-1);
  87. nbike[11] = CreateVehicle(510,1697.90,-2186.39,13.19,180.00,106,1,-1);
  88. nbike[12] = CreateVehicle(510,1695.80,-2186.39,13.19,180.00,106,1,-1);
  89. nbike[13] = CreateVehicle(510,1694.19,-2186.39,13.19,180.00,106,1,-1);
  90. nbike[14] = CreateVehicle(510,1692.69,-2186.39,13.19,180.00,106,1,-1);
  91.  
  92. Mecha[0] = CreateVehicle(552,1809.09997559,-1709.19995117,13.30000019,0.00000000,6,1,-1);
  93. Mecha[1] = CreateVehicle(552,1805.19995117,-1690.19995117,13.30000019,90.00000000,6,1,-1);
  94. Mecha[2] = CreateVehicle(552,1805.30004883,-1709.00000000,13.30000019,358.50000000,6,1,-1);
  95. Mecha[3] = CreateVehicle(552,1801.50000000,-1709.00000000,13.30000019,359.25000000,6,1,-1);
  96. Mecha[4] = CreateVehicle(552,1805.00000000,-1694.19995117,13.30000019,90.00000000,6,1,-1);
  97. Mecha[5] = CreateVehicle(552,1790.50000000,-1690.59997559,13.19999981,180.00000000,6,1,-1);
  98. Mecha[6] = CreateVehicle(552,1785.19995117,-1690.50000000,13.30000019,180.00000000,6,1,-1);
  99. Mecha[7] = CreateVehicle(552,1779.59997559,-1690.50000000,13.30000019,180.00000000,6,1,-1);
  100. Mecha[8] = CreateVehicle(552,1775.00000000,-1690.50000000,13.30000019,180.00000000,6,1,-1);
  101.  
  102. Fischer[0] = CreateVehicle(456,-1722.59997559,-124.09999847,3.79999995,134.99987793,-1,-1,-1);
  103. Fischer[1] = CreateVehicle(453,-1764.30004883,-213.10000610,0.00000000,270.00000000,-1,-1,-1);
  104. Fischer[2] = CreateVehicle(453,-1751.59997559,-213.10000610,0.00000000,270.00000000,-1,-1,-1);
  105. Fischer[3] = CreateVehicle(453,-1751.59997559,-225.00000000,0.00000000,270.00000000,-1,-1,-1);
  106. Fischer[4] = CreateVehicle(453,-1764.59997559,-225.00000000,0.00000000,270.00000000,-1,-1,-1);
  107. Fischer[5] = CreateVehicle(453,-1764.30004883,-201.89999390,0.00000000,270.00000000,-1,-1,-1);
  108. Fischer[6] = CreateVehicle(453,-1752.09997559,-201.89999390,0.00000000,270.00000000,-1,-1,-1);
  109. Fischer[7] = CreateVehicle(456,-1728.09997559,-118.50000000,3.79999995,134.99450684,-1,-1,-1);
  110.  
  111. CreatePickup(1239,23,361.89999389648,173.60000610352,1008);
  112. Create3DTextLabel("/shalle",Weiß,361.89999389648,173.60000610352,1008,10.0,0,0);
  113.  
  114. CreatePickup(1239,23,1492.80,-1191.30,2.70);
  115. Create3DTextLabel("/job",Weiß,1492.80,-1191.30,2.7,5.0,0,0);
  116.  
  117. /* Flughafen*/
  118. CreateDynamicObject(3458,1699.69,-2187.00,14.19,0.00,0.00,180.00);
  119. CreateDynamicObject(997,1717.50000000,-2185.39990234,12.50000000,0.00000000,0.00000000,270.07727051);
  120. CreateDynamicObject(1215,1717.50000000,-2188.69995117,13.10000038,0.00000000,0.00000000,0.00000000);
  121. CreateDynamicObject(1215,1717.50000000,-2185.39990234,13.10000038,0.00000000,0.00000000,0.00000000);
  122. CreateDynamicObject(1215,1717.50000000,-2187.00000000,13.10000038,0.00000000,0.00000000,0.00000000);
  123. CreateDynamicObject(997,1682.00000000,-2185.39990234,12.50000000,0.00000000,0.00000000,270.07690430);
  124. CreateDynamicObject(1215,1682.00000000,-2188.69995117,13.10000038,0.00000000,0.00000000,0.00000000);
  125. CreateDynamicObject(1215,1682.00000000,-2187.00000000,13.00000000,0.00000000,0.00000000,0.00000000);
  126. CreateDynamicObject(1215,1682.00000000,-2185.39990234,13.10000038,0.00000000,0.00000000,0.00000000);
  127. CreateDynamicObject(617,1680.50000000,-2181.00000000,12.60000038,0.00000000,0.00000000,0.00000000);
  128. CreateDynamicObject(617,1689.30004883,-2180.50000000,12.60000038,0.00000000,0.00000000,260.82885742);
  129. CreateDynamicObject(617,1699.30004883,-2180.50000000,12.60000038,0.00000000,0.00000000,321.85485840);
  130. CreateDynamicObject(617,1707.80004883,-2180.19995117,12.60000038,0.00000000,0.00000000,253.19299316);
  131. CreateDynamicObject(617,1717.09997559,-2180.19995117,12.60000038,0.00000000,0.00000000,207.41955566);
  132. CreateDynamicObject(617,1727.00000000,-2180.19995117,12.60000038,0.00000000,0.00000000,154.01660156);
  133. CreateDynamicObject(617,1735.09997559,-2180.19995117,12.60000038,0.00000000,0.00000000,176.89746094);
  134. CreateDynamicObject(617,1743.69995117,-2180.19995117,12.60000038,0.00000000,0.00000000,222.66760254);
  135. CreateDynamicObject(617,1753.00000000,-2180.19995117,12.60000038,0.00000000,0.00000000,314.20825195);
  136. CreateDynamicObject(617,1762.09997559,-2180.19995117,12.60000038,0.00000000,0.00000000,207.40356445);
  137. CreateDynamicObject(617,1770.69995117,-2180.19995117,12.60000038,0.00000000,0.00000000,21.25720215);
  138. CreateDynamicObject(617,1778.80004883,-2180.19995117,12.60000038,0.00000000,0.00000000,251.56774902);
  139. CreateDynamicObject(1468,1684.50000000,-2185.10009766,13.30000019,0.00000000,0.00000000,0.00000000);
  140. CreateDynamicObject(1468,1689.69995117,-2185.10009766,13.30000019,0.00000000,0.00000000,0.00000000);
  141. CreateDynamicObject(1468,1694.90002441,-2185.10009766,13.30000019,0.00000000,0.00000000,0.00000000);
  142. CreateDynamicObject(1468,1700.09997559,-2185.10009766,13.30000019,0.00000000,0.00000000,0.00000000);
  143. CreateDynamicObject(1468,1705.30004883,-2185.10009766,13.30000019,0.00000000,0.00000000,0.00000000);
  144. CreateDynamicObject(1468,1710.50000000,-2185.10009766,13.30000019,0.00000000,0.00000000,0.00000000);
  145. CreateDynamicObject(1468,1714.59997559,-2185.10009766,13.30000019,0.00000000,0.00000000,0.00000000);
  146. CreateDynamicObject(1233,1734.19995117,-2189.39990234,14.10000038,0.00000000,0.00000000,90.00000000);
  147. CreateDynamicObject(1233,1657.30004883,-2200.10009766,14.10000038,0.00000000,0.00000000,270.00000000);
  148.  
  149. /* Arbeitsamt */
  150. CreateDynamicObject(16150,1487.50000000,-1191.09997559,2.09999990,0.00000000,0.00000000,0.00000000);
  151. CreateDynamicObject(1536,1491.4000244141,-1194.6999511719,2.0999999046326,90.0,0.00000000,0.00000000);
  152. CreateDynamicObject(2605,1494.30004883,-1190.90002441,2.50000000,0.00000000,0.00000000,91.17822266);
  153. CreateDynamicObject(2607,1494.90002441,-1192.30004883,2.50000000,0.00000000,0.00000000,0.00000000);
  154. CreateDynamicObject(2356,1495.30004883,-1191.00000000,2.09999990,0.00000000,0.00000000,90.00000000);
  155. CreateDynamicObject(2309,1493.19995117,-1190.80004883,2.09999990,0.00000000,0.00000000,270.00000000);
  156. CreateDynamicObject(2309,1493.19995117,-1191.80004883,2.09999990,0.00000000,0.00000000,269.99450684);
  157. CreateDynamicObject(2308,1492.90002441,-1197.09997559,2.09999990,0.00000000,0.00000000,89.25000000);
  158. CreateDynamicObject(2356,1492.80004883,-1196.19995117,2.09999990,0.00000000,0.00000000,90.00000000);
  159. CreateDynamicObject(2202,1495.59997559,-1197.09997559,2.09999990,0.00000000,0.00000000,180.00000000);
  160.  
  161. /* Mechaniker */
  162. CreateDynamicObject(9321,1801.80004883,-1718.50000000,14.00000000,0.00000000,0.00000000,0.00000000);
  163. CreateDynamicObject(9321,1807.19995117,-1718.50000000,14.00000000,0.00000000,0.00000000,0.00000000);
  164. CreateDynamicObject(9361,1765.19995117,-1691.69995117,15.00000000,0.00000000,0.00000000,45.00000000);
  165. CreateDynamicObject(2202,1765.30004883,-1688.09997559,12.69999981,0.00000000,0.00000000,0.00000000);
  166. CreateDynamicObject(1714,1764.30004883,-1694.59997559,12.60000038,0.00000000,0.00000000,180.00000000);
  167. CreateDynamicObject(2009,1763.4000244141,-1694.1999511719,12.60000038147,0.0,0.0,0.0);
  168. CreateDynamicObject(2169,1765.1999511719,-1693.3000488281,12.60000038147,0.0,0.0,0.0);
  169. CreateDynamicObject(1663,1764.00000000,-1692.09997559,13.10000038,0.00000000,0.00000000,0.00000000);
  170. CreateDynamicObject(1663,1765.00000000,-1692.09997559,13.10000038,0.00000000,0.00000000,0.00000000);
  171. CreateDynamicObject(14532,1762.69995117,-1688.09997559,13.60000038,0.00000000,0.00000000,202.75000000);
  172. CreateDynamicObject(3809,1766.90002441,-1692.19995117,15.30000019,0.00000000,0.00000000,0.00000000);
  173.  
  174. /* Fischer */
  175. CreateDynamicObject(13681,-1739.69995117,-164.69999695,7.19999981,0.00000000,0.00000000,225.75000000);
  176. CreateDynamicObject(16502,-1770.90002441,-193.89999390,-0.89999998,0.00000000,0.00000000,88.50000000);
  177. CreateDynamicObject(11495,-1771.19995117,-210.19999695,0.00000000,0.00000000,0.00000000,180.00000000);
  178. CreateDynamicObject(12990,-1759.40002441,-219.10000610,0.10000000,0.00000000,358.00000000,270.00000000);
  179. CreateDynamicObject(12990,-1759.40002441,-207.69999695,0.10000000,0.00000000,357.99499512,270.00000000);
  180. CreateDynamicObject(1215,-1745.19995117,-221.50000000,0.69999999,0.00000000,0.00000000,0.00000000);
  181. CreateDynamicObject(1215,-1745.19995117,-216.89999390,0.69999999,0.00000000,0.00000000,0.00000000);
  182. CreateDynamicObject(1215,-1750.00000000,-216.89999390,0.69999999,0.00000000,0.00000000,0.00000000);
  183. CreateDynamicObject(1215,-1750.00000000,-221.30000305,0.69999999,0.00000000,0.00000000,0.00000000);
  184. CreateDynamicObject(1215,-1755.19995117,-221.39999390,0.69999999,0.00000000,0.00000000,0.00000000);
  185. CreateDynamicObject(1215,-1755.19995117,-216.80000305,0.69999999,0.00000000,0.00000000,0.00000000);
  186. CreateDynamicObject(1215,-1760.40002441,-216.80000305,0.69999999,0.00000000,0.00000000,0.00000000);
  187. CreateDynamicObject(1215,-1760.40002441,-221.39999390,0.69999999,0.00000000,0.00000000,0.00000000);
  188. CreateDynamicObject(1215,-1771.59997559,-221.39999390,0.69999999,0.00000000,0.00000000,0.00000000);
  189. CreateDynamicObject(1215,-1769.90002441,-209.89999390,0.69999999,0.00000000,0.00000000,0.00000000);
  190. CreateDynamicObject(1215,-1769.90002441,-205.50000000,0.69999999,0.00000000,0.00000000,0.00000000);
  191. CreateDynamicObject(1215,-1764.00000000,-205.50000000,0.69999999,0.00000000,0.00000000,0.00000000);
  192. CreateDynamicObject(1215,-1764.00000000,-209.89999390,0.69999999,0.00000000,0.00000000,0.00000000);
  193. CreateDynamicObject(1215,-1758.80004883,-209.89999390,0.69999999,0.00000000,0.00000000,0.00000000);
  194. CreateDynamicObject(1215,-1758.80004883,-205.50000000,0.69999999,0.00000000,0.00000000,0.00000000);
  195. CreateDynamicObject(1215,-1753.90002441,-205.50000000,0.69999999,0.00000000,0.00000000,0.00000000);
  196. CreateDynamicObject(1215,-1753.90002441,-209.89999390,0.69999999,0.00000000,0.00000000,0.00000000);
  197. CreateDynamicObject(1215,-1749.00000000,-209.89999390,0.69999999,0.00000000,0.00000000,0.00000000);
  198. CreateDynamicObject(1215,-1749.00000000,-205.50000000,0.69999999,0.00000000,0.00000000,0.00000000);
  199. CreateDynamicObject(1215,-1745.30004883,-205.50000000,0.69999999,0.00000000,0.00000000,0.00000000);
  200. CreateDynamicObject(1215,-1745.30004883,-209.89999390,0.69999999,0.00000000,0.00000000,0.00000000);
  201. CreateDynamicObject(1215,-1772.00000000,-185.80000305,3.09999990,0.00000000,0.00000000,0.00000000);
  202. CreateDynamicObject(1215,-1769.50000000,-185.80000305,3.09999990,0.00000000,0.00000000,0.00000000);
  203. CreateDynamicObject(1226,-1757.90002441,-121.09999847,6.40000010,0.00000000,0.00000000,270.00000000);
  204. CreateDynamicObject(1232,-1736.50000000,-146.30000305,5.19999981,0.00000000,0.00000000,0.00000000);
  205. CreateDynamicObject(1232,-1740.50000000,-149.89999390,5.19999981,0.00000000,0.00000000,0.00000000);
  206. CreateDynamicObject(1232,-1772.00000000,-183.69999695,5.19999981,0.00000000,0.00000000,0.00000000);
  207. CreateDynamicObject(1232,-1769.09997559,-183.69999695,5.19999981,0.00000000,0.00000000,0.00000000);
  208. CreateDynamicObject(1215,-1735.59997559,-148.39999390,3.09999990,0.00000000,0.00000000,0.00000000);
  209. CreateDynamicObject(1215,-1738.69995117,-151.30000305,3.09999990,0.00000000,0.00000000,0.00000000);
  210.  
  211. printf("Objekte Zählen %d.",CountDynamicObjects());
  212. }
  213.  
  214.  
  215. public OnGameModeExit(){
  216. for(new i = 0; i <MAX_PLAYERS; i++){if(IsPlayerConnected(i)){Speichern(i);}}
  217. return 1;
  218. }
  219.  
  220. public OnPlayerRequestClass(playerid,classid){return 1;}
  221.  
  222. public OnPlayerConnect(playerid){
  223. SetPlayerColor(playerid,0xFFFFFFFF);
  224.  
  225. if(mysql_CheckAccount(playerid) == 1){ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","\nGebe bitte dein {1C6300}Passwort {FFFFFF}ein um dich zu Registrieren. \n\nEin {1C6300}Administrator {FFFFFF}wird dich niemals nach deinem {1C6300}Passwort {FFFFFF}fragen.","Login",""); }
  226. else if(mysql_CheckAccount(playerid) == 0){ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","{FFFFFF}Willkommen auf German Extream Reallife. \nGebe bitte dein {1C6300}Passwort {FFFFFF}ein um dich zu Registrieren. \n\nEin {1C6300}Administrator {FFFFFF}wird dich niemals nach deinem {1C6300}Passwort {FFFFFF}fragen.","Registrieren","");}
  227.  
  228. if(IsPlayerNPC(playerid)){
  229. new botname[MAX_PLAYER_NAME];
  230. GetPlayerName(playerid, botname, sizeof(botname));
  231. if(!strcmp(botname, "Ram", true)){
  232. SetPVarInt(playerid,"loggedin",1);
  233. }
  234. else if(!strcmp(botname, "Raw", true)){
  235. SetPVarInt(playerid,"loggedin",1);
  236. }
  237. }
  238.  
  239. /* Los Santos Police Department */
  240. RemoveBuildingForPlayer(playerid, 1266, 1538.5234, -1609.8047, 19.8438, 0.25);
  241. RemoveBuildingForPlayer(playerid, 4229, 1597.9063, -1699.7500, 30.2109, 0.25);
  242. RemoveBuildingForPlayer(playerid, 4230, 1597.9063, -1699.7500, 30.2109, 0.25);
  243. RemoveBuildingForPlayer(playerid, 1260, 1538.5234, -1609.8047, 19.8438, 0.25);
  244. RemoveBuildingForPlayer(playerid, 3777, 831.9609, -1191.1406, 25.0391, 0.25);
  245. RemoveBuildingForPlayer(playerid, 3777, 868.1328, -1191.1406, 25.0391, 0.25);
  246. RemoveBuildingForPlayer(playerid, 3777, 902.3359, -1191.1406, 25.0391, 0.25);
  247. RemoveBuildingForPlayer(playerid, 3776, 831.9609, -1191.1406, 25.0391, 0.25);
  248. RemoveBuildingForPlayer(playerid, 3776, 868.1328, -1191.1406, 25.0391, 0.25);
  249. RemoveBuildingForPlayer(playerid, 3776, 902.3359, -1191.1406, 25.0391, 0.25);
  250. RemoveBuildingForPlayer(playerid, 1283, 1354.9063, -1291.3906, 15.4922, 0.25);
  251. RemoveBuildingForPlayer(playerid, 1283, 1345.1641, -1269.2578, 16.0781, 0.25);
  252. }
  253.  
  254. public OnPlayerDisconnect(playerid,reason){
  255. Speichern(playerid);
  256. ResetV(playerid);
  257. DeletePVar(playerid,"Eingeloggt");
  258. DeletePVar(playerid,"nBike");
  259. return 1;
  260. }
  261.  
  262. public OnPlayerSpawn(playerid){
  263. if(IsPlayerNPC(playerid)){
  264. new botname[MAX_PLAYER_NAME];
  265. GetPlayerName(playerid, botname, sizeof(botname));
  266. }
  267. SetPlayerSkin(playerid,SpielerInfo[playerid][Skin]);
  268. if(SpielerInfo[playerid][Gestorben] == 1){
  269. SetPlayerHealth(playerid,35);
  270. ApplyAnimation(playerid,"CRACK","crckdeth2",4.0,0,0,0,1,1);
  271. return 1;
  272. }
  273. if(SpielerInfo[playerid][Regi] == 1){
  274. SetPlayerInterior(playerid,SpielerInfo[playerid][Inte]);
  275. SetPlayerPos(playerid,SpielerInfo[playerid][PosX],SpielerInfo[playerid][PosY],SpielerInfo[playerid][PosZ]);
  276. SetPlayerFacingAngle(playerid,SpielerInfo[playerid][PosR]);
  277. SetCameraBehindPlayer(playerid);
  278. return 1;
  279. }
  280. else if(SpielerInfo[playerid][Regi] == 2){
  281. SpielerInfo[playerid][Regi] = 1;
  282. SetPlayerInterior(playerid,1);
  283. new Sitze = random(sizeof(TutorialSpawn));
  284. SetPlayerPos(playerid,TutorialSpawn[Sitze][0],TutorialSpawn[Sitze][1],TutorialSpawn[Sitze][2]);
  285. ApplyAnimation(playerid,"PED","SEAT_IDLE",4,0,0,0,1,0,1);
  286. return 1;
  287. }
  288. return 1;
  289. }
  290.  
  291. public OnPlayerDeath(playerid,killerid,reason){
  292. SpielerInfo[playerid][Gestorben] = 1;
  293. SendClientMessage(playerid,Rot,"Du wurdest Verletzt.");
  294. return 1;
  295. }
  296.  
  297. public OnPlayerText(playerid,text[]){
  298. new sendername[32],string[128];
  299. GetPlayerName(playerid,sendername,sizeof(sendername));
  300. format(string, sizeof(string),"%s sagt: %s",sendername,text);
  301. SendMeChat(string,playerid);
  302. return 0;
  303. }
  304.  
  305. public OnPlayerEnterCheckpoint(playerid){
  306. if(SpielerInfo[playerid][ImTut] == 1){
  307. DisablePlayerCheckpoint(playerid);
  308. SendClientMessage(playerid,HellBlau,"");
  309. SendClientMessage(playerid,HellBlau,"Du befindest dich am Rathaus, du kannst hier deinen Personalausweiß beantragen.");
  310. SendClientMessage(playerid,HellBlau,"Außerdem kannst du hier eine Partei für die Regierung wählen.");
  311. SendClientMessage(playerid,HellBlau,"");
  312. SetPlayerCheckpoint(playerid,1319.6906,-1557.3010,13.1165,2);
  313. SpielerInfo[playerid][ImTut] = 2;
  314. return 1;
  315. }
  316. else if(SpielerInfo[playerid][ImTut] == 2){
  317. DisablePlayerCheckpoint(playerid);
  318. SendClientMessage(playerid,HellBlau,"");
  319. SendClientMessage(playerid,HellBlau,"Du befindest dich am Arbeitsamt, du kannst hier nach Jobs suchen.");
  320. SendClientMessage(playerid,HellBlau,"Es gibt eine Menge Auswahl, doch am Ende entscheidet der Chef des Unternehmens ob er dich einstellt.");
  321. SendClientMessage(playerid,HellBlau,"");
  322. return 1;
  323. }
  324. else if(SpielerInfo[playerid][ImTut] == 5){
  325. SendClientMessage(playerid,Grün,"Du hast nun deinen Personalausweiß.");
  326. DisablePlayerCheckpoint(playerid);
  327. SpielerInfo[playerid][Perso] = 1;
  328. return 1;
  329. }
  330. return 1;
  331. }
  332.  
  333. public OnPlayerCommandText(playerid,cmdtext[]){return SendClientMessage(playerid,Rot,"Dieser Befehl Existiert nicht.");}
  334.  
  335. ocmd:shalle(playerid,params[]){
  336. if(IsPlayerInRangeOfPoint(playerid,2,361.89999389648,173.60000610352,1008)){
  337. return ShowPlayerDialog(playerid,DIALOG_RAT,DIALOG_STYLE_LIST,"Rathaus","Personalausweiß","Beantragen","");}
  338. return 1;
  339. }
  340.  
  341. ocmd:job(playerid,params[]){
  342. if(IsPlayerInRangeOfPoint(playerid,2,1492.80,-1191.30,2.70)){
  343. return ShowPlayerDialog(playerid,DIALOG_ARB,DIALOG_STYLE_LIST,"Arbeitsvermittlung","Mechaniker \nFischer \nDetektiv","Beantragen","");}
  344. return 1;
  345. }
  346.  
  347. ocmd:finden(playerid,params[]){
  348. if(SpielerInfo[playerid][Job] != 3) return 1;{
  349. if(GetPVarInt(playerid,"Sperre")==1){return SendClientMessage(playerid,Rot,"Du kannst nur alle 3 Minuten eine Person suchen.");}
  350. else if(GetPVarInt(playerid,"Sperre")==0){return ShowPlayerDialog(playerid,DIALOG_DETE,DIALOG_STYLE_INPUT,"Detektiv","Bitte gebe die ID ein, die du suchen willst.","Ausführen","");}
  351. }
  352. return 1;
  353. }
  354.  
  355. ocmd:repair(playerid,params[]){
  356. new pID;
  357. if(SpielerInfo[playerid][Job] != 1)return SendClientMessage(playerid,Rot,"Du bist kein Mechaniker.");
  358. if(sscanf(params,"u",pID)) return SendClientMessage(playerid,Rot,"/repair [ID]");
  359. Gegnerid[pID] = playerid;
  360. ShowPlayerDialog(pID,DIALOG_ME,DIALOG_STYLE_MSGBOX,"Mechaniker - Repair","Dir wird eine Reperatur für 90$ angeboten.","Annehmen","Ablehnen");
  361. return 1;
  362. }
  363.  
  364. public OnPlayerStateChange(playerid,newstate,oldstate){
  365. if(newstate==PLAYER_STATE_DRIVER){
  366. for(new i=0; i<sizeof(nbike); i++){
  367. if(GetPlayerVehicleID(playerid)==nbike[i]){
  368. if(GetPVarInt(playerid,"nBike")==1){return 1;}
  369. else{
  370. if(SpielerInfo[playerid][Level] <3){return ShowPlayerDialog(playerid,DIALOG_NBIKE,DIALOG_STYLE_MSGBOX,"Fahrrad Verleih","Möchtest du dir das Fahrrad für $5 mieten?","Ja","Nein");}
  371. else{return RemovePlayerFromVehicle(playerid);}
  372. }
  373. }
  374. }
  375. }
  376. if(newstate==PLAYER_STATE_DRIVER)
  377. for(new i=0; i<sizeof(Mecha); i++){
  378. if(GetPlayerVehicleID(playerid)==Mecha[i]){
  379. if(SpielerInfo[playerid][Job]!=1){RemovePlayerFromVehicle(playerid);}
  380. }
  381. }
  382. if(newstate==PLAYER_STATE_DRIVER)
  383. for(new i=0; i<sizeof(Fischer); i++){
  384. if(GetPlayerVehicleID(playerid)==Fischer[i]){
  385. if(SpielerInfo[playerid][Job]!=2){RemovePlayerFromVehicle(playerid);}
  386. }
  387. }
  388. return 1;
  389. }
  390.  
  391. public OnPlayerKeyStateChange(playerid,newkeys,oldkeys){
  392. if(newkeys == KEY_SECONDARY_ATTACK){
  393. for(new i = 0;i<sizeof(enters);i++){
  394. if(IsPlayerInRangeOfPoint(playerid,3,enters[i][a_x],enters[i][a_y],enters[i][a_z])){
  395. SetPlayerInterior(playerid,enters[i][interior]);
  396. SetPlayerVirtualWorld(playerid,enters[i][world]);
  397. SetPlayerPos(playerid,enters[i][i_x],enters[i][i_y],enters[i][i_z]);
  398. return 1;
  399. }
  400. else if(IsPlayerInRangeOfPoint(playerid,3,enters[i][i_x],enters[i][i_y],enters[i][i_z]) && GetPlayerVirtualWorld(playerid) == enters[i][world]){
  401. SetPlayerInterior(playerid,0);
  402. SetPlayerVirtualWorld(playerid,0);
  403. SetPlayerPos(playerid,enters[i][a_x],enters[i][a_y],enters[i][a_z]);
  404. return 1;
  405. }
  406. }
  407. }
  408. return 1;
  409. }
  410.  
  411. public OnDialogResponse(playerid,dialogid,response,listitem,inputtext[]){
  412. new string[128];
  413. if(dialogid == DIALOG_LOGIN){
  414. if(response && strlen(inputtext) > 0){Login(playerid,inputtext);}
  415. else{
  416. PasswortVs[playerid] += 1;
  417. if(PasswortVs[playerid] == 2){Kick(playerid);}
  418. SendClientMessage(playerid,Rot,"Falsches Passwort.");
  419. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","{FFFFFF}Gebe bitte dein {1C6300}Passwort {FFFFFF}ein um fortzufahren.","Login","");
  420. return 1;
  421. }
  422. }
  423. if(dialogid==DIALOG_REGISTER){
  424. if(response && strlen(inputtext) > 0){
  425. ShowPlayerDialog(playerid,DIALOG_TUTA,DIALOG_STYLE_MSGBOX,"Tutorial","Willkommen auf German Extream Reallife. \nDa du unseren Server nicht kennst, wird dir das wichtigte jetzt erläutert.","Fortfahren","");
  426. Register(playerid,MD5_Hash(inputtext));
  427. SpielerInfo[playerid][Regi] = 2;
  428. SetSpawnInfo(playerid,0,0,1686.30,-2202,13.19,0,0,0,0,0,0,0);
  429. SpawnPlayer(playerid);
  430. return 1;
  431. }else{
  432. SendClientMessage(playerid,Rot,"Du musst ein Passwort eingeben.");
  433. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren","{FFFFFF}Gebe bitte dein {1C6300}Passwort {FFFFFF}ein um dich zu Registrieren. \n\nEin {1C6300}Administrator {FFFFFF}wird dich niemals nach deinem {1C6300}Passwort {FFFFFF}fragen.","Registrieren","");
  434. return 1;
  435. }
  436. }
  437. if(dialogid==DIALOG_TUTA){
  438. if(response==0){return ShowPlayerDialog(playerid,DIALOG_TUTA,DIALOG_STYLE_MSGBOX,"Tutorial - 1","Willkommen auf German Extream Reallife. \nGib bitte deine Daten an.","Fortfahren","");}
  439. if(response==1){return ShowPlayerDialog(playerid,DIALOG_TUTL,DIALOG_STYLE_LIST,"Tutorial - 2","Männlich \nWeiblich","Fortfahren","");}
  440. }
  441. if(dialogid==DIALOG_TUTL){
  442. if(response==0){return ShowPlayerDialog(playerid,DIALOG_TUTL,DIALOG_STYLE_LIST,"Tutorial - 2","Männlich \nWeiblich","Fortfahren","");}
  443. if(response==1){
  444. switch(listitem){
  445. case 0:{
  446. SpielerInfo[playerid][Geschlecht] = 1;
  447. SendClientMessage(playerid,Grün,"Ok, du bist Männlich.");
  448. ShowPlayerDialog(playerid,DIALOG_TUTW,DIALOG_STYLE_INPUT,"Tutorial - 3","Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ ","Fortfahren","");
  449. return 1;
  450. }
  451. case 1:{
  452. SpielerInfo[playerid][Geschlecht] = 2;
  453. SendClientMessage(playerid,Grün,"Ok, du bist Weiblich.");
  454. ShowPlayerDialog(playerid,DIALOG_TUTW,DIALOG_STYLE_INPUT,"Tutorial - 3","Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Fortfahren","");
  455. return 1;
  456. }
  457. }
  458. }
  459. }
  460. if(dialogid==DIALOG_TUTW){
  461. new year,month,day,DateInfo[3][20];
  462. getdate(year,month,day);
  463. split(inputtext,DateInfo,'.');
  464. if(response == 1)
  465. if(strlen(inputtext) > 10){return ShowPlayerDialog(playerid,DIALOG_TUTW,DIALOG_STYLE_INPUT,"Tutorial - 3","Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Fortfahren","");}
  466. if(!IsValidDate(strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]))){return ShowPlayerDialog(playerid,DIALOG_TUTW,DIALOG_STYLE_INPUT,"Tutorial - 3","Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Fortfahren","");}
  467. if(year - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= year){return ShowPlayerDialog(playerid,DIALOG_TUTW,DIALOG_STYLE_INPUT,"Tutorial - 3","Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Fortfahren","");}
  468. new check = year - strval(DateInfo[2]);
  469. if(check == year){return ShowPlayerDialog(playerid,DIALOG_TUTW,DIALOG_STYLE_INPUT,"Tutorial - 3","Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Fortfahren","");}
  470. if(strval(DateInfo[1]) > month){check -= 1;}
  471. else if(strval(DateInfo[1]) == month && strval(DateInfo[0]) > day){check -= 1;}
  472. SpielerInfo[playerid][Alter] = check;
  473. format(string,sizeof(string),"Ok, du bist also %d Jahre alt.",SpielerInfo[playerid][Alter]);
  474. SendClientMessage(playerid,Grün,string);
  475. ShowPlayerDialog(playerid,DIALOG_ALLOWT,DIALOG_STYLE_MSGBOX,"Tutorial - 4,","Möchtest du das Tutorial machen?","Ja","Nein");
  476. if(response == 0){return ShowPlayerDialog(playerid,DIALOG_TUTW,DIALOG_STYLE_INPUT,"Tutorial - 3","Wann bist du geboren?\nAngabe bitte in TT.MM.JJJJ","Fortfahren","");}
  477. return 1;
  478. }
  479. if(dialogid==DIALOG_ALLOWT){
  480. if(response==1){
  481. if(SpielerInfo[playerid][Geschlecht] == 1){
  482. new MaenSkin = random(sizeof(TutorialSkinM));
  483. SetPlayerSkin(playerid,TutorialSkinM[MaenSkin]);
  484. SetPlayerPos(playerid,1686.30,-2202,13.19);
  485. SetPlayerInterior(playerid,0);
  486. }
  487. else if(SpielerInfo[playerid][Geschlecht] == 2){
  488. new FrauSkin = random(sizeof(TutorialSkinW));
  489. SetPlayerSkin(playerid,TutorialSkinW[FrauSkin]);
  490. SetPlayerPos(playerid,1686.30,-2202,13.19);
  491. SetPlayerInterior(playerid,0);
  492. }
  493. SendClientMessage(playerid,HellBlau,"");
  494. SendClientMessage(playerid,HellBlau,"Miete dir dort drüben ein Fahrrad für 5$.");
  495. SendClientMessage(playerid,HellBlau,"Mit dem erkundest du die Stadt.");
  496. SendClientMessage(playerid,HellBlau,"Dir werden die wichtigsten Gebäude gezeigt.");
  497. SendClientMessage(playerid,HellBlau,"");
  498. SpielerInfo[playerid][ImTut] = 1;
  499. return 1;
  500. }
  501. if(response==0){
  502. if(SpielerInfo[playerid][Geschlecht] == 1){
  503. new MaenSkin = random(sizeof(TutorialSkinM));
  504. SetPlayerSkin(playerid,TutorialSkinM[MaenSkin]);
  505. SetPlayerPos(playerid,1686.30,-2202,13.19);
  506. SetPlayerInterior(playerid,0);
  507. }
  508. else if(SpielerInfo[playerid][Geschlecht] == 2){
  509. new FrauSkin = random(sizeof(TutorialSkinW));
  510. SetPlayerSkin(playerid,TutorialSkinW[FrauSkin]);
  511. SetPlayerPos(playerid,1686.30,-2202,13.19);
  512. SetPlayerInterior(playerid,0);
  513. }
  514. return 1;
  515. }
  516. }
  517. if(dialogid==DIALOG_TUTE){
  518. if(response==0){
  519. if(SpielerInfo[playerid][Geschlecht] == 1){
  520. new MaenSkin = random(sizeof(TutorialSkinM));
  521. SetPlayerSkin(playerid,TutorialSkinM[MaenSkin]);
  522. SetPlayerPos(playerid,1686.30,-2202,13.19);
  523. SetPlayerInterior(playerid,0);
  524. }
  525. else if(SpielerInfo[playerid][Geschlecht] == 2){
  526. new FrauSkin = random(sizeof(TutorialSkinW));
  527. SetPlayerSkin(playerid,TutorialSkinW[FrauSkin]);
  528. SetPlayerPos(playerid,1686.30,-2202,13.19);
  529. SetPlayerInterior(playerid,0);
  530. }
  531. }
  532. if(response==1){
  533. if(SpielerInfo[playerid][Geschlecht] == 1){
  534. new MaenSkin = random(sizeof(TutorialSkinM));
  535. SetPlayerSkin(playerid,TutorialSkinM[MaenSkin]);
  536. SetPlayerPos(playerid,1686.30,-2202,13.19);
  537. SetPlayerInterior(playerid,0);
  538. }
  539. else if(SpielerInfo[playerid][Geschlecht] == 2){
  540. new FrauSkin = random(sizeof(TutorialSkinW));
  541. SetPlayerSkin(playerid,TutorialSkinW[FrauSkin]);
  542. SetPlayerPos(playerid,1686.30,-2202,13.19);
  543. SetPlayerInterior(playerid,0);
  544. }
  545. }
  546. }
  547. if(dialogid==DIALOG_NBIKE){
  548. if(response==0){
  549. SendClientMessage(playerid,Weiß,"Vielen Dank für ihr Interesse.");
  550. RemovePlayerFromVehicle(playerid);
  551. return 1;
  552. }
  553. if(response==1){
  554. GivePlayerMoney(playerid,-5);
  555. SendClientMessage(playerid,Grün,"Wir wünschen dir Viel Spaß mit deinem Fahrrad.");
  556. SetPVarInt(playerid,"nBike",1);
  557. TogglePlayerControllable(playerid,1);
  558. if(SpielerInfo[playerid][ImTut] == 1){
  559. SetPlayerCheckpoint(playerid,1483.6183,-1743.9430,13.1143,2);
  560. SendClientMessage(playerid,HellBlau,"");
  561. SendClientMessage(playerid,HellBlau,"Fahre mit deinem Fahrrad zum Rathaus.");
  562. SendClientMessage(playerid,HellBlau,"Dort kannst du dir einen Personalausweiß beantragen.");
  563. SendClientMessage(playerid,HellBlau,"");
  564. return 1;
  565. }
  566. return 1;
  567. }
  568. }
  569. if(dialogid==DIALOG_RAT){
  570. if(response==1){
  571. if(SpielerInfo[playerid][Perso] == 1)
  572. {return SendClientMessage(playerid,Rot,"Du hast schon einen Personalausweiß.");}
  573. else if(SpielerInfo[playerid][Perso] == 0){
  574. SendClientMessage(playerid,Grün,"Gehe nun zu meinem Kollegen, um dir deinen Personalausweiß abzuholen.");
  575. SendClientMessage(playerid,Rot,"Du hast einen Personalasuweiß beantragt, gehe nun zu meinem Kollegen.");
  576. SetPlayerCheckpoint(playerid,358.5,187.39999389648,1008,1);
  577. SpielerInfo[playerid][ImTut] = 5;
  578. return 1;
  579. }
  580. }
  581. }
  582. if(dialogid==DIALOG_ARB){
  583. if(response==1){
  584. switch(listitem){
  585. case 0:{return ShowPlayerDialog(playerid,DIALOG_ARM,DIALOG_STYLE_MSGBOX,"Arbeitsvermittlung - Mechaniker","Du hast den Job 'Mechaniker' ausgewählt. \nDeine Aufgabe als Mechaniker ist es von anderen Spieler,\ndie Fahrzeuge zu Reparieren und Aufzutanken.\n\nLohn: 600$.","Annehmen","Ablehnen");}
  586. case 1:{return ShowPlayerDialog(playerid,DIALOG_ARF,DIALOG_STYLE_MSGBOX,"Arbeitsvermittlung - Fischer","Du hast den Job 'Fischer' ausgewählt. \nDeine Aufgabe ist es mit dem Boot Fische zu fangen und sie zur Fabrik zu bringen.\n\nLohn: 600$.","Annehmen","Ablehnen");}
  587. case 2:{return ShowPlayerDialog(playerid,DIALOG_ARD,DIALOG_STYLE_MSGBOX,"Arbeitsvermittlung - Detektiv","Du hast den Job 'Detektiv' ausgewählt. \nDeine Aufgabe ist es Personen zu suchen.\n\nLohn: 600$.","Annehmen","Ablehnen");}
  588. }
  589. }
  590. }
  591. if(dialogid==DIALOG_ARM){
  592. if(response == 0){return ShowPlayerDialog(playerid,DIALOG_ARB,DIALOG_STYLE_LIST,"Arbeitsvermittlung","Mechaniker \nFischer \n","Beantragen","");}
  593. if(response == 1){
  594. SendClientMessage(playerid,Grün,"Herzlichen Glückwunsch zu deinem neuen Job.");
  595. SpielerInfo[playerid][Job] = 1;
  596. return 1;
  597. }
  598. }
  599. if(dialogid==DIALOG_ARF){
  600. if(response == 0){return ShowPlayerDialog(playerid,DIALOG_ARB,DIALOG_STYLE_LIST,"Arbeitsvermittlung","Mechaniker \nFischer \n","Beantragen","");}
  601. if(response == 1){
  602. SendClientMessage(playerid,Grün,"Herzlichen Glückwunsch zu deinem neuen Job.");
  603. SpielerInfo[playerid][Job] = 2;
  604. return 1;
  605. }
  606. }
  607. if(dialogid==DIALOG_ARD){
  608. if(response == 0){return ShowPlayerDialog(playerid,DIALOG_ARB,DIALOG_STYLE_LIST,"Arbeitsvermittlung","Mechaniker \nFischer \n","Beantragen","");}
  609. if(response == 1){
  610. SendClientMessage(playerid,Grün,"Herzlichen Glückwunsch zu deinem neuen Job.");
  611. SpielerInfo[playerid][Job] = 3;
  612. return 1;
  613. }
  614. }
  615. if(dialogid==DIALOG_DETE){
  616. if(response){
  617. if(!IsPlayerConnected(strval(inputtext))) return SendClientMessage(playerid,Rot,"Falsche ID.");
  618. new Float:X3,Float:Y3,Float:Z3,Zone,findenan;
  619. findenan = 10;
  620. GetPlayerPos(strval(inputtext),X3,Y3,Z3);
  621. Zone = GangZoneCreate(X3+(findenan*12),Y3+(findenan*8),X3-(findenan*12),Y3-(findenan*8));
  622. GangZoneShowForPlayer(playerid,Zone,0xFFFF0096);
  623. SetTimer("Dweg",180000,0);
  624. SetPVarInt(playerid,"Sperre",1);
  625. SendClientMessage(playerid,Weiß,"Die Satelliten werden nun ausgerichtet..");
  626. return 1;
  627. }
  628. }
  629. if(dialogid==DIALOG_ME){
  630. new pID=Gegnerid[playerid];
  631. if(response==0){SendClientMessage(Gegnerid[playerid],Rot,"Deine Anfrage wurde Abgelehnt.");}
  632. if(response==1){
  633. if(!IsPlayerInAnyVehicle(pID))return SendClientMessage(pID,Rot,"Der Spieler ist in keinem Fahrzeug.");
  634. RepairVehicle(GetPlayerVehicleID(playerid));
  635. SendClientMessage(pID,Grün,"Deine Anfrage wurde Angenommen. Du erhälst 90$.");
  636. SendClientMessage(playerid,Grün,"Die Reperatur hat dich 90$ gekostet.");
  637. GivePlayerMoney(playerid,-90);
  638. GivePlayerMoney(pID,90);
  639. return 1;
  640. }
  641. }
  642. return 1;
  643. }
  644.  
  645. public Dweg(playerid){
  646. new Zone;
  647. GangZoneDestroy(Zone);
  648. DeletePVar(playerid,"Sperre");
  649. return 1;
  650. }
  651.  
  652. stock Float:GetDistanceBetweenPlayers(p1,p2){
  653. new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
  654. if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2)){
  655. return -1.00;
  656. }
  657. GetPlayerPos(p1,x1,y1,z1);
  658. GetPlayerPos(p2,x2,y2,z2);
  659. return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
  660. }
  661.  
  662. stock SendMeChat(string[],playerid){
  663. for(new i = 0;i <MAX_PLAYERS;i++){
  664. if(GetDistanceBetweenPlayers(i,playerid) <= 25){
  665. SendClientMessage(i,Grau,string);
  666. }
  667. }
  668. return 1;
  669. }
  670.  
  671. stock Login(playerid,key[]){
  672. new name[32];
  673. GetPlayerName(playerid,name,sizeof(name));
  674. if(!strcmp(MD5_Hash(key), mysql_ReturnPasswort(name),true)){
  675. SendClientMessage(playerid,Grün,"Erfolgreich eingelogt.");
  676. Laden(playerid);
  677. return 1;
  678. }else{
  679. PasswortVs[playerid] += 1;
  680. if(PasswortVs[playerid] == 3){Kick(playerid);}
  681. SendClientMessage(playerid,Rot,"Falsches Passwort.");
  682. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","{FFFFFF}Gebe bitte dein {1C6300}Passwort {FFFFFF}ein um fortzufahren.","Login","");
  683. return 1;
  684. }
  685. }
  686.  
  687. stock Register(playerid, pass[]){
  688. new query[256],Name[MAX_PLAYER_NAME];
  689. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  690. mysql_real_escape_string(pass,pass);
  691. format(query, sizeof(query), "INSERT INTO `Accounts` (`Name`, `Passwort`) VALUES ('%s', '%s')",Name,pass);
  692. mysql_query(query);
  693. SetPlayerScore(playerid,1);
  694. GivePlayerMoney(playerid,3000);
  695.  
  696. SetPVarInt(playerid,"loggedin",1);
  697. return true;
  698. }
  699.  
  700. stock mysql_CheckAccount(playerid){
  701. new Query[128],Name[MAX_PLAYER_NAME],count;
  702. GetPlayerName(playerid, Name,MAX_PLAYER_NAME);
  703. mysql_real_escape_string(Name,Name);
  704. format(Query,sizeof(Query),"SELECT * FROM `Accounts` WHERE `Name` = '%s'",Name);
  705. mysql_query(Query);
  706. mysql_store_result();
  707. count = mysql_num_rows();
  708. mysql_free_result();
  709. return count;
  710. }
  711.  
  712. stock mysql_ReturnPasswort(Name[]){
  713. new query[130],Get[130];
  714. mysql_real_escape_string(Name, Name);
  715. format(query,128,"SELECT `passwort` FROM `Accounts` WHERE `Name` = '%s'",Name);
  716. mysql_query(query);
  717. mysql_store_result();
  718. mysql_fetch_row(Get);
  719. mysql_free_result();
  720. return Get;
  721. }
  722.  
  723. stock Laden(playerid){
  724. new name[32];
  725. GetPlayerName(playerid,name,sizeof(name));
  726. SetPlayerScore(playerid,mysql_GetInt("Accounts","Level","Name",name));
  727. GivePlayerMoney(playerid,mysql_GetInt("Accounts","Geld","Name",name));
  728. SpielerInfo[playerid][Adminlevel] = mysql_GetInt("Accounts","Adminlevel","Name",name);
  729. SpielerInfo[playerid][Team] = mysql_GetInt("Accounts","Team","Name",name);
  730. SpielerInfo[playerid][Alter] = mysql_GetInt("Accounts","pAlter","Name",name);
  731. SpielerInfo[playerid][Geschlecht] = mysql_GetInt("Accounts","Geschlecht","Name",name);
  732. SpielerInfo[playerid][Rank] = mysql_GetInt("Accounts","Rank","Name",name);
  733. SpielerInfo[playerid][Leader] = mysql_GetInt("Accounts","Leader","Name",name);
  734. SpielerInfo[playerid][Skin] = mysql_GetInt("Accounts","Skin","Name",name);
  735. SpielerInfo[playerid][Job] = mysql_GetInt("Accounts","Job","Name",name);
  736. SpielerInfo[playerid][Perso] = mysql_GetInt("Accounts","Perso","Name",name);
  737. SpielerInfo[playerid][PosX] = mysql_GetFloat("Accounts","PosX","Name",name);
  738. SpielerInfo[playerid][PosY] = mysql_GetFloat("Accounts","PosY","Name",name);
  739. SpielerInfo[playerid][PosZ] = mysql_GetFloat("Accounts","PosZ","Name",name);
  740. SpielerInfo[playerid][PosR] = mysql_GetFloat("Accounts","PosR","Name",name);
  741. SpielerInfo[playerid][Inte] = mysql_GetInt("Accounts","Inte","Name",name);
  742. SpielerInfo[playerid][Regi] = mysql_GetInt("Accounts","Regi","Name",name);
  743. SpielerInfo[playerid][ImTut] = mysql_GetInt("Accounts","ImTut","Name",name);
  744. SpielerInfo[playerid][Gestorben] = mysql_GetInt("Accounts","Gestorben","Name",name);
  745. SetPVarInt(playerid,"loggedin",1);
  746. SpawnPlayer(playerid);
  747. return 1;
  748. }
  749.  
  750. stock Speichern(playerid){
  751. if(GetPVarInt(playerid,"loggedin")==1){
  752. new name[32],Float:PosXX,Float:PosYY,Float:PosZZ,Float:PosRR;
  753. GetPlayerName(playerid,name,sizeof(name));
  754. GetPlayerPos(playerid,PosXX,PosYY,PosZZ);
  755. GetPlayerFacingAngle(playerid,PosRR);
  756. SpielerInfo[playerid][Inte] = GetPlayerInterior(playerid);
  757. mysql_SetInt("Accounts","Level",GetPlayerScore(playerid),"Name",name);
  758. mysql_SetInt("Accounts","Geld",GetPlayerMoney(playerid),"Name",name);
  759. mysql_SetInt("Accounts","Adminlevel",SpielerInfo[playerid][Adminlevel],"Name",name);
  760. mysql_SetInt("Accounts","Team",SpielerInfo[playerid][Team],"Name",name);
  761. mysql_SetInt("Accounts","pAlter",SpielerInfo[playerid][Alter],"Name",name);
  762. mysql_SetInt("Accounts","Geschlecht",SpielerInfo[playerid][Geschlecht],"Name",name);
  763. mysql_SetInt("Accounts","Rank",SpielerInfo[playerid][Rank],"Name",name);
  764. mysql_SetInt("Accounts","Leader",SpielerInfo[playerid][Leader],"Name",name);
  765. new skin = GetPlayerSkin(playerid);
  766. mysql_SetInt("Accounts", "Skin",skin,"Name",name);
  767. mysql_SetInt("Accounts","Job",SpielerInfo[playerid][Job],"Name",name);
  768. mysql_SetInt("Accounts","Perso",SpielerInfo[playerid][Perso],"Name",name);
  769. mysql_SetFloat("Accounts","PosX",PosXX,"Name",name);
  770. mysql_SetFloat("Accounts","PosY",PosYY,"Name",name);
  771. mysql_SetFloat("Accounts","PosZ",PosZZ,"Name",name);
  772. mysql_SetFloat("Accounts","PosR",PosRR,"Name",name);
  773. mysql_SetInt("Accounts","Inte",SpielerInfo[playerid][Inte],"Name",name);
  774. mysql_SetInt("Accounts","Regi",SpielerInfo[playerid][Regi],"Name",name);
  775. mysql_SetInt("Accounts","ImTut",SpielerInfo[playerid][ImTut],"Name",name);
  776. mysql_SetInt("Accounts","Gestorben",SpielerInfo[playerid][Gestorben],"Name",name);
  777. return 1;
  778. }
  779. return 1;
  780. }
  781.  
  782.  
  783. stock ResetV(playerid){
  784. SpielerInfo[playerid][Adminlevel] = 0;
  785. SpielerInfo[playerid][Team] = 0;
  786. SpielerInfo[playerid][Alter] = 0;
  787. SpielerInfo[playerid][Geschlecht] = 0;
  788. SpielerInfo[playerid][Leader] = 0;
  789. SpielerInfo[playerid][Rank] = 0;
  790. SpielerInfo[playerid][Job] = 0;
  791. SpielerInfo[playerid][Gestorben] = 0;
  792. SpielerInfo[playerid][PosX] = 0;
  793. SpielerInfo[playerid][PosY] = 0;
  794. SpielerInfo[playerid][PosZ] = 0;
  795. SpielerInfo[playerid][PosR] = 0;
  796. SpielerInfo[playerid][Skin] = 0;
  797. SpielerInfo[playerid][ImTut] = 0;
  798. SpielerInfo[playerid][Inte] = 0;
  799. return 1;
  800. }
  801.  
  802. stock DatabaseConnect(){
  803. mysql_connect(HOST, USER, DATABASE, PASSWORD);
  804. if(mysql_ping() == 1){return true;}
  805. else{
  806. mysql_connect(HOST,USER,DATABASE,PASSWORD);
  807. if(mysql_ping() == 1){return true;}
  808. else{return SendRconCommand("exit");}
  809. }
  810. }
  811.  
  812. stock split(const strsrc[],strdest[][],delimiter){
  813. new i,li,aNum,len;
  814. while(i <= strlen(strsrc)){
  815. if(strsrc[i]==delimiter || i==strlen(strsrc)){
  816. len = strmid(strdest[aNum], strsrc, li, i, 128);
  817. strdest[aNum][len] = 0;
  818. li = i+1;
  819. aNum++;
  820. }
  821. i++;
  822. }
  823. return 1;
  824. }
  825.  
  826. stock IsValidDate(day, month, year){
  827. new maxDays;
  828. if(year < 1900 || year > 2010) return 0;
  829. switch (month){
  830. case 1,3,5,7,8,10,12: maxDays = 31;
  831. case 4,6,9,11: maxDays = 30;
  832. case 2:{
  833. if(IsLeapYear(year)){maxDays = 29;}
  834. else{maxDays = 28;}
  835. }
  836. default: return 0;
  837. }
  838. if(day < 1 || day > maxDays) return 0;
  839. return 1;
  840. }
  841.  
  842. stock IsLeapYear(year){return (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));}
  843.  
  844. stock GetGasMax(vehmodel){
  845. if(vehmodel >= 400 && vehmodel <= 611){return GasMax[(vehmodel-400)];}
  846. return 100;
  847. }
  848.  
  849. AntiDeAMX(){
  850. new a[][] ={"Unarmed (Fist)","Brass K"};
  851. #pragma unused a
  852. }
  853.  
  854. stock sscanf(string[], format[], {Float,_}:...)
  855. {
  856. #if defined isnull
  857. if (isnull(string))
  858. #else
  859. if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
  860. #endif
  861. {
  862. return format[0];
  863. }
  864. #pragma tabsize 4
  865. new
  866. formatPos = 0,
  867. stringPos = 0,
  868. paramPos = 2,
  869. paramCount = numargs(),
  870. delim = ' ';
  871. while (string[stringPos] && string[stringPos] <= ' ')
  872. {
  873. stringPos++;
  874. }
  875. while (paramPos < paramCount && string[stringPos])
  876. {
  877. switch (format[formatPos++])
  878. {
  879. case '\0':
  880. {
  881. return 0;
  882. }
  883. case 'i', 'd':
  884. {
  885. new
  886. neg = 1,
  887. num = 0,
  888. ch = string[stringPos];
  889. if (ch == '-')
  890. {
  891. neg = -1;
  892. ch = string[++stringPos];
  893. }
  894. do
  895. {
  896. stringPos++;
  897. if ('0' <= ch <= '9')
  898. {
  899. num = (num * 10) + (ch - '0');
  900. }
  901. else
  902. {
  903. return -1;
  904. }
  905. }
  906. while ((ch = string[stringPos]) > ' ' && ch != delim);
  907. setarg(paramPos, 0, num * neg);
  908. }
  909. case 'h', 'x':
  910. {
  911. new
  912. num = 0,
  913. ch = string[stringPos];
  914. do
  915. {
  916. stringPos++;
  917. switch (ch)
  918. {
  919. case 'x', 'X':
  920. {
  921. num = 0;
  922. continue;
  923. }
  924. case '0' .. '9':
  925. {
  926. num = (num << 4) | (ch - '0');
  927. }
  928. case 'a' .. 'f':
  929. {
  930. num = (num << 4) | (ch - ('a' - 10));
  931. }
  932. case 'A' .. 'F':
  933. {
  934. num = (num << 4) | (ch - ('A' - 10));
  935. }
  936. default:
  937. {
  938. return -1;
  939. }
  940. }
  941. }
  942. while ((ch = string[stringPos]) > ' ' && ch != delim);
  943. setarg(paramPos, 0, num);
  944. }
  945. case 'c':
  946. {
  947. setarg(paramPos, 0, string[stringPos++]);
  948. }
  949. case 'f':
  950. {
  951.  
  952. new changestr[16], changepos = 0, strpos = stringPos;
  953. while(changepos < 16 && string[strpos] && string[strpos] != delim)
  954. {
  955. changestr[changepos++] = string[strpos++];
  956. }
  957. changestr[changepos] = '\0';
  958. setarg(paramPos,0,_:floatstr(changestr));
  959. }
  960. case 'p':
  961. {
  962. delim = format[formatPos++];
  963. continue;
  964. }
  965. case '\'':
  966. {
  967. new
  968. end = formatPos - 1,
  969. ch;
  970. while ((ch = format[++end]) && ch != '\'') {}
  971. if (!ch)
  972. {
  973. return -1;
  974. }
  975. format[end] = '\0';
  976. if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
  977. {
  978. if (format[end + 1])
  979. {
  980. return -1;
  981. }
  982. return 0;
  983. }
  984. format[end] = '\'';
  985. stringPos = ch + (end - formatPos);
  986. formatPos = end + 1;
  987. }
  988. case 'u':
  989. {
  990. new
  991. end = stringPos - 1,
  992. id = 0,
  993. bool:num = true,
  994. ch;
  995. while ((ch = string[++end]) && ch != delim)
  996. {
  997. if (num)
  998. {
  999. if ('0' <= ch <= '9')
  1000. {
  1001. id = (id * 10) + (ch - '0');
  1002. }
  1003. else
  1004. {
  1005. num = false;
  1006. }
  1007. }
  1008. }
  1009. if (num && IsPlayerConnected(id))
  1010. {
  1011. setarg(paramPos, 0, id);
  1012. }
  1013. else
  1014. {
  1015. #if !defined foreach
  1016. #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
  1017. #define __SSCANF_FOREACH__
  1018. #endif
  1019. string[end] = '\0';
  1020. num = false;
  1021. new
  1022. name[MAX_PLAYER_NAME];
  1023. id = end - stringPos;
  1024. foreach (Player, playerid)
  1025. {
  1026. GetPlayerName(playerid, name, sizeof (name));
  1027. if (!strcmp(name, string[stringPos], true, id))
  1028. {
  1029. setarg(paramPos, 0, playerid);
  1030. num = true;
  1031. break;
  1032. }
  1033. }
  1034. if (!num)
  1035. {
  1036. setarg(paramPos, 0, INVALID_PLAYER_ID);
  1037. }
  1038. string[end] = ch;
  1039. #if defined __SSCANF_FOREACH__
  1040. #undef foreach
  1041. #undef __SSCANF_FOREACH__
  1042. #endif
  1043. }
  1044. stringPos = end;
  1045. }
  1046. case 's', 'z':
  1047. {
  1048. new
  1049. i = 0,
  1050. ch;
  1051. if (format[formatPos])
  1052. {
  1053. while ((ch = string[stringPos++]) && ch != delim)
  1054. {
  1055. setarg(paramPos, i++, ch);
  1056. }
  1057. if (!i)
  1058. {
  1059. return -1;
  1060. }
  1061. }
  1062. else
  1063. {
  1064. while ((ch = string[stringPos++]))
  1065. {
  1066. setarg(paramPos, i++, ch);
  1067. }
  1068. }
  1069. stringPos--;
  1070. setarg(paramPos, i, '\0');
  1071. }
  1072. default:
  1073. {
  1074. continue;
  1075. }
  1076. }
  1077. while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
  1078. {
  1079. stringPos++;
  1080. }
  1081. while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
  1082. {
  1083. stringPos++;
  1084. }
  1085. paramPos++;
  1086. }
  1087. do
  1088. {
  1089. if ((delim = format[formatPos++]) > ' ')
  1090. {
  1091. if (delim == '\'')
  1092. {
  1093. while ((delim = format[formatPos++]) && delim != '\'') {}
  1094. }
  1095. else if (delim != 'z')
  1096. {
  1097. return delim;
  1098. }
  1099. }
  1100. }
  1101. while (delim > ' ');
  1102. return 0;
  1103. }
Advertisement
Add Comment
Please, Sign In to add comment