Advertisement
Guest User

Untitled

a guest
Jun 20th, 2013
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.58 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3. #define MAX_GERICHTE 20//Die Maximale Anzahl an Gerichten die erstellt werden kann (Fischburger, Hamburger ...) je größer desto Ressourcen fressender/langsamer
  4. #define MAX_BSN 10//Die Maximale Anzahl BSN's die gespeichert/geladen/erstellt werden kann je größer desto Ressourcen fressender/langsamer
  5. //Wichtig! beachte das im scriptfiles Ordner ein Ordner mit dem Namen BSN existiert
  6. //Farbe
  7. #define weiss 0xFFFFFFFF
  8. //Dialoge bitte nichts verändern wenn man nicht weis was man tut
  9. #define DIALOG_BSNS 1293
  10. #define DIALOG_BSNNAMEN 1294
  11. #define DIALOG_BSNPOS 1295
  12. #define DIALOG_BSNPICKUP 1296
  13. #define DIALOG_BSNS2 1297
  14. #define DIALOG_BSNS3 1298
  15. #define DIALOG_BESSEN 1299
  16. #define DIALOG_EBCONFIG 1300
  17. #define DIALOG_EBGGEL 1301
  18. #define DIALOG_EBNAME 1302
  19. #define DIALOG_EBGERI 1303
  20. #define DIALOG_EBCONFIG3 1304
  21. #define DIALOG_EBCONFIG2 1305
  22. #define DIALOG_EBCONFIG4 1306
  23. #define DIALOG_EBCONFIG5 1307
  24. #define DIALOG_EBGHP 1308
  25. #define DIALOG_EBGEDIT 1309
  26. #define DIALOG_EBGDEL 1310
  27. #define DIALOG_EBPICK 1311
  28. /*
  29. //Ausklammern und ausfüllen für ressourcen schohnung
  30. #undef MAX_PLAYERS
  31. #define MAX_PLAYERS dieanzahldeinermaximalenspielerslots
  32. */
  33. //Credits bitte drin lassen Danke.
  34. enum bs {
  35. Float:bx,
  36. Float:by,
  37. Float:bz,
  38. bname[50],
  39. bpickid,
  40. bpick
  41. };
  42. new BSN[MAX_BSN][bs],bpreis[MAX_BSN][MAX_GERICHTE],Float:bhp[MAX_BSN][MAX_GERICHTE],bgericht[50][MAX_BSN][MAX_GERICHTE],bearbeiten[MAX_PLAYERS],bearbeiten2[MAX_PLAYERS],essen[MAX_PLAYERS],bsn,bstimer,pause[MAX_PLAYERS];
  43. public OnFilterScriptInit()
  44. {
  45. print("\n--------------------------------------");
  46. print("DT_DynamicRestaurant wurde geladen Script by midomen");
  47. print("--------------------------------------\n");
  48. bstimer = SetTimer("bsnladen",2000,true);
  49. bsn = -1;
  50. return 1;
  51. }
  52. public OnFilterScriptExit()
  53. {
  54. for(new i=0;i<MAX_BSN;i++)
  55. {
  56. SaveBSN(i);
  57. }
  58. return 1;
  59. }
  60. public OnGameModeExit()
  61. {
  62. return 1;
  63. }
  64. public OnPlayerCommandText(playerid, cmdtext[])
  65. {
  66. if(strcmp(cmdtext,"/dtbsn",true)==0)
  67. {
  68. if(IsPlayerAdmin(playerid))
  69. {
  70. ShowPlayerDialog(playerid,DIALOG_BSNS,DIALOG_STYLE_LIST,"Restaurant Menü","Restaurant Erstellen\nRestaurant bearbeiten\nRestaurant löschen","Auswählen","Abbrechen");
  71. }
  72. else
  73. {
  74. SendClientMessage(playerid,weiss,"Sie müssen als RCON Admin eingeloggt sein um diesen Befehl nutzen zu können");
  75. }
  76. return 1;
  77. }
  78. return 0;
  79. }
  80. public OnPlayerPickUpPickup(playerid, pickupid)
  81. {
  82. if(pause[playerid] == 0)
  83. {
  84. for(new i=0;i<MAX_BSN;i++)
  85. {
  86. if(pickupid == BSN[i][bpick])
  87. {
  88. if(IsPlayerInRangeOfPoint(playerid,4.0,BSN[i][bx],BSN[i][by],BSN[i][bz]))
  89. {
  90. new string[50],string2[2048],string3[50],pfad[50];
  91. format(string,50,"%s",BSN[i][bname]);
  92. for(new j=0;j<MAX_GERICHTE;j++)
  93. {
  94. format(pfad,50,"/BSN/%i.ini",i);
  95. format(string3,50,"Gericht%i",j);
  96. if(strcmp(dini_Get(pfad,string3),"Leer",true)==0)
  97. {
  98. }
  99. else
  100. {
  101. format(string2,2048,"%s\n%s %i$",string2,dini_Get(pfad,string3),bpreis[i][j]);
  102. }
  103. }
  104. essen[playerid] = i;
  105. ShowPlayerDialog(playerid,DIALOG_BESSEN,DIALOG_STYLE_LIST,string,string2,"Essen","Abbrechen");
  106. break;
  107. }
  108. }
  109. }
  110. pause[playerid] = 1;
  111. SetTimerEx("unpause",5000,false,"i",playerid);
  112. }
  113. return 1;
  114. }
  115. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  116. {
  117. if(dialogid == DIALOG_BESSEN)
  118. {
  119. if(response)
  120. {
  121. new zahl = 0;
  122. for(new i=0;i<MAX_GERICHTE;i++)
  123. {
  124. new pfad[50],string3[50];
  125. format(pfad,50,"/BSN/%i.ini",essen[playerid]);
  126. if(dini_Exists(pfad))
  127. {
  128. format(string3,50,"Gericht%i",i);
  129. if(strcmp(dini_Get(pfad,string3),"Leer",true)==0)
  130. {
  131. zahl += 1;
  132. }
  133. else
  134. {
  135. new endzahl;
  136. if(listitem==0)
  137. {
  138. endzahl = 0;
  139. }
  140. else
  141. {
  142. endzahl = i-zahl;
  143. }
  144. if(listitem == endzahl)
  145. {
  146. if(GetPlayerMoney(playerid)>=bpreis[essen[playerid]][i])
  147. {
  148. new Float:leben;
  149. GetPlayerHealth(playerid,leben);
  150. SetPlayerHealth(playerid,leben+bhp[essen[playerid]][i]);
  151. if(leben+bhp[essen[playerid]][i]>100)
  152. {
  153. SetPlayerHealth(playerid,100);
  154. }
  155. GivePlayerMoney(playerid,-bpreis[essen[playerid]][i]);
  156. new string[128];
  157. format(string,128,"Sie haben sich %s für %i$ gekauft",dini_Get(pfad,string3),bpreis[essen[playerid]][i]);
  158. SendClientMessage(playerid,weiss,string);
  159. }
  160. break;
  161. }
  162. }
  163. }
  164. }
  165. }
  166. }
  167. if(dialogid == DIALOG_BSNPICKUP)
  168. {
  169. if(response)
  170. {
  171. new pfad[50];
  172. format(pfad,50,"/BSN/%i.ini",bearbeiten[playerid]);
  173. if(dini_Exists(pfad))
  174. {
  175. if(IsNumeric(inputtext))
  176. {
  177. new Float:pos[3];
  178. GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
  179. BSN[bearbeiten[playerid]][bpick] = CreatePickup(strval(inputtext),1,pos[0],pos[1],pos[2],0);
  180. BSN[bearbeiten[playerid]][bpickid] = strval(inputtext);
  181. SendClientMessage(playerid,weiss,"Du hast das Restaurant erfolgreich erstellt");
  182. SaveBSN(bearbeiten[playerid]);
  183. ShowPlayerDialog(playerid,DIALOG_BSNS,DIALOG_STYLE_LIST,"Restaurant Menü","Restaurant Erstellen\nRestaurant bearbeiten\nRestaurant löschen","Auswählen","Zurück");
  184. }
  185. else
  186. {
  187. SendClientMessage(playerid,weiss,"Du musst eine Zahl eingeben versuche es erneut");
  188. ShowPlayerDialog(playerid,DIALOG_BSNPICKUP,DIALOG_STYLE_INPUT,"Pickup ID","Geben sie nun die Pickup ID ein\n(Tipp: ID 1582 = Pizza Box ID 1239 Informations Pickup/I Pickup)","Fertig","Zurück");
  189. }
  190. }
  191. }
  192. else
  193. {
  194. ShowPlayerDialog(playerid,DIALOG_BSNPOS,DIALOG_STYLE_MSGBOX,"Restaurant Menü","Sind sie sicher das sie an der richtigen Position stehen?","Ja","Nein");
  195. }
  196. }
  197. if(dialogid == DIALOG_BSNPOS)
  198. {
  199. if(response)
  200. {
  201. new pfad[50],Float:pos[3];
  202. format(pfad,50,"/BSN/%i.ini",bearbeiten[playerid]);
  203. GetPlayerPos(playerid,pos[0],pos[1],pos[2]);
  204. if(dini_Exists(pfad))
  205. {
  206. BSN[bearbeiten[playerid]][bx] = pos[0];
  207. BSN[bearbeiten[playerid]][by] = pos[1];
  208. BSN[bearbeiten[playerid]][bz] = pos[2];
  209. ShowPlayerDialog(playerid,DIALOG_BSNPICKUP,DIALOG_STYLE_INPUT,"Pickup ID","Geben sie nun die Pickup ID ein\n(Tipp: ID 1582 = Pizza Box ID 1239 Informations Pickup/I Pickup)","Fertig","Zurück");
  210. }
  211. }
  212. else
  213. {
  214. ShowPlayerDialog(playerid,DIALOG_BSNNAMEN,DIALOG_STYLE_INPUT,"Restaurant Namen","Gebe nun den Namen des Restaurant's ein das erstellt werden soll","Weiter","Zurück");
  215. }
  216. }
  217. if(dialogid == DIALOG_BSNNAMEN)
  218. {
  219. if(response)
  220. {
  221. if(strlen(inputtext)>=3)
  222. {
  223. new pfad[50];
  224. format(pfad,50,"/BSN/%i.ini",bearbeiten[playerid]);
  225. if(dini_Exists(pfad))
  226. {
  227. format(BSN[bearbeiten[playerid]][bname],50,"%s",inputtext);
  228. ShowPlayerDialog(playerid,DIALOG_BSNPOS,DIALOG_STYLE_MSGBOX,"Restaurant Menü","Sind sie sicher das sie an der richtigen Position stehen?","Ja","Nein");
  229. SaveBSN(bearbeiten[playerid]);
  230. }
  231. }
  232. else
  233. {
  234. SendClientMessage(playerid,weiss,"Der Name des Restaurants muss mindestens 3 Buchstaben/Zahlen enthalten versuche es bitte erneut");
  235. ShowPlayerDialog(playerid,DIALOG_BSNNAMEN,DIALOG_STYLE_INPUT,"Restaurant Namen","Gebe nun den Namen des Restaurant's ein das erstellt werden soll","Weiter","Zurück");
  236. }
  237. }
  238. else
  239. {
  240. ShowPlayerDialog(playerid,DIALOG_BSNS,DIALOG_STYLE_LIST,"Restaurant Menü","Restaurant Erstellen\nRestaurant bearbeiten\nRestaurant löschen","Auswählen","Abbrechen");
  241. new pfad[50];
  242. format(pfad,50,"/BSN/%i.ini",bearbeiten[playerid]);
  243. if(dini_Exists(pfad))
  244. {
  245. format(BSN[bearbeiten[playerid]][bname],50,"Leer");
  246. SaveBSN(bearbeiten[playerid]);
  247. }
  248. }
  249. }
  250. if(dialogid == DIALOG_BSNS)
  251. {
  252. if(response)
  253. {
  254. if(listitem==0)
  255. {
  256. new pfad[50];
  257. for(new i=0;i<MAX_BSN;i++)
  258. {
  259. format(pfad,50,"/BSN/%i.ini",i);
  260. if(dini_Exists(pfad))
  261. {
  262. if(strcmp(BSN[i][bname],"Leer",true)==0)
  263. {
  264. ShowPlayerDialog(playerid,DIALOG_BSNNAMEN,DIALOG_STYLE_INPUT,"Restaurant Namen","Gebe nun den Namen des Restaurant's ein das erstellt werden soll","Weiter","Zurück");
  265. bearbeiten[playerid] = i;
  266. break;
  267. }
  268. }
  269. }
  270. }
  271. if(listitem==1)
  272. {
  273. new pfad[50],string[1024];
  274. for(new i=0;i<MAX_BSN;i++)
  275. {
  276. format(pfad,50,"/BSN/%i.ini",i);
  277. if(dini_Exists(pfad))
  278. {
  279. if(strcmp(BSN[i][bname],"Leer",true)==0)
  280. {
  281. }
  282. else
  283. {
  284. format(string,1024,"%s\n%s",string,BSN[i][bname]);
  285. }
  286. }
  287. }
  288. ShowPlayerDialog(playerid,DIALOG_BSNS2,DIALOG_STYLE_LIST,"Restaurant Menü",string,"Auswählen","Zurück");
  289. }
  290. if(listitem==2)
  291. {
  292. new pfad[50],string[1024];
  293. for(new i=0;i<MAX_BSN;i++)
  294. {
  295. format(pfad,50,"/BSN/%i.ini",i);
  296. if(dini_Exists(pfad))
  297. {
  298. if(strcmp(BSN[i][bname],"Leer",true)==0)
  299. {
  300. }
  301. else
  302. {
  303. format(string,1024,"%s\n%s",string,BSN[i][bname]);
  304. }
  305. }
  306. }
  307. ShowPlayerDialog(playerid,DIALOG_BSNS3,DIALOG_STYLE_LIST,"Restaurant Menü",string,"Löschen","Zurück");
  308. }
  309. }
  310. }
  311. if(dialogid == DIALOG_BSNS3)
  312. {
  313. if(response)
  314. {
  315. new zahl = 0;
  316. for(new i=0;i<MAX_BSN;i++)
  317. {
  318. new pfad[50];
  319. format(pfad,50,"/BSN/%i.ini",i);
  320. if(dini_Exists(pfad))
  321. {
  322. if(strcmp(BSN[i][bname],"Leer",true)==0)
  323. {
  324. zahl += 1;
  325. }
  326. else
  327. {
  328. new endzahl;
  329. if(listitem==0)
  330. {
  331. endzahl = 0;
  332. }
  333. else
  334. {
  335. endzahl = i-zahl;
  336. }
  337. if(listitem == endzahl)
  338. {
  339. DestroyPickup(BSN[i][bpick]);
  340. format(BSN[i][bname],50,"Leer");
  341. SendClientMessage(playerid,weiss,"Das Restaurant wurde erfolgreich gelöscht");
  342. SaveBSN(i);
  343. break;
  344. }
  345. }
  346. }
  347. }
  348. }
  349. else
  350. {
  351. ShowPlayerDialog(playerid,DIALOG_BSNS,DIALOG_STYLE_LIST,"Restaurant Menü","Restaurant Erstellen\nRestaurant bearbeiten\nRestaurant löschen","Auswählen","Abbrechen");
  352. }
  353. }
  354. if(dialogid == DIALOG_BSNS2)
  355. {
  356. if(response)
  357. {
  358. new zahl = 0;
  359. for(new i=0;i<MAX_BSN;i++)
  360. {
  361. new pfad[50];
  362. format(pfad,50,"/BSN/%i.ini",i);
  363. if(dini_Exists(pfad))
  364. {
  365. if(strcmp(BSN[i][bname],"Leer",true)==0)
  366. {
  367. zahl += 1;
  368. }
  369. else
  370. {
  371. new endzahl;
  372. if(listitem==0)
  373. {
  374. endzahl = 0;
  375. }
  376. else
  377. {
  378. endzahl = i-zahl;
  379. }
  380. if(listitem == endzahl)
  381. {
  382. bearbeiten[playerid] = i;
  383. ShowPlayerDialog(playerid,DIALOG_EBCONFIG,DIALOG_STYLE_LIST,"Restaurant Menü","Namen ändern\nGericht hinzufügen\nGericht bearbeiten\nGericht löschen\nPosition ändern\nPickup ID ändern","Auswählen","Zurück");
  384. break;
  385. }
  386. }
  387. }
  388. }
  389. }
  390. else
  391. {
  392. ShowPlayerDialog(playerid,DIALOG_BSNS,DIALOG_STYLE_LIST,"Restaurant Menü","Restaurant Erstellen\nRestaurant bearbeiten\nRestaurant löschen","Auswählen","Abbrechen");
  393. }
  394. }
  395. if(dialogid == DIALOG_EBNAME)
  396. {
  397. if(response)
  398. {
  399. if(strlen(inputtext)>=3)
  400. {
  401. format(BSN[bearbeiten[playerid]][bname],50,"%s",inputtext);
  402. SaveBSN(bearbeiten[playerid]);
  403. ShowPlayerDialog(playerid,DIALOG_EBCONFIG,DIALOG_STYLE_LIST,"Restaurant Menü","Namen ändern\nGericht hinzufügen\nGericht bearbeiten\nGericht löschen\nPosition ändern\nPickup ID ändern","Auswählen","Zurück");
  404. SendClientMessage(playerid,weiss,"Sie haben den Namen erfolgreich geändert");
  405. }
  406. else
  407. {
  408. SendClientMessage(playerid,weiss,"Der Name ist zu kurz mindestens 3 Zeichen");
  409. }
  410. }
  411. else
  412. {
  413. ShowPlayerDialog(playerid,DIALOG_EBCONFIG,DIALOG_STYLE_LIST,"Restaurant Menü","Namen ändern\nGericht hinzufügen\nGericht bearbeiten\nGericht löschen\nPosition ändern\nPickup ID ändern","Auswählen","Zurück");
  414. }
  415. }
  416. if(dialogid == DIALOG_EBGGEL)
  417. {
  418. if(response)
  419. {
  420. if(IsNumeric(inputtext))
  421. {
  422. SendClientMessage(playerid,weiss,"Es wurde erfolgreich ein neues Gericht hinzugefügt");
  423. bpreis[bearbeiten[playerid]][bearbeiten2[playerid]] = strval(inputtext);
  424. SaveBSN(bearbeiten[playerid]);
  425. }
  426. else
  427. {
  428. ShowPlayerDialog(playerid,DIALOG_EBGGEL,DIALOG_STYLE_INPUT,"Restaurant Menü","Geben sie nun den Preis an (ohne - vor der Zahl)","Fertigstellen","Zurück");
  429. SendClientMessage(playerid,weiss,"Sie müssen eine Zahl eingeben");
  430. }
  431. }
  432. else
  433. {
  434. ShowPlayerDialog(playerid,DIALOG_EBGHP,DIALOG_STYLE_INPUT,"Restaurant Menü","Geben sie nun die Anzahl der HP an die der Spieler beim kauf erhalten soll","Weiter","Zurück");
  435. }
  436. }
  437. if(dialogid == DIALOG_EBGHP)
  438. {
  439. if(response)
  440. {
  441. if(IsNumeric(inputtext))
  442. {
  443. bhp[bearbeiten[playerid]][bearbeiten2[playerid]] = strval(inputtext);
  444. ShowPlayerDialog(playerid,DIALOG_EBGGEL,DIALOG_STYLE_INPUT,"Restaurant Menü","Geben sie nun den Preis an (ohne - vor der Zahl)","Fertigstellen","Zurück");
  445. }
  446. else
  447. {
  448. ShowPlayerDialog(playerid,DIALOG_EBGHP,DIALOG_STYLE_INPUT,"Restaurant Menü","Geben sie nun die Anzahl der HP an die der Spieler beim kauf erhalten soll","Weiter","Zurück");
  449. SendClientMessage(playerid,weiss,"Sie müssen eine Zahl eingeben");
  450. }
  451. }
  452. else
  453. {
  454. ShowPlayerDialog(playerid,DIALOG_EBGERI,DIALOG_STYLE_INPUT,"Gerichts Name","Geben sie nun den Namen des neuen Gerichts ein","Weiter","Zurück");
  455. }
  456. }
  457. if(dialogid == DIALOG_EBGERI)
  458. {
  459. if(response)
  460. {
  461. if(strlen(inputtext)>=3)
  462. {
  463. for(new i=0;i<MAX_GERICHTE;i++)
  464. {
  465. if(strcmp(bgericht[bearbeiten[playerid]][i],"Leer",true)==0)
  466. {
  467. format(bgericht[bearbeiten[playerid]][i],50,"%s",inputtext);
  468. bearbeiten2[playerid] = i;
  469. ShowPlayerDialog(playerid,DIALOG_EBGHP,DIALOG_STYLE_INPUT,"Restaurant Menü","Geben sie nun die Anzahl der HP an die der Spieler beim kauf erhalten soll","Weiter","Zurück");
  470. break;
  471. }
  472. }
  473. }
  474. else
  475. {
  476. SendClientMessage(playerid,weiss,"Der Name ist zu kurz mindestens 3 Zeichen");
  477. ShowPlayerDialog(playerid,DIALOG_EBGERI,DIALOG_STYLE_INPUT,"Gerichts Name","Geben sie nun den Namen des neuen Gerichts ein","Weiter","Zurück");
  478. }
  479. }
  480. else
  481. {
  482. ShowPlayerDialog(playerid,DIALOG_EBCONFIG,DIALOG_STYLE_LIST,"Restaurant Menü","Namen ändern\nGericht hinzufügen\nGericht bearbeiten\nGericht löschen\nPosition ändern\nPickup ID ändern","Auswählen","Zurück");
  483. }
  484. }
  485. if(dialogid == DIALOG_EBCONFIG3)
  486. {
  487. if(response)
  488. {
  489. if(strlen(inputtext)>=3)
  490. {
  491. format(bgericht[bearbeiten[playerid]][bearbeiten2[playerid]],50,"%s",inputtext);
  492. ShowPlayerDialog(playerid,DIALOG_EBCONFIG2,DIALOG_STYLE_LIST,"Restaurant Menü","Name ändern\nLeben ändern\nPreis ändern","Auswählen","Zurück");
  493. SaveBSN(bearbeiten[playerid]);
  494. }
  495. else
  496. {
  497. SendClientMessage(playerid,weiss,"Der Name ist zu kurz versuch es erneut");
  498. ShowPlayerDialog(playerid,DIALOG_EBCONFIG3,DIALOG_STYLE_INPUT,"Restaurant Menü","Geben sie nun den neuen Namen des Gerichts ein","Umbenennen","Zurück");
  499. }
  500. }
  501. else
  502. {
  503. ShowPlayerDialog(playerid,DIALOG_EBCONFIG2,DIALOG_STYLE_LIST,"Restaurant Menü","Name ändern\nLeben ändern\nPreis ändern","Auswählen","Zurück");
  504. }
  505. }
  506. if(dialogid == DIALOG_EBCONFIG4)
  507. {
  508. if(response)
  509. {
  510. if(IsNumeric(inputtext))
  511. {
  512. bhp[bearbeiten[playerid]][bearbeiten2[playerid]] = strval(inputtext);
  513. ShowPlayerDialog(playerid,DIALOG_EBCONFIG2,DIALOG_STYLE_LIST,"Restaurant Menü","Name ändern\nLeben ändern\nPreis ändern","Auswählen","Zurück");
  514. SaveBSN(bearbeiten[playerid]);
  515. }
  516. else
  517. {
  518. SendClientMessage(playerid,weiss,"Sie müssen eine Zahl angeben");
  519. ShowPlayerDialog(playerid,DIALOG_EBCONFIG4,DIALOG_STYLE_INPUT,"Restaurant Menü","Geben sie nun die neue Anzahl der leben an die dazu addiert werden soll","ändern","Zurück");
  520. }
  521. }
  522. else
  523. {
  524. ShowPlayerDialog(playerid,DIALOG_EBCONFIG2,DIALOG_STYLE_LIST,"Restaurant Menü","Name ändern\nLeben ändern\nPreis ändern","Auswählen","Zurück");
  525. }
  526. }
  527. if(dialogid == DIALOG_EBCONFIG5)
  528. {
  529. if(response)
  530. {
  531. if(IsNumeric(inputtext))
  532. {
  533. bpreis[bearbeiten[playerid]][bearbeiten2[playerid]] = strval(inputtext);
  534. ShowPlayerDialog(playerid,DIALOG_EBCONFIG2,DIALOG_STYLE_LIST,"Restaurant Menü","Name ändern\nLeben ändern\nPreis ändern","Auswählen","Zurück");
  535. SaveBSN(bearbeiten[playerid]);
  536. }
  537. else
  538. {
  539. SendClientMessage(playerid,weiss,"Sie müssen eine Zahl angeben");
  540. ShowPlayerDialog(playerid,DIALOG_EBCONFIG5,DIALOG_STYLE_INPUT,"Restaurant Menü","Geben sie nun den neuen Preis des Gerichts an","ändern","Zurück");
  541. }
  542. }
  543. else
  544. {
  545. ShowPlayerDialog(playerid,DIALOG_EBCONFIG2,DIALOG_STYLE_LIST,"Restaurant Menü","Name ändern\nLeben ändern\nPreis ändern","Auswählen","Zurück");
  546. }
  547. }
  548. if(dialogid == DIALOG_EBCONFIG2)
  549. {
  550. if(response)
  551. {
  552. if(listitem == 0)
  553. {
  554. ShowPlayerDialog(playerid,DIALOG_EBCONFIG3,DIALOG_STYLE_INPUT,"Restaurant Menü","Geben sie nun den neuen Namen des Gerichts ein","Umbenennen","Zurück");
  555. }
  556. if(listitem == 1)
  557. {
  558. ShowPlayerDialog(playerid,DIALOG_EBCONFIG4,DIALOG_STYLE_INPUT,"Restaurant Menü","Geben sie nun die neue Anzahl der leben an die dazu addiert werden soll","ändern","Zurück");
  559. }
  560. if(listitem == 2)
  561. {
  562. ShowPlayerDialog(playerid,DIALOG_EBCONFIG5,DIALOG_STYLE_INPUT,"Restaurant Menü","Geben sie nun den neuen Preis des Gerichts an","ändern","Zurück");
  563. }
  564. }
  565. else
  566. {
  567. ShowPlayerDialog(playerid,DIALOG_EBCONFIG,DIALOG_STYLE_LIST,"Restaurant Menü","Namen ändern\nGericht hinzufügen\nGericht bearbeiten\nGericht löschen\nPosition ändern\nPickup ID ändern","Auswählen","Zurück");
  568. }
  569. }
  570. if(dialogid == DIALOG_EBGEDIT)
  571. {
  572. if(response)
  573. {
  574. new zahl = 0;
  575. for(new i=0;i<MAX_GERICHTE;i++)
  576. {
  577. new pfad[50];
  578. format(pfad,50,"/BSN/%i.ini",bearbeiten[playerid]);
  579. if(dini_Exists(pfad))
  580. {
  581. if(strcmp(bgericht[bearbeiten[playerid]][i],"Leer",true)==0)
  582. {
  583. zahl += 1;
  584. }
  585. else
  586. {
  587. new endzahl;
  588. if(listitem==0)
  589. {
  590. endzahl = 0;
  591. }
  592. else
  593. {
  594. endzahl = i-zahl;
  595. }
  596. if(listitem == endzahl)
  597. {
  598. bearbeiten2[playerid] = i;
  599. ShowPlayerDialog(playerid,DIALOG_EBCONFIG2,DIALOG_STYLE_LIST,"Restaurant Menü","Name ändern\nLeben ändern\nPreis ändern","Auswählen","Zurück");
  600. break;
  601. }
  602. }
  603. }
  604. }
  605. }
  606. else
  607. {
  608. ShowPlayerDialog(playerid,DIALOG_EBCONFIG,DIALOG_STYLE_LIST,"Restaurant Menü","Namen ändern\nGericht hinzufügen\nGericht bearbeiten\nGericht löschen\nPosition ändern\nPickup ID ändern","Auswählen","Zurück");
  609. }
  610. }
  611. if(dialogid == DIALOG_EBGDEL)
  612. {
  613. if(response)
  614. {
  615. new zahl = 0;
  616. for(new i=0;i<MAX_GERICHTE;i++)
  617. {
  618. new pfad[50];
  619. format(pfad,50,"/BSN/%i.ini",i);
  620. if(dini_Exists(pfad))
  621. {
  622. if(strcmp(bgericht[bearbeiten[playerid]][i],"Leer",true)==0)
  623. {
  624. zahl += 1;
  625. }
  626. else
  627. {
  628. new endzahl;
  629. if(listitem==0)
  630. {
  631. endzahl = 0;
  632. }
  633. else
  634. {
  635. endzahl = i-zahl;
  636. }
  637. if(listitem == endzahl)
  638. {
  639. format(bgericht[bearbeiten[playerid]][i],50,"Leer");
  640. SendClientMessage(playerid,weiss,"Gericht erfolgreich gelöscht");
  641. SaveBSN(bearbeiten[playerid]);
  642. break;
  643. }
  644. }
  645. }
  646. }
  647. }
  648. else
  649. {
  650. ShowPlayerDialog(playerid,DIALOG_EBCONFIG,DIALOG_STYLE_LIST,"Restaurant Menü","Namen ändern\nGericht hinzufügen\nGericht bearbeiten\nGericht löschen\nPosition ändern\nPickup ID ändern","Auswählen","Zurück");
  651. }
  652. }
  653. if(dialogid == DIALOG_EBPICK)
  654. {
  655. if(response)
  656. {
  657. if(IsNumeric(inputtext))
  658. {
  659. BSN[bearbeiten[playerid]][bpickid] = strval(inputtext);
  660. SaveBSN(bearbeiten[playerid]);
  661. ShowPlayerDialog(playerid,DIALOG_EBCONFIG,DIALOG_STYLE_LIST,"Restaurant Menü","Namen ändern\nGericht hinzufügen\nGericht bearbeiten\nGericht löschen\nPosition ändern\nPickup ID ändern","Auswählen","Zurück");
  662. }
  663. else
  664. {
  665. SendClientMessage(playerid,weiss,"Sie müssen eine Zahl angeben");
  666. ShowPlayerDialog(playerid,DIALOG_EBPICK,DIALOG_STYLE_INPUT,"Restaurant Menü","Geben sie nun die Pickup ID ein\n(Tipp: ID 1582 = Pizza Box ID 1239 Informations Pickup/I Pickup)","ändern","Zurück");
  667. }
  668. }
  669. else
  670. {
  671. ShowPlayerDialog(playerid,DIALOG_EBCONFIG,DIALOG_STYLE_LIST,"Restaurant Menü","Namen ändern\nGericht hinzufügen\nGericht bearbeiten\nGericht löschen\nPosition ändern\nPickup ID ändern","Auswählen","Zurück");
  672. }
  673. }
  674. if(dialogid == DIALOG_EBCONFIG)
  675. {
  676. if(response)
  677. {
  678. if(listitem == 0)
  679. {
  680. ShowPlayerDialog(playerid,DIALOG_EBNAME,DIALOG_STYLE_INPUT,"Restaurant Name","Geben sie nun den neuen Namen ein","Umbenennen","Zurück");
  681. }
  682. if(listitem == 1)
  683. {
  684. ShowPlayerDialog(playerid,DIALOG_EBGERI,DIALOG_STYLE_INPUT,"Gerichts Name","Geben sie nun den Namen des neuen Gerichts ein","Weiter","Zurück");
  685. }
  686. if(listitem == 2)
  687. {
  688. new string[2048],string2[50],pfad[50];
  689. for(new i=0;i<MAX_GERICHTE;i++)
  690. {
  691. format(pfad,50,"/BSN/%i.ini",bearbeiten[playerid]);
  692. format(string2,50,"Gericht%i",i);
  693. if(strcmp(dini_Get(pfad,string2),"Leer",true)==0)
  694. {
  695. }
  696. else
  697. {
  698. format(string,2048,"%s\n%s",string,dini_Get(pfad,string2));
  699. }
  700. }
  701. ShowPlayerDialog(playerid,DIALOG_EBGEDIT,DIALOG_STYLE_LIST,"Restaurant Menü",string,"Weiter","Zurück");
  702. }
  703. if(listitem == 3)
  704. {
  705. new string[2048],string2[50],pfad[50];
  706. for(new i=0;i<MAX_GERICHTE;i++)
  707. {
  708. format(pfad,50,"/BSN/%i.ini",bearbeiten[playerid]);
  709. format(string2,50,"Gericht%i",i);
  710. if(strcmp(dini_Get(pfad,string2),"Leer",true)==0)
  711. {
  712. }
  713. else
  714. {
  715. format(string,2048,"%s\n%s",string,dini_Get(pfad,string2));
  716. }
  717. }
  718. ShowPlayerDialog(playerid,DIALOG_EBGDEL,DIALOG_STYLE_LIST,"Restaurant Menü",string,"Löschen","Zurück");
  719. }
  720. if(listitem == 4)
  721. {
  722. new Float:Pos[3];
  723. GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
  724. BSN[bearbeiten[playerid]][bx] = Pos[0];
  725. BSN[bearbeiten[playerid]][by] = Pos[1];
  726. BSN[bearbeiten[playerid]][bz] = Pos[2];
  727. DestroyPickup(BSN[bearbeiten[playerid]][bpick]);
  728. BSN[bearbeiten[playerid]][bpick] = CreatePickup(BSN[bearbeiten[playerid]][bpickid],1,BSN[bearbeiten[playerid]][bx],BSN[bearbeiten[playerid]][by],BSN[bearbeiten[playerid]][bz],0);
  729. SendClientMessage(playerid,weiss,"Position wurde geändert");
  730. SaveBSN(bearbeiten[playerid]);
  731. }
  732. if(listitem == 5)
  733. {
  734. ShowPlayerDialog(playerid,DIALOG_EBPICK,DIALOG_STYLE_INPUT,"Restaurant Menü","Geben sie nun die Pickup ID ein\n(Tipp: ID 1582 = Pizza Box ID 1239 Informations Pickup/I Pickup)","ändern","Zurück");
  735. }
  736. }
  737. else
  738. {
  739. new pfad[50],string[1024];
  740. for(new i=0;i<MAX_BSN;i++)
  741. {
  742. format(pfad,50,"/BSN/%i.ini",i);
  743. if(dini_Exists(pfad))
  744. {
  745. if(strcmp(BSN[i][bname],"Leer",true)==0)
  746. {
  747. }
  748. else
  749. {
  750. format(string,1024,"%s\n%s",string,BSN[i][bname]);
  751. }
  752. }
  753. }
  754. ShowPlayerDialog(playerid,DIALOG_BSNS2,DIALOG_STYLE_LIST,"Restaurant Menü",string,"Auswählen","Zurück");
  755. }
  756. }
  757. return 1;
  758. }
  759. stock LoadBSN(bsnid)
  760. {
  761. new pfad[50];
  762. format(pfad,50,"/BSN/%i.ini",bsnid);
  763. if(dini_Exists(pfad))
  764. {
  765. format(BSN[bsnid][bname],50,"%s",dini_Get(pfad,"Name"));
  766. if(strcmp(BSN[bsnid][bname],"Leer",true)==0)
  767. {
  768. }
  769. else
  770. {
  771. LoadBSN2(bsnid);
  772. }
  773. }
  774. else
  775. {
  776. dini_Create(pfad);
  777. dini_FloatSet(pfad,"x",0);
  778. dini_FloatSet(pfad,"y",0);
  779. dini_FloatSet(pfad,"z",0);
  780. dini_Set(pfad,"Name","Leer");
  781. dini_IntSet(pfad,"Pickup",0);
  782. new string[50],string2[50],string3[50];
  783. for(new i=0;i<MAX_GERICHTE;i++)
  784. {
  785. format(string2,50,"HP%i",i);
  786. format(string3,50,"Gericht%i",i);
  787. format(string,50,"Preis%i",i);
  788. dini_Set(pfad,string3,"Leer");
  789. dini_FloatSet(pfad,string2,0.0);
  790. dini_IntSet(pfad,string,0);
  791. if(i==MAX_GERICHTE-1)
  792. {
  793. LoadBSN2(bsnid);
  794. }
  795. }
  796. }
  797. return 1;
  798. }
  799. stock LoadBSN2(bsnid)
  800. {
  801. new pfad[50];
  802. format(pfad,50,"/BSN/%i.ini",bsnid);
  803. if(dini_Exists(pfad))
  804. {
  805. BSN[bsnid][bx] = dini_Float(pfad,"x");
  806. BSN[bsnid][by] = dini_Float(pfad,"y");
  807. BSN[bsnid][bz] = dini_Float(pfad,"z");
  808. BSN[bsnid][bpickid] = dini_Int(pfad,"Pickup");
  809. BSN[bsnid][bpick] = CreatePickup(BSN[bsnid][bpickid],1,BSN[bsnid][bx],BSN[bsnid][by],BSN[bsnid][bz],0);
  810. new string[50],string2[50],string3[50];
  811. for(new i=0;i<MAX_GERICHTE;i++)
  812. {
  813. format(string2,50,"HP%i",i);
  814. format(string3,50,"Gericht%i",i);
  815. format(string,50,"Preis%i",i);
  816. format(bgericht[bsnid][i],50,"%s",dini_Get(pfad,string3));
  817. bhp[bsnid][i] = dini_Int(pfad,string2);
  818. bpreis[bsnid][i] = dini_Int(pfad,string);
  819. }
  820. }
  821. return 1;
  822. }
  823. stock SaveBSN(bsnid)
  824. {
  825. new pfad[50];
  826. format(pfad,50,"/BSN/%i.ini",bsnid);
  827. if(dini_Exists(pfad))
  828. {
  829. dini_FloatSet(pfad,"x",BSN[bsnid][bx]);
  830. dini_FloatSet(pfad,"y",BSN[bsnid][by]);
  831. dini_FloatSet(pfad,"z",BSN[bsnid][bz]);
  832. dini_IntSet(pfad,"Pickup",BSN[bsnid][bpickid]);
  833. new string[50];
  834. format(string,50,"%s",BSN[bsnid][bname]);
  835. dini_Set(pfad,"Name",string);
  836. new string5[50],string2[50],string3[50],string4[50];
  837. for(new i=0;i<MAX_GERICHTE;i++)
  838. {
  839. format(string5,50,"%s",bgericht[bsnid][i]);
  840. format(string3,50,"Preis%i",i);
  841. format(string2,50,"Gericht%i",i);
  842. format(string4,50,"HP%i",i);
  843. dini_Set(pfad,string2,string5);
  844. dini_IntSet(pfad,string3,bpreis[bsnid][i]);
  845. dini_FloatSet(pfad,string4,bhp[bsnid][i]);
  846. }
  847. }
  848. }
  849. stock IsNumeric(const string[]) {
  850. new length=strlen(string);
  851. if (length==0) return false;
  852. for (new i = 0; i < length; i++) {
  853. if (
  854. (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+')
  855. || (string[i]=='-' && i!=0) //
  856. || (string[i]=='+' && i!=0) //
  857. ) return false;
  858. }
  859. if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
  860. return true;
  861. }
  862. forward bsnladen();
  863. public bsnladen()
  864. {
  865. bsn += 1;
  866. if(bsn==MAX_BSN-1)
  867. {
  868. KillTimer(bstimer);
  869. }
  870. LoadBSN(bsn);
  871. }
  872. forward unpause(playerid);
  873. public unpause(playerid)
  874. {
  875. pause[playerid] = 0;
  876. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement