Advertisement
Guest User

Autohaussystem bei Teddybaer

a guest
Sep 1st, 2013
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.39 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3.  
  4. new pname[MAX_PLAYER_NAME],
  5. Datei[64],
  6. geschlossen[MAX_PLAYERS];
  7. //DIALOGE
  8. #define DIALOG_FAHRZEUG 0
  9. //Enums
  10.  
  11. enum spieler
  12. {
  13. carpreis,
  14. Float:autox,
  15. Float:autoy,
  16. Float:autoz,
  17. Float:autoa,
  18. hatcar,
  19. carid,
  20. nitro
  21. };
  22. new SInfo[MAX_PLAYERS][spieler];
  23. new spielercar[MAX_PLAYERS];
  24. enum autohaus
  25. {
  26. autoid,
  27. carname[40],
  28. preis,
  29. Float:Autox,
  30. Float:Autoy,
  31. Float:Autoz,
  32. Float:angle
  33. };
  34.  
  35. new autoskaufen2[2];
  36. new autoskaufen[2][autohaus] = {
  37.  
  38. {411,"Infernus",5000,1330.2408,-1568.6698,13.1661,74.5425},
  39. {597,"SFPD Copcar",5000,1352.8792,-1574.7999,13.1756,75.0795}
  40. };
  41. public OnGameModeInit()
  42. {
  43. for(new i = 0; i < sizeof autoskaufen;i++)
  44. {
  45. autoskaufen2[i] = CreateVehicle(autoskaufen[i][autoid],autoskaufen[i][Autox],autoskaufen[i][Autoy],autoskaufen[i][Autoz],autoskaufen[i][angle],-1,-1,1);
  46. printf("Autoload %d",i);
  47. }
  48. SetGameModeText("TestScript");
  49. AddPlayerClass(0, 1352.8792,-1574.7999,13.1756, 269.1425, 0, 0, 0, 0, 0, 0);
  50. return 1;
  51. }
  52. public OnPlayerStateChange(playerid, newstate, oldstate)
  53. {
  54. if(newstate == PLAYER_STATE_DRIVER)
  55. {
  56. for(new i = 0; i < sizeof autoskaufen;i++)
  57. {
  58. if(GetPlayerVehicleID(playerid) == autoskaufen2[i])
  59. {
  60. new string[135];
  61. format(string,sizeof(string),"{B90000}Fahrzeuginformationen:{FAFAFA}\n\nFahrzeugname: %s\nFahrzeugpreis: %d\n\n{FF5000}Möchtest du dieses Fahrzeug kaufen?",autoskaufen[i][carname],autoskaufen[i][preis]);
  62. ShowPlayerDialog(playerid,DIALOG_FAHRZEUG,DIALOG_STYLE_MSGBOX,"Fahrzeug kaufen",string,"Kaufen","Abbrechen");
  63. TogglePlayerControllable(playerid,false);
  64. }
  65. }
  66. }
  67. return 1;
  68. }
  69. public OnVehicleDeath(vehicleid)
  70. {
  71. for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
  72. {
  73. DestroyVehicle(spielercar[playerid]);
  74. Carsystemladen(playerid);
  75. }
  76. return 1;
  77. }
  78. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  79. {
  80. if(dialogid == DIALOG_FAHRZEUG)
  81. {
  82. if(response)
  83. {
  84. for(new i = 0; i < sizeof autoskaufen;i++)
  85. {
  86. if(GetPlayerVehicleID(playerid) == autoskaufen2[i])
  87. {
  88. if(SInfo[playerid][hatcar] == 0)
  89. {
  90. TogglePlayerControllable(playerid,true);
  91. SInfo[playerid][hatcar] = 1;
  92. SInfo[playerid][carpreis] = autoskaufen[i][preis];
  93. SInfo[playerid][autox] = 1330.2881;
  94. SInfo[playerid][autoy] = -1578.7439;
  95. SInfo[playerid][autoz] = 13.2132;
  96. SInfo[playerid][autoa] = 80.8314;
  97. SInfo[playerid][carid] = autoskaufen[i][autoid];
  98. spielercar[playerid] = CreateVehicle(SInfo[playerid][carid],SInfo[playerid][autox],SInfo[playerid][autoy],SInfo[playerid][autoz],SInfo[playerid][autoa],-1,-1,-1);
  99. GivePlayerMoney(playerid,-SInfo[playerid][carpreis]);
  100. RemovePlayerFromVehicle(playerid);
  101. TogglePlayerControllable(playerid,true);
  102. Carsystemspeichern(playerid);
  103. }
  104. else
  105. {
  106. SendClientMessage(playerid,0xB90000FF,"Du hast bereits ein Fahrzeug!");
  107. RemovePlayerFromVehicle(playerid);
  108. TogglePlayerControllable(playerid,true);
  109. }
  110. break;
  111. }
  112. }
  113. }
  114. else
  115. {
  116. SendClientMessage(playerid,0xB90000FF,"Du hast den Kauf abgebrochen!");
  117. RemovePlayerFromVehicle(playerid);
  118. TogglePlayerControllable(playerid,true);
  119. }
  120. }
  121. return 1;
  122. }
  123. public OnGameModeExit()
  124. {
  125. for(new i = 0; i < MAX_PLAYERS; i++)
  126. {
  127. if(IsPlayerConnected(i))
  128. {
  129. Carsystemspeichern(i);
  130. DestroyVehicle(spielercar[i]);
  131. }
  132. }
  133. return 1;
  134. }
  135.  
  136. public OnPlayerRequestClass(playerid, classid)
  137. {
  138. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  139. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  140. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  141. return 1;
  142. }
  143.  
  144. public OnPlayerConnect(playerid)
  145. {
  146. geschlossen[playerid] = 0;
  147. GetPlayerName(playerid,pname,sizeof(pname));
  148. format(Datei,sizeof(Datei),"/carsys/%s.ini",pname);
  149. if(!fexist(Datei))
  150. {
  151. CreateAccount(playerid);
  152. SpawnPlayer(playerid);
  153. GivePlayerMoney(playerid,500000);
  154. }
  155. else
  156. {
  157. Carsystemladen(playerid);
  158. SpawnPlayer(playerid);
  159. GivePlayerMoney(playerid,500000);
  160. }
  161. return 1;
  162. }
  163. stock CreateAccount(playerid)
  164. {
  165. GetPlayerName(playerid,pname,sizeof(pname));
  166. format(Datei,sizeof(Datei),"/carsys/%s.ini",pname);
  167. dini_Create(Datei);
  168. dini_IntSet(Datei,"carpreis",0);
  169. dini_IntSet(Datei,"hatcar",0);
  170. dini_IntSet(Datei,"carid",0);
  171. dini_FloatSet(Datei,"autox",0);
  172. dini_FloatSet(Datei,"autoy",0);
  173. dini_FloatSet(Datei,"autoz",0);
  174. dini_FloatSet(Datei,"autoa",0);
  175. dini_IntSet(Datei,"nitro",0);
  176. Carsystemspeichern(playerid);
  177. Carsystemladen(playerid);
  178. return 1;
  179. }
  180. stock Carsystemspeichern(playerid)
  181. {
  182. if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
  183. {
  184. GetPlayerName(playerid,pname,sizeof(pname));
  185. format(Datei,sizeof(Datei),"/carsys/%s.ini",pname);
  186. dini_IntSet(Datei,"carpreis",SInfo[playerid][carpreis]);
  187. dini_IntSet(Datei,"hatcar",SInfo[playerid][hatcar]);
  188. dini_IntSet(Datei,"carid",SInfo[playerid][carid]);
  189. dini_FloatSet(Datei,"autox",SInfo[playerid][autox]);
  190. dini_FloatSet(Datei,"autoy",SInfo[playerid][autoy]);
  191. dini_FloatSet(Datei,"autoz",SInfo[playerid][autoz]);
  192. dini_FloatSet(Datei,"autoa",SInfo[playerid][autoa]);
  193. dini_IntSet(Datei,"nitro",SInfo[playerid][nitro]);
  194. }
  195. return 1;
  196. }
  197. stock Carsystemladen(playerid)
  198. {
  199. if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
  200. {
  201. GetPlayerName(playerid,pname,sizeof(pname));
  202. format(Datei,sizeof(Datei),"/carsys/%s.ini",pname);
  203. SInfo[playerid][carpreis] = dini_Int(Datei,"carpreis");
  204. SInfo[playerid][hatcar] = dini_Int(Datei,"hatcar");
  205. SInfo[playerid][carid] = dini_Int(Datei,"carid");
  206. SInfo[playerid][nitro] = dini_Int(Datei,"nitro");
  207. SInfo[playerid][autox] = dini_Float(Datei,"autox");
  208. SInfo[playerid][autoy] = dini_Float(Datei,"autoy");
  209. SInfo[playerid][autoz] = dini_Float(Datei,"autoz");
  210. SInfo[playerid][autoa] = dini_Float(Datei,"autoa");
  211. if(SInfo[playerid][hatcar] == 1)
  212. {
  213. spielercar[playerid] = CreateVehicle(SInfo[playerid][carid],SInfo[playerid][autox],SInfo[playerid][autoy],SInfo[playerid][autoz],SInfo[playerid][autoa],-1,-1,-1);
  214. if(SInfo[playerid][nitro] != 0){AddVehicleComponent(spielercar[playerid],SInfo[playerid][nitro]);}
  215. new engine, lights, alarm, doors, bonnet, boot, objective;
  216. GetVehicleParamsEx(spielercar[playerid], engine, lights, alarm, doors, bonnet, boot, objective);
  217. SetVehicleParamsEx(spielercar[playerid], engine, lights, alarm, 1, bonnet, boot, objective);
  218. geschlossen[playerid] = 0;
  219. }
  220. }
  221. return 1;
  222. }
  223.  
  224. public OnPlayerDisconnect(playerid, reason)
  225. {
  226. DestroyVehicle(spielercar[playerid]);
  227. Carsystemspeichern(playerid);
  228. return 1;
  229. }
  230.  
  231. public OnPlayerCommandText(playerid, cmdtext[])
  232. {
  233. if(strcmp(cmdtext, "/lock", true)==0)
  234. {
  235. if(SInfo[playerid][hatcar] == 1)
  236. {
  237. new engine, lights, alarm, doors, bonnet, boot, objective;
  238. new Float:x,Float:y,Float:z;
  239. GetVehiclePos(spielercar[playerid],x,y,z);
  240. if(IsPlayerInRangeOfPoint(playerid,5.0,x,y,z))
  241. {
  242. if(geschlossen[playerid] == 0)
  243. {
  244. SendClientMessage(playerid,0xFFD200FF,"Du hast dein Fahrzeug aufgeschlossen!");
  245. GetVehicleParamsEx(spielercar[playerid], engine, lights, alarm, doors, bonnet, boot, objective);
  246. SetVehicleParamsEx(spielercar[playerid], engine, lights, alarm, 0, bonnet, boot, objective);
  247. geschlossen[playerid] = 1;
  248. }
  249. else
  250. {
  251. SendClientMessage(playerid,0xFFD200FF,"Du hast dein Fahrzeug abgeschlossen!");
  252. GetVehicleParamsEx(spielercar[playerid], engine, lights, alarm, doors, bonnet, boot, objective);
  253. SetVehicleParamsEx(spielercar[playerid], engine, lights, alarm, 1, bonnet, boot, objective);
  254. geschlossen[playerid] = 0;
  255. }
  256. }else{SendClientMessage(playerid,0xB90000FF,"Du bist nicht in der Nähe von deinem Fahrzeug!");}
  257. }else{SendClientMessage(playerid,0xB90000FF,"Du hast kein Fahrzeug!");}
  258. return 1;
  259. }
  260. if(strcmp(cmdtext, "/verkaufen", true)==0)
  261. {
  262. if(SInfo[playerid][hatcar] == 1)
  263. {
  264. if(spielercar[playerid] == GetPlayerVehicleID(playerid))
  265. {
  266. new string[256];
  267. new Float:x,Float:y,Float:z,Float:a;
  268. GetVehiclePos(playerid,x,y,z);
  269. GetVehicleZAngle(playerid,a);
  270. format(string,sizeof(string),"Du hast dein Fahrzeug verkauft! Du bekommst %d$ zurück!",SInfo[playerid][carpreis]/2);
  271. SendClientMessage(playerid,0xFFD200FF,string);
  272. GivePlayerMoney(playerid,SInfo[playerid][carpreis]/2);
  273. SInfo[playerid][autox] = 0;
  274. SInfo[playerid][autoy] = 0;
  275. SInfo[playerid][autoz] = 0;
  276. SInfo[playerid][autoa] = 0;
  277. SInfo[playerid][hatcar] = 0;
  278. SInfo[playerid][carid] = 0;
  279. SInfo[playerid][carpreis] = 0;
  280. DestroyVehicle(spielercar[playerid]);
  281. Carsystemspeichern(playerid);
  282. }else{SendClientMessage(playerid,0xB90000FF,"Das ist nicht dein Fahrzeug");}
  283. }else{SendClientMessage(playerid,0xB90000FF,"Du hast kein Fahrzeug!");}
  284. return 1;
  285. }
  286. if(strcmp(cmdtext, "/parken", true)==0)
  287. {
  288. if(SInfo[playerid][hatcar] == 1)
  289. {
  290. new veh = GetPlayerVehicleID(playerid);
  291. if(spielercar[playerid] == veh)
  292. {
  293. new Float:x,Float:y,Float:z,Float:a;
  294. GetVehiclePos(veh,x,y,z);
  295. GetVehicleZAngle(veh,a);
  296. SInfo[playerid][autox] = x;
  297. SInfo[playerid][autoy] = y;
  298. SInfo[playerid][autoz] = z;
  299. SInfo[playerid][autoa] = a;
  300. Carsystemspeichern(playerid);
  301. SendClientMessage(playerid,0xB90000FF,"Du hast dein Fahrzeug erfolgreich umgeparkt!");
  302. }else{SendClientMessage(playerid,0xB90000FF,"Das ist nicht dein Fahrzeug!");}
  303. }else{SendClientMessage(playerid,0xB90000FF,"Du hast kein Fahrzeug!");}
  304. return 1;
  305. }
  306. return 1;
  307. }
  308.  
  309. public OnVehicleMod(playerid,vehicleid,componentid)
  310. {
  311. if(SInfo[playerid][hatcar] == 1)
  312. {
  313. if((componentid >= 1008) && (componentid <= 1010)) {SInfo[playerid][nitro] = componentid;}
  314. }
  315. return 1;
  316. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement