Advertisement
Guest User

Drivein Dynamic

a guest
Jun 19th, 2013
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.73 KB | None | 0 0
  1. // ~~~~~~~~~~~ Copy Right ~~~~~~~~~~ //
  2. /*
  3. Du darfst:
  4. - Das Script benutzen
  5. - Das Script Editieren
  6.  
  7. Du darfst nicht:
  8. - Das Script veröffentlichen
  9. - Das Script publiziern
  10. - Das Script verkaufen
  11. - Das Script als deines Ausgeben
  12.  
  13. Das Script Wurde von HellYeah Geschrieben,
  14. User Profil auf BreadFish: http://forum.sa-mp.de/index.php?page=User&userID=28434
  15. */
  16. // ~~~~~~~ Copy Right Ende ~~~~~~~~ //
  17.  
  18. #define FILTERSCRIPT
  19.  
  20. #include <a_samp>
  21. #include <ocmd>
  22. #include <dini>
  23. #include <a_players>
  24.  
  25. #define MAX_DRIVEIN 5 // Einstellbar
  26.  
  27. enum drivein_info
  28. {
  29. Float:drivein_x,
  30. Float:drivein_y,
  31. Float:drivein_z,
  32. Text3D:drivein_label
  33. }
  34. new DriveinInfo[MAX_DRIVEIN][drivein_info];
  35.  
  36. #define MAX_MENU 5 // Einstellbar
  37.  
  38. enum menu_info
  39. {
  40. Float:menu_x,
  41. Float:menu_y,
  42. Float:menu_z,
  43. Text3D:menu_label
  44. }
  45. new MenuInfo[MAX_MENU][menu_info];
  46.  
  47. #pragma tabsize 0
  48.  
  49. #define DIALOG_DRIVEIN 25111 // Wer will kann die DialogID ändern :>
  50. #define BLAU 0x0087FFFF
  51. #define ROT 0xE10000FF
  52. // BSN Menu //
  53. new Menu:menupunkteladen;
  54. new Menu:getraenke;
  55. new Menu:fastfood;
  56. new Menu:suessigkeiten;
  57. // BSN Ende //
  58.  
  59.  
  60. #if defined FILTERSCRIPT
  61.  
  62.  
  63. public OnFilterScriptInit()
  64. {
  65. print("\n--------------------------------------");
  66. print(" DriveIn&Menu System by HellYeah Loaded!");
  67. print("--------------------------------------\n");
  68.  
  69. // bsnenterpickup = CreatePickup(1318,1,1199.2806,-918.1400,43.1231,0);
  70. // bsnexitpickup = CreatePickup(1318,1,362.9400,-75.2381,1001.5078,0);
  71.  
  72. Create3DTextLabel("Benutze /drivein um etwas zu Essen zu kaufen!",BLAU,1206.5031,-885.2070,42.9292,0,0);
  73. // BSN Snacks //
  74. menupunkteladen = CreateMenu("Shop",2, 200.0, 150.0, 120.0, 50.0);
  75. AddMenuItem(menupunkteladen,0, "Getraenke");
  76. AddMenuItem(menupunkteladen,0, "Fastfood");
  77. AddMenuItem(menupunkteladen,0, "Sueßigkeiten");
  78.  
  79. getraenke = CreateMenu("Getraenke",2, 200.0, 150.0, 120.0, 50.0);
  80. AddMenuItem(getraenke,0, "Cola[99$]");
  81. AddMenuItem(getraenke,0, "Fanta[25$]");
  82. AddMenuItem(getraenke,0, "Sprite[17$]");
  83. AddMenuItem(getraenke,0, "Sprudel[47$]");
  84. AddMenuItem(getraenke,0, "Stilles Wasser[32$]");
  85.  
  86. fastfood = CreateMenu("Fastfood",2, 200.0, 150.0, 120.0, 50.0);
  87. AddMenuItem(fastfood,0, "Bigmac[127$]");
  88. AddMenuItem(fastfood,0, "Chesseburger[200$]");
  89. AddMenuItem(fastfood,0, "Hamburger[47$]");
  90. AddMenuItem(fastfood,0, "Döner Pizza[99$]");
  91.  
  92. suessigkeiten = CreateMenu("Sueßigkeiten",2, 200.0, 150.0, 120.0, 50.0);
  93. AddMenuItem(suessigkeiten,0, "Chips[99$]");
  94. AddMenuItem(suessigkeiten,0, "Mentos[59$]");
  95. AddMenuItem(suessigkeiten,0, "Schokolade[150$]");
  96. AddMenuItem(suessigkeiten,0, "Gummibaerchen[200$]");
  97. Create3DTextLabel("Benutze /menu um dir etwas zu Essen zu kaufen!",BLAU,377.2999,-67.4349,1001.5078,30,0,0);
  98. // BSN Menü ENDE :< //
  99.  
  100. return 1;
  101. }
  102.  
  103. public OnFilterScriptExit()
  104. {
  105. return 1;
  106. }
  107.  
  108. #else
  109.  
  110. main()
  111. {
  112. }
  113.  
  114. #endif
  115.  
  116. public OnPlayerPickUpPickup(playerid, pickupid)
  117. {
  118. // BSN //
  119. /*
  120. if(pickupid==bsnenterpickup)
  121. {
  122. SetPlayerPos(playerid,364.5561,-74.2316,1001.5078);
  123. SetPlayerInterior(playerid,10);
  124. }
  125.  
  126. if(pickupid==bsnexitpickup)
  127. {
  128. SetPlayerPos(playerid,1199.4159,-920.4664,43.1096);
  129. SetPlayerInterior(playerid,0);
  130. }
  131. */
  132. // BSN ENDE //
  133. return 1;
  134. }
  135.  
  136.  
  137. // BSN Drivein Ende //
  138.  
  139. public OnPlayerSelectedMenuRow(playerid, row)
  140. {
  141. new Menu:CurrentMenu = GetPlayerMenu(playerid);
  142.  
  143. if(CurrentMenu == menupunkteladen)
  144. {
  145. switch(row)
  146. {
  147. case 0:
  148. {
  149. ShowMenuForPlayer(getraenke,playerid);
  150. }
  151. case 1:
  152. {
  153. ShowMenuForPlayer(fastfood,playerid);
  154. }
  155. case 2:
  156. {
  157. ShowMenuForPlayer(suessigkeiten,playerid);
  158. }
  159. }
  160. }
  161.  
  162. if(CurrentMenu == getraenke)
  163. {
  164. switch(row)
  165. {
  166. case 0:
  167. {
  168. GameTextForPlayer(playerid,"Cola gekauft! (KostenPunkt: 99$)",3000,3);
  169. SetPlayerHealth(playerid,100.00);
  170. GivePlayerMoney(playerid,-99);
  171. }
  172. case 1:
  173. {
  174. GameTextForPlayer(playerid,"Fanta gekauft! (KostenPunkt: 25$)",3000,3);
  175. SetPlayerHealth(playerid,100.00);
  176. GivePlayerMoney(playerid,-25);
  177. }
  178. case 2:
  179. {
  180. GameTextForPlayer(playerid,"Sprite gekauft! (KostenPunkt: 17$)",3000,3);
  181. SetPlayerHealth(playerid,100.00);
  182. GivePlayerMoney(playerid,-17);
  183. }
  184. case 3:
  185. {
  186. GameTextForPlayer(playerid,"Sprudel gekauft! (KostenPunkt: 49$)",3000,3);
  187. SetPlayerHealth(playerid,100.00);
  188. GivePlayerMoney(playerid,-49);
  189. }
  190. case 4:
  191. {
  192. GameTextForPlayer(playerid,"Stilles Wasser gekauft! (KostenPunkt: 32$)",3000,3);
  193. SetPlayerHealth(playerid,100.00);
  194. GivePlayerMoney(playerid,-32);
  195. }
  196. }
  197.  
  198. if(CurrentMenu == fastfood)
  199. {
  200. switch(row)
  201. {
  202. case 0:
  203. {
  204. GameTextForPlayer(playerid,"Bigmac gekauft! (KostenPunkt: 127$)",3000,3);
  205. SetPlayerHealth(playerid,100.00);
  206. GivePlayerMoney(playerid,-127);
  207. }
  208. case 1:
  209. {
  210. GameTextForPlayer(playerid,"Chesseburger gekauft! (KostenPunkt: 200$)",3000,3);
  211. SetPlayerHealth(playerid,100.00);
  212. GivePlayerMoney(playerid,-200);
  213. }
  214. case 2:
  215. {
  216. GameTextForPlayer(playerid,"Hamburger gekauft! (KostenPunkt: 47$)",3000,3);
  217. SetPlayerHealth(playerid,100.00);
  218. GivePlayerMoney(playerid,-47);
  219. }
  220. case 3:
  221. {
  222. GameTextForPlayer(playerid,"Döner Pizza gekauft! (KostenPunkt: 99$)",3000,3);
  223. SetPlayerHealth(playerid,100.00);
  224. GivePlayerMoney(playerid,-99);
  225. }
  226. }
  227. }
  228.  
  229. if(CurrentMenu == suessigkeiten)
  230. switch(row)
  231. {
  232. case 0:
  233. {
  234. GameTextForPlayer(playerid,"Chips gekauft! (KostenPunkt: 99$)",3000,3);
  235. SetPlayerHealth(playerid,100.00);
  236. GivePlayerMoney(playerid,-99);
  237. }
  238. case 1:
  239. {
  240. GameTextForPlayer(playerid,"Mentos gekauft!(KostenPunkt: 59$)",3000,3);
  241. SetPlayerHealth(playerid,100.00);
  242. GivePlayerMoney(playerid,-59);
  243. }
  244. case 2:
  245. {
  246. GameTextForPlayer(playerid,"Schokolade gekauft! (KostenPunkt: 150$)",3000,3);
  247. SetPlayerHealth(playerid,100.00);
  248. GivePlayerMoney(playerid,-150);
  249. }
  250. case 3:
  251. {
  252. GameTextForPlayer(playerid,"Gummibaerchen gekauft!(KostenPunkt: 200$)",3000,3);
  253. SetPlayerHealth(playerid,100.00);
  254. GivePlayerMoney(playerid,-200);
  255. }
  256. }
  257. }
  258. return 1;
  259. }
  260.  
  261. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  262. {
  263. new Float:health2;
  264. if(dialogid == DIALOG_DRIVEIN && response)
  265. {
  266. switch(listitem)
  267. {
  268. case 0:
  269. {
  270. GetPlayerHealth(playerid, health2);
  271. if(health2 < 100) SetPlayerHealth(playerid,GetPlayerHealth(playerid,health2)+50),GameTextForPlayer(playerid,"BigMac Gekauft!",2000,3);
  272. }
  273. case 1:
  274. {
  275. GetPlayerHealth(playerid, health2);
  276. if(health2 < 100) SetPlayerHealth(playerid,GetPlayerHealth(playerid,health2)+50),GameTextForPlayer(playerid,"Pommes Gekauft!",2000,3);
  277. }
  278. case 2:
  279. {
  280. GetPlayerHealth(playerid, health2);
  281. if(health2 < 100) SetPlayerHealth(playerid,GetPlayerHealth(playerid,health2)+50),GameTextForPlayer(playerid,"BratWurst Gekauft!",2000,3);
  282. }
  283. case 3:
  284. {
  285. GetPlayerHealth(playerid, health2);
  286. if(health2 < 100) SetPlayerHealth(playerid,GetPlayerHealth(playerid,health2)+50),GameTextForPlayer(playerid,"Fanta Gekauft!",2000,3);
  287. }
  288. case 4:
  289. {
  290. GetPlayerHealth(playerid, health2);
  291. if(health2 < 100) SetPlayerHealth(playerid,GetPlayerHealth(playerid,health2)+50),GameTextForPlayer(playerid,"Coke Gekauft!",2000,3);
  292. }
  293. case 5:
  294. {
  295. GetPlayerHealth(playerid, health2);
  296. if(health2 < 100) SetPlayerHealth(playerid,GetPlayerHealth(playerid,health2)+50),GameTextForPlayer(playerid,"Relentess Origin Gekauft!",2000,3);
  297. }
  298. }
  299. }
  300. }
  301.  
  302.  
  303. // BSN Drivein Stock
  304. stock AmBSNDrivein(playerid)
  305. {
  306. if(IsPlayerInRangeOfPoint(playerid,5,1206.5031,-885.2070,42.9292))
  307. {
  308. return 1;
  309. }
  310. return 0;
  311. }
  312.  
  313. // BSN Drivein Stock Ende //
  314.  
  315.  
  316.  
  317.  
  318. ocmd:menu(playerid,params[])
  319. {
  320. for(new menu=1;menu<MAX_MENU;menu++)
  321. {
  322. if(IsPlayerInRangeOfPoint(playerid,5,MenuInfo[menu][menu_x],MenuInfo[menu][menu_y],MenuInfo[menu][menu_z]))
  323. {
  324. ShowMenuForPlayer(menupunkteladen, playerid);
  325. }
  326. else
  327. {
  328. SendClientMessage(playerid,ROT,"Du bist bei einem MenüPunkt!");
  329. }
  330. }
  331. return 1;
  332. }
  333.  
  334. // BSN Drivein //
  335. ocmd:drivein(playerid,params[])
  336. {
  337. if(IsPlayerConnected(playerid))
  338. {
  339. for(new drivein=1;drivein<MAX_DRIVEIN;drivein++)
  340. {
  341. if(IsPlayerInRangeOfPoint(playerid,5,DriveinInfo[drivein][drivein_x],DriveinInfo[drivein][drivein_y],DriveinInfo[drivein][drivein_z]))
  342. {
  343. if(!IsPlayerInAnyVehicle(playerid))
  344. {
  345. SendClientMessage(playerid, ROT, "Du musst in einem Fahrzeug sein!");
  346. return 1;
  347. }
  348. ShowPlayerDialog(playerid,DIALOG_DRIVEIN,DIALOG_STYLE_LIST,"DriveIn","BigMac[59$]\nPommes[23$]\nBratwurst[124$]\nFanta[13$]\nCola[19$]\nEnergy Drink[72$]","Auswählen","Abbrechen");
  349. }
  350. else
  351. {
  352. SendClientMessage(playerid, ROT, "Du bist nicht beim BSN");
  353. return 1;
  354. }
  355. }
  356. }
  357. return 1;
  358. }
  359.  
  360. ocmd:createdrivein(playerid,params[])
  361. {
  362. if(IsPlayerAdmin(playerid))
  363. {
  364. new Float:x,Float:y,Float:z;
  365. GetPlayerPos(playerid,x,y,z);
  366. CreateDrivein(x,y,z);
  367. }
  368. return 1;
  369. }
  370.  
  371. ocmd:createmenu(playerid,params[])
  372. {
  373. if(IsPlayerAdmin(playerid))
  374. {
  375. new Float:x,Float:y,Float:z;
  376. GetPlayerPos(playerid,x,y,z);
  377. CCreateMenu(x,y,z);
  378. }
  379. return 1;
  380. }
  381.  
  382. // Drivein System //
  383. stock CreateDrivein(Float:x,Float:y,Float:z)
  384. {
  385. new pfad[50];
  386. for(new drivein=1;drivein<MAX_DRIVEIN;drivein++)
  387. {
  388. format(pfad,50,"/drivein/%d.txt",drivein);
  389. if(!fexist(pfad))
  390. {
  391. dini_Create(pfad);
  392. dini_FloatSet(pfad,"x",x);
  393. dini_FloatSet(pfad,"y",y);
  394. dini_FloatSet(pfad,"z",z);
  395. return LoadDrivein(drivein);
  396. }
  397. }
  398. return 1;
  399. }
  400.  
  401.  
  402. stock LoadDrivein(driveinid)
  403. {
  404. new pfad[50];
  405. format(pfad,50,"/drivein/%d.txt",driveinid);
  406. if(!fexist(pfad))return 0;
  407. // {
  408. DriveinInfo[driveinid][drivein_x] = dini_Float(pfad,"x");
  409. DriveinInfo[driveinid][drivein_y] = dini_Float(pfad,"y");
  410. DriveinInfo[driveinid][drivein_z] = dini_Float(pfad,"z");
  411. DriveinInfo[driveinid][drivein_label] = Create3DTextLabel("Benutze /drivein um etwas zu Essen zu Kaufen!",BLAU,DriveinInfo[driveinid][drivein_x],DriveinInfo[driveinid][drivein_y],DriveinInfo[driveinid][drivein_z],20,0,1);
  412. return print("Der Drivein wurde erfolgreich Geladen!");
  413. // }
  414. }
  415.  
  416. stock KillDrivein(driveinid)
  417. {
  418. Delete3DTextLabel(DriveinInfo[driveinid][drivein_label]);
  419. }
  420. // Drivein System Ende //
  421.  
  422. // Menu System //
  423. stock CCreateMenu(Float:x,Float:y,Float:z)
  424. {
  425. new pfad[50];
  426. for(new menu=1;menu<MAX_MENU;menu++)
  427. {
  428. format(pfad,50,"/menu/%d.txt",menu);
  429. if(!fexist(pfad))
  430. {
  431. dini_Create(pfad);
  432. dini_FloatSet(pfad,"x",x);
  433. dini_FloatSet(pfad,"y",y);
  434. dini_FloatSet(pfad,"z",z);
  435. return LoadMenu(menu);
  436. }
  437. }
  438. return 1;
  439. }
  440.  
  441. stock LoadMenu(menuid)
  442. {
  443. new pfad[50];
  444. format(pfad,50,"/haus/%d.txt",menuid);
  445. if(!fexist(pfad))return 0;
  446. // {
  447. MenuInfo[menuid][menu_x] = dini_Float(pfad,"x");
  448. MenuInfo[menuid][menu_y] = dini_Float(pfad,"y");
  449. MenuInfo[menuid][menu_z] = dini_Float(pfad,"z");
  450. MenuInfo[menuid][menu_label] = Create3DTextLabel("Benutze /menu um etwas zu Essen zu kaufen",BLAU,MenuInfo[menuid][menu_x],MenuInfo[menuid][menu_y],MenuInfo[menuid][menu_z],20,0,1);
  451. return print("Das Menü wurde erfolgreich Geladen!");
  452. // }
  453. }
  454.  
  455. stock KillHaus(menuid)
  456. {
  457. Delete3DTextLabel(MenuInfo[menuid][menu_label]);
  458. }
  459. // Menu System Ende //
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement