Guest User

B_Bank

a guest
Oct 13th, 2012
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.92 KB | None | 0 0
  1.  
  2. #include <a_samp>
  3. #include <dini>
  4.  
  5. forward __OnPlayerSpawn(playerid);
  6. forward __OnPlayerDisconnect(playerid, reason);
  7. forward __OnPlayerCommandText(playerid, cmdtext[]);
  8. forward __OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
  9.  
  10. enum BankPlayer
  11. {
  12. pInhalt,
  13. pPin,
  14. pErstellt
  15. }
  16. new PlayerBank[MAX_PLAYERS][BankPlayer];
  17.  
  18. #define DiaBankErstell 700
  19. #define DiaBankPinErstell 701
  20. #define DiaBankMenu 702
  21. #define DiaBankPin 703
  22. #define DiaKontoAuszug 704
  23. #define DiaKontoAbheben 705
  24. #define DiaKontoEinzahlen 706
  25.  
  26. public OnPlayerDisconnect(playerid, reason)
  27. {
  28. new pname[MAX_PLAYER_NAME], path[64];
  29. GetPlayerName(playerid, pname, sizeof(pname));
  30. format(path, sizeof(path), "/PlayerKonto/%s.cfg", pname);
  31. if(dini_Exists(path))
  32. {
  33. dini_IntSet(path,"Pin",PlayerBank[playerid][pPin]);
  34. dini_IntSet(path,"Inhalt",PlayerBank[playerid][pInhalt]);
  35. }
  36. PlayerBank[playerid][pErstellt]=0;
  37. PlayerBank[playerid][pPin]=0;
  38. PlayerBank[playerid][pInhalt]=0;
  39. return 1;
  40. }
  41.  
  42. public OnPlayerSpawn(playerid)
  43. {
  44. PlayerBank[playerid][pErstellt]=0;
  45. PlayerBank[playerid][pPin]=0;
  46. PlayerBank[playerid][pInhalt]=0;
  47. new pname[MAX_PLAYER_NAME], path[64];
  48. GetPlayerName(playerid, pname, sizeof(pname));
  49. format(path, sizeof(path), "/PlayerKonto/%s.cfg", pname);
  50. if(dini_Exists(path))
  51. {
  52. PlayerBank[playerid][pErstellt]=1;
  53. PlayerBank[playerid][pPin]=dini_Int(path,"Pin");
  54. PlayerBank[playerid][pInhalt]=dini_Int(path,"Inhalt");
  55. }
  56. return 1;
  57. }
  58.  
  59. public OnPlayerCommandText(playerid, cmdtext[])
  60. {
  61. if (strcmp("/bank", cmdtext, true, 10) == 0)
  62. {
  63. if(PlayerBank[playerid][pErstellt]==1)
  64. {
  65. ShowPlayerDialog(playerid,DiaBankPin,DIALOG_STYLE_PASSWORD,"Pin Abfrage","Wilkommen\nBitte gebe dein Pin ein\num Das Bankmenü zu öffnen","Weiter","Abbruch");
  66. }
  67. else
  68. {
  69. ShowPlayerDialog(playerid,DiaBankErstell,DIALOG_STYLE_MSGBOX,"Konto erstellen","Du besitzt kein Konto.\nMöchtest du dir eins erstellen?","Ja","Nein");
  70. }
  71. return 1;
  72. }
  73. return 0;
  74. }
  75.  
  76. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  77. {
  78. new pname[MAX_PLAYER_NAME], path[64];
  79. GetPlayerName(playerid, pname, sizeof(pname));
  80. if(dialogid==DiaBankErstell)
  81. {
  82. if(response)
  83. {
  84. format(path, sizeof(path), "/PlayerKonto/%s.cfg", pname);
  85. dini_Create(path);
  86. dini_IntSet(path,"Inhalt",0);
  87. ShowPlayerDialog(playerid,DiaBankPinErstell,DIALOG_STYLE_INPUT,"Pin eingabe","Gebe jetzt dein Pin ein.\nMerke ihn dir gut","Weiter","");
  88. }
  89. }
  90. if(dialogid==DiaBankPinErstell)
  91. {
  92. if(response)
  93. {
  94. if(strval(inputtext) == 0)
  95. {
  96. ShowPlayerDialog(playerid,DiaBankPinErstell,DIALOG_STYLE_INPUT,"Pin eingabe","Fehler\nDu hast keine eingabe gemacht!\n\nGebe jetzt dein Pin ein.\nMerke ihn dir gut","Weiter","");
  97. }
  98. else
  99. {
  100. format(path, sizeof(path), "/PlayerKonto/%s.cfg", pname);
  101. dini_IntSet(path,"Pin",strval(inputtext));
  102. PlayerBank[playerid][pPin]=strval(inputtext);
  103. ShowPlayerDialog(playerid,DiaBankPin,DIALOG_STYLE_PASSWORD,"Pin Abfrage","Glückwunsch zum Neuen Konto\nBitte gebe dein Pin ein\num Das Bankmenü zu öffnen","Weiter","Abbruch");
  104. }
  105. }
  106. else
  107. {
  108. ShowPlayerDialog(playerid,DiaBankPinErstell,DIALOG_STYLE_INPUT,"Pin eingabe","Gebe jetzt dein Pin ein.\nMerke ihn dir gut","Weiter","");
  109. }
  110. }
  111. if(dialogid==DiaBankPin)
  112. {
  113. if(response)
  114. {
  115. if(strval(inputtext) == PlayerBank[playerid][pPin])
  116. {
  117. ShowPlayerDialog(playerid,DiaBankMenu,DIALOG_STYLE_LIST,"Bankkonto","Inhalt\nEinzahlen\nAuszahlen","Wählen","Abbruch");
  118. }
  119. else
  120. {
  121. ShowPlayerDialog(playerid,DiaBankPin,DIALOG_STYLE_PASSWORD,"Pin Abfrage","Fehler\nPin war falsch\nBitte gebe dein Pin ein\num Das Bankmenü zu öffnen","Weiter","Abbruch");
  122. }
  123. }
  124. }
  125. if(dialogid==DiaBankMenu)
  126. {
  127. if(response)
  128. {
  129. if(listitem==0)Konto(playerid);
  130. if(listitem==1)ShowPlayerDialog(playerid,DiaKontoAbheben,DIALOG_STYLE_INPUT,"Abheben","Gebe jetzt den Betrag an, den du abheben möchtest","Auszahlen","Menü");
  131. if(listitem==2)ShowPlayerDialog(playerid,DiaKontoEinzahlen,DIALOG_STYLE_INPUT,"Einzahlen","Gebe jetzt den Betrag an, den du einzahlen möchtest","Einzahlen","Menü");
  132. }
  133. }
  134. if(dialogid==DiaKontoAuszug)
  135. {
  136. if(!response)
  137. {
  138. ShowPlayerDialog(playerid,DiaBankMenu,DIALOG_STYLE_LIST,"Bankkonto","Inhalt\nEinzahlen\nAuszahlen","Wählen","Abbruch");
  139. }
  140. }
  141. if(dialogid==DiaKontoAbheben)
  142. {
  143. if(response)
  144. {
  145. if(strval(inputtext)<0)return ShowPlayerDialog(playerid,DiaKontoAbheben,DIALOG_STYLE_INPUT,"Abheben","Gebe jetzt ein\nwas du auszahlen möchtest\nbitte nicht unter 0$","Auszahlen","Menü");
  146. if(strval(inputtext)>PlayerBank[playerid][pInhalt])return ShowPlayerDialog(playerid,DiaKontoAbheben,DIALOG_STYLE_INPUT,"Abheben","Gebe jetzt ein\nwas du auszahlen möchtest\nFehler: So viel hast du nicht","Auszahlen","Menü");
  147. GivePlayerMoney(playerid,strval(inputtext));
  148. PlayerBank[playerid][pInhalt]-=strval(inputtext);
  149. Konto2(playerid,strval(inputtext));
  150. }
  151. else
  152. {
  153. ShowPlayerDialog(playerid,DiaBankMenu,DIALOG_STYLE_LIST,"Bankkonto","Inhalt\nEinzahlen\nAuszahlen","Wählen","Abbruch");
  154. }
  155. }
  156. if(dialogid==DiaKontoEinzahlen)
  157. {
  158. if(response)
  159. {
  160. if(strval(inputtext)<0)return ShowPlayerDialog(playerid,DiaKontoEinzahlen,DIALOG_STYLE_INPUT,"Einzahlen","Gebe jetzt ein\nwas du einzahlen möchtest\nbitte nicht unter 0$","Einzahlen","Menü");
  161. if(strval(inputtext)>GetPlayerMoney(playerid))return ShowPlayerDialog(playerid,DiaKontoEinzahlen,DIALOG_STYLE_INPUT,"Einzahlen","Gebe jetzt ein\nwas du einzahlen möchtest\nFehler: So viel hast du nicht","Einzahlen","Menü");
  162. GivePlayerMoney(playerid,-strval(inputtext));
  163. PlayerBank[playerid][pInhalt]+=strval(inputtext);
  164. Konto3(playerid,strval(inputtext));
  165. }
  166. else
  167. {
  168. ShowPlayerDialog(playerid,DiaBankMenu,DIALOG_STYLE_LIST,"Bankkonto","Inhalt\nEinzahlen\nAuszahlen","Wählen","Abbruch");
  169. }
  170. }
  171. return 1;
  172. }
  173. //DiaKontoAbheben
  174. stock Konto(playerid)
  175. {
  176. new string[128],name[MAX_PLAYER_NAME];
  177. GetPlayerName(playerid,name,sizeof name);
  178. format(string,128,"Hallo %s\n\nKontostand:\t%d$",name,PlayerBank[playerid][pInhalt]);
  179. ShowPlayerDialog(playerid,DiaKontoAuszug,DIALOG_STYLE_MSGBOX,"Kontoauszug",string,"Ok","Menü");
  180. return 1;
  181. }
  182.  
  183. stock Konto2(playerid,val)
  184. {
  185. new string[128],name[MAX_PLAYER_NAME];
  186. GetPlayerName(playerid,name,sizeof name);
  187. format(string,128,"Hallo %s\n\nKontostand:\t%d$\nAbgehoben:\t-%d$\n\nGesamt:\t%d$",name,PlayerBank[playerid][pInhalt]+val,val,PlayerBank[playerid][pInhalt]);
  188. ShowPlayerDialog(playerid,DiaKontoAuszug,DIALOG_STYLE_MSGBOX,"Kontoauszug",string,"Ok","Menü");
  189. return 1;
  190. }
  191.  
  192. stock Konto3(playerid,val)
  193. {
  194. new string[128],name[MAX_PLAYER_NAME];
  195. GetPlayerName(playerid,name,sizeof name);
  196. format(string,128,"Hallo %s\n\nKontostand:\t%d$\nEingezahlt:\t+%d$\n\nGesamt:\t%d$",name,PlayerBank[playerid][pInhalt]-val,val,PlayerBank[playerid][pInhalt]);
  197. ShowPlayerDialog(playerid,DiaKontoAuszug,DIALOG_STYLE_MSGBOX,"Kontoauszug",string,"Ok","Menü");
  198. return 1;
  199. }
  200.  
  201. //Als sachen
  202. //Spawn
  203. #if defined _ALS_OnPlayerSpawn
  204. #undef OnPlayerSpawn
  205. #else
  206. #define _ALS_OnPlayerSpawn
  207. #endif
  208. #define OnPlayerSpawn __OnPlayerSpawn
  209. //connect
  210. #if defined _ALS_OnPlayerDisconnect
  211. #undef OnPlayerDisconnect
  212. #else
  213. #define _ALS_OnPlayerDisconnect
  214. #endif
  215. #define OnPlayerDisconnect __OnPlayerDisconnect
  216. //CMD
  217. #if defined _ALS_OnPlayerCommandText
  218. #undef OnPlayerCommandText
  219. #else
  220. #define _ALS_OnPlayerCommandText
  221. #endif
  222. #define OnPlayerCommandText __OnPlayerCommandText
  223. //OnDialog
  224. #if defined _ALS_OnDialogResponse
  225. #undef OnDialogResponse
  226. #else
  227. #define _ALS_OnDialogResponse
  228. #endif
  229. #define OnDialogResponse __OnDialogResponse
Add Comment
Please, Sign In to add comment